Skip to main content

A Mercurial extension for working with GitHub repositories

Project description

hg-github

Created by Stephen McDonald

hg-github is a Mercurial extension that wraps hg-git, and supports a work-flow where repositories are hosted on Bitbucket and mirrored on GitHub. This work-flow normally requires adding Git paths to each repository’s config file, and creating Mercurial bookmarks pointing to the GitHub repository’s branch name. hg-github takes care of these for you automatically. hg-github is BSD licensed.

Installation

The easiest way to install hg-github is directly from PyPi using pip or setuptools by running the respective command below:

$ pip install -U hg-github

or:

$ easy_install -U hg-github

Otherwise you can download hg-github and install it directly from source:

$ python setup.py install

Once installed, add hggithub to the extensions section in your global .hgrc file:

[extensions]
hggithub =

Note that there isn’t a dash in hggithub in your .hgrc file. You also don’t need to add the hg-git extension, as it is wrapped and used automatically by hg-github.

Once installed, assuming the default remote location of your repository is on Bitbucket, the GitHub path is automatically added and given the name github, so you can push to it with the following command:

$ hg push github

Repository Paths

As mentioned above, the GitHub path is given the name github when the default remote location is on Bitbucket. For other named Bitbucket locations, the name github-NAME is given, where NAME is the name of the path located on BitBucket. For example consider the following .hg/hgrc repo config:

[paths]
default = ssh://hg@bitbucket.org/stephenmcd/hg-git
somefork = ssh://hg@bitbucket.org/stephenmcd/hg-git-temp

hg-git will add entries to the config file as follows. Note that the config file isn’t actually written to:

[paths]
default = ssh://hg@bitbucket.org/stephenmcd/hg-github
somefork = ssh://hg@bitbucket.org/stephenmcd/hg-github-temp

github = git+ssh://git@github.com/stephenmcd/hg-github.git
github-somefork = git+ssh://git@github.com/stephenmcd/hg-github-temp.git

GitHub Username

hg-github assumes you have the same username on GitHub and Bitbucket. If you have a different GitHub username, you can specify it by adding the following section to your global .hgrc file. For example my GitHub username is stephenmcd:

[github]
username = stephenmcd

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
hg-github-0.1.5.tar.gz (3.9 kB) Copy SHA256 hash SHA256 Source None Jul 13, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page