# HG changeset patch # User Kostia Balytskyi <ikos...@fb.com> # Date 1478527237 28800 # Mon Nov 07 06:00:37 2016 -0800 # Node ID 391086e9759e7787fbf8eb2b78202bfc2267245c # Parent b75505c45921802d9480f1629fca4fdd7f9394d3 shelve: move mutableancestors to not be a closure
diff --git a/hgext/shelve.py b/hgext/shelve.py --- a/hgext/shelve.py +++ b/hgext/shelve.py @@ -273,24 +273,24 @@ def getshelvename(repo, parent, opts): raise error.Abort(_("shelved change names may not start with '.'")) return name -def _docreatecmd(ui, repo, pats, opts): - def mutableancestors(ctx): - """return all mutable ancestors for ctx (included) +def mutableancestors(ctx): + """return all mutable ancestors for ctx (included) - Much faster than the revset ancestors(ctx) & draft()""" - seen = set([nodemod.nullrev]) - visit = collections.deque() - visit.append(ctx) - while visit: - ctx = visit.popleft() - yield ctx.node() - for parent in ctx.parents(): - rev = parent.rev() - if rev not in seen: - seen.add(rev) - if parent.mutable(): - visit.append(parent) + Much faster than the revset ancestors(ctx) & draft()""" + seen = set([nodemod.nullrev]) + visit = collections.deque() + visit.append(ctx) + while visit: + ctx = visit.popleft() + yield ctx.node() + for parent in ctx.parents(): + rev = parent.rev() + if rev not in seen: + seen.add(rev) + if parent.mutable(): + visit.append(parent) +def _docreatecmd(ui, repo, pats, opts): wctx = repo[None] parents = wctx.parents() if len(parents) > 1: _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel