gentoo.ru
LeechCraft
leechcraft@conference.gentoo.ru
Понедельник, 28 июня 2010< ^ >
0xd34df00d установил(а) тему: http://leechcraft.org | Баг/предложение? http://leechcraft.org/projects/leechcraft/issues | Исходники: git://github.com/0xd34df00d/leechcraft.git | LeechCraft Stable: 0.3.0; unstable: 0.3.65 | Логи: http://tinyurl.com/leechcraft-logs
Конфигурация комнаты
Участники комнаты

GMT+4
[00:14:20] maksbotan вышел(а) из комнаты
[00:34:57] NightNord вошёл(а) в комнату
[00:48:03] <NightNord> 0xd34df00d: дедфуде. Распили реп, а
[00:49:11] <0xd34df00d> NightNord: геморно ну.
[00:49:34] <NightNord> Твои личкрафты пересобираются как глибц по скорости
[00:49:52] <NightNord> А одна строчка в одном плагине - и пересобирается все сразу
[00:49:58] <NightNord> Геморно в чем?
[00:51:26] <0xd34df00d> Щито? Почему все сразу-то?
[00:51:29] <0xd34df00d> Взял и пересобрал тот плагинэ.
[00:51:34] <0xd34df00d> Геморно следить за всеми репами сразу.
[00:51:42] <0xd34df00d> Потому что иногда коммиты в разные плагины перекликаются.
[00:51:51] <NightNord> nord ~ # sum=0; for num in $(qlop -C -t $(eix -I --only-names leechcraft) | cut -d ':' -f 2 | awk '{print $1;}'); do sum=$(( $sum + $num )); done; echo $sum seconds;
275173 seconds
nord ~ # qlop -t glibc                                                                                                                                              
glibc: 1487 seconds average for 6 merges
[00:51:52] <0xd34df00d> И нужно, чтобы состояние поддерживалось консистентным.
[00:52:03] <NightNord> Глибц отдыхает
[00:52:19] <NightNord> 0xd34df00d: а почему геморно-то?
[00:52:24] <NightNord> smart-live-rebuild перебирает
[00:52:50] <0xd34df00d> Потому что это нужно еще больше информации держать в голове.
[00:53:01] <0xd34df00d> Пусть левые девелоперы хранят свои плагины в своих собственных репах, я не против.
[00:53:19] <0xd34df00d> Хм.
[00:53:25] <0xd34df00d> Можно вообще сделать собственное зеркало гитхаба.
[00:53:31] <0xd34df00d> Чтобы само все пушило и раскидывало по репам.
[00:53:38] <0xd34df00d> s/пушило/пуллило/
[00:53:45] <0xd34df00d> NightNord: напиши на эрланге :3
[00:53:54] <NightNord> Могу написать на шелле
[00:53:59] <NightNord> В хуках гита
[00:54:16] <0xd34df00d> Ты это.
[00:54:18] <0xd34df00d> У меня гитхаб же.
[00:54:20] <0xd34df00d> Я туда пушаю.
[00:54:22] <0xd34df00d> Могу дергать урл.
[00:54:24] <0xd34df00d> Спеки есть.
[00:54:24] <0xd34df00d> Во.
[00:54:31] <NightNord> Ну, а будешь пушать в локальный реп
[00:54:37] <NightNord> А тот пихать на гитхабы
[00:54:37] <0xd34df00d> :(
[00:54:45] <0xd34df00d> Не понял.
[00:54:49] <0xd34df00d> А локальный реп чо?
[00:54:58] <0xd34df00d> Все вместе или распиленный?
[00:54:59] <NightNord> А локальный реп будет хуками пихать на гитхабы
[00:55:02] <NightNord> Все вместе
[00:55:04] <0xd34df00d> Это.
[00:55:06] <0xd34df00d> Давай так.
[00:55:12] <0xd34df00d> Гитхаб, основной репоз, дергает твой хук.
[00:55:17] <0xd34df00d> А он уже пушает на другие репы.
[00:55:20] <0xd34df00d> Распиленные.
[00:55:27] <NightNord> А толку?
[00:55:37] <NightNord> На гитхаб можно класть свои хуки чтоли?
[00:57:31] <0xd34df00d> Можно дергать.
[00:57:33] <0xd34df00d> По урлам.
[00:57:50] <0xd34df00d> Найт, если бы это была нейтральная для меня фича, я бы с радостью сделал.
[00:58:02] <0xd34df00d> Но так только геморнее — держать в голове зависимости между 20 (and counting) репами.
[00:58:52] <NightNord> Какие зависимости?
[00:58:59] <NightNord> Ты вообще о чем?
[00:59:13] <0xd34df00d> Потому что состояние одного репа, вообще говоря, зависит от состояния другого.
[00:59:24] <NightNord> Блин
[00:59:36] <NightNord> Вот ты поменял апи в ядре, например
[00:59:44] <NightNord> И тебе теперь надо поменять пять плагинов
[00:59:53] <NightNord> Ты заходишь и начинаешь менять плагины
[01:00:01] <NightNord> И небось делаешь отдельные коммиты на каждый плагин
[01:00:18] <NightNord> Так ты делаешь тоже самое
[01:00:22] <0xd34df00d> Да, и пришлось сразу еще много реп. А потом чекаутю обратно, и нужно опять чекаутить. И я уже не смогу написать равенство сурс-версий друг другу в зависимостях, потому что они будут разные (в них номер ревизии встаривается).
[01:00:28] <0xd34df00d> нет, я не делаю отдельные коммиты на каждый плагин.
[01:00:35] <0xd34df00d> Я делаю коммит, типа, Overall: changed bla to foo.
[01:00:53] <NightNord> А как потом бисект/откаты делать?
[01:01:05] <NightNord> Что чекаутишь-то?
[01:01:12] <NightNord> У тебя самая новая локальная версия
[01:01:17] <0xd34df00d> Так и делаю.
[01:01:23] <0xd34df00d> Нужно же, чтобы все менялось вместе синхронно.
[01:01:37] <0xd34df00d> Бегать по репам туда-сюда, когда еще нужно вникать в логи и смотреть, когда/чо коммиты, не хватало.
[01:01:46] <0xd34df00d> Разбивание на репы — это работа для машины. Пусть машина ее и делает.
[01:02:00] <NightNord> По каким репам?
[01:02:05] <NightNord> Блин, ты бредишь, имхо
[01:02:12] <NightNord> vim blabla/core.cpp
[01:02:15] <NightNord> git commit -a
[01:02:24] <NightNord> cd ../plugins/affectedplugin
[01:02:31] <NightNord> vim blabla/coreinterface.cpp
[01:02:33] <0xd34df00d> Дык а сегодня я коммичу все сразу. что поменялось.
[01:02:35] <NightNord> git commit -a
[01:02:43] <NightNord> И получаешь венегрет
[01:02:58] <0xd34df00d> Пусть машинка рулит, короче.
[01:03:20] <NightNord> А как ты предполагаешь руление машинкой?
[01:03:29] <0xd34df00d> Хуками дергается.
[01:03:31] <0xd34df00d> Правила просты.
[01:03:32] <NightNord> Я предполагаю только cp -R в другой реп
[01:03:36] <0xd34df00d> src/ отдельно.
[01:03:38] <NightNord> И там git commit
[01:03:45] <0xd34df00d> for i in `ls src/plugins/` — отдельно.
[01:03:50] <0xd34df00d> А как оно реализовано — не ко мне )
[01:03:57] <0xd34df00d> Если хочешь cp -R — ну ок, я не против.
[01:06:05] <NightNord> Потом по git log'у выцеплять коммиты, делать коммит в соседний реп, да еще и на гитхабе, который небось не разрешает бегать между репами по фс...
[01:06:13] NightNord подумал, что проще удалить личкрафты
[01:07:47] <0xd34df00d> Эээ.
[01:07:51] <0xd34df00d> А зачем бегать по ФС?
[01:10:34] <NightNord> Потому как гит не умеет оперировать на части репа
[01:10:42] <0xd34df00d> Стоп.
[01:10:43] <0xd34df00d> А зачем?
[01:11:00] <NightNord> Хотя есть git filter-branch
[01:11:17] <0xd34df00d> У тебя есть реп, соответствующий src/, src/plugininterface и src/interfaces, а также по репу на каждую папку в src/plugins/
[01:11:26] <0xd34df00d> Ты копируешь мое дерево в это суррогатное.
[01:11:29] <0xd34df00d> И коммитишь все подряд.
[01:11:41] <0xd34df00d> Что где изменилось — пишешь какое-нибудь тупое сообщение, коммитлоги-то здесь не важны.
[01:14:12] <NightNord> Как неважны
[01:14:22] <NightNord> У всех юзеров будут именно эти репы
[01:14:34] <NightNord> Твой общий галактический реп никогда тогда колыхать не будет
[01:14:47] <0xd34df00d> Хаха.
[01:14:48] <0xd34df00d> Щито?
[01:14:50] <0xd34df00d> О чем ты?
[01:14:52] <0xd34df00d> У каких всех юзеров?
[01:15:01] <0xd34df00d> У пользователей личкрафта? Так их и коммитлоги не колышут.
[01:15:05] <NightNord> Или ты думаешь, все все поползут на личкрафт.орг, найдут на стопяцотой странице ссылку на гитхаб и будут смотреть там?
[01:15:14] <NightNord> *что
[01:15:16] <0xd34df00d> У девелоперов? Так у большинства из них будет свой реп.
[01:15:24] <0xd34df00d> Отдельный от 0xd34df00d/leechcraft.git
[01:19:28] <0xd34df00d> NightNord: просто блин.
[01:19:47] <0xd34df00d> NightNord: последнее, на что я хочу отвлекаться, когда и так в голове надо держать большой граф связей между разными точками кода — это на вот такой буккипинг.
[01:20:05] <NightNord> Код и репы - разные вещи
[01:20:11] <NightNord> Ты и так держишь граф
[01:20:20] <NightNord> Ну или определяешь его при помощи grep -R
[01:20:41] <NightNord> А делать overall коммиты - это все равно неправильно
[01:21:07] <0xd34df00d> Почему?
[01:21:07] <NightNord> Точно также как и делять кучу разных изменений в одном коммите
[01:21:14] <NightNord> Потому что это нереально бисектить
[01:21:19] <NightNord> И сложно откатить
[01:21:21] <0xd34df00d> Я сделал глобальное изменение API.
[01:21:28] <0xd34df00d> Если я закоммичу часть — репоз станет некомпилируемым.
[01:21:45] <0xd34df00d> Если изменения оторваны друг от друга — конечно, я коммичу по частям.
[01:21:58] <NightNord> Вот когда ты все закоммитил - тогда и делаешь пуш
[01:22:05] <NightNord> Пуш можно делать скриптом
[01:46:18] NightNord вышел(а) из комнаты
[08:58:18] maksbotan вошёл(а) в комнату
[10:37:53] maksbotan вышел(а) из комнаты
[12:34:59] qnikst вошёл(а) в комнату
[12:35:17] qnikst вышел(а) из комнаты
[14:39:36] maksbotan вошёл(а) в комнату
[14:56:36] <0xd34df00d> mva: эта.
[14:56:38] <0xd34df00d> mva: риальни.
[14:56:44] <0xd34df00d> Давай keepassx заюзаем?
[14:57:59] <mva> hz
[15:14:52] <maksbotan> 0xd34df00d:
[15:14:55] <maksbotan> /var/tmp/portage/app-editors/leechcraft-popishu-9999/work/leechcraft-popishu-9999/src/plugins/popishu/editorpage.cpp: In destructor ‘virtual LeechCraft::Plugins::Popishu::EditorPage::~EditorPage()’:
/var/tmp/portage/app-editors/leechcraft-popishu-9999/work/leechcraft-popishu-9999/src/plugins/popishu/editorpage.cpp:154: ошибка: ‘class IPluginsManager’ has no member named ‘ReleasePlugin’
/var/tmp/portage/app-editors/leechcraft-popishu-9999/work/leechcraft-popishu-9999/src/plugins/popishu/editorpage.cpp: In member function ‘void LeechCraft::Plugins::Popishu::EditorPage::on_Inject__released()’:
/var/tmp/portage/app-editors/leechcraft-popishu-9999/work/leechcraft-popishu-9999/src/plugins/popishu/editorpage.cpp:386: ошибка: ‘class IPluginsManager’ has no member named ‘InjectPlugin’
/var/tmp/portage/app-editors/leechcraft-popishu-9999/work/leechcraft-popishu-9999/src/plugins/popishu/editorpage.cpp: In member function ‘void LeechCraft::Plugins::Popishu::EditorPage::on_Release__released()’:
/var/tmp/portage/app-editors/leechcraft-popishu-9999/work/leechcraft-popishu-9999/src/plugins/popishu/editorpage.cpp:422: ошибка: ‘class IPluginsManager’ has no member named ‘ReleasePlugin’
[15:16:56] <0xd34df00d> maksbotan: а.
[15:16:59] <0xd34df00d> maksbotan: обнови -core еще.
[15:17:09] <maksbotan> личкрафт-кор?
[15:17:14] <0xd34df00d> Да.
[15:17:17] <0xd34df00d> Стиль музяки такой.
[15:47:13] <maksbotan> 0xd34df00d: хаха
[15:47:19] <maksbotan> сегфолт! сегфол! сегфол!
[15:47:27] <0xd34df00d> Где? Когда?
[15:47:28] <0xd34df00d> /r/ бектрйес.
[15:47:39] <maksbotan> прям при запуске
[15:47:50] <maksbotan> после обновления кора кроспа и установки попишу
[15:47:53] <maksbotan> ща дам трейс
[15:49:35] <maksbotan> Program terminated with signal 11, Segmentation fault.
#0  0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0xb340b2e6 in ?? () from /usr/lib/leechcraft/plugins/libleechcraft_poshuku.so
#2  0xb33ef873 in ?? () from /usr/lib/leechcraft/plugins/libleechcraft_poshuku.so
#3  0x080b73ce in LeechCraft::ShortcutManager::AddObject (this=0x8ea2308, object=0x8f28698, objName=..., objDescr=..., objIcon=...)
    at /var/tmp/portage/net-misc/leechcraft-core-9999/work/leechcraft-core-9999/src/shortcutmanager.cpp:83
