格式化svn日志输出

格式化svn日志输出,svn,formatting,changelog,Svn,Formatting,Changelog,我一直在subversion中使用svnlog命令生成更改日志。为了便于阅读,我想在每个修订版的注释后添加一个换行符。如果输出最初显示如下: ------------------------------------------------------------------------ Revision 1 ------------------------------------------------------------------------ Revision 2 -----------

我一直在subversion中使用
svnlog
命令生成更改日志。为了便于阅读,我想在每个修订版的注释后添加一个换行符。如果输出最初显示如下:

------------------------------------------------------------------------
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

)

这在一开始似乎是可行的,但由于不是所有的修订都是对我正在处理的分支进行的,它最终在文本文件的某些部分打印了额外的换行符。有人知道如何避免这个问题吗?

您可以在命令行中使用选项。解析xml输出将允许您以任何方式格式化它。

如果您想要一行日志,那么您可以使用

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

我想要一行日志,所以我使用了上面的命令。

这是一个非常好的答案!管道输出为您提供了许多选项。谢谢