Estamos migrando de Subversion a Mercurial. Para facilitar la migración, estamos creando un repositorio intermedio de Mercurial que es un clon de nuestro repositorio de Subversion. Todos los desarrolladores comenzarán a cambiar al repositorio de Mercurial, y periódicamente haremos cambios desde el repositorio de Mercurial intermedio al repositorio de Subversion existente. Después de un período de tiempo, simplemente obsoletos el repositorio de Subversion y el repositorio intermedio de Mercurial se convertirá en el nuevo sistema de registro.Problema de flujo de trabajo Mercurial a Mercurial a Subversion
Dev 1 Local --+--> Mercurial --+--> Subversion
Dev 2 Local --+ +
Dev 3 Local --+ +
Dev 4 -------------------------+
He estado probando esto, pero yo sigo corriendo en un problema cuando empujo cambios de mi repositorio local, al repositorio Mercurial intermedia, y luego hacia arriba en nuestro repositorio Subversion.
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/01.png
en mi máquina local, que tienen un conjunto de cambios que está comprometido y listo para ser empujado a nuestro repositorio Mercurial intermedia. Aquí se puede ver que es la revisión # 2263 de almohadilla 625 ...
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/02.png
empujo solamente este conjunto de cambios al repositorio remoto.
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/03.png
Hasta ahora, todo se ve bien. El conjunto de cambios ha sido empujado.
hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Paso ahora al repositorio remoto y actualizo el directorio de trabajo.
hg push
pushing to svn://...
searching for changes
[r3834] bmurphy: database namespace
pulled 1 revisions
saving bundle to /srv/hg/repository/.hg/strip-backup/62539f8df3b2-temp
adding branch
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
rebase completed
A continuación, presiono el cambio a Subversion, funciona muy bien. En este punto, el cambio está en el repositorio de Subversion y devuelvo la atención a mi cliente local.
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/04.png
Saco cambios en mi máquina local. ¿Huh? Ahora tengo dos conjuntos de cambios. Mi conjunto de cambios original aparece ahora como una rama local.
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/05.png
El otro conjunto de cambios tiene un nuevo número de revisión de 2264, y un nuevo hash de 10C1 ...
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/06.png
De todos modos, puedo actualizar mi repo local para la nueva revisión.
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/07.png
Ahora estoy cambió.
alt text http://bmurphy.mediafly.com.s3.amazonaws.com/images/mercurial/08.png
Así, finalmente haga clic en "determinar y marcar conjuntos de cambios salientes" y como se puede ver Mercurial todavía quiere empujar a mis conjuntos de cambios anteriores a pesar de que ya han sido empujados.
Claramente, estoy haciendo algo mal.
Tampoco puedo combinar las dos revisiones.Si fusiono las dos revisiones en mi máquina local, termino con una confirmación de "fusión". Cuando presiono esa fusión me comprometo con el repositorio intermedio de Mercurial, ya no puedo enviar cambios a nuestro repositorio de Subversion. Termino con el siguiente problema:
hg update
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
hg push
pushing to svn://...
searching for changes
abort: Sorry, can't find svn parent of a merge revision.
y tengo que deshacer la fusión para volver a un estado de trabajo.
¿Qué me estoy perdiendo?
Todas las imágenes están rotos: - \ –