#4  0x080b8385 in LeechCraft::ShortcutManager::AddObject (this=0x8ea2308, object=0x8f28698)
    at /var/tmp/portage/net-misc/leechcraft-core-9999/work/leechcraft-core-9999/src/shortcutmanager.cpp:45
#5  0x080b8be2 in LeechCraft::ShortcutManager::GetShortcut (this=0x8ea2308, object=0x8f28698, originalName=2001)
    at /var/tmp/portage/net-misc/leechcraft-core-9999/work/leechcraft-core-9999/src/shortcutmanager.cpp:129
#6  0xb33ee5ea in ?? () from /usr/lib/leechcraft/plugins/libleechcraft_poshuku.so
#7  0x0808a41e in LeechCraft::PluginManager::InitializeSingle (this=0x8e49c10, item=...)
    at /var/tmp/portage/net-misc/leechcraft-core-9999/work/leechcraft-core-9999/src/pluginmanager.cpp:961
#8  0x08089e91 in LeechCraft::PluginManager::InitializeSingle (this=0x8e49c10, item=...)
    at /var/tmp/portage/net-misc/leechcraft-core-9999/work/leechcraft-core-9999/src/pluginmanager.cpp:940
#9  0x0808ac21 in LeechCraft::PluginManager::InitializePlugins (this=0x8e49c10)
    at /var/tmp/portage/net-misc/leechcraft-core-9999/work/leechcraft-core-9999/src/pluginmanager.cpp:847
