web-dev-qa-db-fra.com

Comment puis-je diff une branche avec ma branche par défaut

Je suis passé à une succursale de mon dépôt local et j'ai remarqué que le message m'indiquant que x fichiers étaient mis à jour. Cela m'a surpris car je ne savais pas qu'il y avait des différences sur cette branche. Comment comparer cette branche avec la branche par défaut pour voir ce qui a changé?

64
jaffa

Utilisez hg diff -r BRANCH1:BRANCH2, où BRANCH1 et BRANCH2 sont les noms des branches. Cela vous montrera les différences entre les têtes des deux branches.

Vous avez reçu le message "x fichiers mis à jour" car des fichiers ont été modifiés dans la branche d'origine, mais pas nécessairement, dans l'autre branche Mercurial vous montre l'union des ensembles de fichiers modifiés des deux branches.

99
Niall C.

Pour simplement lister les fichiers avec des différences, ajoutez l'option --stat:

hg diff --stat -r BRANCH1:BRANCH2

Cela donne une sortie comme ceci:

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

Ou pour nettoyer un peu la sortie, transmettez-la à sed pour tout supprimer après les symboles de conduite:

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

Cela vous donne juste une liste des fichiers modifiés et la ligne de résumé à la fin:

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

Pour afficher un diff de la branche otherbranch avec la branche actuelle:

hg diff -r otherbranch
0
mherzl