2012-06-13 78 views
1

我有颠覆我的服务器上,当我尝试提交我有错误,如波纹管:凯明阻断提交预钩SVN

error creating module:org.tigris.subversion.javahi.ClientException:svn: 
Commit blocked by pre-commit hook(exit code 199) with no output. 
svn MERGE of '/svn/mssql/trunk':409 Conflict (http://www.domain.com) 

然后我尝试检查错误日志中的/ var /日志/的httpd/error_log中

我有错误,如波纹管:

Could not MERGE resource "/svn/[project name]/!svn/act/8b7476df-3701-0010-a025-c590208c08a0" into "/svn/[project name]/trunk" 

Commit blocked by pre-commit hook (exit code 199) with no output. [409, #165001] 

那是什么错误?

如何解决这个问题?

+0

解决冲突 - 其他人检查了即将进行的更改。找出其他开发者是谁,并与他们交谈。 – duffymo

+0

你在提交之前更新了工作副本吗? –

+0

我试图创建新的存储库,当我尝试提交项目的第一次。我也有错误。 –

回答

-1

我可以解决这个问题,在增加新的符合下面的代码提交前的脚本:

#!/bin/sh 
exit 0; 

在那之后,我可以提交,更新,结帐等:)

但我必须在每个存储库项目上手动添加这些行?是克服这个问题的另一个理想?

由于

1

有两种不同类型的预提交钩:

  • 服务器侧:这是标准的Unix pre-commit钩子。挂钩本身位于版本库hooks目录内。如果该钩子不可执行,或者没有名为pre-commit的钩子脚本,则挂钩不会运行。
  • TortoiseSVN客户端挂钩:挂钩位于客户端,特定于TortoiseSVN。

当你说pre-commit钩子,你谈论的一个服务器上或电脑上的一个?你说你把exit 0放在前面来修改钩子。

你没有说明挂钩的作用,或者是谁把它放在那里。这使得很难确定发生了什么问题。有数以千计的Subversion钩子在执行各种任务时浮动。我不知道这是什么。谁设置了这个钩子?默认情况下,Subversion没有活动的钩子。有人必须添加它。谁干的?

而且,为什么他们把这个钩子?这个钩子假设要完成什么?一些钩子可防止将重复文件添加到存储库中。有些防止套管不匹配。有些人做安全,有些只是笑话。

发布你的挂钩Pastebin然后回来让我们知道你已经更新它。让我们知道是谁加了钩子,为什么。

否则,我们可以为您做的不多。

+0

这是颠覆我的server.I使用gforge其中包括subversion里面。这是我的预先提交的pastebin在http://pastebin.com/XSceFWBV。我认为pre-commit脚本是由subversion自动生成的。帮助我解决这个问题,谢谢 –

+1

你的'pre-commit'钩子脚本正在调用另一个叫'pre_commit_checks.php'的脚本。这对于Subversion来说并不罕见。 Subversion会自动运行一个名为'pre-commit'的脚本,并且通常会修改它来调用另一个脚本作为预先提交钩子的一部分。你可以发布'pre_commit_checks.php'脚本来粘贴bin吗?我通常会说只是将'pre-commit'重命名为其他内容,但它可能是_gforce_需要的脚本才能工作。 –