Subversion Hook Script WIndows,Python,pysvn

时间:2017-12-13 21:51:15

标签: python svn pysvn

我正在尝试在windows上为subversion创建一个钩子脚本,我有一个调用我的python脚本的bat文件,但获取日志/注释似乎超出了我。

我安装了pysvn,可以像这样进行交易:

 repos_path = sys.argv[1]
 transaction_name = sys.argv[2]
 transaction = pysvn.Transaction( repos_path, transaction_name)

我还可以列出已更改的内容:

transaction.changed(0)

我无法弄清楚如何获取交易的日志/评论。我意识到在pysvn中有一个类似于:

的命令
transaction.propget(propname,path)

但不能为我的生活让它回报任何东西。我假设propname应该是“svn:log”,对于路径我已经尝试了fiel名称,repo路径,null但是所有get都是错误。

在一天结束时,我需要验证评论,将会对将要发展的外部数据进行匹配,因此我想在python而不是bat文件中进行匹配,并且可能会转移到linux服务器后面。

上午我错过了一些明显的东西?如何将日志/注释作为字符串获取?

谢谢,克里斯。

1 个答案:

答案 0 :(得分:1)

经过大量的试验和错误以及经过一天的挫折后更好的搜索,我发现我需要使用版本属性,而不是直接属性,对于给定的事务,这将返回用户提交的评论:

transaction.revpropget("svn:log")

还有其他有用的属性,这将返回所有修订属性的列表:

transaction.revproplist()

例如:

{'svn:log': 'qqqqqqq', 'svn:txn-client-compat-version': '1.9.7', 'svn:txn-user-agent': 'SVN/1.9.7 (x64-microsoft-windows) TortoiseSVN-1.9.7.27907', 'svn:author': 'harry', 'svn:date': '2017-12-14T16:13:52.361605Z'}