closures汞分支

当使用hg branch FeatureBranchName并将其发布到开发人员共享的中央FeatureBranchName时,有没有办法最终closuresFeatureBranchName当其开发已经正式与默认分支合并?

如果在执行hg branches命令时FeatureBranchName不可见,这也会很有帮助。

 hg commit --close-branch 

应该足以标志一个分支closures。 (见hg commit

 --close-branch 

将分支标记为closures,将其从分支列表中隐藏。

另请参阅此主题 :

我的期望是,我closures了一个分支,因为这个发展路线已经走到了死胡同,我不想再为此烦恼了。
因此,除非我明确要求看到closures的分支,否则当分支closures时,我不应该看到它(例如分支,头部,日志)。

我应该注意到,我希望一个封闭的分支留在存储库中; 这在将来可能会有用,并且commit --close-branch消息应该至less解释为什么分支被closures。
修枝是另一回事。


注意: 与Mercurial相比 ,“closures分支”业务是Git中缺less的一个方面 :

git中的分支是,我们总是被告知,短暂的东西被使用和扔掉,就我所知,git没有办法向你的同事表明你已经完成了一个分支。
要做到这一点的唯一方法就是删除它,或者希望他们看到最后的合并提交,并理解分支是closures进一步发展。

[在Mercurial中]然而,当你完成一个分支时,你不能从存储库中删除它; 而是发出closures分支的提交,并且Mercurial注意到该分支已closures。 它仍然是您的资料库历史logging的永久部分。

我写了一个简单的脚本来完成分支closures,在PruningDeadBranchesfind的命令。

##脚本##

 #!/bin/bash #script to close not required branch in mercurial hg up -C $1 if [ $? -eq 0 ]; then echo "$1 is up" else echo "branch not found, please recheck your argument" exit 1 fi echo "$1 is up" hg commit --close-branch -m 'this branch no longer required' echo "$1 is closed" hg up -C default echo "default is up" 

如何

移至存储库的本地副本,并通过提供参数来运行此脚本。 例如:

 $./the_script_above.sh bad_branch_name_to_close 

它有什么作用

这样做如下:

  1. 如果分支存在,则更新到给定的分支,否则存在错误消息。
  2. 它closures分支。
  3. 更新到默认分支。
  4. 停止。