Как я могу увидеть список всех файлов, которые отличаются между двумя репозиториями Hg? - PullRequest
2 голосов
/ 24 августа 2010

У меня есть репозиторий с большим количеством рабочего кода. Другой разработчик из моей команды некоторое время обходился без каких-либо обновлений, а затем совершил около 5 изменений. Итак, теперь у нас есть две головы, которые разнесены почти на две недели. Совет не работает, но моя ревизия работает.

Я хочу посмотреть, в чем различия между двумя хранилищами без необходимости их объединения (потому что я не уверен, что хочу это сделать).

Ответы [ 2 ]

3 голосов
/ 25 августа 2010

Андрей ответит вам, как увидеть различия между файлами.Это здорово, когда вам нужны все детали.Но вот как непосредственно увидеть имена самих файлов:

hg status --rev X --rev Y

Как вы все знаете, команда состояния обычно используется для просмотра изменений рабочей копии с момента последнего коммита или болееточно, начиная с родительской версии рабочей копии (см. hg parents или посмотрите ее в hg glossary, если вы не знаете, что это такое).Тем не менее, команда status может также использоваться для сравнения других ревизий.

Это может быть использовано для всех видов приятных вещей ... например, для написания заметок о выпуске было бы неплохо упомянуть любую новуюпереводы, представленные с момента последнего выпуска.Для самого Mercurial я могу сделать:

% hg status --rev 1.6.2 --rev tip i18n
M i18n/da.po
M i18n/it.po
M i18n/pt_BR.po
A i18n/ro.po

, чтобы увидеть, что румынский перевод является новым и что датский, итальянский и бразильский португальский переводы были обновлены.В этом случае моей родительской версией рабочей копии была подсказка, поэтому я мог бы пропустить --rev tip.

2 голосов
/ 24 августа 2010

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

hg diff -r <your head changeset id> -r <other dev changeset id> .

должно сработать.Конечно, вы можете использовать hg head, чтобы получить идентификаторы изменений, один из которых может звучать как «tip».

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

hg diff -r <your head id> -r <other dev id> | grep -E '^\+{3} b/'

, вероятно, добьется цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...