问题标签 [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.
mercurial - 如何根据脚本拒绝推送到 Mercurial 服务器,而不会在此期间冒坏拉取的风险?
我想编写一个脚本来检查推送到 mercurial 服务器的传入变更集,如果变更集不符合特定标准,则拒绝推送。看来我的选择是prechangegroup
,pre-changegroup
和pretxnchangegroup
hooks 。不幸的是,prechangegroup
andpre-changegroup
钩子似乎无法访问传入的变更集,所以我需要pretxnchangegroup
. 但是根据http://hgbook.red-bean.com/read/handling-repository-events-with-hooks.html#sec:hook:pretxnchangegroup上的文档,这可能导致使用存储库的人的状态不一致,而钩子正在执行:
“当这个钩子运行时,如果其他 Mercurial 进程访问这个存储库,他们将能够看到几乎添加的变更集,就好像它们是永久的一样。如果你不采取措施避免它们,这可能会导致竞争条件。”
如果有人在我的脚本正在拒绝变更集的过程中进行拉动,我真的不会对随机发生的怪异事件感到疯狂。我可以使用另一个钩子吗?如果没有,我需要采取哪些“避免它们的步骤”?有没有办法在我的钩子期间锁定存储库?
mercurial - 你把钩子的python代码放在哪里
我创建了一个 python 脚本,我想调用一个 mercurial 钩子,但我不知道工作目录(或脚本路径的起始位置)应该来自哪里。
我知道这可能不对,但我需要一种方法来设置一个钩子,比如... changegroup=python:e:\www\hg\hooks\teamTrack.py:associate
提前致谢。
mercurial - 推送到存储库时测试用户名是否有效的 Mercurial 钩子
我有一个“中央”存储库,我想确保没有人使用错误的用户名将更改推送到其中。
但我不知道如何制作一个钩子来测试用户名与肯定列表。我在 Mercurial API 中发现了一个
似乎是我想要测试我的正面清单的原因。该钩子也可以是作为存储库克隆的一部分分发的预提交钩子,或者它可以是中央存储库上的一个钩子,作为预传入或类似的东西。
任何帮助或指示将不胜感激。
mercurial - 可以为 Mercurial 中的用户或组使用一组不同的钩子吗?
我不确定当前是否可行,但是否可以为用户或组(来自 ACL 扩展的组)指定一组单独的挂钩。
我知道您可以单独指定每个用户机器上的钩子,但我也想将钩子放在中央仓库上(以便在推送时运行这些钩子)。
例如
说我有 A 组的钩子
对于所有 A 组
和
如果 A 组有人推,我不希望 B 组的钩子被触发
这可能吗?即使我不能按组来做(我认为 Mercurial 应该选择操作系统级别的组),Hg 是否可以按用户运行它?
mercurial - hg 克隆错误引发 keyerror(key)
我有一个主要的 mercurial 存储库和一个远程克隆存储库。在初始克隆之后,我向主仓库添加了一个 pretxnchangegroup 挂钩函数。挂钩函数用于os.environ["REMOTE_USER"]
检索经过身份验证的用户。当我hg push
从之前克隆的远程仓库执行操作时,钩子函数按预期工作。当我尝试新的克隆时出现问题。我收到以下错误
pushvalidation.py
是放置在主 repo 的全局 hgrc 中的进程内 pretxnchangegroup 挂钩。
我刚开始使用 Mercurial,这是我编写的第一个大钩子函数。
mercurial - 挂钩以限制一次只推送一个分支
如果您尝试多次推送分支,我正在尝试创建一个阻止推送到远程存储库的钩子。
这是钩子:
问题:如果我已经提交了两个分支:
并尝试使用 hg push –b branch1 推送,钩子仍然将 ${HG_NODE} 视为 8d2bebe08dd9,这是默认值。
有什么方法可以确保通过远程挂钩一次只推送一个分支?
接受任何和所有建议(回复:此工作流程:))
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.
mercurial - Mercurial Repository - 服务器上的自动每日 hg add/hg commit 命令
我有一个使用 mercurial 作为存储库的 Web 服务器。每天,我们都有应用程序将文件写入我们的服务器,我希望这些文件反映在存储库中。有没有办法添加每天运行的自动“hg add”和“hg commit”命令,以便我们的开发人员在他们的机器上跟踪并“拉取”这些文件?
谢谢你的帮助!
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 显示钩子的输出?
mercurial - 用于设置标签名称策略的 Mercurial 钩子
我编写(进程中)钩子以防止在本地添加 BAD 标记名称:
.hg/hgrc:
.hg/hgcheck.py:
如何检查pretxnchangegroup钩子?
我尝试编写以下代码:
但是当我(在启用了上pretxnchangegroup钩子的情况下推动回购时 :
你可以看到 rev.tags() 不返回gg标签!