Pregunta

Soy un recién llegado a mercurial. He creado recientemente un repositorio con 2 colegas y estoy teniendo dificultad con empujando mi código. [Estoy usando hg de línea de comandos en Windows]. En particular, cuando empujo consigo un diálogo como el siguiente:

>hg commit -u petermr

>hg push
pushing to http://bitbucket.org/petermr/polyinfo/
searching for changes
abort: push creates new remote heads!
(did you forget to merge? use push -f to force)
>hg merge
abort: there is nothing to merge

>hg status

Tengo miedo de comprometerse mediante empuje -f como yo creo que va a crear varias cabezas y causar problemas para nuestro grupo.

Cuando intento de fusionar consigo un diálogo algo como:

>hg merge -f
merging src/test/resources/PMR/algorithm/cmlAll.xml
 output file src/test/resources/PMR/algorithm/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/irregular/cmlAll.xml
 output file src/test/resources/PMR/irregular/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/massChange/cmlAll.xml
 output file src/test/resources/PMR/massChange/cmlAll.xml appears unchanged
was merge successful (yn)? y

Debido a que hay varios cientos de archivos que no se puede escribir "y" para todos y no puedo encontrar una manera de unir a todos juntos.

Actualizar Me han tratado los primeros (2) respuestas y todavía tiene un problema:

>hg pull
pulling from http://bitbucket.org/petermr/polyinfo/
searching for changes
no changes found

>hg merge
abort: outstanding uncommitted merges

Actualizar en respuesta a @tonfa no puedo cometer:

>hg commit
abort: unresolved merge conflicts (see hg resolve)

Actualizar @balpha (He cambiado el nombre del propietario de Foo)

>hg parent
changeset:   24:9ec904d2d5a2
tag:         tip
user:        petermr
date:        Sat Jan 09 16:40:38 2010 +0000
summary:     trying to sync

changeset:   22:360aedb72f0e
parent:      21:89c4bd671bd3
parent:      18:3cffa8ca3a2a
user:        Foo (not me)
date:        Fri Jan 08 16:15:50 2010 +0000
summary:     merged


>hg tip
changeset:   24:9ec904d2d5a2
tag:         tip
user:        petermr
date:        Sat Jan 09 16:40:38 2010 +0000
summary:     trying to sync

Actualizar

  

cabezas hg

changeset:   24:9ec904d2d5a2
tag:         tip
user:        petermr
date:        Sat Jan 09 16:40:38 2010 +0000
summary:     trying to sync

changeset:   22:360aedb72f0e
parent:      21:89c4bd671bd3
parent:      18:3cffa8ca3a2a
user:        Foo (not me)
date:        Fri Jan 08 16:15:50 2010 +0000
summary:     merged

Actualizar después de los comentarios de abajo @balpha que sugiere revertir el que pide un Revison (se trata de un número? Si es así, ¿cómo lo encuentro?)

>hg revert --all
abort: uncommitted merge - please provide a specific revision

Actualizar todavía no puede fusionar ...

>hg revert --all -r tip
reverting .hgignore
reverting .hgignore~
reverting src\test\java\org\xmlcml\cml\converters\polyinfo\RegressionTest.java
reverting src\test\resources\PMR\algorithm\cmlAll.xml
reverting src\test\resources\PMR\irregular\cmlAll.xml
reverting src\test\resources\PMR\massChange\cmlAll.xml
reverting src\test\resources\PMR\massChangeOk\cmlAll.xml
reverting src\test\resources\PMR\ok\P340076.both.svg
reverting src\test\resources\PMR\ok\P340076.p.svg
reverting src\test\resources\PMR\ok\P340076.r.svg
reverting src\test\resources\PMR\ratio\cmlAll.xml

>hg status
M .hgignore
M .hgignore~
M src\test\resources\PMR\algorithm\cmlAll.xml
M src\test\resources\PMR\irregular\cmlAll.xml
M src\test\resources\PMR\massChange\cmlAll.xml
M src\test\resources\PMR\massChangeOk\cmlAll.xml
M src\test\resources\PMR\ok\P340076.both.svg
M src\test\resources\PMR\ok\P340076.p.svg
M src\test\resources\PMR\ok\P340076.r.svg
M src\test\resources\PMR\ratio\cmlAll.xml
? src\test\resources\PMR\bug\P020006work.both.svg
? src\test\resources\PMR\irregular\cmlAll.xml.resolve

