No changes are pushed when using hg-git

2020-02-17 09:44发布

I'm trying to get the hg-git extension working under Windows and after hours of fiddling, I finally seem to have it working. However, nothing shows up in my git repository even though the output of hg push reads:

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条回答
再贱就再见
2楼-- · 2020-02-17 10:33

I had chosen to 'Initialize this repository with a README'. This meant I ended up with two heads, which I couldn't hg merge because one had a bookmark.

To get pushing working, I had to:

  • configure hg-git and github remote as per https://blog.glyphobet.net/essay/2029
  • pull from github and update
  • force the merge (checking which id to use with hg heads),
  • commit the merge
  • add a trivial change to a file (add a space char to the end),
  • commit, then
  • move the bookmark to the tip
  • push to my configured github remote

This ended up with commands as follows (substituting in <x> sections)

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

make sure you pick the remote revision for the merge above - if you don't it doesn't work!

查看更多
啃猪蹄的小仙女
3楼-- · 2020-02-17 10:35

Try issuing the command hg bookmark -f master

(use -f to force an existing bookmark to move)

Then try pushing again.

This works because Hg-Git pushes your bookmarks up to the Git server as branches and will pull Git branches down and set them up as bookmarks. (from the official README.md)

查看更多
三岁会撩人
4楼-- · 2020-02-17 10:36

And it seems that just after I asked this, I made a trivial change. This was picked up and pushed. So it seems that you have to wait until you've made a new commit in order for hg-git to pick it up.

查看更多
登录 后发表回答