1

我的服务器上有颠覆,当我尝试提交时,出现如下错误:

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/log/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]

那是什么错误?

如何解决这个问题?

4

2 回答 2

1

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

  • 服务器端:这是标准的 Unix 预提交挂钩。钩子本身位于存储库hooks目录中。如果该钩子不可执行,或者没有调用pre-commit该钩子的钩子脚本,则该钩子不会运行。
  • TortoiseSVN 客户端钩子:钩子在客户端上,特定于 TortoiseSVN。

当您说pre-commit hook时,您是在谈论服务器上的那个还是计算机上的那个?你说你把钩子放在exit 0前面修改了。

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

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

在Pastebin上发布你的钩子,然后回来告诉我们你已经更新了它。让我们知道是谁添加了这个钩子以及为什么。

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

于 2012-06-27T03:43:18.543 回答
-2

我可以使用以下代码在预提交脚本上添加新行来解决此问题:

#!/bin/sh
exit 0;

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

但是我必须在每个存储库项目中手动添加这些行吗?是克服这个的另一个想法吗?

谢谢

于 2012-06-27T02:00:38.303 回答