A Scalable, User-Friendly Source Control System.
Go to file
Simon Heimberg 7b0d35f51c win32: spawndetached returns pid of detached process and not of cmd.exe
win32.spawndetached starts the detached process by `cmd.exe` (or COMSPEC). The
pid it returned was the one of cmd.exe and not the one of the detached process.
When this pid is used to kill the process, the detached process is not killed,
but only cmd.exe.

With this patch the pid of the detached process is written to the pid file.
Killing the process works as expected.

The pid is only evaluated on writing the pid file. It is unnecessary to search
the pid when it is not needed. And more important, it probably does not yet
exist right after the cmd.exe process was started. When the pid is written to
the file, waiting for the start of the detached process has already happened.
Use this functionality instead of writing a 2nd wait function.

Many tests on windows will not fail anymore, all those with the first failing
line "abort: child process failed to start". (The processes still hanging
around from previous test runs have to be killed first. They still block a
tcp port.)
A good test for the functionality of this patch is test-treediscovery.t,
because it starts and kills `hg serve -d` several times.
2014-02-08 14:35:07 +01:00
contrib tests: rewrite path in test-shelve.t for not being mangled on msys 2014-02-10 22:56:10 +01:00
doc doc: show details of command options in pages generated by docutils 2013-11-08 14:42:09 +09:00
hgext convert: secret config option for disabling debugsvnlog 2014-02-07 17:29:37 +01:00
i18n i18n: leave out entries which contain only rst syntax 2014-02-03 21:34:13 +01:00
mercurial win32: spawndetached returns pid of detached process and not of cmd.exe 2014-02-08 14:35:07 +01:00
tests tests: rewrite path in test-shelve.t for not being mangled on msys 2014-02-10 22:56:10 +01:00
.hgignore Makefile: do update on a temporary copy of a po file 2013-11-05 09:43:36 +01:00
.hgsigs Added signature for changeset 235171a1c71c 2014-02-01 15:20:49 -06: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 Makefile: hg.pot depends on the scripts generating it 2013-11-17 20:16:14 +01:00
README readme: mention how to run in-place 2012-03-02 21:43:55 +02:00
setup.py setup: check if mercurial/util.h has been modified 2013-09-13 10:00:57 +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 http://mercurial.selenic.com/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.