Ja, ich weiß. Warum möchten Sie von Git zu SVN migrieren?
Nun, ich bin zufällig in einer Situation, in der ich ein riesiges Git Repo zu Subversion migrieren muss! Hier ist ein Workflow, den ich pro Edwins Kommentar probiert habe:
Erstellen Sie zuerst ein lokales SVN Repo:
svnadmin create svn_repo
Als nächstes schaue ich mir mein Git Repo an:
git clone git:myNameSpace/myProject
cd
in myProject
und run:
git svn init -s --prefix=svn/ file:///home/myHome/svn_repo/myProject
git svn fetch
git rev-list --parents master | grep '^.\{40\}$'
, um den Hash Ihres Root-Commits nachzuschlagen und gibt nur ein Commit, wie es sollte.
Als nächstes kommt der Hash des leeren Trunk-Commits:
git rev-parse svn/trunk
Leider scheitert dieses mit:
fatal: ambiguous argument 'svn/trunk': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
Nun, ich kann nicht viel danach gehen ....
Ich würde Ihnen empfehlen, das mit SubGit in mehreren einfachen Schritten zu migrieren.
%Vor%Das ist alles. Während Übersetzung SubGit wird versuchen, alle Commits (auch temporär), Zweige, Zusammenführungen, Ignorieren, Termine, EOLs Einstellungen, Tags und so weiter zu erhalten, wie es möglich ist.
Nach der Übersetzung werden die Repositories synchronisiert (jeder Push an Git wird in SVN-Revision übersetzt und umgekehrt). Um die Synchronisierung zu unterbrechen (wenn Sie sie nicht benötigen), führen Sie
aus %Vor%--- Bearbeitet, nachdem Details hinzugefügt wurden ---
Haben Sie ein leeres initiales Commit für svn/trunk
ausgeführt? Wenn nicht, dann würde es erklären, warum Sie einen Fehler bekommen, dass es in der Geschichte nicht gefunden werden kann.
Die Kommentare (in Kombination)
%Vor%und
%Vor% Sagt tendenziell, dass sie eine svn/trunk
commit gemacht haben, um einen svn-Konflikt mit einem bereits bestehenden trunk
-Verzeichnis zu verhindern. Wenn dies der Fall ist, wird vielleicht Ihr einziger Fehltritt keine svn/trunk
später finden?
--- Ursprüngliche Post folgt ---
Haben Sie dies versucht? Dcommit wird nicht ordnungsgemäß funktionieren, bis Sie Ihren Stamm- (oder Zweig-) Verlauf linearisiert haben.
Bitte veröffentlichen Sie die Details Ihrer versuchten Migration. Während das, was Sie gepostet haben, eine nützliche Fehlermeldung ist, wäre es mit der Liste der Schritte, die Sie zum Ermitteln dieses Fehlers verwendet haben, zehnmal nützlicher.