Mercurial > public > mercurial-scm > hg-stable
diff mercurial/narrowspec.py @ 43077:687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Done with
python3.7 contrib/byteify-strings.py -i $(hg files 'set:mercurial/**.py - mercurial/thirdparty/** + hgext/**.py - hgext/fsmonitor/pywatchman/** - mercurial/__init__.py')
black -l 80 -t py33 -S $(hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**" - hgext/fsmonitor/pywatchman/**')
# skip-blame mass-reformatting only
Differential Revision: https://phab.mercurial-scm.org/D6972
author | Augie Fackler <augie@google.com> |
---|---|
date | Sun, 06 Oct 2019 09:48:39 -0400 |
parents | 2372284d9457 |
children | c59eb1560c44 |
line wrap: on
line diff
--- a/mercurial/narrowspec.py Sun Oct 06 09:45:02 2019 -0400 +++ b/mercurial/narrowspec.py Sun Oct 06 09:48:39 2019 -0400 @@ -19,9 +19,9 @@ ) # The file in .hg/store/ that indicates which paths exit in the store -FILENAME = 'narrowspec' +FILENAME = b'narrowspec' # The file in .hg/ that indicates which paths exit in the dirstate -DIRSTATE_FILENAME = 'narrowspec.dirstate' +DIRSTATE_FILENAME = b'narrowspec.dirstate' # Pattern prefixes that are allowed in narrow patterns. This list MUST # only contain patterns that are fast and safe to evaluate. Keep in mind @@ -40,7 +40,7 @@ Returns a tuple with the normalized kind and normalized pattern. """ - pat = pat.rstrip('/') + pat = pat.rstrip(b'/') _validatepattern(pat) return kind, pat @@ -50,7 +50,7 @@ # We use splitlines because it is Unicode-friendly and thus Python 3 # compatible. However, it does not count empty lines at the end, so trick # it by adding a character at the end. - return len((s + 'x').splitlines()) + return len((s + b'x').splitlines()) def _validatepattern(pat): @@ -63,20 +63,22 @@ # We use newlines as separators in the narrowspec file, so don't allow them # in patterns. if _numlines(pat) > 1: - raise error.Abort(_('newlines are not allowed in narrowspec paths')) + raise error.Abort(_(b'newlines are not allowed in narrowspec paths')) - components = pat.split('/') - if '.' in components or '..' in components: - raise error.Abort(_('"." and ".." are not allowed in narrowspec paths')) + components = pat.split(b'/') + if b'.' in components or b'..' in components: + raise error.Abort( + _(b'"." and ".." are not allowed in narrowspec paths') + ) -def normalizepattern(pattern, defaultkind='path'): +def normalizepattern(pattern, defaultkind=b'path'): """Returns the normalized version of a text-format pattern. If the pattern has no kind, the default will be added. """ kind, pat = matchmod._patsplit(pattern, defaultkind) - return '%s:%s' % normalizesplitpattern(kind, pat) + return b'%s:%s' % normalizesplitpattern(kind, pat) def parsepatterns(pats): @@ -107,7 +109,7 @@ """ if not isinstance(pats, set): raise error.ProgrammingError( - 'narrow patterns should be a set; ' 'got %r' % pats + b'narrow patterns should be a set; ' b'got %r' % pats ) for pat in pats: @@ -115,22 +117,22 @@ # Use a Mercurial exception because this can happen due to user # bugs (e.g. manually updating spec file). raise error.Abort( - _('invalid prefix on narrow pattern: %s') % pat, + _(b'invalid prefix on narrow pattern: %s') % pat, hint=_( - 'narrow patterns must begin with one of ' - 'the following: %s' + b'narrow patterns must begin with one of ' + b'the following: %s' ) - % ', '.join(VALID_PREFIXES), + % b', '.join(VALID_PREFIXES), ) def format(includes, excludes): - output = '[include]\n' + output = b'[include]\n' for i in sorted(includes - excludes): - output += i + '\n' - output += '[exclude]\n' + output += i + b'\n' + output += b'[exclude]\n' for e in sorted(excludes): - output += e + '\n' + output += e + b'\n' return output @@ -141,18 +143,18 @@ # the nevermatcher. return matchmod.never() return matchmod.match( - root, '', [], include=include or [], exclude=exclude or [] + root, b'', [], include=include or [], exclude=exclude or [] ) def parseconfig(ui, spec): # maybe we should care about the profiles returned too - includepats, excludepats, profiles = sparse.parseconfig(ui, spec, 'narrow') + includepats, excludepats, profiles = sparse.parseconfig(ui, spec, b'narrow') if profiles: raise error.Abort( _( - "including other spec files using '%include' is not" - " supported in narrowspec" + b"including other spec files using '%include' is not" + b" supported in narrowspec" ) ) @@ -251,7 +253,7 @@ invalid_includes = [] if not req_includes: res_includes = set(repo_includes) - elif 'path:.' not in repo_includes: + elif b'path:.' not in repo_includes: res_includes = [] for req_include in req_includes: req_include = util.expandpath(util.normpath(req_include)) @@ -260,14 +262,14 @@ continue valid = False for repo_include in repo_includes: - if req_include.startswith(repo_include + '/'): + if req_include.startswith(repo_include + b'/'): valid = True res_includes.append(req_include) break if not valid: invalid_includes.append(req_include) if len(res_includes) == 0: - res_excludes = {'path:.'} + res_excludes = {b'path:.'} else: res_includes = set(res_includes) else: @@ -285,15 +287,15 @@ def _writeaddedfiles(repo, pctx, files): actions = merge.emptyactions() addgaction = actions[merge.ACTION_GET].append - mf = repo['.'].manifest() + mf = repo[b'.'].manifest() for f in files: if not repo.wvfs.exists(f): - addgaction((f, (mf.flags(f), False), "narrowspec updated")) + addgaction((f, (mf.flags(f), False), b"narrowspec updated")) merge.applyupdates( repo, actions, wctx=repo[None], - mctx=repo['.'], + mctx=repo[b'.'], overwrite=False, wantfiledata=False, ) @@ -307,8 +309,8 @@ wcspec = repo.vfs.tryread(DIRSTATE_FILENAME) if wcspec != storespec: raise error.Abort( - _("working copy's narrowspec is stale"), - hint=_("run 'hg tracked --update-working-copy'"), + _(b"working copy's narrowspec is stale"), + hint=_(b"run 'hg tracked --update-working-copy'"), ) @@ -343,15 +345,17 @@ _deletecleanfiles(repo, clean) uipathfn = scmutil.getuipathfn(repo) for f in sorted(trackeddirty): - repo.ui.status(_('not deleting possibly dirty file %s\n') % uipathfn(f)) + repo.ui.status( + _(b'not deleting possibly dirty file %s\n') % uipathfn(f) + ) for f in sorted(status.unknown): - repo.ui.status(_('not deleting unknown file %s\n') % uipathfn(f)) + repo.ui.status(_(b'not deleting unknown file %s\n') % uipathfn(f)) for f in sorted(status.ignored): - repo.ui.status(_('not deleting ignored file %s\n') % uipathfn(f)) + repo.ui.status(_(b'not deleting ignored file %s\n') % uipathfn(f)) for f in clean + trackeddirty: ds.drop(f) - pctx = repo['.'] + pctx = repo[b'.'] newfiles = [f for f in pctx.manifest().walk(addedmatch) if f not in ds] for f in newfiles: ds.normallookup(f)