svn:提交被预提交挂钩(退出代码3)阻止,输出为

svn:提交被预提交挂钩(退出代码3)阻止,输出为,svn,Svn,我做了什么?问题是什么 我添加了一个目录,其中svn中几乎没有文件: $ svn add ABC (ABC is directory) A ABC A ABC/file_1 A ABC/file_2 A ABC/file_3 然后我做到了- $ svn ci -m "some comments" ABC Adding ABC Adding ABC/file_1 Adding ABC/file_2 Adding ABC/file_3 Transmitting file data..svn

我做了什么?问题是什么

我添加了一个目录,其中svn中几乎没有文件:

$ svn add ABC (ABC is directory)
A ABC
A ABC/file_1
A ABC/file_2
A ABC/file_3
然后我做到了-

$ svn ci -m "some comments" ABC
Adding  ABC
Adding  ABC/file_1
Adding  ABC/file_2
Adding  ABC/file_3
Transmitting file data..svn commit failed details follows
svn commit blocked by precommit hook exit code3 with output
现在我无法做出承诺,我不知道如何才能成功。 你能帮我吗。谢谢。

你没做错什么

问题在于预提交挂钩。出于某种原因,预提交钩子正在阻止提交完成。这就是预提交钩子的目的:如果事务违反某些特定于站点的策略,则停止事务的完成

没有标准的预提交挂钩。它们必须由现场实施。许多网站出于各种原因撰写自己的文章。有些使用各种标准的预提交挂钩。因此,您必须找到负责Subversion存储库的人员,并询问预提交钩子、它应该做什么以及它为什么会拒绝您的特定事务

通常,pre-commit钩子的作者会给你一个理由。(比如您没有添加目录的权限,或者存储库由于某种原因被锁定)。然而,看起来做预提交钩子的人没有给出任何类型的错误消息,这使得不可能确定什么可能是错误的。很可能,预提交钩子本身存在错误,并且它根本没有完成


让使用pre-commit钩子的站点修改它,这样当它失败时,它总是给你一条错误消息。如果预提交钩子将输出写入STDERR,那么如果预提交钩子未能提交,它将打印该信息,但如果允许提交,则不会打印该信息。因此,他们应该向提交钩子添加调试代码,这样当它失败时,很容易看到它失败的地方,如果有拒绝事务的原因,它会告诉你原因。

我已经自己解决了。问题是-我必须设置svn:我的类型谢谢David,分享你的见解。我很感激你的回答。你可能是对的。我也面临同样的问题。它显示出与“退出代码1”相同的错误。svn:提交失败(详细信息如下):svn:提交被预提交挂钩阻止(退出代码1),输出:提交时未提供有效的雷达/浓缩咖啡编号。按要求提供雷达号码rdar://12345678 或者提供浓缩咖啡号码,就好像你能帮助我一样,请帮我。