2011-02-15 14 views
5

Come si ottiene un elenco di tutti i file interessati in un changeset dal rev 3456?Come ottenere l'elenco dei file interessati da una revisione specifica in Mercurial

Nota: ho provato hg log --rev 3456:tip --template "{files}"\n ma ci sono diversi problemi

  1. Se un changeset colpisce più file, tutti sembrano sulla stessa linea.
  2. Questo mostra anche lo stesso file più volte se un file è stato coinvolto in molti pacchetti.
+0

3 suoni come un insetto. hai un exmaple in cui unire cambia un file dal primo genitore ma non compare nel registro hg? – John

+0

@ John: non è un bug. Ho frainteso qualcosa riguardo ai changeset di fusione. Ho rimosso il problema 3 dalla domanda. – Sylvain

+0

possibile duplicato di [Generazione di un elenco di quali file sono stati modificati tra versioni hg] (http://stackoverflow.com/questions/2024510/generating-a-list-of-which-files-changed-between-hg-versions) –

risposta

5

hg stat --rev 3456

hg stat --rev 3456:tip per escludere modifiche non

+0

Nel mio repo, il changeset 3456 è il suggerimento. Tortoise hg mostra 3 file per il changeset 3456 ma '' hg stat --rev 3456 "' non mostra alcun file. Quel changeset è un'unione. – Sylvain

+0

Eh? Se 3456 è il suggerimento (tip indica il changeset più recente aggiunto al repository), allora come si desidera "tutti i file interessati in un changeset dal rev 3456"? Per ottenere l'elenco di tutte le modifiche, @robert suggerisce che è necessario selezionare le opzioni --rev o una con i due punti. –

+0

Ho frainteso qualcosa riguardo ai changeset di fusione. La tua soluzione sembra funzionare ... – Sylvain

1

creare un file denominato "myStyle"

changeset = "{files}" 
file="{file}\n" 

Poi hg log --style mystyle --rev 3456:tip | sort | unique

+0

il formato è buono con il tuo esempio, ma mi sono appena reso conto che 'hg -log' non mi dà quello di cui ho bisogno. Ho aggiornato la mia domanda. Vedi il problema 3 nella mia domanda. – Sylvain

1

C'è un previous question che copre lo stesso problema, con la restrizione ha aggiunto che la ricerca è limitata ai file che appartengono a 'me stesso .' Puoi semplicemente rimuovere '--user' e dovrebbe fare quello che ti serve.

Problemi correlati