Нет ловушек, специфичных для веток, но вы можете сделать эту логику в самой ловушке. Например, в вашем 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
Обратите внимание, что я использовал набор изменений, а не хук группы изменений. Одна группа изменений может иметь наборы изменений в нескольких ветвях, что усложнит логику. Если вы решите пойти по этому пути, вам нужно перейти от $HG_NODE
к tip
, чтобы воздействовать на каждый набор изменений в группе изменений.