A Scalable, User-Friendly Source Control System.
Go to file
Mads Kiilerich 120b66d101 merge: fix crash on criss cross merge with dir move and delete (issue5020)
Work around that 'dm' in the data model only can have one operation for the
target file, but still can have multiple and conflicting operations on the
source file where the other operation is a 'rm'. The move would thus fail with
'abort: No such file or directory'.

In this case it is "obvious" that the file should be removed, either before or
after moving it. We thus keep the 'rm' of the source file but drop the 'dm'.

This is not a pretty fix but quite "obviously" safe (famous last words...) as
it only touches a rare code path that used to crash. It is possible that it
would be better to swap the files for 'dm' as suggested on
https://bz.mercurial-scm.org/show_bug.cgi?id=5020#c13 but it is not entirely
obvious that it not just would create conflicts on the other file. That can be
revisited later.
2017-01-31 03:25:59 +01:00
contrib contrib: fix check-commit to not reject commits from hg sign and hg tag 2017-01-18 23:34:35 -05:00
doc ui: factor out ui.load() to create a ui without loading configs (API) 2016-10-22 14:35:10 +09:00
hgext pager: wrap _runcommand() no matter if stdout is redirected 2017-01-19 23:01:32 +09:00
hgext3rd extensions: also search for extension in the 'hgext3rd' package 2016-03-11 10:30:08 +00:00
i18n merge with stable 2017-01-04 14:52:59 -05:00
mercurial merge: fix crash on criss cross merge with dir move and delete (issue5020) 2017-01-31 03:25:59 +01:00
tests merge: fix crash on criss cross merge with dir move and delete (issue5020) 2017-01-31 03:25:59 +01:00
.editorconfig mercurial: add editorconfig 2016-04-05 18:10:33 +01:00
.hgignore perf: add asv benchmarks 2016-09-29 10:16:34 +02:00
.hgsigs Added signature for changeset c00c73271d0f 2017-01-18 20:03: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: remove targets for building packages for ubuntu wily (end of life) 2017-01-06 09:56:40 +08:00
README urls: bulk-change primary website URLs 2015-09-30 15:43:49 -05:00
setup.py setup: pass named argument to setup_zstd 2017-01-04 19:17:44 -08: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.