A Scalable, User-Friendly Source Control System.
Go to file
Jun Wu 34aebc68ca clindex: fix issues on small repos and turn on by default
Summary:
This fixes an obvious mistake. It wasn't noticed because it's part of the last
"cleanup" before landing the change. And it runs on a big repo which hides
the problem.

On smaller repos, changelog is inlined and clindex won't be used because the
Rust index does not support inlined revlogs.  `repo.updatecaches()` will raise
`AttributeError` since the original `self.changelog.index` object does not have
`updatecaches()`. In that case, it's obvious that we should not skip the
original `repo.updatecaches()` call.  The same applies to `repo.destorying()`.

Since after the fix, tests are passing. Let's enable clindex by default. As
explained above, clindex is not actually well exercised because of inlined
revlog.  We should probably special case changelog to be always non-inlined.
That's probably a separate diff.

Reviewed By: phillco

Differential Revision: D6767200

fbshipit-source-id: c8432eec6c02c06c4d49c13df150e1b25bbaa1aa
2018-04-13 21:50:55 -07:00
.cargo build: vendor in Rust dependencies 2018-01-09 17:48:32 -08:00
contrib debugshell: enable it by default 2018-01-17 12:54:24 -08:00
distutils_rust windows: fix build_nupkg.py to work in a new setup 2018-04-13 21:50:54 -07:00
doc hgsuversion: move docs and tools 2018-01-10 16:20:15 -08:00
hgdemandimport extensions: forbid "foo=" from importing foreign mercurial modules 2018-01-09 17:06:09 -08:00
hgext clindex: fix issues on small repos and turn on by default 2018-04-13 21:50:55 -07:00
hgext3rd extensions: also search for extension in the 'hgext3rd' package 2016-03-11 10:30:08 +00:00
hgsubversion hgsuversion: move docs and tools 2018-01-10 16:20:15 -08:00
i18n log: translate column labels at once (issue5750) 2017-12-02 16:29:49 +09:00
lib READMEs: tweaks based on feedback 2018-01-12 12:35:52 -08:00
lz4revlog lz4revlog: internalize extension and test 2018-01-03 07:15:33 -08:00
mercurial extensions: default-on conflictinfo, errorredirect, ... 2018-04-13 21:50:54 -07:00
tests simplecache: allow debug output to be switched off 2018-04-13 21:50:55 -07:00
.clang-format clang-format: configuration for the clang-format source formatter 2015-01-24 17:04:25 -05:00
.editorconfig mercurial: add editorconfig 2016-04-05 18:10:33 +01:00
.hg-vendored-crates build: vendor in Rust dependencies 2018-01-09 17:48:32 -08:00
.hgignore windows: fix build_nupkg.py to work in a new setup 2018-04-13 21:50:54 -07:00
.hgsigs Added signature for changeset f51ae48a3fd9 2017-12-01 13:49:47 -06:00
.jshintrc hgweb: add .jshintrc with some basic rules 2017-11-22 22:18:06 +08:00
.watchmanconfig watchman: add an empty .watchmanconfig 2018-04-13 21:50:54 -07: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 lz4revlog: move all files to subdir to prepare for merge 2018-01-03 03:33:55 -08:00
hg dispatch: move initialization of sys.std* files 2017-10-02 07:18:24 +01: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 remotefilelog: move to hgext/ 2018-01-08 18:58:08 -08:00
README.rst doc: rename README to README.rst 2017-09-26 08:37:17 +02:00
setup.py windows: fix build_nupkg.py to work in a new setup 2018-04-13 21:50: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 https://mercurial-scm.org/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.