Mercurial > public > mercurial-scm > hg-stable
annotate mercurial/stack.py @ 37868:9c5ced5276d6 stable 4.6.1
mpatch: avoid integer overflow in combine() (SEC)
All the callers of this function can handle a NULL return, so that
appears to be the "safe" way to report an error.
author | Augie Fackler <augie@google.com> |
---|---|
date | Mon, 30 Apr 2018 22:24:58 -0400 |
parents | 68fcc5503ec5 |
children | 77c52ce50e6a |
rev | line source |
---|---|
37003
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
1 # stack.py - Mercurial functions for stack definition |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
2 # |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
3 # Copyright Matt Mackall <mpm@selenic.com> and other |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
4 # |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
5 # This software may be used and distributed according to the terms of the |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
6 # GNU General Public License version 2 or any later version. |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
7 |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
8 from __future__ import absolute_import |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
9 |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
10 from . import ( |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
11 revsetlang, |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
12 scmutil, |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
13 ) |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
14 |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
15 def getstack(repo, rev=None): |
37007
68fcc5503ec5
stack: return a sorted smartrev by default
Boris Feld <boris.feld@octobus.net>
parents:
37003
diff
changeset
|
16 """return a sorted smartrev of the stack containing either rev if it is |
68fcc5503ec5
stack: return a sorted smartrev by default
Boris Feld <boris.feld@octobus.net>
parents:
37003
diff
changeset
|
17 not None or the current working directory parent. |
37003
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
18 |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
19 The stack will always contain all drafts changesets which are ancestors to |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
20 the revision and are not merges. |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
21 """ |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
22 if rev is None: |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
23 rev = '.' |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
24 |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
25 revspec = 'reverse(only(%s) and not public() and not ::merge())' |
40583c7afd63
stack: add a new module for stack-related commands
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
26 revset = revsetlang.formatspec(revspec, rev) |
37007
68fcc5503ec5
stack: return a sorted smartrev by default
Boris Feld <boris.feld@octobus.net>
parents:
37003
diff
changeset
|
27 revisions = scmutil.revrange(repo, [revset]) |
68fcc5503ec5
stack: return a sorted smartrev by default
Boris Feld <boris.feld@octobus.net>
parents:
37003
diff
changeset
|
28 revisions.sort() |
68fcc5503ec5
stack: return a sorted smartrev by default
Boris Feld <boris.feld@octobus.net>
parents:
37003
diff
changeset
|
29 return revisions |