颠覆挂钩脚本 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'}
我正在尝试为 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'}