Show More
@@ -0,0 +1,27 b'' | |||||
|
1 | # stack.py - Mercurial functions for stack definition | |||
|
2 | # | |||
|
3 | # Copyright Matt Mackall <mpm@selenic.com> and other | |||
|
4 | # | |||
|
5 | # This software may be used and distributed according to the terms of the | |||
|
6 | # GNU General Public License version 2 or any later version. | |||
|
7 | ||||
|
8 | from __future__ import absolute_import | |||
|
9 | ||||
|
10 | from . import ( | |||
|
11 | revsetlang, | |||
|
12 | scmutil, | |||
|
13 | ) | |||
|
14 | ||||
|
15 | def getstack(repo, rev=None): | |||
|
16 | """return a smartrev of the stack containing either rev if it is not None | |||
|
17 | or the current working directory parent. | |||
|
18 | ||||
|
19 | The stack will always contain all drafts changesets which are ancestors to | |||
|
20 | the revision and are not merges. | |||
|
21 | """ | |||
|
22 | if rev is None: | |||
|
23 | rev = '.' | |||
|
24 | ||||
|
25 | revspec = 'reverse(only(%s) and not public() and not ::merge())' | |||
|
26 | revset = revsetlang.formatspec(revspec, rev) | |||
|
27 | return scmutil.revrange(repo, [revset]) |
General Comments 0
You need to be logged in to leave comments.
Login now