如何将来自subversion的所有提交消息连接到一个没有元数据的文本文件中?

min*_*nda 2 svn logging concatenation

我想在我的subversion日志中获取所有提交消息,并将它们连接成一个文本文件,最好使用Windows上的svn命令行.

每个提交消息都具有以下格式:

- r1消息
- r1消息
- r1消息

我想要的是:

- r1消息
- r1消息
- r2消息
- r2消息
- r3消息
[...]
- r1000消息

更新

我认为上面的内容很清楚,但我在日志中不想要的是这种类型的信息:

r2130 | 用户| 2010-03-19 10:36:13 - 0400(2010年3月19日星期五)| 1行

没有元数据,我只想要提交消息.

Dav*_*ano 6

您可以使用命令的--xml参数,将svn log输出格式设置为xml,然后使用某种脚本语言轻松解析它以生成所需的文本文件.
在python中,例如:

from xml.dom.minidom import parse
xml = parse("log.xml")
entries = xml.getElementsByTagName("logentry")
for e in entries:
    rev = e.getAttribute("revision")
    msg = e.getElementsByTagName("msg")[0].firstChild.nodeValue
    print "-r" + rev + " " + msg
Run Code Online (Sandbox Code Playgroud)

将其保存为parseLog.py,然后只需启动即可

svn log --xml > log.xml
python parseLog.py > revisions.txt
Run Code Online (Sandbox Code Playgroud)