webentwicklung-frage-antwort-db.com.de

Abrufen geänderter Dateien von der SVN-Befehlszeile zwischen zwei Überarbeitungen

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)?

36
Madhan

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.

53

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
8

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.

8
subbu

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.

7
Ankur