2010-08-11 51 views
94

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

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

Idéalement faire tout cela avec des outils visuels (nous utilisons ExamDiff pour faire d'autres diffs). Je dirais que c'est une fonctionnalité de base de contrôle de source, mais je n'arrive pas à comprendre comment faire avec Mercurial.

Répondre

116
hg log file 

hg diff -r 10 -r 20 file 
+1

parfait .. Fonctionne avec ExamDiff aussi: 'hg ExamDiff -r 10 -r 20 fichier' –

+2

il peut aussi être utile pour rechercher un mot-clé au lieu d'un nom de fichier exact, hg log -k mot-clé – Despertar

+0

Cela me donne zéro sortie/réponse; Rien ne se passe. – Aerovistae

23

Le hgk extension vous donne la commande hg view file qui montre une histoire visuelle, à partir de laquelle vous pouvez diff/Vdiff paire de révisions arbitraires.

vous donne la commande thg log file qui fait la même chose mais qui a l'air mieux.

+0

très bien! mais 'hgtk' est maintenant seulement un wrapper, s'il vous plaît utilisez 'thg' sur linux – milkplus

+1

hgk fonctionne pour des révisions entières, mais comment obtenez-vous à diff individuels * fichiers *? – keflavich

8

Pour faciliter la lecture

hg diff -r revision1:revision2 file 

Où Révision1 et revision2 peuvent être une étiquette, changeset etc.

3

Si vous utilisez TortoiseHg: les utilisateurs de Windows peuvent utiliser l'Explorateur Windows et afficher l'historique des révisions par un clic 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 cliquer avec le bouton droit sur le fichier désiré et sélectionner "Historique des fichiers". Cependant, pour une raison mystérieuse, le fichier doit être inchangé. De plus, pour trouver le fichier désiré, il y a deux options:

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

file("**<myfile>") 

Le double ** sont nécessaires pour rechercher les répertoires récursive. Cela vous donne immédiatement une liste de tous les dépôts dans lesquels le fichier désiré a été modifié.

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

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

thg log file 
+0

Peut-être que cela a changé depuis 2010, mais je peux cliquer sur un fichier modifié dans THG et voir l'historique des révisions. – DaveInCaz