Convierte repos de darcs a git con múltiples twigs

¿Hay alguna manera de convertir un proyecto de darcs con múltiples twigs (es decir, más de dos repositorys de darcos que contienen sets de parches diferentes pero relacionados) en un único repository de git, de modo que cada repository de darcs se transfiera a una twig distinta en el repository de git?

Soluciones consideradas:

(1) El command darcs convert ofrece dos recetas para exportar darcs a git:

a. export de una sola vez:

$ cd repo $ git init ../mirror $ darcs convert export | (cd ../mirror && git fast-import) 

Esto convierte solo un repository, una twig.

segundo. export incremental utilizando files de marcas (para mantener un espejo git de un repository de darcs):

 $ cd repo $ git init ../mirror $ touch ../mirror/git.marks $ darcs convert export --read-marks darcs.marks --write-marks darcs.marks | (cd ../mirror && git fast-import --import-marks=git.marks --export-marks=git.marks) 

Usando (b), si tuviera solo otro repository de darcs como una twig, podría esperar continuar con

 $ cd ../mirror $ git branch branch1 $ git checkout branch1 $ cd ../repo $ darcs pull ../repo-branch1 

y luego repite el paso de darcs convert export .

Pero con otras dos twigs, esto no parece funcionar, ya que al tirar de ../repo-branch2 se fusionarían los parches de branch1 y branch2.

(2) Darcs-bridge [2]. Incompleto, sin mantenimiento desde 2013, y "todavía llamado darcs-fast-convert", recomendado solo para una conversión única en cualquier dirección (darcs-> git o git-> darcs)

La página de darcs-bridge [2] recomienda usar el command 'darcs convert' incorporado en darcs 2.10.

Sin embargo, puede manejar twigs (con algún trabajo):

Ver el caso de uso 2 en [2]:

 $ git init my_project_git $ darcs-fastconvert export myproject myproject-branch1 | (cd my_project_git && git fast-import && git checkout master) 

Esto creará el git repo con dos twigs: (darcs) myproject -> (git) master (darcs) myproject-branch1 -> (git) myproject-branch1 con un prefijo común, pero no se han detectado fusiones.

El caso de uso 5 en [2] describe una forma de cambiar la list de twigs que gestiona el darcs-bridge.

"¿Cuáles son las limitaciones?" y "¿Qué necesita trabajo?" en [2] parece estar diciendo (difícil de entender para mí) que las fusiones de darcs no se convierten correctamente a less que se use un labeldo especial, labeldo que debe hacerse antes de la fusión, por lo que ahora es imposible para mí.

(3) Darcs-fastconvert (en el que se basa el darcs-bridge): según [2], no gestionó varias twigs

(4) darcs-to-git: acc. a [2], no admite sucursales

(5) darcs2git: acc. a [2], no admite sucursales

(6) sastre: acc. a [2], no admite twigs fácilmente, se ha suspendido a favor de darcs-fastconvert

Referencias

[1] Darcs-Convert: http://darcs.net/Using/Convert )

[2] Darcs-Bridge: http://darcs.net/DarcsBridgeUsage )