2010-08-06 19 views
17

Nhánh của tôi2274 được phân nhánh theo mặc định. Rev. 415 là cam kết đầu tiên và nó chia sẻ một tổ tiên với vòng quay. 412 trên nhánh mặc định.cấy ghép hg không thành công - làm cách nào để 'sửa lỗi hợp nhất' vì nó gợi ý?

Branch2274 là một sửa chữa lỗi đó cần sáp nhập vào mặc định sớm NHƯNG tôi đã làm một điều rất ngớ ngẩn - Tôi sáp nhập trong những thay đổi từ một chi nhánh tính năng (. Tại rev 418)

Trong thuật ngữ đơn giản, tôi cần phải hoàn tác bất cứ điều gì thay đổi được đưa vào bởi rev. 418. Dường như có rất nhiều cách để cố này nhưng tôi đang phải vật lộn để có được bất kỳ trong số họ làm việc:

hàng đợi Mercurial cố:

tôi đã cố gắng nhập khẩu vòng quay 415, 416, 417, (bỏ qua 418), 421, 428 vào hàng đợi vá để tôi có thể áp dụng nó để rev 425.

Vấn đề: tortoisehg sẽ chỉ cho phép tôi nhập khẩu 428, 421 nhưng nhập 417 chuyển sang màu xám nhưng nhập 418 chỉ mang lại cho tôi lỗi "hủy bỏ: không thể nhập phiên bản hợp nhất 418"

Cố gắng cấy ghép:

patching file Portal/Instructor/Login.aspx.vb 
Hunk #1 FAILED at 18 
1 out of 1 hunks FAILED -- saving rejects to file Portal/Instructor/Login.aspx.vb.rej 
applying 66b6b089ee01 
abort: Fix up the merge and run hg transplant --continue 
patch failed to apply 

[command interrupted] 

Login.aspx.vb đã được thay đổi theo mặc định và tôi hiểu tại sao hợp nhất không thành công.

Làm cách nào để 'sửa' hợp nhất?

Ngoài ra, có cách nào đơn giản hơn để tôi thực hiện rev. 418 và nói với mercurial để hoàn tác những thay đổi nó mang lại với một cam kết mới trên case2274?

+0

Trình hiển thị đồ thị là gì? – Mizipzor

+1

Nó được xây dựng trong TortoiseHG 1.1 http://tortoisehg.bitbucket.org/download/index.html –

Trả lời

18

Vì lợi ích của việc không để lại câu hỏi chưa được trả lời (!), Tôi đã giải quyết được vấn đề này và câu trả lời cuối cùng là không có cách nào đơn giản để tự động giải quyết nó. Ghép giao dịch trong các bản vá lỗi, sự khác biệt giữa hai tập tin nhưng không tính đến tổ tiên chung của hai tập tin để đấu tranh để biết phải làm gì khi một tập tin đã được thay đổi bởi hai người ở cùng một nơi.

Giải pháp là tải tệp trong trình chỉnh sửa văn bản của bạn và tải tệp .rej liệt kê các phần không thành công của bản vá. Tôi chỉ cần đặt thêm của tôi ở một nơi hợp lý trong tập tin mã.

Chạy:

hg transplant --continue 

..allowed tôi để áp dụng các bản vá lỗi khác.

Nếu bất cứ ai quan tâm để dành thời gian mở rộng câu trả lời này với một chút thông tin chi tiết hoặc một vài liên kết có liên quan thì câu trả lời là của họ.

+1

Tôi không thể không làm được nhưng tôi đã ở cùng vị trí như bạn. Một tùy chọn khác mà bạn có thể xem xét là tạo bản vá. Tôi hoàn toàn thừa nhận, tôi không biết Hg tất cả những gì tốt như tôi chỉ học bản thân mình, nhưng trong thử nghiệm của tôi, cố gắng để tìm cách tôi có thể "anh đào chọn" một changeset từ một chi nhánh và hợp nhất nó, tôi thấy rằng Tôi có thể khá dễ dàng chỉ cần tạo một tập tin vá từ changeset tôi muốn, và sau đó nhập trang đó vào thư mục làm việc của tôi. – chrismay

+0

@Neil: Dude bạn đã cứu mạng tôi;] –

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