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

svn diff . -r43:HEAD --summarize | cut -c9-99999 | cpio -pvdmu ~/destination


Команда «svn diff . -r43:HEAD —summarize» сравнивает изменения между ревизией 43 и последней доступной ревизией в SVN репозитории для текущего рабочего каталога. Опция «—summarize» выводит только краткое описание изменений.

Команда «cut -c9-99999» обрезает первые 8 символов каждой строки вывода, чтобы удалить префиксные индикаторы SVN.

Команда «cpio -pvdmu ~/destination» копирует файлы, полученные из предыдущей команды, в указанную директорию «~/destination». Опции «-p» сохраняют полные пути к файлам, «-v» выводит подробный вывод, «-d» создает необходимые директории, «-m» сохраняет оригинальные права доступа к файлам, «-u» обновляет только файлы, которые новее или не существуют в целевой директории.

Альтернативой может быть использование команды «svn export» для получения только измененных файлов без сохранения истории изменений.

Ответить

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