问题标签 [pre-commit]

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 投票
1 回答
1117 浏览

perl - Windows 上 Perl 中的 SVN 预提交挂钩

我正在编写 Perl 脚本来在Windows机器上进行 SVN 预提交检查,并且我使用 VisualSVN Server。

这是代码:

预提交.bat

预提交.pl


基本上,我希望将“svnlook log”结果重定向到 res.txt,然后我可以从这个文件中读取。

但是当我从 TortoiseSVN 提交时,perl 脚本因“无法完成 System():不适当的 IO 控制操作”而死,我不知道出了什么问题。

提前感谢您的帮助。

0 投票
0 回答
662 浏览

batch-file - svnlook cat -t 在 Windows 上不起作用(当我创建 .bat 脚本时)

我正在尝试编写一个 .bat 脚本作为 svn 中的预提交挂钩。但是,当我尝试使用带有 -t 选项的 svnlook cat 命令时,它不起作用。它一直告诉我语法错误。我尝试了所有方法,包括添加引号、更改 -t 选项等。但是,如果我删除 -t 选项,它不会报告语法错误。所以这是错误脚本:

如果我执行以下操作,它们都很好:

或者

有人请帮助我!谢谢!

别管大家,我想我只是自己想通了。我们应该使用 SET TXN=%~2 来消除引号。即使我这样做了,愚蠢的批次也会在变量 TXN 的末尾放置一个空格。这就是导致问题的原因。所以脚本应该如下所示:

0 投票
1 回答
4962 浏览

svn - 检查提交消息中的特定字符串 - SVN Precommit Hook

我期待 svn 提交消息中的以下格式。

描述:(变更的一些描述)
实体:(变更请求编号)

如果提交时的注释不符合上述格式,则应抛出错误消息。这个想法是检查提交消息中的关键字符串“描述”和“实体”。我还在检查消息中是否存在评论。

我正在使用以下代码,但我无法检查字符串“描述”是否正常工作。(虽然检查空评论工作正常。)你能告诉我可能做错了什么吗?

我也尝试使用简单的 grep "Description" 以及 grep -w "Description"。还是拿不到。

0 投票
2 回答
742 浏览

svn - VisualSvn 中的空 Repos-Path/Txn-Name

我正在尝试设置一个简单的预提交钩子脚本,该脚本会在没有消息的情况下拒绝提交。我们使用 VisualSVN Server 2.5.8,并且我添加了一个指向 .bat 文件的预提交挂钩。

该文件已执行,但 REPOS-PATH 和 TXN-Name 的参数为空。在我的脚本中,我尝试将 %0 记录到文件中,我发现这只是返回脚本的路径。所以出于某种原因,VisualSVN Server 没有传递这些参数。有什么问题?

测试代码:

提交后, test.log 包含:

“回购。”

“TXN。”

0 投票
3 回答
4918 浏览

git - GIT:提交时文件中有当前提交哈希和最新标签

这可能更像是一个技术问题:

我正在使用 git 进行版本控制,并使用 rsync 将 PHP CMS 的文件发送到测试或生产站点。现在我想使用一个防呆的自动化系统来跟踪当前部署的提交,我在考虑这个:

设置一个 git 钩子来添加/更新带有最新标签和提交哈希的文本文件。然后我可以轻松地查找提交。

我的问题是在预提交时脚本不知道提交哈希。是否有任何直接的方法来完成这项工作(或达到相同目的的另一种方法)?

感谢您提前输入!

0 投票
1 回答
117 浏览

git - Git 预提交脚本不返回非零

我有一个脚本,我试图运行它来检查最新提交中文件的编码。当我手动运行它时,它的行为符合预期,但是当我执行提交时,它不会。如果变量在我的函数之外,我可以很好地打印它们,所以我怀疑它与我检索修改/添加的文件的方式有关。有没有办法让 Git 处理得更好?

0 投票
1 回答
48 浏览

version-control - Bzr gui 提交工具 - 有吗?

是否有bzr的 gui 提交工具,类似于git gui?对我来说最重要的功能是能够将编辑分解为单独的提交。

0 投票
0 回答
450 浏览

windows - Windows 上的 SVN 预提交挂钩未按预期运行

我正在尝试为 Windows 编写一个预提交钩子 .bat 脚本。代码粘贴在下面。它运行文件直到我在下面写“ISSUE HERE”的那一行。我正在尝试做的是检查正在签入的文件中是否有任何内容。我的期望是,如果 findstr 能够在文件内容中找到 console.log,ERRORLEVEL 将打印值 0,如果在文件内容中找不到 console.log,则 ERRORLEVEL 将打印 1。但令我惊讶的是,它总是打印 0,不管console.log 是否在文件中找到。请帮助我了解问题出在哪里。

谢谢

0 投票
1 回答
472 浏览

git - staging 为空时强制 git commit,但 pre-commit 钩子会添加文件

有点卷曲,我无法找到答案。我有一个 git 的预提交钩子,它 mysqldumps 数据库,并暂存文件以进行提交。

我正在为一个项目运行 Drupal,因此,相当多的配置是通过接口完成并存储在数据库中的,显然,我热衷于在版本控制中捕捉时间点里程碑。

这是我正在尝试的基本缩减测试:

问题是如果没有要暂存的文件,预提交脚本会运行,但提交未完成。如果您echo $?之后运行,git commit则返回退出代码 1(因为最初暂存中没有文件)。运行git status显示 db 转储现在已准备好提交。

如果我在运行提交之前将任何其他文件添加到暂存中,则提交有效。

我显然可以很容易地编写一个包装器来做我想做的事情,然后git commit在一切都提前上演后在最后调用,但是任何人都可以阐明这种情况下的最佳实践吗?

0 投票
1 回答
441 浏览

svn - 预提交挂钩以在提交消息中强制指定模式

当我提交到 SVN 时,我想在提交消息中强制指定一个特定的模式,比如缺陷 ID。如果您有或指导我,有人可以提供 shell 脚本吗?

对此的任何帮助将不胜感激......

问候,戈帕尔