Comment afficher l'historique des révisions du fichier Mercurial?

106

Pour un fichier donné dans un référentiel Mercurial, comment pouvez-vous voir l'historique des révisions?

Et comment pouvez-vous différencier deux révisions du fichier?

Idéalement, faire tout cela avec des outils visuels (nous utilisons ExamDiff pour faire d'autres différences).

Je dirais que c'est une fonctionnalité de contrôle de source de base, mais je n'arrive pas à comprendre comment faire cela avec Mercurial.

Marcus Léon
la source

Réponses:

129
hg log file

hg diff -r 10 -r 20 file
zerkms
la source
1
Parfait .. Fonctionne aussi avec ExamDiff:hg examdiff -r 10 -r 20 file
Marcus Leon
2
il peut également être utile de rechercher un mot-clé au lieu d'un nom de fichier exact, hg log -k mot
Despertar
Cela me donne une sortie / réponse nulle; Rien ne se passe.
temporary_user_name
27

L' extension hgk vous donne une hg view filecommande qui affiche un historique visuel, à partir duquel vous pouvez diff / vdiff une paire arbitraire de révisions.

TortoiseHg vous donne une thg log filecommande qui fait la même chose mais qui est meilleure.

Geoffrey Zheng
la source
très agréable! mais 'hgtk' n'est plus qu'un wrapper, veuillez utiliser 'thg' sur linux
milkplus
1
hgk fonctionne pour des révisions entières, mais comment l'obtenir pour différencier des fichiers individuels ?
keflavich
9

Pour la lisibilité

hg diff -r revision1:revision2 file

Où révision1 et révision2 peuvent être une balise, un ensemble de modifications, etc.

Carlo Chum
la source
5

Si vous utilisez TortoiseHg: les utilisateurs Windows peuvent utiliser l'Explorateur Windows et afficher l'historique des révisions en cliquant avec le bouton droit sur le fichier.

Pour les utilisateurs de Linux, vous pouvez le faire dans TortoiseHg, mais il m'a fallu un certain temps pour comprendre comment. Vous devez faire un clic droit sur le fichier souhaité et sélectionner "Historique des fichiers". Cependant, pour une raison mystérieuse, le fichier doit être inchangé. De plus, pour trouver le fichier souhaité, il existe deux options:

Dans ### revision set query###on peut taper:

file("**<myfile>")

Les doubles ** sont nécessaires pour rechercher des répertoires de manière récursive. Cela vous donne immédiatement une liste de tous les référentiels dans lesquels le fichier souhaité a été modifié.

Alternativement, à côté du ### filter text ###clic d'abord sur le signe de point d'interrogation et sélectionnez "nettoyer" pour voir tous les fichiers dans le référentiel. Ensuite, à l'intérieur de la ### filter text ###boîte, vous pouvez réduire le nombre de fichiers affichés.

Alternativement, les utilisateurs Linux peuvent le faire à partir d'un terminal comme suggéré par Geoffrey Zheng ci-dessus:

thg log file
Jasper Uijlings
la source
Peut-être que cela a changé depuis 2010, mais je peux cliquer sur un fichier modifié dans THG et afficher l'historique des révisions.
UuDdLrLrSs