Mercurial > public > mercurial-scm > hg-stable
diff mercurial/copies.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 | d783f945a701 |
line wrap: on
line diff
--- a/mercurial/copies.py Sun Oct 06 09:45:02 2019 -0400 +++ b/mercurial/copies.py Sun Oct 06 09:48:39 2019 -0400 @@ -170,7 +170,7 @@ ds = repo.dirstate c = ds.copies().copy() for k in list(c): - if ds[k] not in 'anm' or (match and not match(k)): + if ds[k] not in b'anm' or (match and not match(k)): del c[k] return c @@ -187,8 +187,8 @@ def usechangesetcentricalgo(repo): """Checks if we should use changeset-centric copy algorithms""" - readfrom = repo.ui.config('experimental', 'copies.read-from') - changesetsource = ('changeset-only', 'compatibility') + readfrom = repo.ui.config(b'experimental', b'copies.read-from') + changesetsource = (b'changeset-only', b'compatibility') return readfrom in changesetsource @@ -201,13 +201,13 @@ if usechangesetcentricalgo(repo): return _changesetforwardcopies(a, b, match) - debug = repo.ui.debugflag and repo.ui.configbool('devel', 'debug.copies') + debug = repo.ui.debugflag and repo.ui.configbool(b'devel', b'debug.copies') dbg = repo.ui.debug if debug: - dbg('debug.copies: looking into rename from %s to %s\n' % (a, b)) + dbg(b'debug.copies: looking into rename from %s to %s\n' % (a, b)) limit = _findlimit(repo, a, b) if debug: - dbg('debug.copies: search limit: %d\n' % limit) + dbg(b'debug.copies: search limit: %d\n' % limit) am = a.manifest() basemf = None if base is None else base.manifest() @@ -231,11 +231,11 @@ ancestrycontext = a._repo.changelog.ancestors([b.rev()], inclusive=True) if debug: - dbg('debug.copies: missing files to search: %d\n' % len(missing)) + dbg(b'debug.copies: missing files to search: %d\n' % len(missing)) for f in sorted(missing): if debug: - dbg('debug.copies: tracing file: %s\n' % f) + dbg(b'debug.copies: tracing file: %s\n' % f) fctx = b[f] fctx._ancestrycontext = ancestrycontext @@ -244,11 +244,11 @@ opath = _tracefile(fctx, am, basemf, limit) if opath: if debug: - dbg('debug.copies: rename of: %s\n' % opath) + dbg(b'debug.copies: rename of: %s\n' % opath) cm[f] = opath if debug: dbg( - 'debug.copies: time: %f seconds\n' + b'debug.copies: time: %f seconds\n' % (util.timer() - start) ) return cm @@ -342,7 +342,7 @@ def _backwardrenames(a, b, match): - if a._repo.ui.config('experimental', 'copytrace') == 'off': + if a._repo.ui.config(b'experimental', b'copytrace') == b'off': return {} # Even though we're not taking copies into account, 1:n rename situations @@ -366,26 +366,28 @@ def pathcopies(x, y, match=None): """find {dst@y: src@x} copy mapping for directed compare""" repo = x._repo - debug = repo.ui.debugflag and repo.ui.configbool('devel', 'debug.copies') + debug = repo.ui.debugflag and repo.ui.configbool(b'devel', b'debug.copies') if debug: - repo.ui.debug('debug.copies: searching copies from %s to %s\n' % (x, y)) + repo.ui.debug( + b'debug.copies: searching copies from %s to %s\n' % (x, y) + ) if x == y or not x or not y: return {} a = y.ancestor(x) if a == x: if debug: - repo.ui.debug('debug.copies: search mode: forward\n') + repo.ui.debug(b'debug.copies: search mode: forward\n') if y.rev() is None and x == y.p1(): # short-circuit to avoid issues with merge states return _dirstatecopies(repo, match) copies = _forwardcopies(x, y, match=match) elif a == y: if debug: - repo.ui.debug('debug.copies: search mode: backward\n') + repo.ui.debug(b'debug.copies: search mode: backward\n') copies = _backwardrenames(x, y, match=match) else: if debug: - repo.ui.debug('debug.copies: search mode: combined\n') + repo.ui.debug(b'debug.copies: search mode: combined\n') base = None if a.rev() != node.nullrev: base = x @@ -453,7 +455,7 @@ if c2.node() is None and c1.node() == repo.dirstate.p1(): return _dirstatecopies(repo, narrowmatch), {}, {}, {}, {} - copytracing = repo.ui.config('experimental', 'copytrace') + copytracing = repo.ui.config(b'experimental', b'copytrace') if stringutil.parsebool(copytracing) is False: # stringutil.parsebool() returns None when it is unable to parse the # value, so we should rely on making sure copytracing is on such cases @@ -466,7 +468,7 @@ # Copy trace disabling is explicitly below the node == p1 logic above # because the logic above is required for a simple copy to be kept across a # rebase. - if copytracing == 'heuristics': + if copytracing == b'heuristics': # Do full copytracing if only non-public revisions are involved as # that will be fast enough and will also cover the copies which could # be missed by heuristics @@ -490,9 +492,9 @@ c1 = c1.p1() if c1.mutable() and base.mutable(): sourcecommitlimit = repo.ui.configint( - 'experimental', 'copytrace.sourcecommitlimit' + b'experimental', b'copytrace.sourcecommitlimit' ) - commits = len(repo.revs('%d::%d', base.rev(), c1.rev())) + commits = len(repo.revs(b'%d::%d', base.rev(), c1.rev())) return commits < sourcecommitlimit return False @@ -592,11 +594,11 @@ u1 = sorted(addedinm1 - addedinm2) u2 = sorted(addedinm2 - addedinm1) - header = " unmatched files in %s" + header = b" unmatched files in %s" if u1: - repo.ui.debug("%s:\n %s\n" % (header % 'local', "\n ".join(u1))) + repo.ui.debug(b"%s:\n %s\n" % (header % b'local', b"\n ".join(u1))) if u2: - repo.ui.debug("%s:\n %s\n" % (header % 'other', "\n ".join(u2))) + repo.ui.debug(b"%s:\n %s\n" % (header % b'other', b"\n ".join(u2))) fullcopy = copies1.copy() fullcopy.update(copies2) @@ -605,23 +607,23 @@ if repo.ui.debugflag: repo.ui.debug( - " all copies found (* = to merge, ! = divergent, " - "% = renamed and deleted):\n" + b" all copies found (* = to merge, ! = divergent, " + b"% = renamed and deleted):\n" ) for f in sorted(fullcopy): - note = "" + note = b"" if f in copy: - note += "*" + note += b"*" if f in divergeset: - note += "!" + note += b"!" if f in renamedeleteset: - note += "%" + note += b"%" repo.ui.debug( - " src: '%s' -> dst: '%s' %s\n" % (fullcopy[f], f, note) + b" src: '%s' -> dst: '%s' %s\n" % (fullcopy[f], f, note) ) del divergeset - repo.ui.debug(" checking for directory renames\n") + repo.ui.debug(b" checking for directory renames\n") # generate a directory move map d1, d2 = c1.dirs(), c2.dirs() @@ -656,11 +658,11 @@ if not dirmove: return copy, {}, diverge, renamedelete, {} - dirmove = {k + "/": v + "/" for k, v in dirmove.iteritems()} + dirmove = {k + b"/": v + b"/" for k, v in dirmove.iteritems()} for d in dirmove: repo.ui.debug( - " discovered dir src: '%s' -> dst: '%s'\n" % (d, dirmove[d]) + b" discovered dir src: '%s' -> dst: '%s'\n" % (d, dirmove[d]) ) movewithdir = {} @@ -674,7 +676,7 @@ if df not in copy: movewithdir[f] = df repo.ui.debug( - (" pending file src: '%s' -> " "dst: '%s'\n") + (b" pending file src: '%s' -> " b"dst: '%s'\n") % (f, df) ) break @@ -716,11 +718,11 @@ changedfiles = set() m1 = c1.manifest() - if not repo.revs('%d::%d', base.rev(), c2.rev()): + if not repo.revs(b'%d::%d', base.rev(), c2.rev()): # If base is not in c2 branch, we switch to fullcopytracing repo.ui.debug( - "switching to full copytracing as base is not " - "an ancestor of c2\n" + b"switching to full copytracing as base is not " + b"an ancestor of c2\n" ) return _fullcopytracing(repo, c1, c2, base) @@ -728,7 +730,7 @@ while ctx != base: if len(ctx.parents()) == 2: # To keep things simple let's not handle merges - repo.ui.debug("switching to full copytracing because of merges\n") + repo.ui.debug(b"switching to full copytracing because of merges\n") return _fullcopytracing(repo, c1, c2, base) changedfiles.update(ctx.files()) ctx = ctx.p1() @@ -767,14 +769,14 @@ # we can have a lot of candidates which can slow down the heuristics # config value to limit the number of candidates moves to check maxcandidates = repo.ui.configint( - 'experimental', 'copytrace.movecandidateslimit' + b'experimental', b'copytrace.movecandidateslimit' ) if len(movecandidates) > maxcandidates: repo.ui.status( _( - "skipping copytracing for '%s', more " - "candidates than the limit: %d\n" + b"skipping copytracing for '%s', more " + b"candidates than the limit: %d\n" ) % (f, len(movecandidates)) ) @@ -833,10 +835,10 @@ copies between fromrev and rev. """ exclude = {} - ctraceconfig = repo.ui.config('experimental', 'copytrace') + ctraceconfig = repo.ui.config(b'experimental', b'copytrace') bctrace = stringutil.parsebool(ctraceconfig) if skiprev is not None and ( - ctraceconfig == 'heuristics' or bctrace or bctrace is None + ctraceconfig == b'heuristics' or bctrace or bctrace is None ): # copytrace='off' skips this line, but not the entire function because # the line below is O(size of the repo) during a rebase, while the rest