A Scalable, User-Friendly Source Control System.
Go to file
Yuya Nishihara 48edce65ce revsetlang: match tree by helper function on optimize
This should make optimize() more readable and less error-prone, but it doubles
the parsing cost.

  (original)
  $ python -m timeit -n10000 -s 'from mercurial import revsetlang as L' \
  'L.optimize(L.analyze(L.parse("ancestors(x) and not ancestors(y)")))'
  10000 loops, best of 3: 79.3 usec per loop

  (this patch)
  $ python -m timeit -n10000 -s 'from mercurial import revsetlang as L' \
  'L._treecache.clear(); \
   L.optimize(L.analyze(L.parse("ancestors(x) and not ancestors(y)")))'
  10000 loops, best of 3: 201 usec per loop
2016-02-17 21:40:59 +09:00
contrib import-checker: allow relative import a module being checked 2017-08-28 13:43:25 -07:00
doc doc: port check-seclevel.py to be Python 2/3 portable 2017-05-28 15:51:26 -04:00
hgdemandimport demandimport: prefer loaded module over package attribute (issue5617) 2017-07-16 17:38:39 +09:00
hgext editor: use an unambiguous path suffix for editor files 2017-08-30 20:25:56 +00:00
hgext3rd extensions: also search for extension in the 'hgext3rd' package 2016-03-11 10:30:08 +00:00
i18n i18n: use actual filename, in which function is defined, for hg.pot 2017-08-02 00:02:11 +09:00
mercurial revsetlang: match tree by helper function on optimize 2016-02-17 21:40:59 +09:00
tests run-tests: allow bisecting a different repo 2017-08-02 21:24:29 -07:00
.editorconfig mercurial: add editorconfig 2016-04-05 18:10:33 +01:00
.hgignore merge with stable 2017-06-24 15:50:13 -04:00
.hgsigs Added signature for changeset 229937197835 2017-08-10 18:46:55 -04:00
CONTRIBUTING contributing: add new file with a pointer to the wiki 2016-10-08 10:39:00 -04: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: update top-level script to use modern import conventions 2017-08-22 14:14:19 -04:00
hgeditor spelling: trivial spell checking 2015-10-17 00:58:46 +02:00
hgweb.cgi urls: bulk-change primary website URLs 2015-09-30 15:43:49 -05:00
Makefile merge with stable 2017-08-21 21:35:06 -07:00
README README: make paragraphs before example code end with "::" for reST syntax 2017-07-31 21:47:53 +09:00
setup.py merge with stable 2017-08-21 21:35:06 -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 https://mercurial-scm.org/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.