Migre svn de Assembla a Atlassian

Estoy intentando migrar mi repository de subversión a Atlassian. Atlassian requiere que el volcado de repos importado tenga un directory raíz con el mismo nombre que el proyecto por key de proyecto. Digamos que la key de mi proyecto en Atlassian es FOOBAR, luego el volcado de repos debe contener / FOOBAR para todas las revisiones. También debe contener subdirectorys de tronco, twigs y tags.

Para volver a escribir el volcado de svn Assembla, hice esto:

cat foobar-assembla.dump | svn-dump-reloc "/" "FOOBAR" > foobar-atlassian.dump 

Luego intenté probarlo:

 svnadmin create test cat foobar-atlassian.dump | svnadmin load test 

Eso produjo un post de error:

 svnadmin: File not found: transaction '0-0', path 'FOOBAR/trunk' * adding path : FOOBAR/trunk ... 

¿Algunas ideas?

Creo que esto se debe a que el file de volcado no contiene ninguna transacción que cree el directory de FOOBAR.

Intente ejecutar svn mkdir file://$PWD/test/FOOBAR justo antes de la svnadmin load test .

Para dar crédito donde es debido, obtuve este consejo de http://dotslashstar.blogspot.com.au/2011/06/svn-hack-insert-missing-trunk-root.html

Lo siguiente funcionó para mí.

Usar un editor de text con todas las opciones de conversión desactivadas:

  1. Reemplace todas las instancias de Node-path: trunk con Node-path: FOOBAR/trunk .
  2. En la revisión en la que se FOOBAR/trunk , agregue manualmente una input inmediatamente anterior a la que agrega FOOBAR/trunk que crea FOOBAR , FOOBAR/branches y FOOBAR/tags .

Entiendo que esto puede no funcionar en algunos casos, como cuando Node-path: trunk produce dentro de un file. Pero funcionó en este caso y debería funcionar en la mayoría de los demás.