svn diff mit annotate/blame-ähnlicher Information, wann von wem Änderungen vorgenommen wurden

Kann man annotate/blame-alike Informationen zu svn diff hinzufügen, so dass für jede geänderte Zeile angegeben wird, welcher Benutzer und welche Revision diese Zeile geändert hat?

Zum Beispiel könnte ein annotate-diff, das die Revisionen 8-10 vergleicht, so etwas ausgeben wie:

9    user1   - some line that user1 deleted in revision 9
10   user2   + some line that user2 added in revision 10

Der Kontext, also die Zeilen drum herum, die sich nicht geändert haben, kann ebenfalls enthalten sein oder nicht, spielt keine Rolle.

Es geht nicht nur darum, "schnell" ein Shell-Skript zu schreiben, das die Ausgaben von svn diff und svn annotate kombiniert. annotate wird Ihnen zum Beispiel nie zeigen, wer eine Zeile entfernt hat. Es geht auch nicht darum, annotate auf eine Revision in der Vergangenheit anzuwenden: Wir sind nicht daran interessiert, wer ursprünglich die Zeile hinzugefügt hat, die entfernt wurde (das ist nicht derjenige, der den Diff "verursacht" hat), wir wollen wissen, wer sie entfernt hat.

Ich vermute, die einzige Möglichkeit, etwas zu implementieren, um das zu tun, ist, jeden einzelnen Commit zwischen den beiden zu vergleichenden Revisionen zu inspizieren (und irgendwie alle Änderungen in den separaten Diffs auf Zeilen im Gesamt-Diff abzubilden)...

Gibt es ein Werkzeug, das so etwas macht?

OriginalAutor Wouter Coekaerts | 2009-09-10

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.