Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial:如果子回购是脏的,则阻止提交?_Mercurial_Mercurial Subrepos - Fatal编程技术网

Mercurial:如果子回购是脏的,则阻止提交?

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 $

如果存储库有脏的子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 ${subrepo%%.hg}
    exit 1
  fi
done
将其保存在类似于
~/bin/dirtysubrepos
的文件中,然后将其添加到您的
~/.hgrc

[hooks]
precommit.dirtysuprepos = ~/bin/dirtysubrepos

免责声明:除了这个文本框之外,这段代码从来没有在任何地方输入过,所以几乎肯定有语法错误。

出于某种原因,我不能对Ry4an的答案发表评论(没有“添加评论”链接供我点击),但他的答案中有一个小错误:
${subrepo$$.hg}
应该是
${subrepo%.hg}

我也想要这个,不久前在Mercurial邮件列表上讨论过它(并为此编写了一些补丁),但我知道目前还没有支持的方法。如果有人有,我也很想看。人力资源管理,我希望不会变成那样……不过我想总比没有好。当然,但从正面看,看看我漂亮的贝壳:)