使用hg-git时不会推送任何更改

时间:2010-10-20 20:27:19

标签: mercurial github hg-git

我正在尝试让hg-git扩展在Windows下工作,经过几个小时的摆弄后,我似乎终于有了它的工作。但是,即使hg push的输出显示为:

,我的git存储库中也没有显示任何内容
importing Hg objects into Git
creating and sending data
    github::refs/heads/master => GIT:8d946209
[command completed successfully Wed Oct 20 15:26:47 2010]

3 个答案:

答案 0 :(得分:40)

尝试发出命令hg bookmark -f master

(使用-f强制移动现有书签)

然后再试一次。

这有效,因为Hg-Git pushes your bookmarks up to the Git server as branches并将Git分支拉下来并将它们设置为书签。 (来自官方README.md)

答案 1 :(得分:2)

似乎在我问这个之后,我做了一个微不足道的改变。这被拾起并推了推。所以你似乎要等到你做了一个新的提交才能让hg-git拿起它。

答案 2 :(得分:0)

我选择'使用自述文件初始化此存储库'。这意味着我最终得到了两个头,我不能hg merge,因为有一个书签。

为了推动工作,我不得不:

  • 根据https://blog.glyphobet.net/essay/2029
  • 配置hg-git和github remote
  • 从github拉出并更新
  • 强制合并(检查要与hg heads一起使用的ID),
  • 提交合并
  • 向文件添加一个微不足道的更改(在末尾添加一个空格字符),
  • 提交,然后
  • 将书签移至提示
  • 推送到我配置的github remote

这最终得到如下命令(替换<x>部分)

hg pull github
hg update
hg merge <revision-id-of-incoming-git-version>
hg addremove
hg commit -m 'merged with github'
 # make some trivial change to a file - eg add a space where it doesn't cause harm
hg add <changed-file>
hg commit -m 'trivial change'
hg bookmark -f master
hg push github

确保为上面的合并选择远程修订版 - 如果不这样做,它就不起作用了!