2009-12-28 18 views
10

Molte volte sto apportando due diverse modifiche ai file nel mio repository, voglio che queste modifiche vengano considerate come due commit consecutivi.Commettere solo alcuni file in Mercurial

Ad esempio, nel repository

  • prog.c
  • prog.h
  • README.txt

Mentre la fissazione di un bug prog.c e prog.h, ho fissato un errore di battitura nel README.txt . Ora voglio confermare la modifica a prog.c con il suo messaggio di commit e la modifica a README.txt in seguito.

In git, ho potuto facilmente farlo con l'indice

git add prog.c prog.h 
git commit -m 'bug #1234' 
git commit README.txt -m 'some typos fixed' 

Qual è il modo migliore per farlo in Mercurial?

Chiarificazione: Ho usato (prima della modifica) un esempio di giocattolo in cui ciascun changeset si estende su un singolo file. Ma voglio la risposta generale, cosa dovrei fare quando ci sono molti file in ogni changeset.

risposta

19
hg commit -m "bug #1234" prog.c prog.h 

poi

hg commit -m "some typos fixed" README.txt 
+0

E se si tratta di più di un file per il bug # 1234? –

+2

hg commit -m "bug # 1234" prog.c prog.h – Jerome

+9

Se si desidera tutti i file tranne README.txt: hg commit -m "bug # 1234" -X README.txt – Jerome

2

Amo il prolungamento mercuriale crecord per questo scopo: mi dà file per file (e blocco per blocco, e riga per riga) il controllo su cosa esattamente voglio in questo commettere.

+3

Oppure l'estensione del record originale che viene fornita con mercurial e funziona su Windows. – pmezard

Problemi correlati