#10 0x0808b380 in LeechCraft::PluginManager::Init (this=0x8e49c10)
    at /var/tmp/portage/net-misc/leechcraft-core-9999/work/leechcraft-core-9999/src/pluginmanager.cpp:246
#11 0x080744c3 in LeechCraft::Core::DelayedInit (this=0x810c940)
    at /var/tmp/portage/net-misc/leechcraft-core-9999/work/leechcraft-core-9999/src/core.cpp:231
#12 0x080692a5 in MainWindow (this=0x8cbc698, parent=0x0, flags=...)
    at /var/tmp/portage/net-misc/leechcraft-core-9999/work/leechcraft-core-9999/src/mainwindow.cpp:82
#13 0x080aa3c4 in Application (this=0xbfc4db1c, argc=@0xbfc4db50, argv=0xbfc4dbd4)
    at /var/tmp/portage/net-misc/leechcraft-core-9999/work/leechcraft-core-9999/src/application.cpp:168
#14 0x0807d1d6 in main (argc=1, argv=0xbfc4dbd4)
    at /var/tmp/portage/net-misc/leechcraft-core-9999/work/leechcraft-core-9999/src/main.cpp:26
(gdb)
[15:49:37] <maksbotan> 0xd34df00d: ^^
[15:50:16] <0xd34df00d> ^^
[15:50:40] <0xd34df00d> Говно какое-то.
[15:50:42] <0xd34df00d> Пересобери все.
[15:51:10] <maksbotan> совсем все?
[15:51:19] <0xd34df00d> Да.
[15:51:24] <0xd34df00d> Я ж фейсы поменял немного.
[15:51:28] <maksbotan> т.е. все плагины?
[15:51:31] <maksbotan> ладно, ща
[15:51:38] <0xd34df00d> Просто иначе можно долго за ними бегать.
[15:51:41] <0xd34df00d> Имхо легче все пересобрать.
[15:51:59] <maksbotan> ладно
[15:54:23] <maksbotan> $ sudo emerge -av1 `qlist -IC leechcraft-*`

