格式化svn日志输出
我一直在subversion中使用格式化svn日志输出,svn,formatting,changelog,Svn,Formatting,Changelog,我一直在subversion中使用svnlog命令生成更改日志。为了便于阅读,我想在每个修订版的注释后添加一个换行符。如果输出最初显示如下: ------------------------------------------------------------------------ Revision 1 ------------------------------------------------------------------------ Revision 2 -----------
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/'
我想要一行日志,所以我使用了上面的命令。这是一个非常好的答案!管道输出为您提供了许多选项。谢谢