[Toybox] Github mirror
Jeremy Huntwork
jhuntwork at lightcubesolutions.com
Fri Apr 5 08:50:53 PDT 2013
Hello,
After talking with Rob on IRC, I decided to experiment with setting up a github mirror of the mercurial repository. The benefits, hopefully, would be failover plus easy access for those that like/prefer git.
Here's how I set it up.
1. Setup the hg-git plugin
$ sudo easy_install hg-git
2. Edit ~/.hgrc to contain the following:
[extensions]
hgext.bookmarks =
hggit =
2. Clone the mercurial repo
$ hg clone http://landley.net/hg/toybox
3. Create an empty repository on github called toybox
4. In the mercurial working directory, make a bookmark of master for default, so a ref gets created
$ hg bookmark -r default master
5. Push the repo to the new github location
$ hg push git+ssh://git@github.com:jhuntwork/toybox.git
You should obviously be able to see / checkout the repo from https://github.com/jhuntwork/toybox
I haven't been able to test too much, but it seems that pushing/pulling can go either direction, assuming appropriate permissions are in place. To push changes from mercurial to github, it would essentially be:
$ hg update
$ hg push git+ssh://git@github.com:jhuntwork/toybox.git
To forward changes from github to mercurial, It should be able to work like so:
$ hg pull git+ssh://git@github.com:jhuntwork/toybox.git
pulling from git+ssh://git@github.com:jhuntwork/toybox.git
["git-upload-pack 'jhuntwork/toybox.git'"]
importing git objects into hg
["git-upload-pack 'jhuntwork/toybox.git'"]
(run 'hg update' to get a working copy)
$ hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg push
pushing to http://landley.net/hg/toybox
searching for changes
remote: ssl required
I'm obviously using the wrong push scheme, plus I'm missing authentication. :) But I think this illustrates the use case.
JH
More information about the Toybox
mailing list