Mercurial > hg
changeset 16145:616c2e278f18 stable
context: use 'changectx.dirs()' in 'walk()' for directory patterns
this patch uses 'changectx.dirs()' instead of nested loop, to examine
whether specified pattern is related to the context as a directory or not.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Thu, 23 Feb 2012 00:07:54 +0900 |
parents | 4546a8513dcd |
children | a01d2fb5ba65 05197f9fd1f3 |
files | mercurial/context.py |
diffstat | 1 files changed, 6 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/context.py Thu Feb 23 00:07:54 2012 +0900 +++ b/mercurial/context.py Thu Feb 23 00:07:54 2012 +0900 @@ -206,14 +206,15 @@ # follow that here, too fset.discard('.') for fn in self: - for ffn in fset: - # match if the file is the exact name or a directory - if ffn == fn or fn.startswith("%s/" % ffn): - fset.remove(ffn) - break + if fn in fset: + # specified pattern is the exact name + fset.remove(fn) if match(fn): yield fn for fn in sorted(fset): + if fn in self._dirs: + # specified pattern is a directory + continue if match.bad(fn, _('no such file in rev %s') % self) and match(fn): yield fn