Mercurial > hg
annotate mercurial/stack.py @ 42922:8d9322b6e687
hgweb: add a `message` attribute to `hgweb.common.ErrorResponse`
This fixes a Python 3 bug where hgweb assumes an Exception
subclass will have a `.message` attribute after running
`Exception.__init__`.[1] The Python 3 way to get this info would
be `e.args[0]`, but adding a new named attribute is more
ergonomic in my view.
[1] https://www.mercurial-scm.org/repo/hg-committed/file/6ccf539aec71/mercurial/hgweb/hgwebdir_mod.py#l459
Differential Revision: https://phab.mercurial-scm.org/D6840
author | Connor Sheehan <sheehan@mozilla.com> |
---|---|
date | Tue, 10 Sep 2019 12:32:07 -0400 |
parents | 77c52ce50e6a |
children | 763028fc6a69 |
rev | line source |
---|---|
37000
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): |
37004
68fcc5503ec5
stack: return a sorted smartrev by default
Boris Feld <boris.feld@octobus.net>
parents:
37000
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:
37000
diff
changeset
|
17 not None or the current working directory parent. |
37000
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 |
42698
77c52ce50e6a
stack: remove unnecessary reverse() predicate
Anton Shestakov <av6@dwimlabs.net>
parents:
37004
diff
changeset
|
25 revspec = 'only(%s) and not public() and not ::merge()' |
37000
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) |
37004
68fcc5503ec5
stack: return a sorted smartrev by default
Boris Feld <boris.feld@octobus.net>
parents:
37000
diff
changeset
|
27 revisions = scmutil.revrange(repo, [revset]) |
68fcc5503ec5
stack: return a sorted smartrev by default
Boris Feld <boris.feld@octobus.net>
parents:
37000
diff
changeset
|
28 revisions.sort() |
68fcc5503ec5
stack: return a sorted smartrev by default
Boris Feld <boris.feld@octobus.net>
parents:
37000
diff
changeset
|
29 return revisions |