A Scalable, User-Friendly Source Control System.
Go to file
Pierre-Yves David 78f35efc70 annotate: reuse ancestry context when adjusting linkrev (issue4532)
The linkrev adjustment will likely do the same ancestry walking multiple time
so we already have an optional mechanism to take advantage of this. Since
4e4e9e954fae, linkrev adjustment was done lazily to prevent too bad performance
impact on rename computation. However, this laziness created a quadratic
situation in 'annotate'.

Mercurial repo: hg annotate mercurial/commands.py
before:   8.090
after:  36.300

Mozilla repo: hg annotate layout/generic/nsTextFrame.cpp
before:   1.190
after:  290.230


So we setup sharing of the ancestry context in the annotate case too. Linkrev
adjustment still have an impact but it a much more sensible one.

Mercurial repo: hg annotate mercurial/commands.py
before:  36.300
after:   10.230

Mozilla repo: hg annotate layout/generic/nsTextFrame.cpp
before: 290.230
after:    5.560
2015-03-19 19:52:23 -07:00
contrib osx: patch .pax.gz files in pkg bundles so they extract as root (issue4081) 2015-01-23 06:28:28 +01:00
doc gendoc: restore use of callable() since it was readded in Python 3.2 2014-06-23 09:23:57 -04:00
hgext largefiles: access to specific fields only if largefiles enabled (issue4547) 2015-02-26 06:03:39 +09:00
i18n i18n-pt_BR: synchronized with be4e8b8e43d7 2015-03-01 00:18:43 -03:00
mercurial annotate: reuse ancestry context when adjusting linkrev (issue4532) 2015-03-19 19:52:23 -07:00
tests templates: fix "log -q" output of default style 2015-03-14 22:34:27 +09:00
.hgignore hgignore: ignore the PyCharm workspace folder 2014-10-13 11:46:04 +02:00
.hgsigs Added signature for changeset f515b8dd4d3f 2015-03-02 10:29:45 -06:00
CONTRIBUTORS Add note to CONTRIBUTORS file 2007-11-07 21:10:30 -06:00
COPYING COPYING: refresh with current address from fsf.org 2011-06-02 11:17:02 -05:00
hg hg: add support for HGUNICODEPEDANTRY environment variable 2014-06-23 09:33:07 -04:00
hgeditor Fixed a bashism with the use of $RANDOM in hgeditor. 2010-05-19 18:06:35 +02:00
hgweb.cgi mq: add a warning about uncommitted changes for qfinish 2011-11-10 15:40:34 -06:00
Makefile osx: patch .pax.gz files in pkg bundles so they extract as root (issue4081) 2015-01-23 06:28:28 +01:00
README readme: mention how to run in-place 2012-03-02 21:43:55 +02:00
setup.py setup: don't fail when Python doesn't have the cygwinccompiler package 2014-12-23 19:54:48 -08:00

Mercurial
=========

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 http://mercurial.selenic.com/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.