Сначала позвольте мне предисловие, сказав, что я задавал подобные вопросы здесь прежде, и никогда не получал хорошего ответа, который решал бы мое отсутствие знаний / проблемы.
Во-первых, позвольте мне начать с предложения по стратегии ветвления. Это то, что мы имеем на работе, и я рад услышать комментарии в противном случае, а также о том, почему это отстой. Но поймите, что у нас это обычно работает.
У нас есть 1 товар. Ради этого примера давайте назовем его «ПРОДУКТ». Мы запускаем 2 одновременных цикла разработки. Еженедельный цикл обслуживания, где мы исправляем ошибки, не возникающие при нажатии, и двухнедельный спринт Есть две ветви, созданные из ствола, под названием «Sprint» и «Maintenance» (шокирующий выбор имени, я знаю!). Также для срочных / блокирующих проблем исправления вносятся непосредственно в транк и отправляются в производство после тестирования.
9 раз из 10, когда я пытаюсь реинтегрировать спринт или техническое обслуживание обратно в багажник, я получаю БОЛЬШОЕ количество конфликтов. На файлах, над которыми никогда не работали ни в одной из веток. Это приводит к большому количеству ручного слияния, которое отстой и приводит к большему количеству проблем.
Поэтому я выдам команду: svn merge --reintegrate http://repo/Sprint
и хотя некоторые файлы будут обновляться, у меня будут конфликты с файлами, которые ТОЧНО идентичны (через WinMerge). Я не знаю, что вызывает эти конфликты.
Как я могу перестать иметь эти смешные конфликты?