A Scalable, User-Friendly Source Control System.
Go to file
Kostia Balytskyi 1cd2ffd1b5 shelve: make shelvestate use simplekeyvaluefile
Currently shelvestate uses line ordering to differentiate fields. This
makes it hard for extensions to wrap shelve, since if two alternative
versions of code add a new line, correct merging is going to be problematic.
simplekeyvaluefile was introduced fot this purpose specifically.

After this patch:
- shelve will always write a simplekeyvaluefile
- unshelve will check the first line of the file for a version, and if the
  version is 1, will read it in a position-based way, if the version is 2,
  will read it in a key-value way

As discussed with Yuya previously, this will be able to handle old-style
shelvedstate files, but old Mercurial versions will fail on the attempt to
read shelvedstate file of version 2 with a self-explanatory message:
  'abort: this version of shelve is incompatible with the version used
  in this repo'
2017-05-13 14:52:29 -07:00
contrib py3: remove delayed import of importlib 2017-05-13 11:55:39 -07:00
doc ui: factor out ui.load() to create a ui without loading configs (API) 2016-10-22 14:35:10 +09:00
hgext shelve: make shelvestate use simplekeyvaluefile 2017-05-13 14:52:29 -07:00
hgext3rd extensions: also search for extension in the 'hgext3rd' package 2016-03-11 10:30:08 +00:00
i18n i18n-ja: synchronized with 878ab1a44c7e 2017-05-01 07:23:29 +09:00
mercurial branchmap: remove use of buffer() to support Python 2.6 2017-05-13 11:58:08 -07:00
tests shelve: make shelvestate use simplekeyvaluefile 2017-05-13 14:52:29 -07:00
.editorconfig mercurial: add editorconfig 2016-04-05 18:10:33 +01:00
.hgignore make: drop deprecated rule to process temporary copy of pure modules 2016-08-12 11:36:42 +09:00
.hgsigs Added signature for changeset 2e4bacde4889 2017-05-02 17:09:00 -05: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: disable demandimport for py3 2016-05-11 23:24:41 +00: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 make: drop deprecated rule to process temporary copy of pure modules 2016-08-12 11:36:42 +09:00
README urls: bulk-change primary website URLs 2015-09-30 15:43:49 -05:00
setup.py policy: relax the default for in-place build 2017-04-26 23:02:43 +09: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.