2009-12-28 11 views
10

Wiele razy dokonuję dwóch różnych zmian w plikach w moim repozytorium, chcę, aby te zmiany były traktowane jako dwa kolejne zatwierdzenia.Zatwierdzanie tylko niektórych plików w Mercurial

Na przykład, w repozytorium

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

Podczas ustalania błędów prog.c i prog.h, że stała się błąd w README.txt . Teraz chcę zatwierdzić zmianę na prog.c z własną wiadomością zatwierdzenia, a następnie zmienić na README.txt.

W git, mogę łatwo zrobić z indeksem

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

Jaki jest najlepszy sposób, aby to zrobić w Mercurial?

Wyjaśnienie: Użyłem (przed edycją) przykładu zabawkowego, w którym każdy zestaw zmian obejmuje pojedynczy plik. Ale chcę ogólnej odpowiedzi, co powinienem zrobić, gdy w każdym zestawie zmian znajduje się wiele plików.

Odpowiedz

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

następnie

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

Co jeśli jest więcej niż jeden plik błędu # 1234? –

+2

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

+9

Jeśli chcesz wszystkie pliki oprócz README.txt: hg commit -m "bug # 1234" -X README.txt – Jerome

2

UWIELBIAM crecord rtęciowego rozszerzenie dla tego celu: daje mi plik po pliku (i fragmencie przez fragmencie, a linia po linii) kontrolę nad tym, co dokładnie chcę w ten popełnić.

+3

Lub oryginalne rozszerzenie rekordu, które jest dostarczane z mercurial i działa w systemie Windows. – pmezard

Powiązane problemy