杰夫·阿特伍德 写了关于 空格并建议创建提交钩子,以删除行和文件末尾的尾随空格。

我已经搜索过,但没有找到使用的明确示例 pre-commit 像这样修改文件的钩子。您有想要分享的脚本吗?

有帮助吗?

解决方案

我敢肯定,预提交不能用于修改正在进行的交易挂钩。它只能允许或拒绝提交操作。在你的情况,你要检查的文件,看看他们是否符合你的要求的空白,并不能提供一个有用的错误信息提交,如果他们不。你可以使用一个post-commit钩子做你提出什么,但它会涉及使从钩子脚本第二承诺修复第一个坏的空白提交。我认为,pre-commit钩子的方法是较好的。

其他提示

您真的不能用承诺挂钩做到这一点的颠覆,因为如果该文件是由服务器修改,将不匹配的客户端上的版本。提交挂钩用于只读事件诸如生成通知消息,或通过检查文件看看是否提交应被阻止。

请参阅上提交钩文档

  

一个钩是由一些库事件,例如设立一个新的修订的或版本控制的属性的修改触发的程序。一些挂钩(即所谓的“预钩子”)预先存储库操作的运行,并提供一个方法,使双方的报告什么将要发生,并防止它发生在所有即可。其他挂钩(以下简称“支柱钩子”)的存储库事件完成后运行,并为检查,但不执行任务的修改 - 库有用。每个钩子都会被足够的信息来告诉该事件是什么(或者是),提出了具体的修改仓库(或已完成),谁触发事件的人员的用户名。

不确定您在哪个平台上,但您可以使用 乌龟SVN, ,利用其 客户端钩子.

本质上,您将编写一个脚本来使用预提交挂钩修改文件。我认为这在构建脚本中更正确地完成:你真的不想提交你甚至还没有编译或运行的代码!删除空格的脚本可能会破坏某些内容,具体取决于上下文/语言。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top