Không có tốt cách thức để chọn các bản chỉnh sửa lựa chọn bằng ngọc trai (đó là quy trình làm việc được đề xuất của bạn). Có một số cách không tuyệt vời để thực hiện: xuất + nhập (hoặc trình bao bọc tiện lợi xung quanh xuất + nhập được gọi là ghép), nhưng vẽ lại có bạn có cùng changeset với các băm khác nhau trong nhiều kho, không tốt cách để thể hiện rằng nếu/khi bạn cố gắng di chuyển các thay đổi trên một lần nữa.
Tốt hơn là sửa đổi quy trình làm việc của bạn để khi bạn muốn di chuyển qua thay đổi bạn đồng ý với việc di chuyển trên tất cả tổ tiên của nó, và bạn làm điều này bằng cách chọn một tổ tiên của changeset.
Ví dụ: nếu bạn đang khắc phục lỗi trong kho lưu trữ phát triển và cả ba "kho" khác không chỉ thay đổi bản sửa đổi gốc của thay đổi là tip
của kho lưu trữ phát triển. Trước tiên, hãy thực hiện hg update -r THE_REVISION_WHERE_THE_BUG_WAS_ADDED
, sau đó sửa lỗi của bạn và sau đó cam kết. Bạn sẽ thấy thông báo có nội dung là new head created
.
Bây giờ bạn đã có sửa chữa như là một changesets mà chỉ có cha mẹ là changeset trong đó lỗi đã được giới thiệu - mà phải tồn tại trong 3 kho khác hoặc họ sẽ không có lỗi. Vì vậy, bây giờ bạn có thể pull
rằng changeset mới vào "3" kho khác mà không mang lại tất cả mọi thứ khác trong phát triển với họ. Và sau đó bạn thực hiện một cách nhanh chóng hg merge
trong mỗi bốn kho lưu trữ đó, trộn lẫn sửa lỗi vào khả năng triển khai tip
.
Nhận được cách xử lý kho lưu trữ cấu trúc có chức năng chung nhưng tùy chỉnh trong mỗi, có thể hơi phức tạp, nhưng nếu bạn cấu trúc mọi thứ đúng, bạn có thể thực hiện tất cả các chuyển đổi nội bộ bằng cách sử dụng push, pull và merge và không bao giờ phải sửa lỗi hai lần, có cùng mã trong các thay đổi khác nhau hoặc làm lại tùy chỉnh của kho lưu trữ.
Như một lưu ý, lệnh chia đôi, thực hiện một công việc tuyệt vời để trả lời câu hỏi "lỗi này đã được giới thiệu ở đâu" trước khi bắt đầu sửa lỗi.
Nguồn
2010-10-17 21:22:18
Điều này gần như mang lại cho tôi những gì tôi muốn ngoại trừ khi một xung đột xảy ra, tôi nhận được những tệp .rej thay vì đưa tôi một công cụ hợp nhất. Bạn có biết cách nào dễ dàng để xử lý những thứ đó .rej thay vì phân tích cú pháp chúng theo cách thủ công và giải quyết xung đột? – mdonovan2010
Dành cho người đọc mới hơn đang tìm cách giải quyết vấn đề: Xem câu trả lời được cập nhật của tôi bên dưới để biết giải pháp tích hợp, hoạt động tốt. – Lstor