A Scalable, User-Friendly Source Control System.
Go to file
Xavier Deguillard a38ac46869 revisionstore: add an indexedlog backed content store
Summary:
Packfiles are proving complex in several situation in order to perform well.
For instance, repack are required to keep common operation from spending most
of their time in scanning and iterating over the filesystem. In fact, most of
the pain point with packfiles is caused by their immutability: once written,
they can no longer be updated.

IndexedLog on the other hand can be updated in place, and therefore do no
require repacks and thus do not exhibit some of the pathological behavior that
packfile are showing.

As a first step, let's add a simple content store backed by indexedlog.

Reviewed By: quark-zju

Differential Revision: D14790070

fbshipit-source-id: 44f766db6a08169971f87a38246873c6e53c3233
2019-04-10 10:34:34 -07:00
contrib setup: rebuild libchg.a if versionhash has changed 2019-03-21 11:23:56 -07:00
distutils_rust distutils_rust: fix typo in error message 2019-03-27 15:37:39 -07:00
doc gendoc: import extensions properly 2019-01-30 14:57:42 -08:00
edenscm pyrevisionstore: convert to rust 2018 2019-04-10 10:24:55 -07:00
exec hg.rust: add BuildInfo symbols 2019-03-20 23:44:10 -07:00
i18n codemod: import from the edenscm package 2019-01-29 17:25:32 -08:00
lib revisionstore: add an indexedlog backed content store 2019-04-10 10:34:34 -07:00
newdoc newdoc: revise WritingExtensions 2019-03-14 11:51:39 -07:00
slides slides: add indexedlog slide 2018-08-13 15:06:58 -07:00
tests run-tests: don't disable linewrapping if there is nothing to output 2019-04-09 13:31:56 -07:00
.editorconfig move scm/hg/.clang-format to scm/hg/mercurial/ 2018-05-25 14:35:51 -07:00
.flake8 codemod: join the auto-formatter party 2018-05-25 22:17:29 -07:00
.gitignore ignore: stop using "{}" patterns 2019-02-06 13:02:59 -08: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
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
gen_version.py generate __version__.py during the buck build 2018-06-25 15:52:25 -07:00
hg codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
hgeditor spelling: trivial spell checking 2015-10-17 00:58:46 +02:00
hgweb.cgi codemod: import from the edenscm package 2019-01-29 17:25:32 -08:00
Makefile chg: remove the ability to produce an actual binary 2019-03-14 06:35:45 -07:00
README.rst doc: rename README to README.rst 2017-09-26 08:37:17 +02:00
setup.py build: set cargo target dir using config file 2019-03-27 10:16:51 -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.