2010-09-10 57 views

Trả lời

7

Bạn không thể chỉnh sửa thông báo cam kết của bản sửa đổi cũ mà không thay đổi id sửa đổi của bản sửa đổi sửa đổi và tất cả con cháu của nó.

Vâng ... về mặt kỹ thuật bạn có thể, nếu bạn cố gắng hết sức, nhưng thuật ngữ kỹ thuật cho kết quả là "kho lưu trữ bị hỏng". Một kho lưu trữ trong bzr là một bản sao của một cơ sở dữ liệu phân tán các bản sửa đổi, và nếu tất cả các bản sao không đồng ý về nội dung của một sửa đổi, bạn có một sự vi phạm toàn vẹn. Có nghĩa là tất cả mọi phiên cược đều bị tắt và hệ thống sẽ tích cực cố gắng phát hiện các tình huống như vậy và từ chối làm việc.

Để sửa đổi thông báo cam kết của bản sửa đổi cuối cùng trong một chi nhánh, bạn có thể sử dụng "bzr uncommit", tiếp theo là "bzr commit" với thông báo cam kết mới.

Để sửa đổi thông báo cam kết của bản sửa đổi cũ hơn, bạn nhận được một nhánh có sửa đổi cuối cùng bạn muốn sửa đổi, sử dụng "uncommit" rồi "commit" và đính kèm lại bản sửa đổi tiếp theo bằng cách sử dụng "bzr rebase" hoặc "bzr phát lại "(từ" viết lại "plugin).

Trong mọi trường hợp, điều đó sẽ tạo ra một chi nhánh được coi là "phân kỳ" từ nhánh bạn đã có lúc đầu. Nếu chi nhánh ban đầu đã được xuất bản, bản sửa đổi ban đầu của bạn có thể trở lại gây ra các vụ sáp nhập đau đớn, ô nhiễm lịch sử và thường ám ảnh bạn.

2

Không, bạn không thể chỉnh sửa thư cam kết cho các bản sửa đổi cũ hơn. Các bản sửa đổi ở Bazaar là không thay đổi. Bạn sẽ phải xây dựng lại chi nhánh từ bản sửa đổi mà bạn phải thay đổi.

+0

* "Bản sửa đổi trong Bazaar là bất biến" * - Bất kỳ hệ thống kiểm soát nguồn nào khác không ở đâu? –

+1

Mọi người đã được xem chỉnh sửa bản sửa đổi trước đây trong CVS và Subversion. Nó vẫn còn "xấu". Nhưng chỉ cần chỉnh sửa thông điệp cam kết trong một VCS tập trung không phá vỡ bất cứ điều gì (ngoại trừ có thể gương để DVCS). Trong Bazaar, những thay đổi như vậy được kiểm chứng chặt chẽ bởi vì chúng gây ra các vi phạm toàn vẹn của cơ sở dữ liệu phân tán. Trong Git và Hg chúng không thể được thiết kế. – ddaa

0

nếu đó là bản sửa đổi bạn đã cam kết lần cuối, bạn có thể bzr commit --unchanged để thêm nội dung nào đó vào nhật ký. đó không phải là những gì bạn muốn, nhưng nó có thể là điều tốt nhất tiếp theo nếu cảnh báo của ddaa quan trọng đối với bạn.

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