pidgin/nest

closing merged branch
help-weights
2019-08-23, Gary Kramlich
6af542ccd6f4
closing merged branch
---
title: Using Mercurial
date: 2019-02-01T05:09:48.000Z
anchor: contributing
replaces:
- developer.pidgin.im/wiki/UsingPidginMercurial
lastmod: 2019-02-01T05:09:48.000Z
---
### Configure Mercurial
Mercurial is configured through several rc files. You can override the system-wide settings on a per-user or per-repository basis by changing either `~/.hgrc` or `<repository>/.hg/hgrc`. See `man hgrc` for details.
You must set your username when working with Mercurial repositories. To do that, add two lines to `~/.hgrc` (or optionally `<repository>/.hg/hgrc`, if you want to use a different username for other Mercurial repositories):
```
[ui]
username = First Last <email@address.tld>
```
Other useful options that can be set in the `[ui]` section of an `hgrc` are the merge tool and to make Mercurial verbose or not:
```
[ui]
username = First Last <email@address.tld>
verbose = True
merge = meld
```
Git diffs can be useful too, and making `hg log -v` the default behavior for `hg log` can be helpful:
```
[diff]
git = True
[defaults]
log = -v
```
### Clone the Repository and Select a Branch
To start working with Pidgin from Mercurial, you'll probably want to clone our main repository:
```
hg clone https://bitbucket.org/pidgin/main pidgin
```
This will give you a `pidgin` directory with the 3.0.0 development code by default. If you want to develop against Pidgin 3.0.0, you're all set!
Naturally, Pidgin has a number of branches within its repository, and these branches handle various projects including our maintenance of Pidgin 2.x.y. We won't go into all the branches here, as there are a lot of them, but we know some people would like to work against Pidgin 2.x.y instead of 3.0.0. In order to do that, clone the repository as above, but then do this:
```
cd pidgin
hg up release-2.x.y
```
You now have a Pidgin 2 tree to work with. Happy hacking!