[00:45:56] <ada_ru> (nitrocerber) Svn за раз умеет или добавить, или удалить. Хотя удалять умеет по-мойму ну совсем туго
[00:46:27] <ada_ru> (I_vlxy_I) ммм.. ну, именно в плане svn коммитов оно вполне себе может svn mv сделать
[00:46:35] <ada_ru> (nitrocerber) Move как такового по факту нет, чтобы с созранением истории тем более
[00:46:41] <ada_ru> (I_vlxy_I) то есть это ж вшитая команда
[00:47:04] <ada_ru> (nitrocerber) Это по сути rm && ci
[00:47:14] <ada_ru> (I_vlxy_I) проблемы начинаются когда ты хочешь не закомиттить, а сделать svn diff с последующим svn patch
[00:48:00] <ada_ru> (nitrocerber) Сведи искомый удаляемый просто в пустой файл, но не удаляй
[00:48:27] <ada_ru> (nitrocerber) Эффект от патча будет тот же,за вычетом каких-то плясок пэкидженга, если они ваще актуальны
[00:49:03] <ada_ru> (I_vlxy_I) оно при svn patch говорит что эту операцию уже далало. то есть, такое ощущение, что удаление файла старого и создание его на новом месте идентифицируются как одна и та же операция.
[00:49:13] <ada_ru> (I_vlxy_I) отсюда говорит, что дубль и не буду делать вторую часть
[00:49:22] <ada_ru> (I_vlxy_I) оно убивает файл, но в новом месте его не создает
[00:49:44] <ada_ru> (I_vlxy_I) поэтому думаю на лету модифицировать патч так, чтобы оно перестало это распозновать
[00:50:01] <ada_ru> (nitrocerber) История один фиг не приклется)
[00:50:18] <ada_ru> (I_vlxy_I) ну да. на историю тут ваще пофиг
[00:50:29] <ada_ru> (I_vlxy_I) мне бы идентичный рабочий каталог получить
[00:50:34] <ada_ru> (I_vlxy_I) история файлов не нужна
[00:51:11] <ada_ru> (I_vlxy_I) народ шлет патчи в ревьювилку, нужно чтобы можно было вытащить оттуда патч и у себя локально его проверить
[00:51:31] <ada_ru> (I_vlxy_I) плюс чтобы дженкинс, или иная CI могла тоже наложить патч на проект и прогнать сборку
[00:54:51] <ada_ru> (I_vlxy_I) а обычный patch у нас офигивает с того, что в одном и том же файле исходников могут быть концы строк и виндовозные и юниксовые 🙂
[00:58:11] <ada_ru> (I_vlxy_I) ревьювилка эта на питоне писана (и клиентская часть и серверная), чую я, что придется мне немного питоном обмазаться
[01:07:38] <ada_ru> (coopht) отвечает (I_vlxy_I) на <ревьювилка эта на пи…>
Прекрасный кейс чтобы донести начальству почему надо переходить на гит
[01:08:08] <ada_ru> (I_vlxy_I) у начальства будет один ответ - без ревью N лет жили и дальше будем жить.
[01:11:43] <ada_ru> (coopht) я это обычно в человеко часы переводил, и говорил, что вот мы протрахались с этими патчами два дня, чтобы их вмержить,
так что вычеркивайте из сроком два дня * N человек которые в этом принимали участие, а с review таких бы проблем не возникло.
[01:12:40] <ada_ru> (I_vlxy_I) кстати, может кто-то предложит в качестве ревьювилки лучше?
для конфигурации такой: svn работа и комиты только в trunk. Нужна возможность делать precommit review.
[01:13:35] <ada_ru> (I_vlxy_I) пока остановились на https://www.reviewboard.org
[01:14:30] <ada_ru> (coopht) Как насчет phabricator?
[01:14:51] <ada_ru> (coopht) https://llvm.org/docs/Phabricator.html
[01:14:57] <ada_ru> (coopht) llvm юзает
[01:46:32] <ada_ru> (I_vlxy_I) фабрикатор меня испугал своей монструозностью. это огромный комбайн
[01:46:34] <ada_ru> (I_vlxy_I) ну и это PHP
[01:46:45] <ada_ru> (I_vlxy_I) если что, то мы там вообще ничего не сможем пофиксить
[01:55:06] <ada_ru> (coopht) я бы именно его ставил
[01:55:22] <ada_ru> (coopht) https://phabricator.kde.org/
[01:55:29] <ada_ru> (coopht) Кеды кстати тоже его юзают
[01:58:08] <ada_ru> (I_vlxy_I) ну, я еще посмотрю
[01:58:34] <ada_ru> (I_vlxy_I) но он выглядит страшно. слишком дофига он на себя берет
[01:58:41] <ada_ru> (I_vlxy_I) это ж не просто ревьювилка
[11:08:19] <ada_ru> (Максим) о, нашел красивые бейджики :)
[11:08:21] <ada_ru> (Максим) https://repology.org/metapackage/matreshka/badges
[17:36:44] <ada_ru> (I_vlxy_I) тем временем, я нашел как нужно патчить патчи чтобы svn понимала свои патчи.
[17:54:39] <ada_ru> (t91x0) отвечает (I_vlxy_I) на <тем временем, я наше…>
Yo dawg, I heard that you like SVN and patches, so we put patch in your patch so you can patch while you patch
[17:55:58] <ada_ru> (I_vlxy_I) 😊
[17:56:08] <ada_ru> (I_vlxy_I) I like to patch it patch it!
[18:45:27] <ada_ru> (nitrocerber) и монитор ещё приуячить
[18:46:22] <ada_ru> (nitrocerber) отвечает (I_vlxy_I) на <тем временем, я наше…>
как, кстати?
[18:51:43] <ada_ru> (I_vlxy_I) руками 😞
То есть если был файлик foo.txt и мы его переместили в новый каталожек a, то svn сгенерит такое (c ключиком --show-copies-as-adds):
Index: /trunk/a/foo.txt
===================================================================
--- /trunk/foo.txt (nonexistent)
+++ /trunk/a/foo.txt (working copy)
@@ -0,0 +1,xxx @@
+blahblahblah
Index: /trunk/foo.txt
===================================================================
--- /trunk/foo.txt (revision 14392)
+++ /trunk/foo.txt (nonexistent)
@@ -1,xxx +0,0 @@
-blahblahblah
Фикс делается просто:
Index: /trunk/a/foo.txt
===================================================================
--- /trunk/a/foo.txt (nonexistent)
+++ /trunk/a/foo.txt (working copy)
@@ -0,0 +1,xxx @@
+blahblahblah
Index: /trunk/foo.txt
===================================================================
--- /trunk/foo.txt (revision 14392)
+++ /trunk/foo.txt (nonexistent)
@@ -1,xxx +0,0 @@
-blahblahblah
[23:29:05] <ada_ru> (Максим) Бложик про Аду/SPARK не от AdaCore: http://www.apemantus.co.uk/