svn log fileName | sed -ne "/^r\([0-9][0-9]*\).*/{;s//\1/;s/.*/svn cat fileName@& > fileName.r&/p;}" | sh -s
Команда «svn log filename» используется для получения списка всех версий определенного файла в хранилище SVN.
Далее, команда «sed -ne» принимает вывод команды «svn log» и фильтрует его с использованием регулярного выражения. Регулярное выражение «/^r\([0-9][0-9]*\).*/» ищет строки, начинающиеся с «r» и за ними следующих одного или нескольких цифровых символов. Затем она заменяет найденные строки на только эти цифровые символы.
Далее, команда «svn cat filename@& > filename.r&» выполняется для каждой из найденных версий файла. Она использует номер версии для получения содержимого файла из хранилища SVN с помощью команды «svn cat» и сохраняет его в файл с именем «filename.r&».
Наконец, команда «sh -s» выполняет полученные команды для получения всех версий файла.
Альтернативным подходом может быть использование команды «svn log -v filename» для получения подробной информации о версиях файла, а затем использование команды «svn cat» для получения и сохранения конкретных версий файла по номеру версии.
Аргументы команды: отсутствуют.