Я работаю с кодовой базой, которая (исторически) была объединена вручную, а не через svn merge
. Я пытаюсь изменить это доказать всем, насколько полезным является слияние - но когда я делаю сухой бег, я получаю это:svn merge --dry-run Показать svn diff
$ svn merge [[Repo URL]] . -c 21355,21358,21364,21370,21371,21373 --dry-run
--- Merging r21355 into '.':
U [[File 1]]
--- Merging r21355 into '[[dir]]':
U [[dir]]/[[File 2]]
U [[dir]]/[[File 3]]
--- Merging r21358 into '[[dir]]':
U [[dir]]/[[File 4]]
--- Merging r21364 into '[[dir]]':
U [[dir]]/[[File 2]]
C [[dir]]/[[File 4]]
--- Merging r21370 into '[[dir]]':
U [[dir]]/[[File 5]]
--- Merging r21371 into '[[dir]]':
U [[dir]]/[[File 5]]
--- Merging r21373 into '[[dir]]':
C [[dir]]/[[File 5]]
U [[dir]]/[[File 6]]
Summary of conflicts:
Text conflicts: 2
У меня есть два файла (перечислены в 4 и 5, соответственно), что выжить в одном слиянии, чтобы попсовать конфликт с последним. Я пытаюсь выяснить, что это за конфликт, и посмотреть, смогу ли я его решить. Я бы хотел, если бы я мог заставить svn выплюнуть разницу двух противоречивых изменений.
Я проверил новую рабочую копию только в узком каталоге, и когда я побежал слияние без всухую, я получил:
--- Merging r21355 into '.':
U [[File 3]]
--- Merging r21358 into '.':
U [[File 4]]
--- Merging r21364 into '.':
G [[File 4]]
--- Merging r21370 into '.':
U [[File 5]]
--- Merging r21371 into '.':
G [[File 5]]
--- Merging r21373 into '.':
G [[File 5]]
(файлы 1, 2 и 6 находятся в другом месте)
Итак, теперь я особенно смущен - сухой запуск сообщает о конфликте, но когда слияние фактически запущено, это успешно? Это намеренное поведение? Я признаю, что я не мастер SVN, но я остался в замешательстве.
Я могу воспроизвести эту проблему с двумя ревизиями. В Rev 7 добавлен файл, а rev 8 изменяет файл. Получают одинаковые результаты команды 'svn merge -r6: 8' и' svn merge -c7,8'. Однако, если я добавлю опцию '--dry-run', первая успешно завершится, а последняя не удастся. Звучит как ошибка в SVN 1.7. – nosid
@nosid Я бегу 1.6.3 – FrankieTheKneeMan