A Scalable, User-Friendly Source Control System.
Go to file
FUJIWARA Katsunori 37ccfcc8ea merge: increase safety of parallel updating/removing on icasefs
"merge.applyupdates()" sorts "actions" in removal first order, and
"workeractions" derived from it should be also sorted.

If each actions in "workeractions" are executed in serial, this
sorting ensures that merging/updating process is collision free,
because updating the file in target context is always executed after
removing the existing file which causes case-folding collision against
the former.

In the other hand, if each actions are executed in parallel, updating
on a worker process may be executed before removing on another worker
process, because "worker.partition()" partitions list of actions
regardless of type of each actions.

This patch divides "workeractions" into removing and updating, and
executes the former first.

This patch still scans "actions"/"workeractions" some times for ease
of patch review, even though large list may cost much in this way.
(total cost should be as same as before)

This also changes some tests, because dividing "workeractions" affects
progress indication.
2013-04-29 15:58:15 +09:00
contrib win32: use explicit path to "python.exe" only if it exists 2013-04-26 01:12:03 +09:00
doc codingstyle: remove trailing spaces in various text files 2013-04-17 03:40:18 +02:00
hgext largefiles: use repo.wwrite for writing standins (issue3909) 2013-04-27 00:41:42 +02:00
i18n i18n-pt_BR: synchronized with ff1886253606 2013-04-20 19:01:36 -03:00
mercurial merge: increase safety of parallel updating/removing on icasefs 2013-04-29 15:58:15 +09:00
tests merge: increase safety of parallel updating/removing on icasefs 2013-04-29 15:58:15 +09:00
.hgignore exewrapper: adapt for legacy HackableMercurial 2012-08-07 11:04:41 +02:00
.hgsigs Added signature for changeset b842f0d8d8e8 2013-04-18 23:50:15 -05: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 rename util.set_binary to setbinary 2011-05-06 15:25:35 +02:00
hgeditor Fixed a bashism with the use of $RANDOM in hgeditor. 2010-05-19 18:06:35 +02:00
hgweb.cgi mq: add a warning about uncommitted changes for qfinish 2011-11-10 15:40:34 -06:00
Makefile check-code: add Makefile target to run check-code 2013-02-09 15:57:04 +01:00
README readme: mention how to run in-place 2012-03-02 21:43:55 +02:00
setup.py setup: make error message for missing Python headers more helpful 2013-04-12 16:55:34 -04: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 http://mercurial.selenic.com/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.