Simon Heimberg <simohe@besonet.ch> [Sat, 08 Feb 2014 14:35:07 +0100] rev 20425
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.
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 06 Feb 2014 14:57:25 -0800] rev 20424
revset: minor changes adding baseset to revsets
Changed bits of code to work with baseset implementations.
Simon Heimberg <simohe@besonet.ch> [Mon, 10 Feb 2014 22:56:10 +0100] rev 20423
tests: rewrite path in test-shelve.t for not being mangled on msys
msys (on windows) converets '-R bundle:.XX/XX' to '-R bundle:;.XX/XX'. Avoid
this by writing '-R bundle://.XX/XX'. This is used more often than the
alternative work arounds like '-Rbundle://.XX/XX' or '-R bundle:Y/../.XX/XX'.
Brodie Rao <brodie@sf.io> [Mon, 10 Feb 2014 14:51:06 -0800] rev 20422
hooks: only disable/re-enable demandimport when it's already enabled
This fixes an issue introduced in
d7c28954d901 where, when disabling
demandimport while running hooks, it's inadvertently re-enabled even when
it was never enabled in the first place.
This doesn't affect normal command line usage of Mercurial; it only matters
when Mercurial is run with demandimport intentionally disabled.
Matt Mackall <mpm@selenic.com> [Sun, 09 Feb 2014 18:36:37 -0600] rev 20421
merge with stable
Mads Kiilerich <madski@unity3d.com> [Fri, 07 Feb 2014 17:29:37 +0100] rev 20420
convert: secret config option for disabling debugsvnlog
Subversion issues involving svn log such as
d54467c1a198 can be tricky to
debug when it is run in an 'hg debugsvnlog' sub process. Debugging is simpler
when convert only uses one process.
With this change convert will invoke the svn log directly when setting
[convert]
svn.debugsvnlog = False
This is intentionally not documented.
Mads Kiilerich <madski@unity3d.com> [Fri, 07 Feb 2014 17:28:37 +0100] rev 20419
convert: make subversion revsplit more stable when meeting revisions without @
revsplit would crash for instance if given a subversion string without @ ...
and that could somehow happen when playing around with convert.
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 06 Feb 2014 14:57:25 -0800] rev 20418
revset: minor changes adding baseset to revsets
Changed bits of code to work with baseset implementations.
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 06 Feb 2014 11:37:16 -0800] rev 20417
revset: added __add__ method to baseset class
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 06 Feb 2014 11:33:36 -0800] rev 20416
revset: added docstring to baseset class
Mads Kiilerich <madski@unity3d.com> [Mon, 10 Feb 2014 00:43:54 +0100] rev 20415
merge: don't overwrite file untracked after remove, abort with 'untracked files'
Merge could overwrite untracked files and cause data loss.
Instead we now handle the 'local side removed file and has untracked file
instead' case as the 'other side added file that local has untracked' case:
FILE: untracked file exists
abort: untracked files in working directory differ from files in requested revision
It could perhaps make sense to create .orig files when overwriting, either
instead of aborting or when overwriting anyway because of force ... but for now
we stay consistent with similar cases.
Mads Kiilerich <madski@unity3d.com> [Mon, 10 Feb 2014 00:54:40 +0100] rev 20414
shelve: better (and slightly redundant) test coverage for unshelve conflicts
Mads Kiilerich <madski@unity3d.com> [Mon, 10 Feb 2014 00:54:27 +0100] rev 20413
shelve: status messages from unshelve
It was hard for the user to know what was going on when unshelving - especially
if the user had to resolve conflicts and thus got to see the intermediate
states.
Seeing that pending changes was gone could scare the user, make him panic, and
do stuff that really made him lose data.
Merging (both when rebasing and with pending changes) also requires some
understanding of where in the process you are and what you are merging.
To help the user we now show a couple of status messages (when relevant):
temporarily committing pending changes (restore with 'hg unshelve --abort')
rebasing shelved changes
Mads Kiilerich <madski@unity3d.com> [Mon, 10 Feb 2014 00:54:12 +0100] rev 20412
shelve: be quiet when unshelve pulls from the shelve bundle
unshelve was quite verbose and it was hard for a user to follow what really was
going on. It ended up saying 'added 1 changesets' ... but the user just
expected and got pending changes and never saw any changeset.
The use of bundles is an implementation detail that we don't have to leak here.
Pulling is quite verbose, optimized for pulling many changesets from remote
repos - that is not the case here.
Instead, set the quiet flag when pulling the bundle - not only when temporarily
committing pending changes.
The 'finally' restore of ui.quiet is moved to the outer try/finally used for
locking.