Fetch 扩展

作者:Zachary Voase
日期:2009-09-29

如果你是自 Git 迁移过来并怀念 git pull 的自动合并功能的话,这将是你正寻找的扩展。

新近自 Git 迁移过来的用户常常会惊讶于 hg pull 的行为。与之相反的 git pull 会更新工作目录、自动合并与提交,而 hg pull 仅仅只是添加远程的变更集到你的本地库并不会对你的工作目录进行任何操作。

十有八九你会想要自动合并的方式。幸运的是,这并不是什么难事。 编辑你的~/.hgrc文件 并添加以下内容:

[extensions]
hgext.fetch =

现在,你可以从这样:

$ hg pull
$ hg update remote_head
$ hg merge local_head
$ hg commit -m "Merged."

变为这样:

$ hg fetch

默认情况下, fetch 会使用 pull 来的远程变更的头作为合并后的第一父亲,而你本地变更的头作为第二父亲。你也可以像下面这样获得相反的结果:

$ hg fetch --switch-parent

了解更多信息,可查阅 wiki 文档hg help fetch 帮助。