with software guide full commands branches svn git git-svn

svn - guide - software git



Git SVN no puede recuperar desde el repositorio SVN (2)

Me gustaría usar SVN y Git juntos. Tengo un repositorio svn, y estoy tratando de buscar un directorio de trabajo, pero encuentro un error como el siguiente.

svn, versión 1.6.6 (r40053)

git versión 1.7.3.1.msysgit.0

La ruta del repositorio svn es file: /// d: / tmp / test-svn / repos

Estos son los pasos que hice:

D:/tmp/test-svn>mkdir my-project D:/tmp/test-svn>cd my-project D:/tmp/test-svn/my-project>git svn init file:///d:/tmp/test-svn/repos Initialized empty Git repository in D:/tmp/test-svn/my-project/.git/ D:/tmp/test-svn/my-project>git svn fetch Couldn''t open a repository: Unable to open an ra_local session to URL: Unable to open repository ''file:///d:/tmp/test-svn/repos/my-project/trunk'': Expected FS f ormat ''2''; found format ''4'' at C:/Program Files/Git/libexec/git-core/git-svn lin e 1773

Entonces, ¿cuál es el problema? ¿Cómo puedo obtener datos del repositorio svn en el directorio de trabajo git?

Gracias.


Creo que este es el siguiente problema: http://code.google.com/p/msysgit/issues/detail?id=298

La posible solución es configurar svnserve y usar el protocolo svn:// lugar de file:///

Consulte aquí para configurar svnserve en Windows: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-serversetup-svnserve.html

ACTUALIZAR

svnserve está disponible como parte de TortoiseSVN si usa Windows OS (lo compré con TortoiseSVN versión 1.8.6)

Entonces solo comienzas:

svnserve -d -R --root c:/path/to/svn/repo

y clonar el repositorio con el siguiente comando:

git svn clone svn://localhost/path/inside/svn/repo


Puedo proponer clonar tu repositorio con SmartGit . Tiene la funcionalidad git-svn implementada en java, que es significativamente más rápida que git-svn y la supera. Espero que funcione para ti.

Pero si tiene acceso a su servidor de repositorio SVN, le recomiendo que instale SubGit en él. En este caso, obtendrá un repositorio Git que se sincronizará automáticamente con el repositorio SVN (y seguro concurrente).

Ambos enfoques tienen grandes ventajas sobre git-svn como: etiquetas automáticas, ignora, traducción de EOL. SubGit también intenta preservar las fechas ya que es posible mientras se compromete con SVN.