Pregunta

He creado un espejo Mercurial de un repositorio SVN (usando este tutorial: http://oreilly.com/opensource/excerpts/opensource-mercurial/migrating-to-mercurial.html ). La sincronización funciona muy bien, excepto que me he dado cuenta de que no está recogiendo un repositorio externo que se hace referencia en el SVN principal repo ...

Me había idealmente como para ser capaz de tirar todo como un solo reporto en Mercurial (junto con los conjuntos de cambios si es posible).

Lo que no estoy seguro es de:? Es la falta de una limitación externa de svnsync, o una limitación de convertir hg

¿Hay alguna manera de forzar el exterior que ser sincronizados, así, en la misma repo Mercurial?


Estoy pensando que una buena solución sería la de configurar el proceso de sincronización de nuevo, por lo externo. Crear un tenedor del espejo hg actual y sincronizar el externo en el tenedor espejo hg.

El problema con esto es, la trompa del exterior está destinado a entrar en una subcarpeta del primer espejo, así que ¿cómo puedo replicar que con convert? Dudo que podría decir convertir a la importación en una subcarpeta ...

¿Fue útil?

Solución

  

es la falta de una limitación externa de svnsync o una limitación de convertir hg?

svnsync se utiliza para crear un espejo de un repositorio SVN. Esto incluye cualquier href="http://svnbook.red-bean.com/en/1.5/svn.advanced.externals.html" rel="nofollow"> svn:externals propiedades . Por lo tanto, debe ser una limitación de hg convert.

Tenga en cuenta que realmente no necesita para crear un espejo con svnsync. El artículo recomienda esto sólo porque tener una copia local podría acelerar el proceso de conversión.

  

¿Hay alguna manera de forzar el exterior que ser sincronizados, así, en la misma repo Mercurial?

Es común que un repositorio SVN para contener múltiples proyectos vagamente relacionados, cada uno con sus propias ramas y etiquetas. Pero Mercurial no funciona de esa manera: cuando la rama, rama que todo lo que está en el repositorio. Debe crear un repositorio mercurial separado para cada proyecto en el SVN que tiene sus propias tronco / ramas / etiquetas. Este enfoque diferente es más probable por hg convert ignora lo externo, incluso si están en el mismo repositorio SVN.

Hay un equivalente de svn:externals en mercurial; Se llama "subrepositories". En lugar de tener una o más propiedades svn:externals, tiene un archivo .hgsub individual con contenido similar en la raíz de su proyecto. Debe convertir primero cada proyecto SVN a un repositorio mercurial independiente, y luego conectarlos con subrepositories. Ver el href="http://mercurial.selenic.com/wiki/Subrepository" rel="nofollow"> mercurial página para más detalles.

scroll top