Mercurial:如果子回购是脏的,则阻止提交?
如果存储库有脏的子repo,有没有简单的方法来防止提交到存储库Mercurial:如果子回购是脏的,则阻止提交?,mercurial,mercurial-subrepos,Mercurial,Mercurial Subrepos,如果存储库有脏的子repo,有没有简单的方法来防止提交到存储库 当子回购协议意外地与父存储库一起提交时,这真的很烦人。我不知道简单地放在哪里,但你可以这样做: for subrepo in $(find $(hg root) -type d -name .hg) ; do if [ "$(hg --repository ${subrepo$$.hg} status -mard)" != "" ] ; then echo Uncommitted subrepo changes in $
当子回购协议意外地与父存储库一起提交时,这真的很烦人。我不知道简单地放在哪里,但你可以这样做:
for subrepo in $(find $(hg root) -type d -name .hg) ; do
if [ "$(hg --repository ${subrepo$$.hg} status -mard)" != "" ] ; then
echo Uncommitted subrepo changes in ${subrepo%%.hg}
exit 1
fi
done
将其保存在类似于~/bin/dirtysubrepos
的文件中,然后将其添加到您的~/.hgrc
:
[hooks]
precommit.dirtysuprepos = ~/bin/dirtysubrepos
免责声明:除了这个文本框之外,这段代码从来没有在任何地方输入过,所以几乎肯定有语法错误。出于某种原因,我不能对Ry4an的答案发表评论(没有“添加评论”链接供我点击),但他的答案中有一个小错误:
${subrepo$$.hg}
应该是${subrepo%.hg}
我也想要这个,不久前在Mercurial邮件列表上讨论过它(并为此编写了一些补丁),但我知道目前还没有支持的方法。如果有人有,我也很想看。人力资源管理,我希望不会变成那样……不过我想总比没有好。当然,但从正面看,看看我漂亮的贝壳:)