A Scalable, User-Friendly Source Control System.
Go to file
Jun Wu 40301faa80 test-rebase-collapse: use treestate
Summary:
The test reveals some copy handling issues in treestate:
- copyfile can be called to override a previous copyfile source information.
- drop or remove file should reset the file's copy information.

I hope we'll clean up dirstate. The main problem of it is the "setparents" API,
it changes the parents directly, leaving it to the caller to make sure the rest
of the dirstate is in sync with repo and filesystem state. And it's super
unclear what the callers are supposed to do exactly in these cases. Ideally
there is no "setparents" API on dirstate or the repo object. The low-level
building blocks (merge or clean update) would make sure the tree is in a
consistent state and nobody else (esp. rebase) can ever change dirstate parents
directly.

Reviewed By: DurhamG

Differential Revision: D8869842

fbshipit-source-id: b7882dfe60508fa6bbcfb99e30e507dc297a1d83
2018-07-17 16:06:07 -07:00
contrib tests: remove some archaic shell rules from check-code.py 2018-07-11 21:09:31 -07:00
distutils_rust build: build rust binaries 2018-06-05 03:53:25 -07:00
doc Update to 18.6b1 2018-06-05 22:19:55 -07:00
exec/scm_daemon commit cloud subscriber: skip cloud sync if can't resolve interngraph host 2018-06-29 12:20:11 -07:00
hgdemandimport codemod: join the auto-formatter party 2018-05-25 22:17:29 -07:00
hgext datapack: add python datapack wrapper 2018-07-17 15:10:01 -07:00
hgext3rd codemod: join the auto-formatter party 2018-05-25 22:17:29 -07:00
i18n Upgrade to 18.5b1 2018-05-30 02:23:58 -07:00
lib dataindex: fix dataindex to store index_start relative locations 2018-07-17 15:10:01 -07:00
mercurial test-rebase-collapse: use treestate 2018-07-17 16:06:07 -07:00
tests test-rebase-collapse: use treestate 2018-07-17 16:06:07 -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 setup: make GitHub export build 2018-07-09 15:08:05 -07:00
.hg-vendored-crates build: vendor in Rust dependencies 2018-01-09 17:48:32 -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
.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 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 chg: use a separate entry point 2018-05-08 17:02:22 -07: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: use homebrew python path when available 2018-04-27 11:19:28 -07:00
README.rst doc: rename README to README.rst 2017-09-26 08:37:17 +02:00
setup.py pushrebase: move to a separate package 2018-07-13 09:36:52 -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.