【问题标题】:CVS pre-commit checkCVS 预提交检查
【发布时间】:2014-01-22 17:04:26
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    Commitinfo 提供正则表达式参数,如果匹配,将在这些文件上运行您的命令,根据:

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

    提交信息

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

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

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

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

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

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

    发件人:http://herbert.the-little-red-haired-girl.org/html/cvs/cvs_18.html

    【讨论】:

      猜你喜欢
      • 2010-12-23
      • 2012-11-11
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      • 2018-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多