问题标签 [mercurial-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 投票
1 回答
1060 浏览

mercurial - 如何根据脚本拒绝推送到 Mercurial 服务器,而不会在此期间冒坏拉取的风险?

我想编写一个脚本来检查推送到 mercurial 服务器的传入变更集,如果变更集不符合特定标准,则拒绝推送。看来我的选择是prechangegroup,pre-changegrouppretxnchangegrouphooks 。不幸的是,prechangegroupandpre-changegroup钩子似乎无法访问传入的变更集,所以我需要pretxnchangegroup. 但是根据http://hgbook.red-bean.com/read/handling-repository-events-with-hooks.html#sec:hook:pretxnchangegroup上的文档,这可能导致使用存储库的人的状态不一致,而钩子正在执行:

“当这个钩子运行时,如果其他 Mercurial 进程访问这个存储库,他们将能够看到几乎添加的变更集,就好像它们是永久的一样。如果你不采取措施避免它们,这可能会导致竞争条件。”

如果有人在我的脚本正在拒绝变更集的过程中进行拉动,我真的不会对随机发生的怪异事件感到疯狂。我可以使用另一个钩子吗?如果没有,我需要采取哪些“避免它们的步骤”?有没有办法在我的钩子期间锁定存储库?

0 投票
1 回答
219 浏览

mercurial - 你把钩子的python代码放在​​哪里

我创建了一个 python 脚本,我想调用一个 mercurial 钩子,但我不知道工作目录(或脚本路径的起始位置)应该来自哪里。

我知道这可能不对,但我需要一种方法来设置一个钩子,比如... changegroup=python:e:\www\hg\hooks\teamTrack.py:associate

提前致谢。

0 投票
2 回答
1191 浏览

mercurial - 推送到存储库时测试用户名是否有效的 Mercurial 钩子

我有一个“中央”存储库,我想确保没有人使用错误的用户名将更改推送到其中。

但我不知道如何制作一个钩子来测试用户名与肯定列表。我在 Mercurial API 中发现了一个

似乎是我想要测试我的正面清单的原因。

该钩子也可以是作为存储库克隆的一部分分发的预提交钩子,或者它可以是中央存储库上的一个钩子,作为预传入或类似的东西。

任何帮助或指示将不胜感激。

0 投票
1 回答
61 浏览

mercurial - 可以为 Mercurial 中的用户或组使用一组不同的钩子吗?

我不确定当前是否可行,但是否可以为用户或组(来自 ACL 扩展的组)指定一组单独的挂钩。

我知道您可以单独指定每个用户机器上的钩子,但我也想将钩子放在中央仓库上(以便在推送时运行这些钩子)。

例如

说我有 A 组的钩子

对于所有 A 组

如果 A 组有人推,我不希望 B 组的钩子被触发

这可能吗?即使我不能按组来做(我认为 Mercurial 应该选择操作系统级别的组),Hg 是否可以按用户运行它?

0 投票
0 回答
336 浏览

mercurial - hg 克隆错误引发 keyerror(key)

我有一个主要的 mercurial 存储库和一个远程克隆存储库。在初始克隆之后,我向主仓库添加了一个 pretxnchangegroup 挂钩函数。挂钩函数用于os.environ["REMOTE_USER"]检索经过身份验证的用户。当我hg push从之前克隆的远程仓库执行操作时,钩子函数按预期工作。当我尝试新的克隆时出现问题。我收到以下错误

pushvalidation.py是放置在主 repo 的全局 hgrc 中的进程内 pretxnchangegroup 挂钩。

我刚开始使用 Mercurial,这是我编写的第一个大钩子函数。

0 投票
3 回答
714 浏览

mercurial - 挂钩以限制一次只推送一个分支

如果您尝试多次推送分支,我正在尝试创建一个阻止推送到远程存储库的钩子。

这是钩子:

问题:如果我已经提交了两个分支:

并尝试使用 hg push –b branch1 推送,钩子仍然将 ${HG_NODE} 视为 8d2bebe08dd9,这是默认值。

有什么方法可以确保通过远程挂钩一次只推送一个分支?

接受任何和所有建议(回复:此工作流程:))

0 投票
1 回答
195 浏览

version-control - Why doesn't my mercurial pre-commit hook work in MinGW

I have a pre-commit hook in my .hgrc file which checks if more than 5MB of files will be added to the repository. The hook is:

This works fine on Linux (using bash) but doesn't work on MinGW. If I simply run the same command from the MinGW shell command line it works as expected.

The error message is

I suspect that the error is something to do with how things are quoted but I've tried lots of combinations (including changing the backticks to $()) and I can't seem to find the correct answer.

Any help or pointers would be greatly appreciated.

0 投票
1 回答
492 浏览

mercurial - Mercurial Repository - 服务器上的自动每日 hg add/hg commit 命令

我有一个使用 mercurial 作为存储库的 Web 服务器。每天,我们都有应用程序将文件写入我们的服务器,我希望这些文件反映在存储库中。有没有办法添加每天运行的自动“hg add”和“hg commit”命令,以便我们的开发人员在他们的机器上跟踪并“拉取”这些文件?

谢谢你的帮助!

0 投票
2 回答
1784 浏览

mercurial - 如何在 Tortoise Hg 日志窗口中显示钩子输出?

我需要简单的 mercurial 钩子来使用模式检查提交评论。这是我的钩子:

有用。'Comment does not match pattern. You must start it with "Issue 12323:" or "No Issue:"'当我从控制台提交时,它甚至会显示错误消息。但是当我尝试从 Tortoise Hg Workbench 提交时,只显示系统消息:abort: pretxncommit.check_comment hook exited with status 1.

我需要通知用户出了什么问题。有什么办法可以强制 Tortoise Hg 显示钩子的输出?

0 投票
1 回答
498 浏览

mercurial - 用于设置标签名称策略的 Mercurial 钩子

我编写(进程中)钩子以防止在本地添加 BAD 标记名称:

.hg/hgrc

.hg/hgcheck.py

如何检查pretxnchangegroup钩子?

我尝试编写以下代码:

但是当我(在启用了上pretxnchangegroup钩子的情况下推动回购时 :

你可以看到 rev.tags() 不返回gg标签!