2012-05-09 27 views
5

Tôi có một tệp có tên là some/work/file.py trong repo của mình.Mercurial cách tạo bản vá cho một tệp trong repo

Tôi đã được làm việc trong repo (trên các tập tin khác nữa ngoài file.py) và cam kết thay đổi của tôi và đã đi từ phiên bản 20 đến 30.

Làm thế nào tôi sẽ tạo ra một bản vá cho chỉ file.py từ sửa đổi 20-30 mà không bao gồm các tập tin khác?

Cái gì như:

hg export 20:30 file.py > new.patch 

đã thử lệnh nhưng không hoạt động.

Cảm ơn bạn

Trả lời

5

hg export xuất các thay đổi riêng lẻ thành các thực thể riêng biệt.

Nếu tôi hiểu chính xác, bạn cần câu trả lời cho câu hỏi “Thay đổi nào được thực hiện cho file.c giữa bản sửa đổi 20 và sửa đổi 30?”, Nghĩa là bạn chỉ cần một tệp khác.

Đây là cách bạn có thể làm điều đó:

hg diff file.c -r 20:30 > new.diff 

Là một cách tiếp cận linh hoạt hơn, bạn có thể sử dụng -I (bao gồm mẫu hồ sơ)/-X (loại trừ).

+0

Cảm ơn bạn, sau đó tôi có thể áp dụng bản vá khác làm bản vá có nhập hg? – Neeran

+0

Có cập nhật để rev 20, có bạn có thể. Lưu ý rằng điều này sẽ chỉ cập nhật 'file.c' và lịch sử changeset (20:30) sẽ bị mất. Chăm sóc để giải thích vấn đề bạn đang giải quyết là gì? – Helgi

+0

Phạt tiền của nó Tôi chỉ muốn thay đổi đối với file.py duy nhất được xuất dưới dạng bản vá chứ không phải các thay đổi khác đối với các tệp khác trong cùng một cam kết. – Neeran

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