A Scalable, User-Friendly Source Control System.
Go to file
Jun Wu 863f8667b5 commandserver: handle backlog before exiting
Previously, when a chg server is exiting, it does not handle connected
clients so clients may get ECONNRESET and crash:

  1. client connect() # success
  2. server shouldexit = True and exit
  3. client recv() # ECONNRESET

297d89f2789e makes this race condition easier to reproduce if a lot of short
chg commands are started in parallel.

This patch fixes the above issue by unlinking the socket path to stop
queuing new connections and processing all pending connections before exit.
2017-02-08 14:45:30 -08:00
contrib chg: verify XDG_RUNTIME_DIR 2017-02-06 17:01:06 -08:00
doc ui: factor out ui.load() to create a ui without loading configs (API) 2016-10-22 14:35:10 +09:00
hgext zeroconf: fail nicely on IPv6 only system 2017-02-08 08:08:41 -08:00
hgext3rd extensions: also search for extension in the 'hgext3rd' package 2016-03-11 10:30:08 +00:00
i18n i18n-pt_BR: synchronized with 9495fca182d9 2017-02-01 08:47:11 -02:00
mercurial commandserver: handle backlog before exiting 2017-02-08 14:45:30 -08:00
tests runtests: check ports on IPv6 address 2017-02-09 05:57:54 -08: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 54d689c5e2bd 2017-02-01 10:19:49 -06: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.