2010-12-02 49 views
6

J'utilise le git to subversion bridge pour extraire un dépôt subversion. Au début, j'utilisais cette commande,Trunk de chargement Git utilisant un pont de subversion

get svn clone -s svn://repositoryName/etc 

Mais notre dépôt subversion est massive, de nombreuses années de développement, de nombreuses branches, etc.

La conséquence est que le processus meurt souvent, quand il est en comprimant le dépôt l'utilisation de la mémoire dépasse 1,5 Go, et il meurt.

Alors j'ai pensé que j'essaierais peut-être de jeter un coup d'œil sur le coffre parce que c'est ce que je vais surtout utiliser. Donc j'ai essayé ceci,

get svn clone -trunk svn://repositoryName/etc 

Mais j'obtiens une erreur, Utilisation de la valeur non initialisée dans la correspondance de modèle. Est-ce que quelqu'un peut me dire la commande correcte à utiliser pour vérifier le tronc seulement. Y a-t-il aussi une fuite de bogue/mémoire connue? J'utilise Git version 1.7.3.1-preview20201002 sur Windows.

Existe-t-il une documentation officielle pour git et les options de ligne de commande?

Répondre

13

Cela devrait fonctionner:

git svn clone svn://repositoryName/whatever/trunk 

L'option --trunk est pas ce que vous cherchez. C'est un moyen de spécifier le nom du répertoire qui est généralement appelé "trunk". Par exemple, si votre référentiel svn utilisait "/ main" pour le développement primaire, "/ releases" au lieu de "/ tags" et "/ other" au lieu de "/ branches", vous pouvez utiliser ceci à la place de -s (- standard) Option:

git clone --trunk=main --tags=releases --branches=other svn://repositoryName/whatever 

Cependant, une meilleure option peut être de cloner le dépôt à partir d'un numéro de révision svn particulier:

git svn clone -r 20000 svn://repositoryName/whatever 
cd whatever 
git svn rebase 

clone -r 20000 clonerons que svn numéro de révision 20000. git svn rebase va alors chercher et appliquez toutes les révisions après 20000, il vous restera donc un référentiel git dont l'historique commence à la révision 20000.

Les pages de manuel sont le meilleur endroit pour la documentation. Si vous ne les avez pas installés, la copie de kernal.org est bien formatée: http://www.kernel.org/pub/software/scm/git/docs/. Une recherche google pour "man git svn" fera apparaître la page pertinente rapidement.

+0

Merci, vos suggestions sont très appréciées. – peter