Получить измененные файлы из командной строки SVN между двумя ревизиями - PullRequest
36 голосов
/ 08 февраля 2012

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

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

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

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

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

Ответы [ 5 ]

53 голосов
/ 08 февраля 2012

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

8 голосов
/ 22 ноября 2013

Ответ Дирка-Виллема ван Гулика идеален, если вы хотите все изменения.Однако, если вы хотите изменить только список файлов, добавьте ключ --summarize к вашей команде,

svn diff -r 13447:HEAD
8 голосов
/ 21 июня 2013

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

7 голосов
/ 21 мая 2014

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

Объяснение:

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

0 голосов
/ 30 января 2015
svn diff -r 5001:6001 ...local path hier ...  > output.txt
...