Сравнивать 2 ревизии с svn diff (v 1.3.2) и получать только измененные пути? - PullRequest
14 голосов
/ 09 января 2012

Я хочу сравнить 2 ревизии с использованием svn версии 1.3.2 и скопировать измененные файлы / папки в какое-либо место на сервере.Копирование не является проблемой, с чем я сталкиваюсь, получая только измененные пути.Я использую эту команду:

svn diff -r 90:93 URL --username name --password password

Это возвращает мне много информации, как мне извлечь только измененные пути из этой информации?--Summarize недоступен для версии 1.3.2.Я хочу что-то вроде:

/ path / test.txt

Спасибо!:)

1 Ответ

14 голосов
/ 09 января 2012

Вы работаете в Unix / Linux / Mac или у вас установлен Cygwin?

Вы можете передать вывод через grep, чтобы найти все строки, которые начинаются с Index:.(Если я помню вывод команды diff в Subversion 1.3) Это даст вам только имена файлов, которые отличаются.Это то, что я использую для CVS.

$ svn diff -r 90:93 --username name --password password URL | grep "^Index: "

Если это работает, и вы хотите удалить Index, вы можете использовать sed:

$ svn diff -r 90:93 --username name --password password URL \
> | sed -n /^Index: /s/^Index: //p'
...