2009-10-16 10 views
2

Je converti un dépôt SVN à git en utilisantPuis-je faire 'git svn dcommit' à partir d'un clon git SVN qui a été créé avec --no-metadata?

git svn clone --stdlayout --authors-file=authors.txt --no-metadata svn://svn.foo.com

Pour une raison quelconque, cela m'a donné ce qui ressemblait à un dépôt nu. Il y avait juste un répertoire .git . Dans ce dépôt cloné, je voulais obtenir une caisse. Depuis git checkout ne fonctionnait pas, j'ai couru

git reset --hard

Est-ce la bonne façon? Cela semble fonctionner, mais cela semble effrayant. Je me suis alors tenté d'exécuter

git svn rebase

Alors que les dernières modifications du dépôt Subversion sont tirés dans mon clone git. Cependant, cela n'a pas fonctionné. Au lieu de cela, il donne le message

Impossible de déterminer les informations SVN en amont de travailler l'histoire des arbres

Quelqu'un sait-il pourquoi cela se passe?

Répondre

3

I crois cela se produit parce que j'ai passé --no-metadata à git svn clone. Voici ce que la page de manuel git-svn(1) dit à propos de l'option « pas de méta-données »:

Cela se débarrasse de l'git-svn-id: lignes à la fin de chaque livraison.

Si vous perdez votre fichier .git/svn/git-svn/.rev_db, git svn ne pourra pas le reconstruire et vous ne pourrez plus l'extraire. C'est bien pour les importations one-shot.

Je ne l'ai pas lu comme ça, mais apparemment en utilisant --no-metadata fait git svn pas générer le fichier git-svn/.rev_db. J'ai un sous-répertoire .git/svn, mais pas git-svn ci-dessous.

+0

C'est vrai - les lignes 'git-svn-id' sont essentielles pour' déterminer les informations SVN en amont de l'historique de l'arbre de travail'. –

Questions connexes