当使用trac-post-commit-hook运行提交时,我收到MERGE 200 OK错误,我知道这意味着提交已在服务器上成功但文件状态未在我的本地计算机上更新。但无论如何我无法找到解决这个问题的方法。这会是我的设置或脚本中的问题。我正在使用来自trac站点的库存标准脚本,我将通过tortoiseSVN提交到托管在Windows 2008服务器上的VisualSVN Server。当我通过命令行运行脚本时,我没有收到任何错误,我只通过TortoiseSVN收到此错误。
答案 0 :(得分:0)
Trac post-commit挂钩的问题听起来像这样:
http://ariejan.net/2007/05/21/merge-request-failed-on-pathtofile/
答案 1 :(得分:0)
对于与Trac无关的钩子,我遇到了这个问题。从post-commit开始,我调用了一些其他脚本,它们在存储库中更改了svnlook和cat,并且我收到了MERGE 200 OK错误。解决方案是在后台调用另一个脚本,以便在启动脚本后立即退出。
答案 2 :(得分:0)
我使用Trac& amp; Debian“Lenny”下的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属性(没有setter):< / p>
--- 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