Matt Harbison <matt_harbison@yahoo.com> [Sun, 16 Nov 2014 00:24:23 -0500] rev 23327
remove: avoid a bogus warning about no tracked files when removing '.'
Previously, any files relative to the root of the repo that match the -I
patterns would be deleted, but the command exited with 1 after printing a
warning:
$ hg remove -S -I 're:.*.txt' .
removing sub1/sub2/folder/test.txt
removing sub1/sub2/test.txt
not removing .: no tracked files
Matt Harbison <matt_harbison@yahoo.com> [Wed, 12 Nov 2014 23:15:20 -0500] rev 23326
remove: support remove with explicit paths in subrepos
Matt Harbison <matt_harbison@yahoo.com> [Sat, 15 Nov 2014 21:36:19 -0500] rev 23325
remove: recurse into subrepositories with --subrepos/-S flag
Like 'forget', git and svn subrepos are currently not supported. Unfortunately
the name 'remove' is already used in the subrepo classes, so we break the
convention of naming the subrepo function after the command.
Yuya Nishihara <yuya@tcha.org> [Sat, 15 Nov 2014 13:50:43 +0900] rev 23324
cmdserver: protect pipe server streams against corruption caused by direct io
Because pipe-mode server uses stdio as IPC channel, other modules should not
touch stdio directly and use ui instead. However, this strategy is brittle
because several Python functions read and write stdio implicitly.
print 'hello' # should use ui.write()
# => ch = 'h', size = 1701604463 'ello', data = '\n'
This patch adds protection for such mistakes. Both stdio files and low-level
file descriptors are redirected to /dev/null while command server uses them.
Yuya Nishihara <yuya@tcha.org> [Sat, 15 Nov 2014 13:04:41 +0900] rev 23323
cmdserver: postpone creation of pipe server until run()
This makes it easy to swap file descriptors while running command server.
Yuya Nishihara <yuya@tcha.org> [Sat, 15 Nov 2014 12:43:35 +0900] rev 23322
cmdserver: use given streams as pipe channels like other commands
Because commandserver itself is an hg subcommand, it shouldn't use stdio
directly in principle.
Siddharth Agarwal <sid0@fb.com> [Fri, 14 Nov 2014 16:38:58 -0800] rev 23321
revset.only: use cl.findmissingrevs
ancestor.missingancestors is really an implementation detail.