问题标签 [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 投票
3 回答
95 浏览

svn - 如何要求将两个文件包含在同一个颠覆提交中?

我使用数据库开发项目,这些数据库被维护为 MySQL 工作台文件,这是一个二进制文件。由于您无法轻松区分提交之间的二进制文件,因此需要在提交之前更新该架构的 SQL 创建脚本。这样,您可以运行 SQL 文件的差异来查看发生了什么变化。

有时,人们要么忘记,要么变得懒惰,不更新 SQL 文件。如何使用 subversion 要求任何包含工作台文件的提交也必须包含 SQL 文件?

0 投票
2 回答
2721 浏览

svn - 颠覆:在预提交挂钩中获取用户的 IP 地址?

我们正在托管一个用于分布式软件开发的 subversion 存储库。因此,非员工可以访问我们的一些源代码。我们公司的 IT 安全政策要求我们对从公司 Intranet 外部上传的所有文件进行病毒扫描。所有内部计算机都配备了最新的病毒扫描程序。

我们计划将病毒扫描集成到 Subversion 预提交挂钩中。但这会在执行大型提交时导致延迟。因此,我们只想扫描源自我们内部网之外的提交。为了识别来源,我们需要执行提交的用户的 IP 地址。由于我们的一些员工在家工作,我们无法使用用户名来识别来自互联网的提交。

因此,最后我的问题:

如何获取在颠覆预提交挂钩中执行提交的 IP 地址?

0 投票
4 回答
502 浏览

php - 如何阻止 php 调试输出在 svn 中提交?

我想阻止将调试功能var_dump, print_r, etc...提交到 repo,以便 QA 可以检查事情而不报告诸如“所有页面上有大量文本!!”之类的错误。

我已经尝试过正则表达式(这不是一个好主意......大概)。

我也尝试过token_get_all,但由于某种原因,它会T_STRING为每个调试函数返回,我想这会起作用,但看起来很奇怪......

还有第三种更好的方法吗?

0 投票
1 回答
377 浏览

mercurial - 如何使用内部 Mercurial API 获取两个修订版之间的变更集列表?

我想在 pre-commit-hook 中检查用户名。在命令行中,我想要实现的效果如下所示:

如何使用内部 Mercurial API 实现相同的目标?

0 投票
1 回答
128 浏览

git - git 跟踪一个文件的变化

我们有一个很大的 repo 和很多提交者。

我想跟踪单个文件的历史记录。每当有人更改它(将更改推送到我的中央存储库)时,我都会收到带有差异和作者姓名的电子邮件。

我知道制作一个预提交挂钩会为我解决一个问题,但是我必须将脚本传播给所有提交者。

是否有合并前(或合并后)的钩子?

临时解决方案是每 10 分钟检查一次 cron 任务,由谁更改文件。

0 投票
2 回答
306 浏览

erlang - Erlang中的Riak预提交钩子?

我将如何编写一个预提交挂钩来将我的键/值对值中的所有字母更改为特定存储桶中的全部大写?

0 投票
2 回答
3471 浏览

svn - SVN 预提交挂钩中的用户验证

在 SVN 预提交挂钩中找到了一个有用的 SVN 预提交挂钩,用于避免 mcdon 更改标签子目录

我想在提交之前对用户添加验证检查。我可以做下面的事情吗?

上述预提交脚本失败,因为所有用户都可以提交他们的文件。此外,'echo' 命令不起作用,因为我在上面没有看到任何 echo 语句。任何人都可以帮忙吗?

0 投票
1 回答
1088 浏览

svn - SVN 预提交钩子失败

下面是我的预提交钩子代码,用于检查文本和打开的 trac 票证。文本检查工作,但是当分配恰好从 svnlook 获取文本并将其放入变量 $LOG 时,我收到一个错误,即找不到日志。我确定我只是精神错乱并且做了一些愚蠢的事情,但它在回避我为什么这不起作用。任何帮助,将不胜感激。

0 投票
1 回答
1435 浏览

svn - Windows 上 Hook 脚本 commit-mime-type-check.pl 的奇怪行为

我已经从svn.apache.org下载了预提交钩子脚本“commit-mime-type-check.pl” 我正在 Windows 上工作,只有两件事可以更改 svnlook 二进制文件的路径和临时目录的路径。我做到了. 但我收到以下错误

我自己调试了一下,发现哪里出错了。

我阅读了关于用“-|”打开的解释 在安全管道下的 [_http://perldoc.perl.org/perlipc.html#Using-open()-for-IPC] 打开

安全管道打开 IPC 的另一个有趣方法是让您的单个程序成为多进程并在您自己之间(甚至在彼此之间)进行通信。open() 函数将接受“-|”的文件参数 或 "|-" 来做一件非常有趣的事情:它派生一个连接到您打开的文件句柄的孩子。孩子正在运行与父母相同的程序。例如,这对于在假定的 UID 或 GID 下运行时安全打开文件很有用。如果您将管道打开到减号,您可以写入您打开的文件句柄,您的孩子会在他的 STDIN 中找到它。如果您从减号打开管道,您可以从您打开的文件句柄中读取您的孩子写入他的 STDOUT 的任何内容。

我无法理解的原因是不兼容或什么。因为它最初是在 linux box 上编写的,对于管道和内部进程通信非常丰富。我总是觉得窗户很差。(没有冒犯任何人。这是我个人的感受。让我们回到主题。我正在寻找所有疯狂的建议。不寻求修复,但如果我得到了,我将不胜感激

我尝试了一切,但最后失败了,如果有人也面临同样的问题,我试着用谷歌搜索。链接不多,但找到了这个,有趣的部分是这个,它没有解决。那我没办法,只能在这里问了。

以下是供您参考的脚本代码

0 投票
1 回答
3902 浏览

svn - 如何调试 Subversion 预提交挂钩脚本?

这似乎是一个非常基本的问题,但我被淘汰了。如何测试那些为挂钩目的而编写的脚本。

正如我们所知,脚本在后台运行,SVN 控制台只会向我们抛出错误。我尝试使用断点,但我无法为脚本提供任何输入。

有没有人对此有任何想法。我正在 Windows 上编写 svn 钩子脚本,所以许多已经编写的钩子脚本要么没有运行,要么没有提供所需的输出,例如检查来自 apache 的 mime-type 和 eol 脚本。