繁体   English   中英

svn:提交被预提交钩子(退出代码3)阻止,并带有输出

[英]svn: Commit blocked by pre-commit hook (exit code 3) with output

我做了什么-问题是什么

我添加了目录,其中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

现在我无法提交,而且我不知道如何成功完成此操作。 你能帮我吗 谢谢。

你没做错什么

问题出在预提交钩子上。 出于某种原因,pre-commit挂钩会阻止您的提交完成。 这是预提交挂钩的目的:如果违反某个特定于站点的策略,则阻止交易完成。

没有标准的预提交挂钩。 它们必须由站点实施。 许多站点出于各种原因编写自己的站点。 有些使用各种标准的预提交挂钩。 因此,您必须找到负责您的Subversion存储库的人员,并询问预提交挂钩,应该执行的操作以及为什么它会拒绝您的特定交易。

通常,pre-commit挂钩的作者很友好,可以为您提供一个理由。 (例如,您无权添加目录,或者存储库由于某种原因而被锁定)。 但是,看起来您执行预提交挂钩的人未能提供任何错误消息,这使得无法确定可能出了什么问题。 很有可能,预提交挂钩本身存在错误,并且根本没有完成。

让使用预提交挂钩的站点对其进行修改,以便在失败时始终会向您显示错误消息。 如果预提交挂钩将输出写入STDERR,如果预提交挂钩未能提交,它将打印出该信息,但如果允许提交则不打印信息。 因此,他们应该将调试代码添加到提交钩子中,这样当失败时,很容易看到失败的地方,并且如果有某些原因拒绝您的事务,它将为您提供原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM