问题标签 [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.
mercurial - 禁止提交大型二进制文件的 Mercurial 钩子
我想要一个 Mercurial 钩子,它会在提交事务之前运行,如果提交的二进制文件大于 1 兆字节,它将中止事务。我发现以下代码可以正常工作,除了一个问题。如果我的变更集涉及删除文件,则此挂钩将引发异常。
钩子(我正在使用pretxncommit = python:checksize.newbinsize
):
例外:
我不熟悉编写 Mercurial 钩子,所以我对发生的事情感到很困惑。如果 hg 已经知道文件被删除,为什么钩子会关心它?有没有办法修复这个钩子,让它一直工作?
更新(已解决): 我修改了钩子以过滤掉在变更集中删除的文件。
git - 这个预提交钩子如何修复尾随空格?
这个预提交钩子发生了什么?我认为更改文件会导致它们被重新暂存。
我认为这个想法是删除此提交涉及的所有文件中的尾随空格。
java - 用于临时注释掉代码的 SVN 预提交挂钩(在 java 中)?
碰巧我出于测试原因注释掉了一行代码,最后用注释行将代码检查回存储库。
例如,我在 Eclipse RCP 中为一项工作设置了一条规则。在开发一项新功能时,我注释掉了这一行,因此没有设置规则。
几个小时后,新功能完成并准备好提交到 SVN。虽然我更改了很多东西,但我通常只是通过与存储库同步(在 Eclipse 中)快速仔细检查我的更改,并浏览所有类,做某种头脑清醒的检查(即:问自己我真的接触过吗?这节课?)。但我不会检查每一行。
所以在这种情况下,我不记得注释行,它被提交给 SVN。
现在,我想知道是否可以找到一些自动机制来防止此类错误。我考虑过制作一个代码模板或任务标签,并用它标记注释行。然后在 svn pre-commit 钩子中检查这个任务标签。
我现在用谷歌搜索了一段时间,但找不到任何东西。有谁知道这样做的方法?或者可能是接近这个的东西,只需要微小的改变来实现我正在寻找的东西?
python - SVN钩子脚本冲突
我正在尝试编写一个预提交钩子脚本,它将改变文件夹/文件的特定 svn 属性。该脚本看起来与svn book
中记录的脚本非常相似。
我想出了如何设置/更改节点的属性,并且在执行绑定函数 svn.fs.commit_txn 时,节点的属性实际上被设置了。但目前乌龟总是让我对我正在更改属性的文件夹产生冲突。我用 Python 编写了我的脚本,但我是新的 Python 和钩子脚本。
希望有人能给我一个线索,为什么我会遇到这种冲突..
ms-access - 阻止向 Microsoft Access 数据库提交更改
有没有办法编写一个在将更改提交到 Access DB 之前运行的钩子?如果特定进程当前正在查询数据库,我正在寻找一种阻止更改的方法。
svn - 如何制作防止非 UTF-8 文件编码的预提交挂钩
是否可以为 git 或 svn 制作一个 precommit 钩子,它可以拒绝未以特定编码提交的文件?
我从事过几个项目,在这些项目中坚持某种文件编码似乎是个问题(例如 UTF-8)
c# - 如何在 cmd 行预提交挂钩应用程序中向客户端写入错误?
我正在用 C# 编写一个预提交挂钩,我知道我必须返回 1 表示失败,返回 0 表示成功,但我无法让它向客户端写入任何消息。目前我正在使用
乌龟只是给出反馈:
错误:提交失败(详细信息如下):错误:提交被预提交挂钩(退出代码 1)阻止,没有输出。
如何让我的命令行应用程序向 svn 客户端(在这种情况下为乌龟)提供反馈?
git - git:我可以在不将其添加到索引的情况下存储未跟踪的文件吗?
一个相关问题How do you stash an untracked file?回答“跟踪文件”。但是,这不适用于我的特定需求。
我正在尝试存储不在索引中的所有内容,git stash save --keep-index
以便我可以在我的预提交挂钩中验证索引。这个想法来自 git-stash 手册页的“测试部分提交”示例。我想确保我实际提交的内容通过了测试,而不仅仅是工作目录中的内容。这是我到目前为止所拥有的:
这似乎有效,直到我的工作目录中有未隐藏的未跟踪文件。一些搜索导致了两年前的功能请求:在 stash 中保存未跟踪和/或忽略的文件的选项,但没有别的。
我应该使用 stash 吗?也许有一个更好的方法涉及临时分支或其他东西。
git - Git 钩子可以自动将文件添加到提交中吗?
我想根据在该提交中修改的文件,使用 Git 中的提交前或提交后挂钩将自动生成的文件添加到同一个提交中。我该怎么办?
我已经尝试将此作为预提交挂钩,但没有运气:
这成功地将它们添加到存储库中,但不会将它们添加到提交中。我还尝试在提交后挂钩中使用最后两个 exec 行以及提交前检查,但也没有好处。
svn - svn pre-commit hook 禁止在非根目录上使用 svn:mergeinfo
我想使用一个预提交钩子来防止开发人员在非根目录上设置 svn:mergeinfo。也就是说,我想强制 svn:mergeinfo只能在“trunk”或“branches/branchName”之类的目录上设置。有时需要“提醒”开发人员,使用根目录的子目录作为合并目标不是一个好习惯(根据此处列出的最佳实践)。有没有人有这样的钩子脚本或知道我在哪里可以找到一个?我在 windows 环境中,所以批处理或 powershell 会更好,但任何东西肯定会有帮助。