mercurial自动推动每一个提交
对颠覆stream程非常熟悉,99.9%的时间我的电脑连接到互联网,我不喜欢分别做'hg ci'和'hg push'。
我记得bzr有一个“checkout”命令,它会绑定后续的“commit”命令,直接自动提交给服务器('push')。
mercurial有类似的东西吗?
PS:编写一个shell脚本或运行'hg ci $ * && hg push'的别名是我最不想做的事情。
你可以添加一个钩子来成功提交后运行push。
编辑:我只是试了一下,它似乎工作正常。 我将以下内容添加到资源库的.hg/hgrc
文件中,我想激活自动推送:
[hooks] commit.autopush = hg push
编辑2:另外,你不必担心这样的事情:
- 您位于不想自动推送的存储库中。
- 你可以使用
hg -R ~/another-repo-that-autopushes commit
来提交一个不同的repo, 并自动推送。 -
hg push
hook会不会hg push
当前目录中的更改,而不是您正在提交的更改?
不,不会的 根据我链接的页面:
总是运行一个可执行的钩子,它的当前目录被设置为一个仓库的根目录。
这是一个边缘情况,但Mercurial正确处理它。