A Scalable, User-Friendly Source Control System.
Go to file
Jun Wu 0cd1d8ce9d indexedlog: error out if the primary log does not match metadata
Summary:
Previously the code allows the "log" file to be longer than the metadata,
intended to allow advanced usecases that replaces the "meta" file to
get a read-only view in the past.

That implies we trust the length of "log" file. But it's in theory easy to mess
up - when appending to the "log" file, the process might be killed.

Data integrity is first priority. Therefore let's just error out if the file
length does not match the metadata. To support read-only views in the past,
we can use potentially use file names other than "meta" or support in-memory
metadata instead.

Differential Revision: D14866025

fbshipit-source-id: bbf0061a6448375a2de06fbf31f2b9838c749be0
2019-04-10 19:50:00 -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 mononoke: preserve more output from hg side in the sync job 2019-04-10 18:05:37 -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 indexedlog: error out if the primary log does not match metadata 2019-04-10 19:50:00 -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 mononoke: preserve more output from hg side in the sync job 2019-04-10 18:05:37 -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.