mercurial自动推送每次提交

时间:2009-08-05 20:37:51

标签: mercurial automation

非常熟悉颠覆工作流程以及99.9%的时间我的计算机连接到互联网的事实,我不喜欢分别做'hg ci'和'hg push'。

我记得bzr有一个'checkout'命令可以绑定后续的'commit'命令,直接自动提交到服务器('push')。

mercurial有类似的东西吗?

PS:编写一个运行'hg ci $ *&&&的shell脚本或别名hg push'将是我做的最后一件事。

1 个答案:

答案 0 :(得分:56)

成功提交后,您可以添加hook来运行推送。

编辑:我刚试了一下它似乎工作正常。我将以下内容添加到我想激活自动推送的存储库的.hg/hgrc文件中:

[hooks]
commit.autopush = hg push

编辑2:此外,您必须担心这样的事情:

  • 您位于想要自动推送的存储库中。
  • 您使用hg -R ~/another-repo-that-autopushes commit提交另一个 自动推送的回购。
  • hg push挂钩最终会推送当前目录中的更改而不是您提交的更改吗?

不,它不会。根据我链接的页面:

  

始终运行可执行挂钩,并将其当前目录设置为存储库的根目录。

这是一个边缘情况,但Mercurial正确处理它。