gpt4 book ai didi

Mercurial Changegroup Hook 因分支而异

转载 作者:行者123 更新时间:2023-12-02 23:13:14 25 4
gpt4 key购买 nike

Mercurial 中是否有一个现有的钩子(Hook),它与变更组一样,允许在推送时发生操作,但允许我根据哪些分支受其中变更集的影响来执行多个操作(或改变它们)?

例如,当进行推送时,我需要通知某个 url 上的监听器,但理想情况下,它会根据受影响的分支通知不同的 url,而不仅仅是将它们全部覆盖。

最佳答案

没有特定于分支的 Hook ,但您可以在 Hook 本身中执行该逻辑。例如在您的 hgrc 中:

[hooks]
changeset = actions-by-branch.sh

然后在你的actions-by-branch.sh中你会这样做:

#!/bin/bash
BRANCH=$(hg log --template '{branch}' -r $HG_NODE)
BRANCH=${BRANCH:-default} # set value to 'default' if it was empty

if [ "$BRANCH" == "default" ] ; then
do something
elif [ "$BRANCH" == "release" ] ; then
do something else
else
do a different thing
fi

请注意,我使用了变更集而不是变更组 Hook 。单个变更组可以在多个分支上有变更集,这会使逻辑复杂化。如果您决定采用该路线,则需要从 $HG_NODE 一直循环到 tip,以对变更组中的每个变更集采取行动。

关于Mercurial Changegroup Hook 因分支而异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4765189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com