2010-12-03 27 views
5

Para el desarrollo utilizamos el repositorio de Mercurial como contenedor para el repositorio de SVN para la revisión del código en el proyecto. Todo está funcionando bien: los desarrolladores están obteniendo cambios y comprometiendo sus propios cambios en el repositorio de Mercurial y el equipo del proyecto, a veces impulsando los cambios desde el repositorio de servidores mercurial al repositorio de servidores SVN.Repositorio de Mercurial como contenedor para SVN

Pero nos encontramos con un problema. Un día, dos desarrolladores empujaron dos conjuntos de cambios. Para empujarlo al servidor, fusionaron todos los cambios y se enviaron al servidor. Todo está bien, pero después de esto no podemos impulsar cambios desde el repositorio de Mercurial a SVN. Estamos recibiendo el error:

abortar: Lo sentimos, no se puede encontrar el padre svn de una revisión de fusión.

Los cambios combinados tienen dos padres que se combinaron y parece que es correcto, pero no puedo ingresar a svn y no entiendo por qué SVN no puede encontrar el elemento primario.

Cualquier ayuda sería muy útil, Gracias

Respuesta

5

Mercurial especialmente hgsubversion puede ser un muy buen cliente de Subversion. Sin embargo, dijo que hay limitaciones que deben observarse.

Lo bueno es que, puede

1) Hacer múltiples confirmaciones a tu repositorio mercurial y empujar todos esos cambios como única revisión al depósito de la subversión

Lo malo es que, aún no tiene la libertad de intercambio entre varios repositorios mercurial

1) No puede intercambiar cambios sin utilizar subversion como intermediario.

Principalmente, uso hgsubversion cuando tenemos un repositorio de subversión preexistente y queremos pasar a Mercurial sin perder todo ese historial contenido en el repositorio de subbersion.

Si desea seguir utilizando, debe cumplir ciertas restricciones. Ver la referencia 2. Abajo.

Referencias:

  1. How to handle merges with hgsubversion?
  2. Mercurial to Mercurial to Subversion Workflow Problem
Cuestiones relacionadas