web-dev-qa-db-fra.com

Mercurial - tous les fichiers modifiés dans un changeset?

Comment pouvez-vous déterminer tous les fichiers qui ont changé dans un changeset donné? 

Je ne cherche pas de diff dans ce cas, mais juste une liste d'ajout/suppression/modification.

hg log -vprX fait une liste de diffs mais je veux juste les fichiers.

84
Marcus Leon

Si vous souhaitez répertorier uniquement les fichiers qui ont été modifiés, vous devez utiliser "commande d'état" La liste suivante répertorie les modifications apportées aux fichiers dans la révision REV

hg status --change REV
134
pyfunc

Supprimez simplement p de votre hg log -vpr pour afficher la liste des fichiers. -p signifie show patch. Vous pouvez également utiliser un template pour formater la sortie à votre goût.

16
Geoffrey Zheng

Je sais que la question concerne un seul ensemble de modifications, mais si vous souhaitez que tous les fichiers soient modifiés pour une série d’ensemble de modifications, vous pouvez le faire.

hg status --rev 1 --rev 10 -m
9
Nick DeVore

Révision actuelle engagée

hg status --change .

. est un raccourci pour le rev actuel, tout comme @HEAD dans Git

Révision actuelle non validée

hg status

Révision arbitraire commise

hg status --change REV_ID
3
Gibolt

Trouvé cette question par Google pour un concept similaire. Pour afficher tous les fichiers qui ont changé à travers un range of changesets, il suffit de:

hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n" | sed -e 's/ /\n/g' | sort -d | uniq
  1. hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n" vous montrera une liste de chaque fichier modifié ou ajouté dans chaque ensemble de modifications, de [début de révision] à [fin de révision], avec les fichiers de chaque ensemble de modifications sur une nouvelle ligne. Echangez {file_mods}{file_adds} avec {files} pour afficher tous les fichiers modifiés, ajoutés ou supprimés.
  2. sed -e 's/ /\n/g' divisera tous les fichiers à afficher sur des lignes séparées et
  3. sort triera la liste pour vous afin que nous puissions filtrer la liste avec uniq
  4. uniq va filtrer la liste pour supprimer les doublons, c'est-à-dire les fichiers modifiés dans plus d'une révision.
2
Eric Lawler

Je sais que cette question est une vieille question et je suis surpris que personne ne se soit proposé de modifier le code OP sous la forme. J'ai obtenu une liste de fichiers modifiés/ajoutés/supprimés (non étiquetés qui est qui) en exécutant simplement hg log -v. Ou ce dont j'avais réellement besoin de hg log -v -l5 pour voir les fichiers modifiés/ajoutés/supprimés au cours des 5 derniers commits (y compris ceux que je n'avais pas encore envoyés au référentiel). 

0
Đorđe Relić