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行
没有元数据,我只想要提交消息.
您可以使用命令的--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)