2012-10-02 8 views
27

Ich habe einen Master-Repo auf Host1 und eine Aktualisierung auf einen Repo auf Host2. Ich hg push ed die Änderungen von host2 mitMercurial/hg - Abbruch: ausstehende nicht festgeschriebene Zusammenführungen

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

jedoch auf Host1, wenn ich versuche, zu aktualisieren oder zu fusionieren, ich

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

ich auch eine hg pull von host1 versucht, aber das hat nicht funktioniert entweder ...

Was muss ich tun, um meinen Master-Repo auf host1 mit den Änderungen von host2 zu aktualisieren?


Mehr Informationen über die Repo auf 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]$ 

Antwort

55

hg update --clean -r tip löste das Problem ...

[[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

Wenn Sie an einem bestimmten Zweig arbeiten, ändern Sie das zu: hg update --clean -r

+0

Ich möchte nicht commits (- clean) verlieren. Obwohl ich sie jetzt nicht sehe. –

9

Irgendwann Sie tat:

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

... und dann Auto ried weiter. Dadurch wurde die Zusammenführung nicht festgeschrieben. Das ist, was "abbrechen: herausragende unverbindliche Zusammenführungen" bedeutet. Du kannst 'x' nicht tun, weil du nicht an der Zusammenführung, die du begonnen hast, gearbeitet hast.

Was Sie getan haben sollten, ist:

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

... und dann weitergeführt.

hg status und hg summary hätten gezeigt, dass es herausragende Änderungen gab.

+1

Ihre Behauptung ist, dass ich hervorragende Veränderungen hatte ... wenn ja, warum hat 'hg update' /' hg commit' dieses Problem nicht behoben? 'hg commit' sagte mir, dass es nichts zu begehen gibt. –

+0

'hg update' wird nichts tun, wenn es Änderungen gibt, außer du gibst'clean 'um die Änderungen wegzuwerfen, genau wie du es in deiner Antwort getan hast. Die Tatsache, dass 'hg eltern' zwei eltern gegeben hat, zeigt, dass sie eine ausstehende merge hatten. Es gab keinen Versuch, in Ihrem ersten Beitrag zu begehen. –

+0

Es gab kein Commit, weil es nichts tat; es sei denn, Sie kommen mit mehr Informationen als 'hg commit', ich fürchte, das hätte nicht geholfen –

Verwandte Themen