2015-07-30 2 views
0

У меня есть ртутное репо с subrepos (также mercurial). Представьте себе ситуацию, когда я изменил subrepos и основное репо. Теперь я хочу увидеть изменения между несколькими коммитами, включая изменения в subrepos.Как увидеть изменения в subrepos между коммитами

Возможно ли это?

Я использую TortoiseHG и diffmerge. В diffmerege, вызывающем визуальный diff от TortoiseHg, я не вижу изменений в subrepos между несколькими коммитами.

ответ

0

Я могу только сказать вам, как добиться этого в командной строке - но легко доступны с TortoiseHG тоже:

Большинство команд могут быть осведомлены о subrepositories с помощью флага -S или --subrepos. Таким образом, для того, чтобы увидеть различий между двумя ревизиями X и Y, в том числе на всех subrepositories, сделать в главном хранилище:

hg diff -S -rX:Y

виду, конечно, что он не будет показывать различий в в подрепозиториях, если не было изменений версии (ов) субрепозитария, переданной основной.

+0

Я прочитал про hg diff. Насколько я понимаю, для просмотра изменений gui существует расширение extdiff, но это не поддерживается -S флагом. Есть ли способ для просмотра изменений gui с subrepos? – Milovidov

0

С версиями TortoiseHg, которые я использовал (который не включает последние несколько выпусков), я не видел способа делать то, о чем вы просите. Есть несколько вариантов, хотя:

  • вы можете вводить команды непосредственно в окне вывода журнала в TortoiseHg, так что вы можете сделать hg diff -S -rX:Y там.
  • Архивировать версии родительского репо, которые вы хотите дифф некоторых каталогов (hg archive --repository <path-to-repo> -r <rev> -S -t files -- <outputfolderpath>, или в TortoiseHg, щелкните правой кнопкой мыши на ревизии, выберите Экспорт ->Архив). Затем используйте diffmerge в каталогах архива. Это немного утомительно (особенно если вы хотите различить множество наборов изменений), но вы получите «глубокий» визуальный diff.
Смежные вопросы