mercurial/stack.py
changeset 37007 68fcc5503ec5
parent 37003 40583c7afd63
child 42720 77c52ce50e6a
equal deleted inserted replaced
37006:2987726085c6 37007:68fcc5503ec5
    11     revsetlang,
    11     revsetlang,
    12     scmutil,
    12     scmutil,
    13 )
    13 )
    14 
    14 
    15 def getstack(repo, rev=None):
    15 def getstack(repo, rev=None):
    16     """return a smartrev of the stack containing either rev if it is not None
    16     """return a sorted smartrev of the stack containing either rev if it is
    17     or the current working directory parent.
    17     not None or the current working directory parent.
    18 
    18 
    19     The stack will always contain all drafts changesets which are ancestors to
    19     The stack will always contain all drafts changesets which are ancestors to
    20     the revision and are not merges.
    20     the revision and are not merges.
    21     """
    21     """
    22     if rev is None:
    22     if rev is None:
    23         rev = '.'
    23         rev = '.'
    24 
    24 
    25     revspec = 'reverse(only(%s) and not public() and not ::merge())'
    25     revspec = 'reverse(only(%s) and not public() and not ::merge())'
    26     revset = revsetlang.formatspec(revspec, rev)
    26     revset = revsetlang.formatspec(revspec, rev)
    27     return scmutil.revrange(repo, [revset])
    27     revisions = scmutil.revrange(repo, [revset])
       
    28     revisions.sort()
       
    29     return revisions