>hg merge
abort: outstanding uncommitted merges

>hg commit
abort: unresolved merge conflicts (see hg resolve)

Tenga en cuenta que

hg resolve -all

Hace que aparezca el problema original de tener que contestar "y" a cientos de preguntas individuales y no sé entonces si va a resolver el problema. Su ayuda es muy apreciada!

Actualizar @balpha sugirió limpieza - esto parece haber progresado

>hg update --clean -r tip
10 files updated, 0 files merged, 0 files removed, 0 files unresolved

>hg merge
merging src/test/resources/PMR/algorithm/cmlAll.xml
 output file src/test/resources/PMR/algorithm/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/irregular/cmlAll.xml
 output file src/test/resources/PMR/irregular/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/massChange/cmlAll.xml
 output file src/test/resources/PMR/massChange/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/massChangeOk/cmlAll.xml
 output file src/test/resources/PMR/massChangeOk/cmlAll.xml appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/ok/P340076.both.svg
 output file src/test/resources/PMR/ok/P340076.both.svg appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/ok/P340076.p.svg
 output file src/test/resources/PMR/ok/P340076.p.svg appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/ok/P340076.r.svg
 output file src/test/resources/PMR/ok/P340076.r.svg appears unchanged
was merge successful (yn)? y
merging src/test/resources/PMR/ratio/cmlAll.xml
 output file src/test/resources/PMR/ratio/cmlAll.xml appears unchanged
was merge successful (yn)? y
2 files updated, 8 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)

>hg merge
abort: outstanding uncommitted merges

>hg merge -f
abort: outstanding uncommitted merges

>hg commit -u petermr -m "still trying to sy
nc"

>hg merge
abort: there is nothing to merge

>hg push
pushing to http://bitbucket.org/petermr/polyinfo/
searching for changes
http authorization required
realm: Bitbucket.org HTTP
user: petermr
password:
adding changesets
adding manifests
adding file changes
added 4 changesets with 298 changes to 290 files
bb/acl: petermr is allowed. accepted payload.
quota: 13.3 MB in use, 150.0 MB available (8.87% used)
¿Fue útil?

Solución

Su clon local de la cesión temporal es probable que no estén al día. Hacer un

hg pull

para cambiar eso. Ahora usted tiene dos cabezas localmente (su propio consejo anterior y la punta de la cesión temporal bitbucket). Ahora

hg merge

para fusionar las dos cabezas y

hg commit -m "Merged before pushing"

Ahora tu repositorio local tiene una sola cabeza, y esta cabeza es un hijo de la cabeza bitbucket, por lo que empuja voluntad no crear un cabezal remoto más:

hg push

y ya está.

Otros consejos

Antes de empujar código a un repositorio remoto, asegúrese primero de tu repositorio local es limpio y tiene no hay fusiones pendientes.

A continuación, hacer un hg pull desde el repositorio remoto. Esto creará 2 cabezas en su repositorio local.

Hacer una fusión local y comprometerse (resolver cualquier conflicto).

Finalmente, empuje al repositorio remoto.

No, en general, empujar a un repositorio remoto, si se crean varias cabezas de allí.

Es posible que no quieren comprometer la fusión, incluso a nivel local. La manera de limpiar y volver a empezar de nuevo (de https://www.mercurial-scm.org / BTS / issue1533 ) parece ser "hg update -C".

Como se mencionó anteriormente, parece como si "hg volver -a" se debe trabajar, pero no parece.

Uso TortoiseHg en lugar de la herramienta de línea de comandos, es más simple y gráfica muestra el estado del repositorio, por lo que no debe confundirse con todos los comandos.

He tenido un problema muy similar. Resultó que la causa fundamental es la "excluir" la extensión de la mercurial. Desactivando temporalmente la extensión, el problema ha fijado. En referencia a la página de "excluir" extensión, propietario admitió que es un problema conocido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top