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 '^\.$'
— исключение текущего каталога из списка.