CVS预提交检查

时间:2014-01-22 17:04:27

标签: cvs pre-commit-hook pre-commit

我需要在提交的任何javascript文件上运行CVS预提交脚本。该脚本基本上运行JS Hint来确认任何javascript代码都处于良好状态。问题是我无法在我拥有CVS存储库的同一台机器上安装JS Hint。我想出的最简单的解决方案是使用预提交脚本在安装了JS Hint的另一台机器上ssh JS Hint命令。我的问题是,我不确定如何将文件的新内容传递到远程计算机,因为它尚未提交给CVS。 CVS机器甚至可以从预提交脚本中访问新内容吗?

1 个答案:

答案 0 :(得分:0)

Commitinfo提供正则表达式参数,如果匹配则会对这些文件运行命令,根据:

http://durak.org/sean/pubs/software/cvsbook/The-commitinfo-And-loginfo-And-rcsinfo-Files.html

Commitinfo

commitinfo' file defines programs to execute whenever cvs commit'即将执行。这些程序用于预提交检查,以验证修改,添加和删除的文件是否真的准备好提交。例如,这可用于验证更改的文件是否符合您网站的编码实践标准。

如前所述,`commitinfo'文件中的每一行都包含一个正则表达式和一个命令行模板。模板可以包含程序名称和您希望提供给它的任意数量的参数。当前源存储库的完整路径将附加到模板,后跟提交中涉及的任何文件的文件名(添加,删除和修改的文件)。

将使用具有与模块的相对路径匹配的正则表达式的第一行。如果该命令返回非零退出状态,则将中止提交。

如果存储库名称与此文件中的任何正则表达式都不匹配,则使用“DEFAULT”行(如果已指定)。

名称ALL' appearing as a regular expression are used in addition to the first matching regular expression or the name DEFAULT'的所有出现。

注意:当CVS访问远程存储库时,`commitinfo'将在远程(即服务器)端运行,而不是在客户端运行(请参阅远程存储库一节)。

来自:http://herbert.the-little-red-haired-girl.org/html/cvs/cvs_18.html