stack.py
24 lines
| 758 B
| text/x-python
|
PythonLexer
/ mercurial / stack.py
Boris Feld
|
r37018 | # stack.py - Mercurial functions for stack definition | ||
# | ||||
Raphaël Gomès
|
r47575 | # Copyright Olivia Mackall <olivia@selenic.com> and other | ||
Boris Feld
|
r37018 | # | ||
# This software may be used and distributed according to the terms of the | ||||
# GNU General Public License version 2 or any later version. | ||||
Matt Harbison
|
r52756 | from __future__ import annotations | ||
Augie Fackler
|
r43345 | |||
Boris Feld
|
r37018 | def getstack(repo, rev=None): | ||
Boris Feld
|
r37022 | """return a sorted smartrev of the stack containing either rev if it is | ||
not None or the current working directory parent. | ||||
Boris Feld
|
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
|
r43347 | rev = b'.' | ||
Boris Feld
|
r37018 | |||
Augie Fackler
|
r43347 | revspec = b'only(%s) and not public() and not ::merge()' | ||
r43230 | revisions = repo.revs(revspec, rev) | |||
Boris Feld
|
r37022 | revisions.sort() | ||
return revisions | ||||