2010-08-11 3 views
94

Per un determinato file in un repository Mercurial, come è possibile visualizzare la cronologia delle revisioni?Come visualizzare la cronologia delle revisioni per il file Mercurial?

E come è possibile diff due revisioni del file?

Idealmente facendo tutto questo con strumenti visivi (usiamo ExamDiff per fare altre differenze).

Direi che questa è una funzionalità di controllo del codice sorgente di base ma non riesco a capire come farlo con Mercurial.

risposta

116
hg log file 

hg diff -r 10 -r 20 file 
+1

Perfetto .. Funziona con ExamDiff troppo: 'hg ExamDiff -r 10 -r 20 file' –

+2

può inoltre essere utile per cercare una parola chiave invece di un nome file esatto, hg log -k keyword – Despertar

+0

Questo mi dà zero output/response; non accade nulla. – Aerovistae

23

Il hgk extension ti dà hg view file comando che mostra una storia visiva, da cui è possibile diff/Vdiff coppia arbitraria di revisioni.

TortoiseHg fornisce il comando thg log file che fa la stessa cosa ma sembra migliore.

+0

molto bello! ma 'hgtk' ora è solo un wrapper, si prega di usare 'thg' su linux – milkplus

+1

hgk funziona per revisioni intere, ma come si fa a diffare singoli file * *? – keflavich

8

Per facilitare la lettura

hg diff -r revision1:revision2 file 

Dove revision1 e revisione2 può essere un tag, ecc changeset

3

Se si utilizza TortoiseHg: gli utenti Windows possono utilizzare Windows Explorer e visualizzare la cronologia delle revisioni facendo clic destro sul file.

Per gli utenti Linux, è possibile farlo all'interno di TortoiseHg, ma mi ci è voluto un po 'per capire come. È necessario fare clic con il tasto destro sul file desiderato e selezionare "Cronologia file". Tuttavia, per qualche misterioso motivo, il file deve essere inalterato. Inoltre, per trovare il file desiderato ci sono due opzioni:

In ### revision set query### si può digitare:

file("**<myfile>") 

La doppia ** sono necessarie per le directory di ricerca in modo ricorsivo. Questo ti dà immediatamente un elenco di tutti i repository in cui è stato modificato il file desiderato.

In alternativa, accanto allo ### filter text ### fare clic prima sul segno del punto interrogativo e selezionare "pulito" per vedere tutti i file nel repository. Quindi all'interno della casella ### filter text ### è possibile restringere il numero di file visualizzati.

In alternativa, gli utenti Linux possono farlo da un terminale come suggerito da Geoffrey Zheng sopra:

thg log file 
+0

Forse è cambiato dal 2010, ma posso fare clic su un file modificato in THG e visualizzare la cronologia delle revisioni. – DaveInCaz