2012-10-02 36 views
27

Tôi có một repo chính trên host1 và thực hiện cập nhật cho repo trên host2. Tôi hg push ed những thay đổi từ host2 để HOST1 vớiMercurial/hg - hủy bỏ: hợp nhất chưa được cam kết

[[email protected] login]$ hg push ssh://host1//opt/python/login 

Tuy nhiên, khi tôi cố gắng cập nhật hoặc sáp nhập, tôi nhận được

[[email protected] login]$ hg update 
abort: outstanding uncommitted merges 
[[email protected] login]$ hg merge 
abort: outstanding uncommitted merges 
[[email protected] login]$ 

Tôi cũng đã cố gắng một hg pull từ host1, nhưng điều đó không làm việc một trong hai ...

[[email protected] login]$ hg pull ssh://host2//opt/python/login 
running ssh host2 'hg -R /opt/python/login serve --stdio' 
[email protected]'s password: 
pulling from ssh://host2//opt/python/login 
searching for changes 
no changes found 
[[email protected] login]$ hg merge 
abort: outstanding uncommitted merges 
[[email protected] login]$ 

Tôi cần phải làm gì để cập nhật repo chính của tôi trên máy chủ lưu trữ1 với những thay đổi từ máy chủ 2?


Thông tin thêm về repo trên host1 ...

[[email protected] login]$ hg parents 
changeset: 27:6d530d533997 
user:  Mike Pennington <[email protected]> 
date:  Wed Sep 26 11:44:51 2012 -0500 
files:  mp_getconf.py 
description: 
fix issue where config retrieval was broken 


changeset: 29:eaf3b5aacfe6 
user:  Mike Pennington <[email protected]> 
date:  Wed Sep 26 11:43:15 2012 -0500 
files:  mp_getconf.py 
description: 
fix artifact of using the script to run generic commands, but this broke config retrieval 


[[email protected] login]$ 

Trả lời

55

hg update --clean -r tip giải quyết vấn đề ...

[[email protected] login]$ hg update --clean -r tip 
resolving manifests 
getting Protocol.py 
getting Session.py 
getting mp_getconf.py 
getting mp_runcmd.py 
4 files updated, 0 files merged, 0 files removed, 0 files unresolved 
[[email protected] login]$ hg up 
resolving manifests 
0 files updated, 0 files merged, 0 files removed, 0 files unresolved 
[[email protected] login]$ 
+7

nếu bạn đang làm việc trên một chi nhánh cụ thể, hãy thay đổi thành: cập nhật hg --clean -r

+0

Tôi không muốn mất các cam kết (--clean). Mặc dù tôi không nhìn thấy chúng ngay bây giờ. –

9

Tại một số điểm bạn đã làm:

$ hg pull (or maybe someone pushed to you) 
$ hg merge 

... và sau đó là ô tô ried on. Việc này không hợp nhất. Đó là những gì 'hủy bỏ: các hợp nhất chưa cam kết nổi bật' có nghĩa là. Bạn không thể làm 'x' vì bạn chưa hoàn thành công việc hợp nhất mà bạn đã bắt đầu.

Những gì bạn nên làm là:

$ hg pull 
$ hg merge 
    <Sorted out any issues> 
$ hg commit -m 'Merged the blah with wibble-wah' 

... và sau đó tiến vào.

hg statushg summary sẽ cho thấy có những thay đổi nổi bật.

+1

cáo buộc của bạn là tôi đã có những thay đổi nổi bật ... nếu vậy, tại sao không 'hg update' /' hg commit' sửa lỗi đó? 'hg commit' nói với tôi rằng không có gì để cam kết –

+0

'hg update' sẽ không làm bất cứ điều gì khi có thay đổi nổi bật trừ khi bạn đưa '--clean' để vứt bỏ các thay đổi, giống như bạn đã làm trong câu trả lời tự. Thực tế là 'cha mẹ hg' cho hai cha mẹ cho thấy bạn đã có một hợp nhất xuất sắc. Không có cố gắng cam kết trong bài đăng đầu tiên của bạn. –

+0

Không có cam kết vì nó không làm gì cả; trừ khi bạn đưa ra nhiều thông tin hơn 'hg commit', tôi e rằng điều này sẽ không giúp được –

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