##// END OF EJS Templates
exchange: don't use dagutil...
exchange: don't use dagutil We were only using it for simple node -> rev and parent revision lookups. These are exposed via the storage interface and we don't need to go through dagutil. Differential Revision: https://phab.mercurial-scm.org/D4303

File last commit:

r37022:68fcc550 default
r39194:b0c73866 default
Show More
stack.py
29 lines | 869 B | text/x-python | PythonLexer
Boris Feld
stack: add a new module for stack-related commands...
r37018 # stack.py - Mercurial functions for stack definition
#
# Copyright Matt Mackall <mpm@selenic.com> and other
#
# 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
from . import (
revsetlang,
scmutil,
)
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:
rev = '.'
revspec = 'reverse(only(%s) and not public() and not ::merge())'
revset = revsetlang.formatspec(revspec, rev)
Boris Feld
stack: return a sorted smartrev by default...
r37022 revisions = scmutil.revrange(repo, [revset])
revisions.sort()
return revisions