guide - software git
Clon git svn de un directorio Ășnico del repositorio SVN (2)
Estoy intentando usar git svn
para clonar un solo directorio de un repositorio SVN en un repositorio Git.
Si uso git svn clone svn+ssh://path/to/repo/trunk/directory
, obtengo un repo de Git sin ramas que reflejen las ramas en el repositorio de SVN de origen.
Si uso git svn --stdlayout svn+ssh://path/to/repo/trunk/directory
, obtengo un repo de Git vacío. La siguiente es la salida del comando:
Initialized empty Git repository in /directory/.git/
Using higher level of URL: svn+ssh://path/to/repo/trunk/directory => svn+ssh://path/to/repo
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: File not found: revision 100, path ''/trunk/directory''
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
This may take a while on large repositories
Había leído que la manera de arreglar lo anterior era agregar un rango de revisión como -r 1000:HEAD
, esto todavía produce un repo vacío. La salida es:
Initialized empty Git repository in /directory/.git/
Using higher level of URL: svn+ssh://path/to/repo/trunk/directory => svn+ssh://path/to/repo
¿Alguna idea sobre cómo clonar un subdirectorio de un repositorio de SVN usando git-svn que aún capture todas las ramas y etiquetas del repositorio de SVN de origen?
No quieres un diseño estándar, quieres algo como esto:
git svn clone svn+ssh://path/to/repo/ --trunk=trunk/directory --branches=branches/*/directory --tags=tags/*/directory
Prepare e ingrese al directorio del proyecto local:
mkdir local/project/path
cd local/project/path
Inicialice el repositorio git local con svn remote y recupere los datos:
git svn init http://my_svn_server.com/repository/project/location
git svn fetch
El crédito es para Gabriel Saldaña: http://blog.gabrielsaldana.org/using-git-with-subversion-repository-subdirectory/