These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild   R   ] net-misc/leechcraft-core-9999  USE="sqlite -debug -postgres" 0 kB [1]
[ebuild   R   ] net-misc/leechcraft-summary-9999  USE="-debug" 0 kB [1]
[ebuild   R   ] app-editors/leechcraft-popishu-9999  USE="-debug" 0 kB [1]
[ebuild   R   ] net-misc/leechcraft-qrosp-9999  USE="-debug" 0 kB [1]
[ebuild   R   ] net-misc/leechcraft-tabpp-9999  USE="-debug" 0 kB [1]
[ebuild   R   ] virtual/leechcraft-task-show-9999  0 kB [1]
[ebuild   R   ] virtual/leechcraft-search-show-9999  0 kB [1]
[ebuild   R   ] net-misc/leechcraft-cstp-9999  USE="-debug" 0 kB [1]
[ebuild   R   ] net-p2p/leechcraft-bittorrent-9999  USE="-debug" 0 kB [1]
[ebuild   R   ] virtual/leechcraft-downloader-http-9999  0 kB [1]
[ebuild   R   ] net-news/leechcraft-aggregator-9999  USE="sqlite -debug -postgres" 0 kB [1]
[ebuild   R   ] www-client/leechcraft-deadlyrics-9999  USE="-debug" 0 kB [1]
[ebuild   R   ] www-client/leechcraft-poshuku-9999  USE="sqlite -debug -idn* -postgres" 0 kB [1]
[15:54:29] <maksbotan> укомпилятся можно (с)
[16:02:47] <mva> 0xd34df00d:
[16:02:53] <mva> я пересобрал всё
[16:02:59] <mva> ща рестартну личкрафты и посмотрю
[16:03:39] <mva> 0xd34df00d: кстате, idn работает?
[16:03:47] <mva> олсо, не крошится
[16:03:52] <mva> так что ботан гонит
[16:04:12] <maksbotan> ога
[16:04:17] <maksbotan> и трейс я сам составил
[16:04:17] <0xd34df00d> mva: работает.
[16:04:24] <0xd34df00d> mva: если ты poshuku с USE="idn" собрал.
[16:04:40] <mva> чото оно долго думает
[16:04:50] <mva> после запуска
[16:04:56] <mva> и не восстановило вкладки пока что
[16:05:03] <mva> даже окошко не вывело :(
[16:09:19] mva вышел(а) из комнаты
[16:11:11] <maksbotan> * As described in the Icon Theme Specification, icon file extensions are not
* allowed in .desktop files if the value is not an absolute path.
[16:21:22] mva вошёл(а) в комнату
[16:39:14] <0xd34df00d> mva: проверь диск.
[16:39:23] <0xd34df00d> mva: ~/.leechcraft/warning.log
[16:39:26] <0xd34df00d> У тебя один из плагинов не загрузился.
[16:39:32] <0xd34df00d> Я пока еще не пофиксил бесконечный цикл из-за этого.
[17:06:21] <maksbotan> 0xd34df00d: так
[17:06:30] <maksbotan> где я могу увидеть вывод от своего плагина?
[17:06:36] <maksbotan> который "впилил"?
[17:07:13] <0xd34df00d> В консоли, из которой запускал личкрафт.
[17:07:19] <0xd34df00d> Пейтоновый тырпретатор тупой и всегда срет туда.
[17:07:23] <0xd34df00d> Я еще не придумал, как это перехватить.
[17:07:25] <maksbotan> хаха
[17:07:45] <maksbotan> ладно, буду думать по поводу гуглбукмарков
[17:07:58] <maksbotan> скрипт в редакторе тоже имеет Init?
[17:08:19] <0xd34df00d> Да.
[17:08:22] <0xd34df00d> Это полноценный плагин.
[17:08:28] <maksbotan> атлично
[17:08:29] <0xd34df00d> Он тоже инициализируется, добавляется в браузер и так далее.
[17:08:40] <maksbotan> добавь брейкпойнты
[17:08:44] <maksbotan> вообще круто будет
[17:08:45] <0xd34df00d> Не работает, разве что, пара мест, где явный вызов говна.
[17:09:13] <0xd34df00d> То есть, ты не увидишь его добавленные настройки в общих настройках и в сводке, да.
[17:09:21] <0xd34df00d> Но я потом это решу. Уже знаю, как.
[17:09:26] <maksbotan> ладно
[17:09:56] <maksbotan> ты разве не можешь перенаправлять стдоут питоноинтерпретатора в свои личкрафты через пайп?
[17:10:03] <0xd34df00d> Нет.
[17:10:08] <0xd34df00d> Потому что я не вызываю python.exe.
[17:10:33] <maksbotan> .exe ?????
[17:10:49] <0xd34df00d> Ну блин.
[17:10:59] <0xd34df00d> Я линкуюсь к питону и дергаю его C API.
[17:11:04] <0xd34df00d> А не вызываю другой процесс.
[17:11:07] <0xd34df00d> Так что нет никаких пайпов.
[17:12:04] <maksbotan> жаль жаль
[19:21:41] <maksbotan> 0xd34df00d: хаха
[19:21:59] <maksbotan> я реально нашел на диске к Ксакепу 09-2009 этот твой личкрафт
[19:22:05] <maksbotan> версии 0.3.0
[19:22:29] <0xd34df00d> ОЛОЛО.
[20:05:55] maksbotan вышел(а) из комнаты
[20:06:42] maksbotan вошёл(а) в комнату
[20:17:34] <maksbotan> 0xd34df00d: кстати
[20:17:40] <maksbotan> как вы под винды собираете?
[20:18:27] <0xd34df00d> maksbotan: с Божьей помощью.
[20:18:35] <maksbotan> эмм
[20:18:55] <maksbotan> у меня просто возникла адская идея приделать портаж к цигвину и собрать там личкрафт
[20:19:01] <0xd34df00d> Ох неты.
[20:19:03] <0xd34df00d> Никаких цигвинов.
[20:20:08] <maksbotan> исключительно для себя
[20:20:20] <maksbotan> просто вряд ли портаж встанет на MinGW/MSYS
[22:36:21] 0xd34df00d вышел(а) из комнаты: Replaced by new connection
[22:36:31] 0xd34df00d вошёл(а) в комнату
[22:51:48] NightNord вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!