Вопрос

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

Это было полезно?

Решение

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

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

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

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

Другие советы

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

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

(Это сравнивает магистраль и ветку разработки)

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

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

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

С использованием --ignore-properties позволил мне доказать себе, что это так, без необходимости вникать в большое количество изменений свойств «svn:mergeinfo».

Вот документация для svn diff команда.

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

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

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

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

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

Чтобы отличить две версии ветки:

svn diff -r rLATEST:rOLD

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top