A Scalable, User-Friendly Source Control System.
Go to file
Martin von Zweigbergk ef6448aa8b revset: don't recreate matcher for every revision
The matcher variable 'm' in checkstatus() is reset to None on each
call, so the caching of the matcher no longer happens as it was
intended. This seems to be a regression in 6b9fbae54476 (revset: added
lazyset implementation to checkstatus, 2014-01-03).

Fix by moving the cached matcher into the enclosing function so it's
actually cached across calls. This speeds up

  hg log -r 'modifies(mercurial/context.py)' >/dev/null

from 7.5s to 4s.

Also see similar fix in 5ff5c5c9e69f (revset: avoid recalculating
filesets, 2014-10-22).
2014-10-31 10:41:36 -07:00
contrib doc: change 'revision or range' to 'revision or revset' 2014-10-24 13:50:00 -04:00
doc gendoc: restore use of callable() since it was readded in Python 3.2 2014-06-23 09:23:57 -04:00
hgext doc: change 'revision or range' to 'revision or revset' 2014-10-24 13:50:00 -04:00
i18n i18n-pt_BR: synchronized with 5ee35e3c2f35 2014-10-27 20:38:17 -02:00
mercurial revset: don't recreate matcher for every revision 2014-10-31 10:41:36 -07:00
tests tests: silence output race in test-run-tests.t 2014-10-30 17:52:01 -05:00
.hgignore hgignore: ignore the PyCharm workspace folder 2014-10-13 11:46:04 +02:00
.hgsigs Added signature for changeset 49471449798d 2014-10-18 18:14:48 -05: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 docker: add centos7 target for CentOS / Red Hat 7 support 2014-10-16 17:44:14 +02:00
README readme: mention how to run in-place 2012-03-02 21:43:55 +02:00
setup.py setup: set mode 644 or 755 on installed files 2014-09-30 17:13:54 -07: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.