##// END OF EJS Templates
sidedata: replace sidedata upgrade mechanism with the new one...
sidedata: replace sidedata upgrade mechanism with the new one Note: this is split into a separate change (like some other patches in this series) because it's not easy to have all patches work 100% and this seemed easier for reviewers. When cloning or upgrading a repo, we may need to compute (or remove) sidedata. This is the same mechanism that is used in exchange, so we re-use the new system to simplify the code and fix the remaining issues (correctly dropping flags and handling partial removal, etc.). This also highlighted an issue with `test-copies-in-changeset.t` that kept sidedata categories that are not relevant anymore. They should probably be dropped entirely, but that would be for another patch. Differential Revision: https://phab.mercurial-scm.org/D10359

File last commit:

r47575:d4ba4d51 default
r47847:27f1191b default
Show More
stack.py
24 lines | 762 B | text/x-python | PythonLexer
Boris Feld
stack: add a new module for stack-related commands...
r37018 # stack.py - Mercurial functions for stack definition
#
Raphaël Gomès
contributor: change mentions of mpm to olivia...
r47575 # Copyright Olivia Mackall <olivia@selenic.com> and other
Boris Feld
stack: add a new module for stack-related commands...
r37018 #
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import absolute_import
Augie Fackler
style: run a patched black on a subset of mercurial...
r43345
Boris Feld
stack: add a new module for stack-related commands...
r37018 def getstack(repo, rev=None):
Boris Feld
stack: return a sorted smartrev by default...
r37022 """return a sorted smartrev of the stack containing either rev if it is
not None or the current working directory parent.
Boris Feld
stack: add a new module for stack-related commands...
r37018
The stack will always contain all drafts changesets which are ancestors to
the revision and are not merges.
"""
if rev is None:
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 rev = b'.'
Boris Feld
stack: add a new module for stack-related commands...
r37018
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 revspec = b'only(%s) and not public() and not ::merge()'
av6
stack: use repo.revs() instead of revsetlang.formatspec() + scmutil.revrange()...
r43230 revisions = repo.revs(revspec, rev)
Boris Feld
stack: return a sorted smartrev by default...
r37022 revisions.sort()
return revisions