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.
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
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.
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
hg status --change .
.
est un raccourci pour le rev actuel, tout comme @HEAD
dans Git
hg status
hg status --change REV_ID
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
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.sed -e 's/ /\n/g'
divisera tous les fichiers à afficher sur des lignes séparées etsort
triera la liste pour vous afin que nous puissions filtrer la liste avec uniquniq
va filtrer la liste pour supprimer les doublons, c'est-à-dire les fichiers modifiés dans plus d'une révision.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).