将Subversion日志导出为CSV

All*_*nde 6 svn logging

有没有一种简单的方法将subversion日志导出到CSV文件?

我想用它们来估算我在项目上花费的时间,在电子表格中这样做很容易.

谢谢.

Cha*_*ffy 9

这个简短的Python脚本将为您的SVN日志输出提供CSV:

#!/usr/bin/env python

import csv
import subprocess
import sys
import xml.etree.cElementTree as etree

log_text = subprocess.Popen(['svn', 'log', '--xml'] + sys.argv[1:],
                            stdout=subprocess.PIPE).communicate()[0]
log_xml = etree.XML(log_text)

csv_writer = csv.writer(sys.stdout)

for child in log_xml.getchildren():
        csv_writer.writerow([
                child.attrib['revision'],
                child.findtext('date'), 
                child.findtext('author').encode('utf-8'),
                child.findtext('msg').encode('utf-8'),
        ])
Run Code Online (Sandbox Code Playgroud)

它将命令行参数传递给基础SVN调用,因此如果您只想查看版本34及更高版本,则可以按如下方式调用它:

$ svnlog2csv -r 34:HEAD >my_spreadsheet.csv 
Run Code Online (Sandbox Code Playgroud)