Mercurial – tous les fichiers qui ont changé dans un changeset?

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

Je ne cherche pas de diff dans ce cas, 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 la commande “status”. La liste suivante répertorie les modifications apscopes aux fichiers de la révision REV.

 hg status --change REV 

Il suffit de supprimer p de votre hg log -vpr affichera la liste des fichiers. -p signifie afficher le patch. Vous pouvez également utiliser un modèle pour formater la sortie à votre goût.

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

 hg status --rev 1 --rev 10 -m 

J’ai trouvé cette question via Google pour un concept similaire. Pour afficher tous les fichiers modifiés via une gamme de modifications, c’est aussi simple que:

 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 changeset, de [start rev] à [end rev ], avec les fichiers de chaque changeset sur une nouvelle ligne. Échangez {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 va, euh, sortinger la liste pour vous afin que nous puissions filtrer la liste avec uniq
  4. uniq filtrera la liste pour supprimer les doublons – les fichiers ayant été modifiés dans plusieurs versions.

Révision engagée actuelle

 hg status --change . 

. est un raccourci pour la version actuelle, tout comme @HEAD dans Git

Révision actuelle non engagée

 hg status 

Révision arbitraire engagée

 hg status --change REV_ID 

Je sais que cette question est une vieille question et je suis surpris que personne ne propose une forme de code modifiée OP. J’ai obtenu une liste de fichiers modifiés / ajoutés / supprimés (non étiquetés qui est ce qui est) mais en exécutant simplement hg log -v . Ou ce que j’avais besoin de hg log -v -l5 pour voir les fichiers qui ont été modifiés / ajoutés / supprimés dans les 5 derniers commits (y compris ceux que je n’ai pas encore mis au repository).

Si vous êtes comme la plupart des magasins, vous utilisez un système de billetterie pour suivre les modifications. Si vous connaissez le numéro de ticket et souhaitez rechercher tous les commits associés à ce ticket (en supposant que vous incluez le numéro de ticket dans le message de validation), vous pouvez utiliser:

 hg log -k TICKET_NUMBER 

Cela affiche toutes les révisions associées au ticket. Cependant, il ne répertorie pas les fichiers. Vous pouvez utiliser l’une des réponses ci-dessus pour obtenir la liste des fichiers associés aux révisions.

Pour simplifier, en combinant les informations des réponses précédentes, vous pouvez effectuer les opérations suivantes pour rechercher les validations, y compris les fichiers modifiés:

 hg log -vk TICKET_NUMBER