2016-04-29 3 views
0

J'ai besoin de migrer certains dépôts git vers subversion.Quel est le problème dans ma syntaxe? (Fichier batch à migrer de git à svn)

Certains des projets ont beaucoup d'histoire que je veux préserver. Aussi les noms d'auteur doivent rester les mêmes. Après avoir bricolé et cherché d'autres moyens d'y parvenir, je n'arrive toujours pas à le faire fonctionner correctement.

Le référentiel git que j'ai besoin de migrer est un référentiel local sur mon lecteur c. Le serveur svn que j'ai besoin de migrer ces dépôts est sur le réseau local.

C'est ce que je suis venu avec à ce jour:

svn mkdir --parents SVNSERVER/DestinationRep 
git svn clone -sA authors.file svn://LocalSourceFolder 
cd LocalSourceFolder 
git remote add origin localSourceFolderPath 
git fetch origin 
git checkout -b old_master origin/master 
git rebase --onto master --root 
git svn dcommit 

pause 

lorsque je tente d'exécuter, son montre aussi cette erreur:

« Impossible de déterminer les informations SVN en amont de l'histoire HEAD. » Maintenant, avant que les gens me disent, je sais que des questions similaires ont été posées ici avant, j'ai lu beaucoup d'entre eux, mais ils ne semblent pas fournir la «clé» manquante qui ferait ce travail.

Toute aide est appréciée.

Sortie de la console:

svn mkdir --parents h 
ttp://192.168.10.106/svn/Itp-tools/BackupUploader 
svn: E205007: Konnte keinen externen Editor zur Eingabe der Logmeldung bestimmen 
. Setzten Sie entweder die $SVN_EDITOR Umgebungsvariable oder verwenden Sie die 
--message (-m) oder --file (-F) Optionen 
svn: E205007: Keine der Umgebungsvariablen SVN_EDITOR, VISUAL oder EDITOR ist ge 
setzt und keine Laufzeitkonfigurationsoption »editor-cmd« wurde gefunden 

git svn clone -sA auth 
ors.file svn://BackupUploader 
Can't open authors.file No such file or directory 
-- i can handle this when other errors are resolved 

cd BackupUploader 

git remote add origin C:\Users\msc\Desktop\git-tf-2.0.2.20130214\BackupUploader 

git fetch origin 
From C:\Users\msc\Desktop\git-tf-2.0.2.20130214\BackupUploader 
* [new branch]  master  -> origin/master 

git checkout -b old_master origin/master 
Branch old_master set up to track remote branch master from origin. 
Switched to a new branch 'old_master' 

git rebase --onto master --root 
First, rewinding head to replay your work on top of it... 
Fast-forwarded old_master to master. 

git svn dcommit 
Unable to determine upstream SVN information from HEAD history. 
Perhaps the repository is empty. at C:\Program Files\Git\mingw64/libexec/git-cor 
e\git-svn line 866. 

Répondre

1

Moins important

  • Vous avez essayé de créer un dossier dans http-base repo et a oublié d'ajouter commit-message (création du dossier est commettras) avec -m

plus important

  • Vous avez essayé de cloner à partir du référentiel basé svn (avez-vous svnserve?)
  • http-URL et svn-URL ne correspond pas et ne peut pas établir une corrélation entre ces formes et à tous

http://192.168.10.106/svn/Itp-tools/BackupUploader et svn://BackupUploader?!

+0

Je vais certainement ajouter le -m au mkdir et afficher la sortie de cela. cela peut être une de mes erreurs, peut-être j'ai rempli le mauvais chemin - je veux cloner à partir d'un dépôt git thats dans le dossier BackupUploader, et cela doit aller à un référentiel svn, sur le serveur svn local ou mon lecteur local et je vais alors commettre cela au serveur dans mon script et être le serveur 192.168.10.106 ... comment changeriez-vous le script? –

+0

@MikeAzazel - Je n'utilise pas Git, mais essayez de lire http://stackoverflow.com/questions/661018/pushing-an-existing-git-repository-to-svn (ou seulement 1-st réponse http://stackoverflow.com/a/772881/960558) et comparez avec votre code –

+0

@MikeAzazel - conseils supplémentaires: SVN-repo local est accessible avec le protocole 'file: ///', git svn init' appliqué à ** Git existant -repo ** –