2010-06-07 3 views
12

Migration von Subversion zu Git mit svn2git (die intern git-svn verwendet) Ich würde gerne wissen, wie ich eine bestimmte Revision Commit finden kann.Migration von Subversion nach Git Wie finde ich einen Commit mit einer Revisionsnummer?

Es ist durchaus üblich, Probleme Tracker zu haben, um Kommentare wie haben: "Fixed in R12345".

Angesichts dieser würde ich gerne in der Lage sein, zum Beispiel das diff entsprechend r12345 zu extrahieren.

Vielen Dank im Voraus.

Grüße

Antwort

19

die Revisionsnummer gegeben, können Sie die Git SHA finden mit

git svn find-rev r1938 

ich don ‚T wissen, ob es ein‚one-shot‘Art und Weise ist das begehen oder etwas zu bekommen, aber man kann so etwas wie

git log -p `git svn find-rev r1938` 

Update: beachten Sie, dass Sie auch die Nachricht verpflichten greifen mit

git svn log -r 1938 

-Update wieder: beachten Sie, dass find-rev funktioniert auch umgekehrt:

git svn find-rev c7443021942 

gibt die SVN-Festschreibungsnummer zurück.

+0

Dies funktioniert mit dem Repository, das für die Migration verwendet wurde. Wenn dieses Repository entfernt wird, kann es nicht mehr verwendet werden, es ist jedoch immer noch möglich, es zu verwenden: 'git log --grep = '@ 12345''. Kannst du deine Antwort auch damit aktualisieren? –

+0

Ich denke, dein Kommentar ist gut genug ':)' Ich bin mir nicht wirklich sicher, was du mit "entfernung" meinst, also kann ich nicht viel mehr helfen, sorry. –

+0

Ich meine: wenn Sie das lokale Repository zu einem Remote-Repository schieben. Dann funktioniert nur die "git log" -Methode. –

-2

Mit Git ist es ähnlich:

Fixed in d8602bb9729ddb2f28e61028cc5981cb310231a2. 

das Diff Setzen Sie sich mit:

git show d8602bb9729ddb2f28e61028cc5981cb310231a2 
+1

beachten Sie, dass Sie in der Regel nur die ersten fünf oder so Zeichen des Hashs –

+0

Es sagt mir überhaupt nicht, wie ich herausfinden, dass svn commit 12345 Commit ID zugeordnet wurde: d8602bb9729ddb2f28e61028cc5981cb310231a2 nach der Migration! Grundsätzlich brauche ich etwas wie: git show -r12345 –

+0

Sie können 'git log -1' verwenden, um die Commit-ID des letzten Commits anzuzeigen. Gib diese ID an 'git show', voilá. Um eine bestimmte SVN-Revision in einem Repository zu finden, versuchen Sie 'git log --grep = '@ 12345' -p'. – Bombe

Verwandte Themen