2009-12-28 28 views
10

Nhiều lần tôi thực hiện hai thay đổi khác nhau đối với tệp trong kho lưu trữ của mình, tôi muốn những thay đổi đó được coi là hai lần commit liên tiếp.Chỉ cam kết một số tệp trong Mercurial

Ví dụ, trong kho

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

Trong khi sửa chữa một lỗi prog.cprog.h, tôi cố định một lỗi đánh máy trong README.txt . Bây giờ, tôi muốn cam kết thay đổi thành prog.c bằng thông điệp cam kết của riêng mình và thay đổi thành README.txt sau đó.

Trong git, tôi có thể dễ dàng làm điều đó với chỉ số

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

cách tốt nhất để làm điều đó trong Mercurial là gì?

Làm rõ: Tôi đã sử dụng (trước khi chỉnh sửa) một ví dụ về đồ chơi trong đó mỗi changeset trải rộng trên một tệp. Nhưng tôi muốn câu trả lời chung, tôi nên làm gì khi có nhiều tệp trong mỗi changeset.

Trả lời

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

sau đó

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

Điều gì sẽ xảy ra nếu nhiều hơn một tệp cho lỗi # 1234? –

+2

hg commit -m "lỗi # 1234" prog.c prog.h – Jerome

+9

Nếu bạn muốn tất cả các tệp nhưng README.txt: hg commit -m "lỗi # 1234" -X README.txt – Jerome

2

I LOVE mở rộng lanh lợi crecord cho mục đích này: nó mang lại cho tôi nộp bằng file (và đoạn bởi đoạn, và từng dòng) kiểm soát chính xác những gì tôi muốn trong này cam kết.

+3

Hoặc phần mở rộng bản ghi ban đầu được vận chuyển bằng thủy ngân và hoạt động trên Windows. – pmezard

Các vấn đề liên quan