Wie kommst du auf die Geschichte eines Datei/Ordner-Eigenschaft im SVN?
Was ist der einfachste Weg, um zu bestimmen, Wann eine Immobilie eingestellt wurde, eine Datei oder einen Ordner? Im Grunde bin ich auf der Suche für ein äquivalent von "svn blame", das funktioniert auf Eigenschaften.
Den log-Befehl ermöglicht es einem, die komplette Geschichte einer Datei oder eines Ordners, auch wenn die Eigenschaften geändert wurden. Es wird jedoch nicht die Unterscheidung zwischen einer Eigenschaft Modifikation und anderen Arten der Veränderung, was natürlich auch bedeutet, dass es gewann ' T sagen Sie etwas über die Geschichte einer bestimmten Eigenschaft.
Den status-Befehl unterscheidet zwischen Eigenschaften und anderen Arten von Veränderungen, sondern arbeitet nur auf der Arbeitskopie.
Schuld, selbst, unterstützt nur Dateien, keine Verzeichnisse, und es funktioniert auf den Inhalt, nicht die Eigenschaften.
Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die besten, die ich denken kann, ist schreiben ein kleines Skript oder eine app, die verwendet das svn propget Befehl dump current-Eigenschaft-Wert in eine text-Datei, und geht dann zurück durch die revisions-dumping die Eigenschaft in einem anderen text-Datei und Vergleich die beiden. Sobald Sie eine änderung entdeckt, es druckt die Versionsnummer (die tatsächlich der späteren revision Nummer, die die änderung vorgenommen hat) zusammen mit dem Benutzer, der es begangen.
Hier ist ein Beispiel-Befehl dump das svn:ignore-Eigenschaft für das Wörterbuch ein Verzeichnis mit revision 80:
svn:author
undsvn:date
dass nicht versionierte Datei-und Verzeichnis-Eigenschaften wiesvn:eol-style
sind versioniert? Es ist eine Beschreibung für versionierte und nicht versionierte Eigenschaften in der SVN-Handbuch.Einen Weg, um eine Liste der Eigenschaften, wenn für einen bestimmten Ordner sich geändert hat, ist:
Welche gibt die folgende Ausgabe:
Dann kannst du schauen bei jeder revision, um zu sehen, was sich geändert:
unten:
Nachteile:
Anmerkung: nicht sicher-B2 ist in allen Fällen ausreichend, da die Zeile "M /trunk/datacenter" vielleicht nicht die erste Zeile
Meine svn-Erweiterungen toolbox hat nun
svn-prop-annotate
und (als Spezialisierung)svn-mergeinfo-annotate
Befehle. Sie führen schlecht (da Siesvn log
undsvn diff
für jede mögliche änderung), und vielleicht noch einige Abhängigkeiten und perculiarities zu meinem besonderen Arbeitsstil, aber versuchen Sie, wenn Sie verzweifelt genug.Hier einige Beispiel-Ausgabe:
Mithilfe der
propget
oderproplist
Befehle scheinen wirklich, wirklich langsam.Für meine Zwecke war es einfach genug zu tun
svn diff --properties-only
auf jede revision und speichern Sie es ab. Es speichert genug Informationen, so dass Sie schreiben können, einige andere scripts zu tun, was den Vergleich/die Schuld, die notwendig ist, ohne sich in den Netzwerk-Spielereien oder was auch immer gemachtpropget
/proplist
so langsam.