Tôi đã sử dụng TortoiseSVN, svn, và subclipse và tôi nghĩ rằng tôi hiểu những điều cơ bản, nhưng có một điều đã được bugging cho tôi một thời gian: Sáp nhập giới thiệu mã không mong muốn. Đây là các bước.Subversion: Làm thế nào để hợp nhất các bản sửa đổi cụ thể vào thân cây khi nhiều thay đổi liên tiếp được thực hiện trong một chi nhánh?
trunk/[email protected]
. Tệp thử nghiệm được tạo bằng 'A' và trả về:
A
[EOF]
branches/TRY-XX-Foo/[email protected]
. Nhánh ra trunk
để TRY-XX-Foo
:
A
[EOF]
branches/TRY-XX-Foo/[email protected]
. Thực hiện thay đổi không mong muốn trong TRY-XX-Foo
và cam kết:
A
B (unwanted change)
[EOF]
branches/TRY-XX-Foo/[email protected]
. Đưa ra một bản vá lỗi quan trọng trong TRY-XX-Foo
và cam kết nó:
A
B (unwanted change)
C (important bug fix)
[EOF]
Bây giờ, tôi muốn hợp nhất chỉ là lỗi quan trọng khắc phục trở lại thân cây. Vì vậy, tôi chạy hợp nhất để sửa đổi 4:5
. Những gì tôi kết thúc trong thư mục làm việc của tôi là một cuộc xung đột.
trunk/test.txt
:
A
<<<<<<< .working
=======
B (unwanted change)
C (important bug fix)
>>>>>>> .merge-right.r5
[EOF]
Against ý chí của tôi, Subversion hiện đã bao gồm "thay đổi không mong muốn" vào mã thân cây, và tôi cần phải loại bỏ chúng ra bằng tay. Có cách nào để hợp nhất các bản sửa đổi được chỉ định khi có nhiều thay đổi liên tiếp được thực hiện trong chi nhánh không?
Phần của vấn đề là B (thay đổi không mong muốn) được bao gồm trong .merge-right và tôi không thể nói sự khác biệt giữa bản sửa đổi mà nó đến từ đó. Tôi thường sử dụng TortoiseMerge và đây là cách nó trông.
Để thực hiện kiểm tra thực tế hơn, bạn nên thêm một số 'ngữ cảnh' giữa các dòng bạn thay đổi. Các công cụ khác biệt và hợp nhất văn bản cần một vài dòng ngữ cảnh giữa các thay đổi để thực hiện các kết hợp tự động. Khi bối cảnh không đủ lớn, bạn sẽ thấy xung đột như được hiển thị trong ví dụ cuối cùng của bạn. –
@Bert: hãy đặt câu trả lời là câu trả lời, vì vậy nó có thể được bình chọn. Tôi nghĩ bạn có một điểm ở đây. –
bạn có thể chỉnh sửa chiều rộng hình ảnh của mình không, nó ném ra khỏi văn bản câu hỏi. –