问题标签 [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.
python - 使用 Python 钩子通过 ReviewBoard 和 Mercurial 自动化审查请求
这是我的问题:
我有一个远程 mercurial 存储库,其中将设置传入或更改组的钩子,并且我在不同的服务器上设置了 ReviewBoard。这个想法是在从开发人员推送到远程存储库时自动生成审查请求票证。当然,我需要一个调用 post-review 的钩子,该钩子也使用使用 mercurial api (ctx.user()) 提取的 submit-as 用户,否则所有的评论请求票都将以用户的名义将远程存储库连接到 Reviewboard 服务器。
我的主要困境实际上是开始修订和停止修订,如果我使用传入,我将获得所有变更集节点,但当然每次都会调用挂钩,因此每次调用之间都不会保留状态。另一方面,如果我使用变更组,我只会得到第一个变更集,我无法比较。为了比较,我需要一种方法来保留以前的提示,以便基本上将其发送到后期审查:
如果您对如何解决问题有任何想法,我会很高兴。我显然正在用python编写钩子。
mercurial - 如何让 TortoiseHG 执行预差异操作
我的 hg 设置中有一个 pre-diff 钩子,但是当我尝试提交更改时它没有被执行。
我要做的是在提交之前生成数据库模式文件,以便它出现在更改列表中。
我也有一个工作正常的更新挂钩。TortoiseHG 没有执行 hg diff 命令吗?我可以用哪个钩子代替?
windows - Windows 上的 Mercurial HG_NODE 挂钩变量
我目前正在 Windows 上测试 mercurial 钩子,似乎我无法访问钩子变量....
这是 hgrc 内容:
[钩子]
prechangegroup = ruby prechangegroup.rb test1 test2 $HG_NODE
我也试过 %HG_NODE%
这是 prechangegroup.rb 内容
ARGV.每个都做|一个|
将“参数:#{a}”
结束
它打印出来:
参数:test1
参数:test2
参数:$HG_NODE$
接着是正常的推送输出...
任何的想法?(可能是一些愚蠢的东西,但我似乎找不到它)
谢谢
python - 如何从 Mercurial Input 或 Changeset 挂钩访问提交消息
我想为 Mercurial 编写一个钩子来执行以下操作,我正在努力开始。:
- 在中央仓库上运行,并在推送变更集时执行(我认为我应该使用“输入”或“变更组”挂钩)
- 在每个提交消息中搜索格式为“issue:[0-9]*”的字符串
- 如果找到字符串,调用 Web 服务,并提供问题编号、提交消息和已更改的文件列表
那么,对于初学者来说,如何从“input”或“changegroup”钩子中获取每个提交的提交消息?除此之外,关于如何实现其他点的任何建议也将受到欢迎。
谢谢你的帮助。
mercurial - Hgweb 和 changegroup 挂钩不起作用
我正在使用 hgweb 发布我的本地存储库。
/project_path/project_name/.hg/.hgrc 有:
当我使用hg serve时,所有 changegroup 挂钩都可以正常工作,但是当我通过 nginx 和 fcgi 使用hgweb时,它根本不起作用。我需要这些功能来进行某种备份。
mercurial - 如何为 Mercurial MQ 命令添加挂钩?
我想为 mq 扩展完成的一些操作设置 hg 钩子。例如,当我这样做时
我想使用 post-review 在我们的评论板服务器中创建一个新的评论请求。如果你这样做,我还想制作一个更新差异的钩子
这可能吗?
mercurial - 如何使用 Mercurial API 获取特定时间范围之间或某个修订或提交 id 之后的修订历史记录?
我想在特定的提交 ID 或时间之后获取所有提交及其变更集。有没有使用 Mercurial API 的直接方法?
version-control - hg push 的不太频繁/详细的通知
我的项目使用 hgext.notify。目前,incoming.notify = 每个变更集上的单独消息。考虑到变更组通知,但即便如此,它也包含有关每个变更集的信息,都在一封大电子邮件中。
这是问题所在:
我的工作作风是“早点经常入住”。我做了很多小检查,通常在分支机构。任务分支。最终融合。
我的队友不喜欢在我的任务分支上看到我所有签到的消息。
我们正在考虑使用像 collapse 或 histedit 这样的历史编辑扩展来减少冗长 - 但我不喜欢丢失历史。我只是不想用每个单独的变更集来打扰他们。
问:有没有办法,现有钩子的一些配置,或一些替代的 hg 扩展,可以设置为如下通知;
每个变更组一条消息(没关系)
每个变更组一个用户提供的消息 - 不仅仅是所有分支变更集消息的串联
只过滤掉更改最多的消息,例如,主干(hg 用语中的默认分支)。即留下分支变更集消息,但不发送电子邮件。
(注意:我的推送通常涉及一个分支上的多个变更集,然后合并到默认值。因此,仅根据受影响的分支过滤整个变更组是不够的。)
diffstats 不在尖端和分支上的每个变更之间,而只是在主干(默认分支)上的“重要”变更集之间 - 这可能是主干上的重大变更。
mercurial - 在 Mercurial 中指定挂钩时是否可以指定要使用的 Windows shell?
我正在尝试在 Windows IIS 服务器上的远程存储库(使用 hgweb)上设置一个挂钩。我遇到的问题是存储库在 hgweb 的配置中被指定为 UNC 路径,并且该钩子使用 cmd.exe 不支持的 UNC 路径执行 cmd.exe。
是否可以指定不同的 shell 来运行?
mercurial - 像“changegroup”一样运行的 Mercurial 钩子,但仅在推送时?
我们已经建立了一个变更集传播机制,但它依赖于捆绑和解绑新的变更集。如果我们要使用changegroup
钩子,那么它会导致循环行为,因为钩子是在拉、推或解绑期间运行的。我们需要的是在提交之后完成同步,commit
钩子非常适合,但在push之后也是如此。
请注意,post-push
钩子不是答案,因为它是在您从该存储库推送到另一个存储库时运行的。基本上,此场景调用 的特殊行为changegroup
,仅当新变更集是推送的结果时才运行。
有没有这样的钩子?