2012-10-02 25 views
27

Tengo un repositorio principal en el host1 e hice una actualización de un repositorio en el host2. Me hg push ed los cambios de host2 a HOST1 conMercurial/hg - abortar: fusiones no confirmadas pendientes

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

Sin embargo, cuando trato de actualizar o fusionar, consigo

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

También probé un hg pull de sistpral1, pero que no funcionó ya sea ...

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

¿Qué debo hacer para actualizar mi repositorio maestro en el host1 con los cambios de host2?


Más información sobre el repositorio en 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]$ 

Respuesta

55

hg update --clean -r tip ha resuelto el problema ...

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

si está trabajando en una rama específica, cámbiela a: hg update --clean -r

+0

No quiero perder compromisos (--clean). Aunque no los veo ahora. –

9

En algún momento se hizo:

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

... y luego el automóvil siguió adelante. Esto dejó la fusión sin compromiso. Eso es lo que significa 'abortar: fusiones no comprometidas pendientes'. No puede hacer 'x' porque hay que no ha terminado de trabajar en la fusión que comenzó.

Lo que debería haber hecho es:

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

... y luego se desarrolla.

hg status y hg summary habría mostrado que hubo cambios pendientes.

+1

Su afirmación es que tuve cambios sobresalientes ... en caso afirmativo, ¿por qué 'hg update' /' hg commit' no solucionó ese problema? 'hg commit' me dijo que no había nada que confirmar –

+0

'hg update' no hará nada cuando hay cambios pendientes a menos que le des a '--clean' a tirar los cambios, tal como lo hiciste en tu respuesta automática. El hecho de que 'hg parents' le haya dado dos padres muestra que tuvo una fusión sobresaliente. No hubo ningún intento de comprometerse en su primera publicación. –

+0

No hubo confirmación porque no estaba haciendo nada; a menos que se te ocurra más información que 'hg commit', me temo que esto no hubiera ayudado a –

Cuestiones relacionadas