Как мне отличить одну ветвь от моей ветви по умолчанию


я переключился на ветку в своем локальном РЕПО и заметил, что она дала мне сообщение, показывающее обновленные файлы X. Это удивило меня, так как я не знал, что на этой ветке есть какие-то различия. Как сравнить эту ветку с веткой по умолчанию, чтобы увидеть, что изменилось?

3 63

3 ответа:

использовать hg diff -r BRANCH1:BRANCH2, где BRANCH1 и BRANCH2-это имена ветвей. Это покажет вам различия между главами двух ветвей.

вы получили сообщение о "X files updated", потому что были изменены файлы в исходной ветке, а не обязательно потому, что были изменены файлы в другой ветке. Mercurial показывает объединение наборов измененных файлов из обеих ветвей.

чтобы просто перечислить файлы с различиями, добавьте параметр --stat:

hg diff --stat -r BRANCH1:BRANCH2

это дает выход такой:

mypath/file1.cpp    |    1 -
mypath/file2.cpp    |  143 ++++++++++
mypath/file3.cpp    |   18 +-
3 files changed, 160 insertions(+), 2 deletions(-)

или чтобы немного очистить выход, пропустите его через sed, чтобы удалить все после символов трубы:

hg diff --stat -r BRANCH1:BRANCH2 | sed "s/|.*$//g"

это дает вам только список измененных файлов и сводную строку в конце:

mypath/file1.cpp
mypath/file2.cpp
mypath/file3.cpp
3 files changed, 160 insertions(+), 2 deletions(-)

для просмотра различий ветвей otherbranch С текущей ветке:

hg diff -r otherbranch