Si se empuja al repositorio remoto después de la fusión, "crea nuevos jefes remotos", ¿es eso malo?
I initialized
un proyecto de mercurial enMachine A
, committed
mis cambios yuploaded
a un repositorio remoto.
Entonces yocloned
ese repositorio enMachine B
, committed
algunos cambios adicionales yuploaded
ellos al mismo repositorio remoto.
En ambos casos, cargué los cambios con el mismo comando:
hg push https://username:password@domain/user/repository/
Ahora estoy de vuelta en la máquina A y hepull
** Ed del repositorio remoto y **merg
** Edita cualquier cambio entre los dos conjuntos de cambios usando el **KDiff3
Herramienta GUI usando los comandos:
hg pull
hg merge
hg commit
Sin embargo, cuando trato de enviar los últimos cambios de la Máquina A al repositorio remoto después de esta extracción y combinación, recibo este mensaje:
hg push https://username:password@domain/user/repository/
pushing to https://username:password@domain/user/repository/
searching for changes
abort: push creates new remote heads!
(did you forget to merge? use push -f to force)
¿Por qué dice "te olvidaste de fusionar"? - Completé la fusión.
¿Es malo forzar el empuje y crear "nuevas cabezas remotas"?
Si es así, ¿cómo evito esto?
ACTUALIZAR:
Corrí "hg merge
"de nuevo y obtuve esta salida:
5 files updated, 1 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
Así que corrí 'hg up --clean
'y se informó:
6 files updated, 0 files merged, 1 files removed, 0 files unresolved
Ahora cuando escribo 'hg heads
', dice:
changeset: 11
tag: tip
parent: 9
user: eggdrop
date: Tue Oct 20 16:27:44 2009 -0400
summary: Machine A after merge
changeset: 10
parent: 7
user: chickensoup
date: Thu Oct 15 03:27:23 2009 -0400
summary: Machine B changes to be pulled onto Machine A