问题标签 [pre-commit-hook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
12286 浏览

regex - 使用 FINDSTR 转义批处理文件中的反斜杠

在我的 svn Pre commit 钩子中,我使用 findstr 来阻止某些文件类型被提交。我现在想将此扩展到目录,首先是 \obj\ 目录,但是我遇到了正则表达式的问题并转义了目录的 \

目前我有

我试过只在最后使用 \ 但这似乎也逃脱了双引号?

有任何想法吗?

0 投票
5 回答
1567 浏览

svn - Subversion 标记和安全性

我已经从头开始建立了一个 SVN 存储库,并且我已经使用 SVN 复制命令成功地标记了我的一些版本。

我为 apache 使用了 SSPI auth 插件,所以我们的开发人员只需使用他们的网络凭据访问服务器,一切正常。

我创建了一个 AuthZ 授权文件,将我们的开发人员添加到文件中的组,并授予他们对 root 的写入权限。我还授予匿名用户对 root 的只读访问权限。

然后我使用以下命令锁定 /svn/ 目录: Require-group "CORP\CKAN0BlahBlah"

这有效地将安全组中的新开发人员限制为只读访问权限,直到他们通过 aAuthZ 配置文件获得访问权限。

现在,我有几个问题:

  1. 防止用户对任何“标签”目录提交更改的正确方法是什么(除了荣誉系统)?

  2. 是否可以使用 SSPI 将组的成员传递给 AuthZ,而不是在配置文件中单独列出成员?

0 投票
4 回答
35490 浏览

svn - 如何创建 SVN 提交消息模板和挂钩以验证

我正在使用 Visual SVN 服务器和 Tortoise SVN(客户端)进行源代码控制。我希望所有开发人员都对签入注释的一致格式进行标准化。

例如,我希望他们的提交消息默认为...

概要:

开发者名称:(预填充)

审核人:

[错误编号]:

[更改错误状态]:

已知的问题:

受影响的文件:(预填充)

将来我希望 [Bug Id] 和 [Bug State] 提供信息以触发对 Bug 跟踪系统的自动更新。还应使用 svn 用户和用户提交的文件预先填充开发人员名称和受影响的文件。

请发送您可能拥有的任何链接或样本。

0 投票
4 回答
2436 浏览

c# - 如何使用 SharpSVN 访问 SVN 预提交消息?

我看到我只能设置为 %repos% 和 %txn%

我如何使用这些来获取提交消息(在我的情况下,我可以解析出票号,以便在提交之前查看它是否存在于错误数据库中)

0 投票
2 回答
5336 浏览

svn - Subversion:如何在提交时删除属性

我的情况是这样的:我在家里设置了一个 Subversion 服务器,我们也在我工作的公司使用 Subversion。

在工作中,我们使用锁定/编辑/解锁模型(主要是因为我们正在从 Visual SourceSafe 过渡,目前它更容易)。目前,这是通过在所有添加的文件上设置“needs-lock”属性来实现的(使用每台客户端机器上的 SVN 客户端配置文件的 auto-props 部分)。

但是,我不想将此模型用于我的家庭 SVN 服务器(我更喜欢编辑/合并/提交的工作方式),所以目前在我将工作 PC 上的任何内容提交到家庭服务器之后,我必须手动删除我添加的任何文件中的 needs-lock 属性。

有没有办法可以将 SVN 客户端设置为仅将此属性应用于提交给特定服务器的文件?或者我是不是走错了路:我应该在工作服务器上使用钩子而不是客户端来添加这个属性吗?

非常感谢任何帮助或建议。

编辑:显然,您不能在服务器上执行此操作(或者至少强烈建议您不要这样做)。

0 投票
3 回答
3469 浏览

perl - 如何从 Perl 中的 Subversion 预提交挂钩访问提交的文件?

我需要执行以下操作:

  1. 在 Perl 中编写预提交钩子

  2. Hook 应该检查所有提交的文件是否存在某些文本,如果没有找到该文本则失败

基本上,我需要一个读取提交文件的 Perl 钩子示例。

我真的在寻找一些代码最少的优雅解决方案。

注意:应该使用 Hooksvnlook或者其他更好的方式来查找文件。

0 投票
1 回答
728 浏览

svn - 用于检查 mkdir 的 SVN 预提交脚本

我为 SVN 编写了以下预提交脚本,以验证用户提交的文件提交信息量是否最少。但是,当尝试添加/删除目录时,现在它失败了。我知道为什么它明显失败了,我只是没有意识到每个动作都调用了预提交脚本。如何过滤正在执行的操作?我可以用svn log做到这一点还是我需要使用其他东西?

如何测试当前事务中正在执行的 svn 命令?基本上我只希望验证在svn 提交上运行,而不是在副本、mkdir 等上运行......

提前致谢!!!

编辑:我可能应该对原始帖子进行澄清,我正在使用 TortoiseSVN 的 Create Folder... 来执行此操作。也许 TortoiseSVN 正在做某种提交操作?

0 投票
3 回答
4802 浏览

git - Mercurial 和 Git 中 JSLint 的预提交挂钩

我想在提交到 Mercurial 或 Git 存储库之前运行 JSLint。

我希望这是一个自动设置的步骤,而不是依赖开发人员(主要是我)记住事先运行 JSLint。我通常在开发时运行 JSLint,但想在提交到 repo 之前通过 JSLint 的 JS 文件指定一个合同。

对于 Mercurial,此页面说明了预提交语法,但似乎唯一可用的变量是提交中涉及的 parent1 和 parent2 变更集 ID。我真正想要的是与提交有关的文件名列表,这样我就可以选择 .js 文件并在它们上运行 jslint。

GIT 的类似问题,作为预提交脚本的一部分可用的默认信息似乎有限。

可能可行的是调用 hg status/git status 作为预提交脚本的一部分,解析该输出以查找 JS 文件,然后以这种方式完成工作。不过,我希望有一些更简单的东西,我不确定作为预提交钩子的一部分调用状态是否反映了正确的信息。例如,在 Git 中,如果尚未添加更改文件,但 git commit 使用 -a,这些文件是否会作为提交集的一部分显示在 git status 输出的正确部分?

更新:我得到了一些工作,在这里可以看到:http: //github.com/jrburke/dvcs_jslint/

0 投票
4 回答
6211 浏览

version-control - 在 CVS 预提交挂钩中使用提交消息

是否可以在 CVS 的预提交挂钩中使用提交消息?CVS 服务器正在远程运行,我使用pserver.

理想情况下,如果文件通过过滤器或提交消息包含某些文本,我希望允许提交。

我没有选择使用另一个版本控制系统。

0 投票
2 回答
4062 浏览

svn - 如何设置触发器以防止使用 mergeinfo 属性提交到 SVN?

我想避免在除分支根之外的任何东西上创建 svn mergeinfo 属性。我们有一个主干分支和一些其他分支。

假设我对 svn 触发器一无所知,我需要遵循哪些步骤来设置一个预提交挂钩,以防止将 mergeinfo 属性添加到除分支根之外的任何内容?

主干位于存储库的基础“/trunk”中,所有分支都在“/branches/foo”中