Ich muss die geänderte Dateiliste zwischen zwei Überarbeitungen in SVN erhalten.
Ich habe den folgenden Befehl verwendet:
svn diff -r 5001:6001 --summarize https://svn.blah.com/../ > output.txt
Aus irgendeinem Grund werden die in Revision 5001 geänderten Dateien nicht in die Ausgabetextdatei eingefügt.
Was ist der genaue Befehl zum Extrahieren der Dateiliste zwischen den beiden Revisionen (einschließlich von und zu Revisionen, dh einschließlich Revision 5001 und Revision 6001)?
Versuchen svn diff -r 5000:6001
stattdessen. Um dies zu verstehen, betrachten Sie Folgendes: Was würde die Ausgabe von svn diff -r 100:100
aussehen wie? Es würden keine Änderungen angezeigt, da die Überarbeitungen gleich sind. Um die Änderungen für Revision 100 zu sehen, müssen wir -r 99:100
.
Die Antwort von Dirk-Willem van Gulik ist perfekt, wenn Sie alle Änderungen wünschen. Wenn Sie jedoch nur die Liste der geänderten Dateien anhängen möchten, wechseln Sie mit --summarize zu Ihrem Befehl.
svn diff -r 13447:HEAD
Versuchen svn log -r 5000:6001 -v
, um die Liste der Dateien abzurufen. Dies gibt eine Liste der Dateien, die nach Revisionsnummer kategorisiert sind. So kann man auf einen Blick besser erkennen, welche Dateien in welcher Revision abgelegt wurden.
svn diff -r v1:v2 --summarize | awk '{print $2}' > filelist.txt
Erläuterung:
svn diff -r v1:v2 --summarize
Gibt Ihnen den Status und den Namen der Datei an, die durch ein Tabulatorzeichen getrennt sind. Sie müssen die Zeichenfolge nach dem Tabulatorzeichen - dem zweiten Feld - auswählen. Sie können dies mit awk
tun und die Ausgabe nach filelist.txt
Umleiten.