svn log | tr -d '\n' | sed -r 's/-{2,}/\n/g' | sed -r 's/ \([^\)]+\)//g' | sed -r 's/^r//' | sed -r "s/[0-9]+ lines?//g" | sort -g
Команда svn log
выводит журнал статуса SVN, содержащий информацию о коммитах в репозитории. Команда tr -d '\n'
удаляет символы новой строки из вывода команды svn log
. Затем команда sed -r 's/-{2,}/\n/g'
заменяет последовательности дефисов на символ новой строки, разделяя каждую запись коммита. Команда sed -r 's/ \([^\)]+\)//g'
удаляет информацию о пути файла, оставляя только информацию о коммите. Далее команда sed -r 's/^r//'
удаляет префикс «r» перед номером ревизии. Команда sed -r "s/[0-9]+ lines?//g"
удаляет информацию о количестве измененных строк. Наконец, команда sort -g
сортирует вывод в порядке возрастания номеров ревизий. Эта команда полезна, если вам нужно получить журнал статуса SVN в формате CSV, чтобы обработать его дальше или импортировать в другую систему. Альтернативой может быть использование инструментов, поддерживающих экспорт журнала статуса SVN в CSV формат, например, TortoiseSVN. Передаваемые команде аргументы отсутствуют.