Hg-git Instructions

You can still pull from and/or push to the FRG Git repositories using Mercurial with the following steps.


1. Get the hg-git plugin

1.1 First you will need Mercurial 5.4 or greater, and Python 3.0 or greater. To find the Mercurial and Python versions, type in:

hg --version
python3 --version

If you do not have Mercurial 5.4, then try installing Mercurial using pip3:

pip3 install mercurial

Or clone the Mercurial repository online.


1.2. Then install Dulwich via pip3 (or clone Dulwich online):

pip3 install dulwich

1.3. Clone the hg-git repository:

hg clone https://dev.heptapod.net/mercurial/hg-git

1.4. Add the following lines to your ~/.hgrc file:

[extensions]
hggit = /path/to/hg-git/hggit

Change /path/to/ to the path of the directory you cloned hg-git in.


2. Create a ssh key

2.1. Visit https://confluence.atlassian.com/bitbucket/set-up-an-ssh-key-728138079.html to find out how.


2.2. Import SSH key into your own account if you have read and write privileges. If you do not have read and write privileges, then
contact an administrator (Phil or Radek).


3. Pull from and/or push to a Git repository using Mercurial:

3.1. First pull:

# if you want to pull from the master branch, then the following two commands are not required
hg bookmark -d master
# change branch-name to the name of the branch you want to pull from, for example "aero-f-1"
hg bookmark -r default branch-name
# if necessary, change "aero-f" to the repository you want to pull from
hg pull git+ssh://git@bitbucket.org:frg/aero-f.git


3.2. Run one of the following commands:

# if you have uncommitted changes, or you want to update your working directory, then run the following:
hg up
# alternatively, if you have unmerged commits, then run the following:
hg merge

3.3. Then commit and push:

hg commit
# if necessary, change "master" to the name of the branch you want to push to, for example "aero-f-1"
hg bookmark -r default master
# if necessary, change "aero-f" to the repository you want to push to
hg push git+ssh://git@bitbucket.org:frg/aero-f.git