$ git clone git://github.com/b4winckler/vim.git
Make sure you have enabled the
bookmarks extensions before this step (see below).
$ hg clone git://github.com/b4winckler/vim.git
hg-git Mercurial extension (as well as Mercurial itself) is required in order to track a Mercurial repository with Git, see below on how to enable it.
$ hg clone -U https://vim.googlecode.com/hg/ vim $ cd vim
-U flag tells Mercurial not to check out a working copy, i.e. the clone will be a bare repository.)
Make sure the
bookmarks extension is enabled before this step (see below).
$ hg bookmark -r default master
(Optional) Add bookmark to other Mercurial branches:
$ hg bookmark -r vim73 hg/vim73 $ hg bookmark -r vim72 hg/vim72
vim/.hg/hgrc and add
[paths] default-push = git+ssh://firstname.lastname@example.org:b4winckler/vim.git
Be aware that this may take a long time to complete (up to several hours!).
$ hg push
Every time the Mercurial repository is modified it is necessary to manually update the Git repository.
First pull all new changesets from the Mercurial repository (since we have no working copy checked out, there is no need to merge).
$ hg pull
Bookmarks created with the
-r flag are not automatically updated when you pull the latest changesets, so manually update the bookmarks (the
-f flag is required to force the update):
$ hg bookmark -fr default master
If you bookmarked other branches, then update them as well:
$ hg bookmark -fr vim73 hg/vim73 $ hg bookmark -fr vim72 hg/vim72
Now push all new changesets to the Git repository (this time it will only take a minute or so):
$ hg push
hg-git (see below for instructions on how to install
$ sudo easy_install hg-git
To enable the hg-git and bookmarks extensions, edit
~/.hgrc and add:
[extensions] bookmarks = hggit =
If you would rather not use
easy_install (whatever the reason) then it is not too hard to install
hg-git manually. To do so you first clone the
dulwich repositories. Then go to the
dulwich repository and type
$ python setup.py --pure install --user
You can try without the
--pure flag. If that works dulwich will run faster.
~/.hgrc so that it says:
[extensions] bookmarks = hggit = path-to-hg-git
where you replace
path-to-hg-git with the full path to the
hg-git repository (e.g.
Note that the
hg-git bridge is lossless, so that: