Как получить диапазон ревизий SVN из svn diff и архивировать их в tar.gz

tar cvfz changes.tar.gz --exclude-vcs `svn diff -rM:N --summarize . | grep . | awk '{print $2}' | grep -E -v '^\.$'`


Эта команда создает архив changes.tar.gz, включая изменения в SVN в заданном диапазоне ревизий. Она использует svn diff для получения изменений между ревизиями M и N, затем фильтрует их исключая файлы и каталоги системы контроля версий. Полученный список файлов передается команде tar, которая создает архив.

Полезно для архивирования изменений в SVN и их последующего анализа. Альтернативой может быть использование GUI-клиентов SVN для архивирования изменений.

Аргументы:
cvfz — создать архив, вывести информацию, сжать его в tar.gz
--exclude-vcs — исключить файлы системы контроля версий
svn diff -rM:N --summarize . — получить изменения между ревизиями M и N
grep . — фильтрация строк с именами файлов
awk '{print $2}' — извлечение второй колонки (пути к файлам)
grep -E -v '^\.$' — исключение текущего каталога из списка.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *