125 votes

Reprise du clone git-svn

J’ai commencé un dépôt SVN à l’aide de la git-svn clone le clonage. Après environ 6 heures d’importation (c’est un grand repo), mon ordinateur est allé et a dormi sur moi. Est-il possible de reprendre l’opération sans refaire tout le travail initial ?

161voto

VonC Points 414372

L' git svn fetch de commande pour reprendre un git svn clone est confirmée par plusieurs sources:

(D'ailleurs, si au cours du clone initial étape de votre connexion meurt ou si vous avez besoin de l'arrêter puis de reprendre le clone vous suffit d'exécuter la commande ci-dessus pour reprendre le téléchargement de l'histoire).

Il semble y avoir une fuite de mémoire dans git-svn. La taille de l' git-svn processus a progressé lentement et après environ deux semaines, il était de 1,2 GO résident taille, à quel point le système d'exploitation refusé de le laisser à la fourchette.
Chose est, cela a été une bénédiction dans le déguisement.
J'ai été en mesure de reprendre l'interruption du clone avec un simple "git svn fetch", et il a couru beaucoup plus vite avec le désormais radicalement les petits tas.
Cette, travaillé si bien, en fait, que j'ai pris l'habitude d'interrompre et relancer le processus, chaque soir et chaque matin. Quelques jours plus tard, il a été fait.

Vous commencez vos aventures avec git-svn par clonage d'un existant dépôt Subversion:

git svn clone url://path/to/repo -s

L' -s drapeau suppose que votre référentiel utilise le "tronc, les branches, tags" de la convention. Si non, vous devez spécifier manuellement les répertoires qui représentent les branches et les tags, si vous voulez Git de savoir à leur sujet.

Cela va prendre du temps, car il va chercher tout seul révision à partir de SVN et de s'engager localement. Si, pour une raison quelconque, il s'arrête, vous pouvez reprendre avec git svn fetch.

17voto

Brandon Yarbrough Points 8558

J’ai trouvé un blog qui fourni ce qui (je l’espère) est une bonne réponse.

Apparemment, en cours d’exécution `` efficacement termine l’opération de clone. En espérant que !

8voto

zan-xhipe Points 11

Depuis au moins git 2.1.0 vous pouvez continuer en réémettant juste``

Cependant, cela dupliquera certaines entrées dans votre fichier .git/config supprimer ceux et tout ira bien

6voto

Tom Saleeba Points 571

Comme VonC, CaptainAwesomePants et Archi tous dit le tour est joué. Je faisais une et le clone a échoué parce qu’un des auteurs n’était pas dans le fichier des auteurs. J’ai ajouté l’auteur du fichier et a couru `` et il continue où il s’était arrêté et en regardant le journal git plus tard, il semble qu’il a utilisé l’auteur nouvellement ajouté pour remplacer le nom de l’auteur de validation donc tout était doux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X