La git svn fetch
commande de reprendre a git svn clone
est confirmée par plusieurs sources:
(Incidemment, si lors de l'étape de clonage initiale, votre connexion meurt ou si vous devez l'arrêter, pour reprendre le clone, il vous suffit d'exécuter la commande ci-dessus pour reprendre le téléchargement de l'historique).
Il semble y avoir une fuite de mémoire git-svn
. La taille du git-svn
processus a augmenté lentement et après environ deux semaines, il était de 1,2 Go de taille résidente, auquel cas le système d'exploitation a refusé de le laisser bifurquer.
Le fait est que c'était une bénédiction déguisée.
J'ai pu reprendre le clone interrompu avec un simple " git svn fetch
", et il a fonctionné beaucoup plus rapidement avec le tas maintenant radicalement plus petit.
Cela a si bien fonctionné, en fait, que j'ai pris l'habitude d'interrompre et de redémarrer le processus chaque soir et chaque matin. Quelques jours plus tard, c'était fait.
Vous commencez vos aventures git-svn
en clonant un référentiel Subversion existant:
git svn clone url://path/to/repo -s
L' -s
indicateur suppose que votre référentiel utilise la convention «trunk, branches, tags». Sinon, vous devez spécifier manuellement les répertoires qui représentent les branches et les balises, si vous voulez que Git les sache.
Cela prendra beaucoup de temps, car il récupérera chaque révision de SVN et s'engagera localement. Si pour une raison quelconque il s'arrête, vous pouvez reprendre avec git svn fetch
.
git svn clone
également être fournies (le cas échéant) àgit svn fetch
. Par exemple, j'avais défini-r HEAD
pourgit svn clone
obtenir uniquement la révision HEAD SVN. Pour reprendre, j'ai courugit svn fetch
, qui a commencé à importer toutes les révisions.git svn clone
, interrompant le processus. L'exécution degit svn clone
nouveau semblait reprendre le clonage en cours. Quelqu'un d'autre a fait ça?J'ai trouvé un article de blog qui a fourni ce qui (je l'espère) est une réponse correcte.
Apparemment, l'exécution
git svn fetch
complète efficacement l'opération de clonage. En espérant!la source
git svn rebase
après la récupération pour terminer l'opération et avoir la branche principale reflétant le troncComme VonC, CaptainAwesomePants et Archi l'ont tous dit,
git svn fetch
ça fait l'affaire. J'étais en train de faire ungit svn clone url... --authors-file=path/to/file
et le clone a échoué car l'un des auteurs n'était pas dans le fichier des auteurs. J'ai ajouté l'auteur au fichier et j'ai courugit svn fetch
et il a continué là où il s'était arrêté et en regardant le journal git plus tard, il semble qu'il ait utilisé l'auteur nouvellement ajouté pour remplacer le nom de l'auteur du commit, donc tout était doux.la source
À partir d'au moins git 2.1.0, vous pouvez reprendre en réémettant simplement
git svn clone
Cependant, cela dupliquera certaines entrées dans votre .git / config, supprimez-les et tout ira bien
la source
From at least git 2.1.0...
Une idée si cette fonctionnalité existait sur git 1.9.1?git svn fetch
a causé une incompatibilité de somme de contrôle pour moi - et a été impossible à réinitialiser car il n'y avait apparemment pas de HEAD: / - mais cela fonctionne bien, il suffit de supprimer lesvn-remote.fetch
de.git/config