【问题标题】:Subversion Hook Script WIndows, Python, pysvnSubversion Hook 脚本 WIndows, Python, pysvn
【发布时间】:2017-12-13 21:51:14
【问题描述】:

我正在尝试在 windows 上创建一个用于颠覆的钩子脚本,我有一个调用我的 python 脚本的 bat 文件,但获取日志/cmets 似乎超出了我的能力。

我已经安装了 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”,对于路径我已经尝试过字段名称、repo 路径、null 但所有 get 都是错误。

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

我是否遗漏了一些明显的东西?如何将日志/评论作为字符串获取?

谢谢,克里斯。

【问题讨论】:

    标签: python svn pysvn


    【解决方案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'}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 2014-09-29
      • 1970-01-01
      • 2015-11-20
      • 2010-10-07
      相关资源
      最近更新 更多