Der Schlüssel hier ist, wie viel Geschichte benötigt wird. Wie andere betont haben, lautet die kurze Antwort: svn blame
(siehesvn help blame
Einzelheiten ). Wenn Sie weit in die Vergangenheit zurückreichen oder sich mit wesentlichen Änderungen befassen, benötigen Sie wahrscheinlich mehr als nur diesen einen Befehl.
Ich musste das nur selbst machen und fand diesen (ye ole) Thread hier auf SO. Hier ist, was ich getan habe, um es mit nur dem zu lösen CLI
, speziell für meinen Fall, in dem sich eine API geändert hatte (z. B. während die weit veraltete Arbeit einer Person (nicht auf einem Zweig, arrgh! ) Zurück in einen Feature-Zweig portiert wurde , der auf einem bis zu Datumsstamm). ZB hatten sich die Funktionsnamen so weit geändert, dass nicht ersichtlich war, welche Funktion aufgerufen werden musste.
Schritt eins
Mit dem folgenden Befehl konnte ich durch Commits blättern, bei denen sich in der Datei "fileName.h" Änderungen ergeben hatten, und die entsprechende Versionsnummer anzeigen (Hinweis: Möglicherweise müssen Sie die '10' für mehr oder weniger Kontext gemäß Ihrem SVN-Protokolltext ändern ).
svn log | grep -C 10 "fileName.h" | less
Dies führt zu einer Liste von Revisionen, in denen diese Datei geändert wurde.
Schritt zwei
Dann war es eine einfache Sache, blame
(oder wie andere betont haben annotate
) zu verwenden, um sich auf die Revisionen des Interesses zu beschränken.
cd trunk
svn blame fileName.h@r35948 | less
ZB fand die Revision des Interesses 35948.
Schritt drei
Nachdem die interessierende (n) Revision (en) über die Schuld gefunden wurden, kann ein Diff erstellt werden, um das SVN-Tool zu nutzen.
svn diff -r35948:PREV fileName.h
Fazit
Ein visueller Unterschied machte es viel einfacher, die alten API-Namen mit den neueren / aktualisierten API-Namen zu identifizieren.