Подтвердить что ты не робот

Получать измененные файлы из командной строки SVN между двумя версиями

Мне нужно получить список измененных файлов между двумя версиями в SVN.

Я использовал следующую команду:

svn diff -r 5001:6001 --summarize https://svn.blah.com/../  > output.txt

По какой-то причине файлы, измененные в ревизии 5001, не заполняются в выходном текстовом файле.

Какова точная команда для извлечения списка файлов между двумя версиями (включая и от ревизий, включая ревизию 5001 и версию 6001)?

4b9b3361

Ответ 1

Попробуйте svn diff -r 5000:6001. Чтобы понять это, рассмотрите следующее: как будет выглядеть вывод svn diff -r 100:100? Он не будет показывать никаких изменений, потому что изменения одинаковы. Чтобы увидеть изменения для версии 100, мы должны использовать -r 99:100.

Ответ 2

Попробуйте svn log -r 5000:6001 -v получить список файлов. Это дает список файлов, классифицированных по номеру ревизии. Таким образом, можно получить представление о том, какие файлы входили в какую ревизию с первого взгляда.

Ответ 3

Ответ Dirk-Willem van Gulik идеально подходит, если вы хотите все изменения. Однако, если вы хотите, чтобы только список файлов был изменен, добавьте --summarize switch в свою команду,

svn diff -r 13447:HEAD

Ответ 4

svn diff -r v1:v2 --summarize | awk '{print $2}' > filelist.txt

Пояснение:

svn diff -r v1:v2 --summarize предоставляет вам статус и имя файла, разделенного символом табуляции. Вам нужно выбрать строку после символа табуляции - второго поля. Вы можете сделать это с помощью awk и перенаправить вывод на filelist.txt

Ответ 5

svn diff -r 5001:6001 ...local path hier ...  > output.txt