sapling/mercurial
Matt Harbison 3adb63e5c0 match: explicitly naming a subrepo implies always() for the submatcher
The files command supports naming directories to limit the output to children of
that directory, and it also supports -S to force recursion into a subrepo.  But
previously, using -S and naming a subrepo caused nothing to be output.  The
reason was narrowmatcher() strips the current subrepo path off of each file,
which would leave an empty list if only the subrepo was named.

When matching on workingctx, dirstate.matches() would see the submatcher is not
always(), so it returned the list of files in dmap for each file in the matcher-
namely, an empty list.  If a directory in a subrepo was named, the output was as
expected, so this was inconsistent.

The 'not anypats()' check is enforced by an existing test around line 140:

    $ hg remove -I 're:.*.txt' sub1

Without the check, this removed all of the files in the subrepo.
2015-05-17 22:09:37 -04:00
..
default.d mergetools: drop incorrect quoting of diffargs variables 2015-01-28 02:28:38 +01:00
help subrepo: update the help text to account for diff -I/-X gitsubrepo support 2015-04-27 20:25:09 -04:00
hgweb webcommands: fix description of manifest default behavior 2015-04-27 19:13:55 -03:00
httpclient style: kill ersatz if-else ternary operators 2015-03-13 17:00:06 -04:00
pure parsers: remove unused dependency on util 2015-04-06 13:59:36 -07:00
templates hgweb: bring back infinite scroll in shortlog of paper style 2015-05-07 07:46:39 +09:00
__init__.py
ancestor.py ancestor: add a way to remove ancestors of bases from a given set 2014-11-14 19:40:30 -08:00
archival.py archive: look for first visible revision to build repo identity (issue4591) 2015-04-08 23:30:02 +09:00
base85.c
bdiff.c bdiff: avoid a memory error on malloc failure 2013-10-30 16:03:42 -05:00
bookmarks.py bookmarks: add i18n hints to bookmark sync states 2015-04-21 21:02:08 -03:00
branchmap.py repoview: move function for computing filtered hash 2015-04-01 18:43:29 -07:00
bundle2.py bundle2: disable ouput capture unless we use http (issue4613 issue4615) 2015-04-28 17:38:02 -07:00
bundlerepo.py bundlerepo: disable filtering of changelog while constructing revision text 2015-04-29 19:47:37 +09:00
byterange.py style: kill ersatz if-else ternary operators 2015-03-13 17:00:06 -04:00
changegroup.py changegroup: flush the ui stdio buffers after adding a changegroup 2015-04-10 23:34:06 -04:00
changelog.py changelog: fix readpending if no pending data exist (issue4609) 2015-04-20 17:16:22 +02:00
cmdutil.py record: fix adding new file with record from within a subdir (issue4626) 2015-04-27 14:02:49 -07:00
commands.py commands: hide formatter option as EXPERIMENTAL, not as DEPRECATED 2015-04-30 22:40:18 +09:00
commandserver.py cmdserver: include pid of server handling requests in hello message 2014-10-18 12:24:50 +09:00
config.py config: use util.re.compile instead of util.compilere 2014-07-15 14:50:58 -07:00
context.py context: don't complain about a matcher's subrepo paths in changectx.walk() 2015-05-17 01:06:10 -04:00
copies.py copies: add matcher parameter to copy logic 2015-04-16 11:29:30 -07:00
crecord.py record: change wording for record curses interface 2015-04-21 16:20:43 -07:00
dagparser.py
dagutil.py style: kill ersatz if-else ternary operators 2015-03-13 17:00:06 -04:00
demandimport.py demandimport: blacklist distutils.msvc9compiler (issue4475) 2014-12-22 17:27:31 -05:00
diffhelpers.c diffhelpers: fix botched return statement from e48d70075d8a 2015-01-28 13:34:20 -05:00
dirs.c dirs._addpath: reinstate use of Py_CLEAR 2015-04-07 20:43:04 -07:00
dirstate.py dirstate: use pathutil.normasprefix to ensure os.sep at the end of root 2015-04-22 23:38:52 +09:00
discovery.py discovery: don't compute allfuturecommon when it won't be used 2015-04-13 09:54:36 -04:00
dispatch.py dispatch: work around UnicodeDecodeError caused by SSLError of Python 2.7.9 2015-02-26 23:30:33 +09:00
dummycert.pem ssl: on OS X, use a dummy cert to trick Python/OpenSSL to use system CA certs 2014-09-26 02:19:48 +02:00
encoding.py util.h: define an enum for normcase specs 2015-04-02 19:17:32 -07:00
error.py hook: raise a more specialized HookAbort exception when a hook fails 2014-11-29 19:13:35 -08:00
exchange.py ssh: capture output with bundle2 again (issue4642) 2015-05-18 22:35:27 -05:00
exewrapper.c
extensions.py extensions: clear aftercallbacks after execution (issue4646) 2015-05-06 09:52:10 -07:00
fancyopts.py fancyopts: restore use of callable() since it was readded in Python 3.2 2014-06-23 09:24:16 -04:00
filelog.py filelog: use censored revlog flag bit to quickly check if a node is censored 2015-01-12 15:29:36 -05:00
filemerge.py merge: better debug messages before/after invoking external merge tool 2015-03-19 22:22:50 +01:00
fileset.py fileset: add a fileset for portable filenames 2015-03-19 21:26:18 -07:00
formatter.py formatter: convert None to json null 2014-09-17 22:34:34 +09:00
graphmod.py dagwalker: drop a useless intermediate variable 2014-10-08 02:43:51 -07:00
hbisect.py localrepo: remove all external users of localrepo.opener 2015-01-15 23:17:12 +01:00
help.py help: also hide options marked EXPERIMENTAL 2015-04-27 15:12:41 -07:00
hg.py share: replace the bookmarks.shared file with an entry on a new "shared" file 2015-01-11 16:20:15 +01:00
hook.py hook: forcibly flush stderr for Windows test stability 2015-04-10 22:30:19 -04:00
httpconnection.py httpconnection: properly inject ssl_wrap_socket into httpclient (issue4038) 2013-09-20 09:16:07 -04:00
httppeer.py changegroup.writebundle: provide ui 2015-01-15 14:39:41 -08:00
i18n.py i18n: cache the result of every gettext call 2014-10-17 13:52:10 -04:00
ignore.py
keepalive.py util: move md5 back next to sha1 and allow to call it without an argument 2014-09-24 16:00:47 +09:00
localrepo.py revert: apply normallookup on reverted file if size isn't changed (issue4583) 2015-04-24 23:52:41 +09:00
lock.py lock: while releasing, unlink lockfile even if the release function throws 2014-10-16 19:15:51 -07:00
lsprof.py profiling: replace '+' markup of nested lines with indentation 2013-02-08 22:54:48 +01:00
lsprofcalltree.py
mail.py mail: actually use the verifycert config value 2014-11-05 18:31:39 +00:00
manifest.c lazymanifest: prevent leak when updating an entry more than once 2015-04-11 11:56:21 -04:00
manifest.py treemanifest: extract parse method from constructor 2015-04-12 23:01:18 -07:00
match.py match: explicitly naming a subrepo implies always() for the submatcher 2015-05-17 22:09:37 -04:00
mdiff.py mdiff: add helper for making deltas which replace the full text of a revision 2015-01-21 16:35:09 -05:00
merge.py merge: run update hook after the last wlock release 2015-04-29 15:52:31 -04:00
minirst.py help: show all nested subsections of a section with hg help foo.section 2014-10-06 07:35:53 -04:00
mpatch.c mpatch: rewrite pointer overflow checks 2013-12-11 18:33:42 -06:00
namespaces.py revset: mask specific names for named() predicate 2015-02-05 14:45:49 +09:00
node.py
obsolete.py obsstore: make the invalid markers check wrap-able 2015-01-30 18:49:33 +00:00
osutil.c osutil: mark end of string with null char, not 0 2015-03-25 16:21:58 -07:00
parser.py parser: allow passing a lookup function to a tokenizer 2014-03-18 17:17:23 -05:00
parsers.c parsers: avoid signed integer overflow in calculation of leaf-node index 2015-04-29 23:07:34 +09:00
patch.py record: edit patch of newly added files (issue4304) 2015-04-23 14:27:26 -07:00
pathencode.c pathencode: eliminate signed integer warnings 2014-02-19 13:11:24 -08:00
pathutil.py pathauditor: check for Windows shortname aliases 2014-12-18 14:18:28 -06:00
peer.py
phases.py phases: make two functions private for phase computation 2015-03-30 15:38:24 -07:00
posix.py util: add removedirs as platform depending function 2015-04-11 00:47:09 +09:00
pushkey.py obsolete: add exchange option 2014-10-14 13:26:01 -07:00
pvec.py pvec: replace 'ctx._repo' with 'ctx.repo()' 2015-03-12 23:18:20 -04:00
py3kcompat.py py3kcompat: drop unused export 2014-05-13 15:22:36 -05:00
repair.py repair: avoid string concatenation by + operator 2015-04-25 23:44:53 +09:00
repoview.py repoview: avoid processing the same rev twice in _getstatichidden 2015-04-03 14:41:18 -07:00
revlog.py revlog: make converting from inline to non-line work after a strip 2015-03-25 15:58:31 -04:00
revset.py revset: map postfix '%' to only() to optimize operand recursively (issue4670) 2015-05-15 22:32:31 +09:00
scmposix.py config: don't read the same config file twice 2014-09-04 21:36:35 +02:00
scmutil.py devel-warn: add a prefix to all messages ("devel-warn: ") 2015-04-15 01:18:09 -04:00
scmwindows.py config: don't read the same config file twice 2014-09-04 21:36:35 +02:00
setdiscovery.py setdiscovery: document '_takequicksample' 2015-01-07 20:44:20 -08:00
similar.py
simplemerge.py simplemerge: remove dead code 2014-08-07 12:51:45 -04:00
sshpeer.py sshpeer: more thorough shell quoting 2014-12-29 14:27:02 -06:00
sshserver.py changegroup: rename bundle-related functions and classes 2014-09-02 12:11:36 +02:00
sslutil.py ssl: resolve symlink before checking for Apple python executable (issue4588) 2015-04-04 14:56:18 +09:00
statichttprepo.py localrepo: remove all external users of localrepo.opener 2015-01-15 23:17:12 +01:00
store.py store: drop unused existing list 2014-04-03 12:59:12 -05:00
strutil.py
subrepo.py archive: always use portable path component separators with subrepos 2015-05-04 22:33:29 -04:00
tagmerge.py filemerge: add internal:tagmerge merge tool 2014-06-26 01:20:25 +02:00
tags.py tags: do not abort if failed to write lock file to save cache 2015-04-17 23:22:58 +09:00
templatefilters.py templatefilters: add "upper" and "lower" for case conversion 2015-03-30 23:54:29 +09:00
templatekw.py templatekw: have {manifest} use ctx.manifestnode() for consistency 2015-04-08 21:04:06 +09:00
templater.py templater: strictly parse leading backslashes of '{' (issue4569) (BC) 2015-05-04 10:17:34 +09:00
transaction.py transaction: add missing newline to message 2015-04-14 10:59:26 -04:00
treediscovery.py discovery: stop using nodemap for membership testing 2013-11-15 23:28:43 -05:00
ui.py ui: disable revsetaliases in plain mode (BC) 2015-04-30 07:46:54 -07:00
unionrepo.py unionrepo: use pathutil.normasprefix to ensure os.sep at the end of cwd 2015-04-22 23:38:55 +09:00
url.py https: support tls sni (server name indication) for https urls (issue3090) 2015-01-12 18:01:20 -07:00
util.h util: fix the check for non-C99 compilers (issue4605) 2015-04-20 22:21:57 -05:00
util.py util.checkcase: don't abort on broken symlinks 2015-05-03 12:49:15 -07:00
verify.py verify: add a note about a paleo-bug 2015-03-27 15:13:21 -05:00
win32.py win32: 'raise ctypes.WinError' -> 'raise ctypes.WinError()' 2015-03-22 19:08:13 -04:00
windows.py windows: make shellquote() quote any path containing '\' (issue4629) 2015-04-29 21:14:59 -04:00
wireproto.py bundle2: refactor error bundle creation for the wireprotocol 2015-04-16 03:56:50 -04:00
worker.py cleanup: avoid _ for local unused tmp variables - that is reserved for i18n 2014-08-15 16:20:47 +02:00