【问题标题】:Receiving "MERGE" 200 OK error when committing using trac-post-commit-hook使用 trac-post-commit-hook 提交时收到“MERGE”200 OK 错误
【发布时间】:2010-11-24 20:39:16
【问题描述】:

使用 trac-post-commit-hook 运行提交时,我收到 MERGE 200 OK 错误,我理解这意味着提交已在服务器上成功,但文件状态尚未在我的本地计算机上更新。但我无论如何都找不到解决这个问题的方法。这会是我的设置或脚本中的问题吗?我正在使用来自 trac 站点的股票标准脚本,我通过 tortoiseSVN 提交到托管在 Windows 2008 服务器上的 VisualSVN 服务器。当我通过命令行运行脚本时,我没有收到任何错误,我只通过 TortoiseSVN 收到此错误。

【问题讨论】:

    标签: tortoisesvn trac commit post-commit


    【解决方案1】:

    Trac 提交后挂钩的问题听起来像这样:

    http://ariejan.net/2007/05/21/merge-request-failed-on-pathtofile/

    【讨论】:

      【解决方案2】:

      对于与 Trac 无关的钩子,我遇到了这个问题。从提交后,我调用了其他一些脚本,它在存储库中更改了 svnlook 和 cat,我得到了 MERGE 200 OK 错误。解决方案是在后台调用另一个脚本,以便在启动脚本后挂钩立即退出。

      【讨论】:

        【解决方案3】:

        我在 Debian "Lenny" 下使用 Trac & Subversion 时遇到此错误。

        对我来说,这归结为 Trac 中的一个错误。在 trac.util.datefmt 中:

        def to_timestamp(dt):
        """Return the corresponding POSIX timestamp"""
        if dt:
            diff = dt - _epoc
            return diff.days * 86400 + diff.seconds
        else:
            return 0
        

        其中 dt 是时间戳。所以先转换为日期时间:

        def to_timestamp(dt):
        """Return the corresponding POSIX timestamp"""
        if dt:
            dtt = to_datetime(dt)
            diff = dtt - _epoc
            return diff.days * 86400 + diff.seconds
        else:
            return 0
        

        现在我们必须解决 trac-post-commit-hook 脚本中的问题,因为 trac.env.Environment 的 'href' 和 'abs_href' 属性是 get-only 属性(没有设置器):

        --- trac/trac-post-commit-hook  (revision 8)
        +++ trac/trac-post-commit-hook  (working copy)
        @@ -152,11 +152,7 @@
                 self.author = chgset.author
                 self.rev = rev
                 self.msg = "(In [%s]) %s" % (rev, chgset.message)
                 self.now = int(time.time()) 
        -        if url is None:
        -            url = self.env.config.get('trac', 'base_url')
        -        self.env.href = Href(url)
        -        self.env.abs_href = Href(url)
        

        这一切都在 Debian "Lenny" 上,trac 0.11.1-2.1

        【讨论】:

        • 大声笑......我发布了错误问题的答案。嗯嗯。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-06
        • 1970-01-01
        • 2011-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-16
        相关资源
        最近更新 更多