颠覆挂钩脚本 WIndows、Python、pysvn

Subversion Hook Script WIndows, Python, pysvn

我正在尝试为 windows 上的颠覆创建一个钩子脚本,我有一个调用我的 python 脚本的 bat 文件,但获取 log/comments 似乎超出了我的范围.

我安装了 pysvn 并且可以像这样获取交易:

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

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

transaction.changed(0)

我想不通的是如何获得交易的 log/comment。我意识到在 pysvn 中有一个命令类似于:

transaction.propget(propname,path)

但是我这辈子都做不到 return 任何事情。我假设 propname 应该是 "svn:log",对于路径我已经尝试了 fiel name,repo 路径,null 但所有得到的都是错误。

在一天结束时我需要验证评论,将会有与外部数据的匹配,这将演变,因此我想在 python 而不是 bat 文件中进行,加上它稍后可能会移动到 linux 服务器。

我是不是漏掉了一些明显的东西?如何将 log/comment 作为字符串获取?

谢谢,克里斯。

经过大量的反复试验和更好的搜索后,我发现我需要使用修订版 属性,而不是直接的 属性,对于给定的交易将 return 用户提交评论:

transaction.revpropget("svn:log")

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

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'}