Mercurial > hg
diff mercurial/dirstate.py @ 42341:27d6956d386b
match: use '' instead of '.' for root directory (API)
I think '' is generally a better value for the root directory than '.'
is. For example, os.path.join('', 'foo') => 'foo', while
os.path.join('.', 'foo') => './foo'.
This patch mostly makes it so we use '' internally in
match.py. However, it also affects the API in visitdir(),
visitchildrenset() and files(). The two former now also accept '' as
input. I've updated the callers of these methods. I've also added a
deprecation warning for passing '.' (for external callers). The only
caller I could find that was affected by files() returning '' instead
of '.' was in dirstate.walk(). I've updated that.
The next few patches show some workarounds we can remove by using ''
instead of '.'.
Differential Revision: https://phab.mercurial-scm.org/D6401
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 15 May 2017 00:12:19 -0700 |
parents | 7ada598941d2 |
children | 448486e12c13 |
line wrap: on
line diff
--- a/mercurial/dirstate.py Wed Apr 24 09:32:29 2019 -0700 +++ b/mercurial/dirstate.py Mon May 15 00:12:19 2017 -0700 @@ -757,10 +757,10 @@ del files[i] j += 1 - if not files or '.' in files: - files = ['.'] + if not files or '' in files: + files = [''] # constructing the foldmap is expensive, so don't do it for the - # common case where files is ['.'] + # common case where files is [''] normalize = None results = dict.fromkeys(subrepos) results['.hg'] = None @@ -910,9 +910,7 @@ if visitentries == 'this' or visitentries == 'all': visitentries = None skip = None - if nd == '.': - nd = '' - else: + if nd != '': skip = '.hg' try: entries = listdir(join(nd), stat=True, skip=skip)