Перешли с svn на git. Следующая версия продукта 8cd63a выйдет позавчеравтра.
Atlassian Stash весьма неплох. Миграция с svn нетривиальна, по здесь помог Subgit и их плагин для стэша. - Igor Sereda
Для енфорсмента процесса написал плагин для стэша, который блокирует пуши в мастер и девелоп (чтобы все шло через pull requests). Заняло двадцать-тридцать минут. Сравнимо с писательством хуков для svn сервера. - Igor Sereda
Хмм, блокировать пуши, по-моему, можно как-то ещё проще. У нас (git, gerrit, jenkins, jira) workflow был скопирован из андроидного; отлично шло. - 9000
@9k и jenkins не дурил? У нас он с потрясающим упорством теряет историю билдов. - I'm on my way
git клёвый по первой потери при мёрдж-конфликте :) - Ildar Karimov
интересно какая именно тулза и как именно лучше обрабатывает мердж-конфликты, чем гит? мне казалось, что они все принципиально эквивалентны в этой области, нет? - псы в рапиде
мне по секрету рассказывали про p4 :) - Igor Sereda
так что именно делает p4? - псы в рапиде
мое мнение — для любой тулзы можно найти такую конфигурацию изменений, при которой ее алгоритм сломается или выдаст контринтуитивный результат (потому что исходная конфигурация — контринтуитивна). - псы в рапиде
пытаюсь найти какое-нибудь внятное сравнение функциональности мерджей у разных scm'ок. пока только git praise, блин ) http://stackoverflow.com/questio... - псы в рапиде
Не, отлично работает (на моём старом проекте), руками приходилось только некоторые build dependencies докидывать в локальный blessed репозиторий пакетов, остальное всё сам. - 9000
@squadette ^^^ В принципе согласен (нет серебряной пули), вопрос в вероятности наступить на грабли в каждом конкретном случае. В svn у нас проблемы были, *именно этих* проблем с гитом быть вроде не должно, но что есть другие грабли, это наверняка. Large binary files, но вроде у нас их нет... пока. Directories not first-class citizens. Too easy to shoot one's foot. С интересом жду как пойдет. - Igor Sereda
В svn с его линейной историей практически нереально потерять что-то при мёрдже, с гитом же при -s ours ищи-свищи потом - Ildar Karimov
@9000 пуши можно наверное также блокировать хуками в самом репозитории, но плагин для стэша лучше - его можно потом в настройках включать-выключать для каждого репозитория одним кликом - Igor Sereda
@thevery ну вот например - "How to use git to lose data" - http://www.cs.cmu.edu/~davide... - Igor Sereda
что такое "потерять" в git'е? ) git reset --hard HEAD^ после сколь угодно неудачного мерджа — и все на месте. - псы в рапиде
смешное название про "how to use git to lose data", но не о том. но кстати заставляет задуматься, true. но не о том. - псы в рапиде
Что вы ни говорите, а с мёржами я намучился в svn, хмурился, используя p4, и 1 (один) раз нарвался на то, что git при мёрже не втянул одно изменение из моей ветки, по в принципе понятной причине сочтя, что master свежее. Ну, обнаружил, руками вписал, --amend решает. С svn и p4 мне руками приходилось вписывать куда больше. В гугле, скажу по секрету, p4 живёт в некотором роде как backend, а git как локальный frontend к нему. Довольно неплохо. - 9000
ух ты. - псы в рапиде
^ идея в том, что глобальный p4 checkout сверху снабжён локальным git-ом, в котором можно резвиться, временами говорить export (git → p4), временами sync (p4 → git). соотв. merge в центральный репозиторий делает p4. - 9000
@squadette потерять=не заметить после мёрджа - при -s ours дифф будет как бы пустой. - Ildar Karimov
вот это кстати реальная тема. семантика диффа на мердж-коммите для меня загадка :(( - псы в рапиде