Подтвердить что ты не робот

Сравнение ветвей SVN

Как сравнить одну ветку с другой? Я хочу сравнить ветку с последней ревизией в багажнике.

4b9b3361

Ответ 1

Вы можете начать с:

svn diff http://REPOS/trunk http://REPOS/branches/B

(Где http://REPOS - ваш путь к репозиторию, включая родителей trunk и branches.)

Это напечатает большое количество текста, включая все текстовые изменения, но не двоичные изменения, кроме как сказать, где и когда они произошли.

Ответ 2

Если вы просто ищете высокий уровень того, какие файлы отличаются и не хотят видеть все содержимое, используйте:

svn diff ^/trunk ^/branches/dev --summarize

(Это сравнивает ветку соединительной линии и dev)

Ответ 3

Обычно я проверяю две ветки (или ветку и туловище) в директории. Затем я использую графический инструмент, такой как Kompare или аналогичный (в зависимости от ваших предпочтений, операционной системы,...). Это действительно полезно для меня, когда мне нужно выполнять сложные слияния.

Ответ 5

Спасибо за информацию, ребята, я бы добавил что-то, чтобы улучшить читаемость результатов diff. Если вы использовали: svn diff svn://url: 9090/branch/PRD_0002 svn://url: 9090/branches/TST_0003 > svn_diff_filename.txt

Вы можете использовать: findstr "Index:" C:\path\svn_diff_filename.txt > svn_diff_file_list.txt

Это даст вам читаемый список файлов, имеющих какие-либо различия.

Ответ 6

Здесь сообщение от Мюррея Камминга, в котором описывается неочевидный процесс:

  • Откройте номера ревизий: вам нужно знать номера версий последних версий в каждой из ветвей. Похоже, что svn log - единственный способ сделать это.
  • cd в один из каталогов ветвей, например, тубус.
  • Поставьте номера версий в команду svn diff: svn diff -r123:145

Ответ 7

Для разницы между двумя ревизиями ветки:

svn diff -r rLATEST:rOLD

Используйте svn log, чтобы получить разные версии. Использование может ограничить количество изменений в журнале с помощью svn log -l 5. будут показаны только последние 5 изменений.

Ответ 8

Поскольку отсутствие репутации не позволит мне добавить это как комментарий к существующему ответу, мне нужно добавить его как отдельный.

Полезным вариантом для svn diff для меня был --ignore-properties. Мои две ветки оказались идентичными кодами, но с разными историями слияния.

Использование --ignore-properties позволило мне доказать себе, что это так, без переполнения большого количества изменений свойств "svn: mergeinfo".