Форматирование вывода журнала svn

#svn #formatting #changelog

#svn #форматирование #Журнал изменений

Вопрос:

Я создавал журналы изменений в subversion с помощью svn log команды. Чтобы упростить чтение, я хотел бы добавить новую строку после комментариев каждой редакции. Если вывод изначально выглядит следующим образом:

 ------------------------------------------------------------------------
Revision 1
------------------------------------------------------------------------
Revision 2
------------------------------------------------------------------------
  

Я бы хотел, чтобы это выглядело так:

 ------------------------------------------------------------------------
Revision 1


------------------------------------------------------------------------
Revision 2


------------------------------------------------------------------------
  

Я попытался использовать следующую команду в пакетном режиме:

 FOR /L %%i IN (starting_revision, 1, ending_revision) DO (

svn log branch_name -r %%i --incremental >> output.txt
echo. >> output.txt
echo. >> output.txt

)
  

Изначально казалось, что это сработало, но поскольку в ветку, над которой я работаю, были внесены не все изменения, в результате в некоторых частях текстового файла были напечатаны дополнительные новые строки. Кто-нибудь знает, как я мог бы избежать этой проблемы?

Ответ №1:

Вы можете использовать --xml опцию в svn log командной строке. Анализ выходных данных xml позволит вам отформатировать их любым удобным для вас способом.

Ответ №2:

Если вам нужен журнал с одной строкой, вы можете использовать

 svn log | perl -l40pe 's/^- /n/'
  

Мне нужен журнал с одной строкой, поэтому я использовал приведенную выше команду.

Комментарии:

1. Это такой отличный ответ! Конвейерный вывод дает вам так много вариантов. Спасибо