J'essaie d'utiliser git svn
pour cloner un seul répertoire d'un référentiel SVN dans un référentiel Git.
Si j'utilise git svn clone svn+ssh://path/to/repo/trunk/directory
, J'obtiens un dépôt Git sans branches qui reflètent les branches dans le dépôt SVN source.
Si j'utilise git svn --stdlayout svn+ssh://path/to/repo/trunk/directory
, Je reçois un dépôt Git vide. Voici la sortie de la commande:
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
J'avais lu que la façon de corriger ce qui précède était d'ajouter une plage de révision comme -r 1000:HEAD
, cela produit toujours un dépôt vide. La sortie est:
Initialized empty Git repository in /directory/.git/
Using higher level of URL: svn+ssh://path/to/repo/trunk/directory => svn+ssh://path/to/repo
Des idées sur la façon de cloner un sous-répertoire d'un référentiel SVN en utilisant git-svn qui récupère toujours toutes les branches et balises du référentiel SVN source?
Vous ne voulez pas de mise en page standard, vous voulez quelque chose comme ceci:
git svn clone svn+ssh://path/to/repo/ --trunk=trunk/directory --branches=branches/*/directory --tags=tags/*/directory
Préparez et entrez dans le répertoire du projet local:
mkdir local/project/path
cd local/project/path
Initialisez le référentiel git local avec svn remote et récupérez les données:
git svn init http://my_svn_server.com/repository/project/location
git svn fetch
Nous remercions Gabriel Saldaña: http://blog.gabrielsaldana.org/using-git-with-Subversion-repository-subdirectory/