Comment pouvez-vous déterminer tous les fichiers qui ont changé dans un ensemble de modifications donné?
Je ne cherche pas un diff dans ce cas, juste une liste d'ajout / suppression / modifications.
hg log -vprX
fait une liste de diffs mais je veux juste les fichiers.
Réponses:
Si vous souhaitez lister uniquement les fichiers qui ont été modifiés, vous devez utiliser la "commande d'état". Ce qui suit répertorie les modifications apportées aux fichiers de la révision REV
la source
-n
/--no-status
.hg status --no-status --change REV
hg status --rev REV~1:REV
ce que j'avais l'habitude de faire.hg status --change .
Retirez simplement
p
de votrehg log -vpr
affichage la liste des fichiers.-p
signifie montrer patch. Vous pouvez également utiliser un modèle pour formater la sortie à votre goût.la source
hg status --change .
a mieux fonctionné et a donné un préfixe d'action de fichier (A \ M \ D, etc.) et un meilleur chemin relatifJe sais que la question concerne un seul ensemble de modifications, mais si vous souhaitez modifier tous les fichiers pour une plage de jeux de modifications, vous pouvez le faire
la source
hg log -r BEGIN:END --template "{files}\n"
comme @ geoffrey-zheng et @ton l'ont écrit il yhg status --rev BEGIN --rev END
est: 1. beaucoup plus facile à retenir quehg log -r BEGIN:END --template "{files}\n"
; 2. il imprime les fichiers sur des lignes séparées sans utilisersed
(@Eric Lawler) oujoin()
(@Foxichu); 3. sans le-m
drapeau, il affiche non seulement les fichiers modifiés, mais également ajoutés et supprimés (la belle coloration standard s'applique ici aussi); 4. il existe-a
et des-r
indicateurs qui permettent un filtrage différent; 5. si l'on ne veut pas du préfixe de statut, il y a une-n
option qui le supprime.Révision validée actuelle
.
est un raccourci pour la version actuelle, tout comme@HEAD
dans GitRévision non validée actuelle
Révision arbitraire validée
la source
J'ai trouvé cette question sur Google pour un concept similaire. Pour afficher tous les fichiers qui ont été modifiés via une gamme de jeux de modifications, c'est aussi simple que:
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.sed -e 's/ /\n/g'
divisera tous les fichiers pour les afficher sur des lignes séparées etsort
va, euh, trier la liste pour vous afin que nous puissions filtrer la liste avec uniquniq
filtrera la liste pour supprimer les doublons - les fichiers qui ont changé dans plus d'une révision.la source
--template
solution basée sur ces inconvénients pourrait être construite en utilisantjoin()
comme suggéré par @Foxichu.Je sais que cette question est une vieille question et je suis surpris que personne ne se soit contenté de proposer 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 quoi) en exécutant simplement
hg log -v
. Ou ce dont j'avais réellement besoinhg 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 poussés vers le dépôt).la source
Si vous êtes comme la plupart des magasins, vous utilisez un système de billetterie pour suivre les changements. Si vous connaissez le numéro de ticket et que vous souhaitez trouver tous les validations associées à ce ticket (en supposant que vous incluiez le numéro de ticket dans le message de validation), vous pouvez utiliser:
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 les choses, 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:
la source