Read-only access, in short
hg clone http://bitbucket.org/durin42/hg-git HGGIT_PATH
Second, in "mercurial.ini" add:
[extensions] hggit=HGGIT_PATH\hggit [ui] ssh = "C:\Program Files\TortoiseHg\TortoisePlink.exe"
Third, for read-only access to a github repo:
hg clone git://github.com/USER/PROJECT.git LOCAL_PATH
For proper pushing, the "bookmarks" extension needs to be enabled in "mercurial.ini":
copy "C:\Program Files\TortoiseHg\TortoisePlink.exe" "C:\Program Files\TortoiseHg\ssh.exe"`
and also make a related change in "mercurial.ini":
[ui] ssh = "C:\Program Files\TortoiseHg\ssh.exe"
Proper public+private key pair must be created, with the public key uploaded to github (see the links below).
PuTTY tool "pageant" must be started, with the private key loaded.
I needed to re-clone the repository, with:
hg clone git+ssh://firstname.lastname@example.org/USER/PROJECT.git LOCAL_PATH_2
(I pulled the commits from LOCAL_PATH into this new repo)
Although the bookmarks extension is "automatic", for me it required manual tweaking on each push, especially when there were branches in the repo; I had to move the bookmark-tags to be positioned on most recent changesets on proper heads.