Mercurial > hg
view contrib/casesmash.py @ 40084:2cf18f46a1ce
narrow: only walk files within narrowspec also for committed revisions
Narrow has been walking only paths matching the narrowspec when
walking the working copy. We have not done the same filtering when
walking committed revisions (e.g. "hg files -r "), which seems a
little odd. Let's make it consistent.
Differential Revision: https://phab.mercurial-scm.org/D4898
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 28 Sep 2018 17:09:15 -0700 |
parents | 42a7301fb4d5 |
children | 2372284d9457 |
line wrap: on
line source
from __future__ import absolute_import import __builtin__ import os from mercurial import ( util, ) def lowerwrap(scope, funcname): f = getattr(scope, funcname) def wrap(fname, *args, **kwargs): d, base = os.path.split(fname) try: files = os.listdir(d or '.') except OSError: files = [] if base in files: return f(fname, *args, **kwargs) for fn in files: if fn.lower() == base.lower(): return f(os.path.join(d, fn), *args, **kwargs) return f(fname, *args, **kwargs) scope.__dict__[funcname] = wrap def normcase(path): return path.lower() os.path.normcase = normcase for f in 'file open'.split(): lowerwrap(__builtin__, f) for f in "chmod chown open lstat stat remove unlink".split(): lowerwrap(os, f) for f in "exists lexists".split(): lowerwrap(os.path, f) lowerwrap(util, 'posixfile')