Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!



Mercurial is a fast, easy to use, distributed revision control tool for software developers.

Basic install:

$ make # see install targets $ make install # do a system-wide install $ hg debuginstall # sanity-check setup $ hg # see help

Running without installing:

$ make local # build for inplace usage $ ./hg --version # should show the latest version

See for detailed installation instructions, platform-specific notes, and Mercurial user information.

Recent activity


mirror pushed 24 commits to mirror/mercurial

7648e9a - discovery: make "note: unsynced remote changes!" less serious than a warning
8a9e0b5 - discovery: improve "note: unsynced remote changes!" warning
ce3f308 - import: move tryone closure in cmdutil
2efd608 - revset: optimize missing ancestor expressions
fb2df45 - revset: add an undocumented _missingancestors function

mirror pushed 10 commits to mirror/mercurial

80628d4 - push: feed pulloperation object to _pullobsolete function
2607a21 - pull: move transaction logic into the pull object
1180c6e - pull: move obsolescence marker exchange in the exchange module
b79b405 - pull: move `force` argument into pull object
c9bceaf - pull: move `heads` argument into pull object

mirror pushed 38 commits to mirror/mercurial

7d0bbb6 - push: extract new common set computation from phase synchronisation
ef880ce - push: move `commonheads` into the push object
233623d - push: move discovery in its own function
170f710 - push: move outgoing check logic in its own function
d032417 - push: move `incoming` into the push object

mirror pushed 28 commits to mirror/mercurial

98eadbf - merge with stable
62153c5 - convert: secret config option for disabling debugsvnlog
e61a839 - convert: make subversion revsplit more stable when meeting revisions without @
454c143 - revset: minor changes adding baseset to revsets
827561a - revset: added __add__ method to baseset class

mirror pushed 5 commits to mirror/mercurial

b0638b5 - revset: fixed bug where revset returning order was being changed
d4f804c - itersubrepos: move to scmutil to break a direct import cycle
466e4c5 - import-checker: handle standard modules with arch in the filename
3fedc29 - tests: use ls instead of find, all files are in the same directory
9a86b5b - commands: hg debuginstall checks missing templates (issue4151)

mirror pushed 18 commits to mirror/mercurial

9fe5782 - contrib/Makefile.python: build local Python from source
16c643f - tests: use small conditional section for tic requirement in test-status-color.t
a05d31b - import-checker: show stdlib and relative imports separately
54235a6 - tests: improved test coverage for HTTP authentication and 401 responses
c499fff - tests: ignore http tests that are known wontfix failures on python 2.4

mirror pushed 13 commits to mirror/mercurial

ec5d428 - merge with stable
7d269e7 - hg: note that islocal only accepts paths pointing to repos
b433b43 - hg.openpath: use url.islocal to tell if the path is local (issue3624)
0889585 - util.url: add an 'islocal' method
58300f6 - push: move bookmarks exchange in the exchange module
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.