~abentley/bzrtools/bzrtools.dev

325.1.2 by Aaron Bentley
Merge shelf v2
1
# Copyright (C) 2005 Aaron Bentley, 2006 Michael Ellerman
2
# <aaron.bentley@utoronto.ca>
3
#
4
#    This program is free software; you can redistribute it and/or modify
5
#    it under the terms of the GNU General Public License as published by
6
#    the Free Software Foundation; either version 2 of the License, or
7
#    (at your option) any later version.
8
#
9
#    This program is distributed in the hope that it will be useful,
10
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
11
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
#    GNU General Public License for more details.
13
#
14
#    You should have received a copy of the GNU General Public License
15
#    along with this program; if not, write to the Free Software
16
#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
18
class NoPyBaz(Exception):
19
    def __init__(self):
20
        Exception.__init__(self, "PyBaz is not installed.")
0.2.3 by Michael Ellerman
Factor out bzrisms.
21
try:
22
    from bzrlib.errors import BzrCommandError as CommandError
23
except ImportError:
24
    class CommandError(Exception):
25
        pass
0.1.89 by Michael Ellerman
Add support for unshelving -p0 patches, for backward compatibility.
26
27
class PatchFailed(Exception):
28
    """Failed applying patch!"""
345 by Aaron Bentley
Added zap command
29
423.1.4 by Aaron Bentley
Add --no-color option to shelf
30
31
class NoColor(Exception):
32
    """Color not available on this terminal."""
33
34
35
class NoBzrtoolsColor(Exception):
36
    """Bzrtools is required for color display"""
37
38
345 by Aaron Bentley
Added zap command
39
class NotCheckout(CommandError):
40
    """Specified path is not a checkout."""
346 by Aaron Bentley
Text updates
41
    def __init__(self, path):
42
        CommandError.__init__(self, "%s is not a checkout" % path)
345 by Aaron Bentley
Added zap command
43
44
class UncommittedCheckout(CommandError):
45
    """This checkout contains uncommitted changes"""
346 by Aaron Bentley
Text updates
46
    def __init__(self):
47
        CommandError.__init__(self, "This checkout has uncommitted changes")
401 by Aaron Bentley
Add check whether branch has unique revisions
48
49
class ParentMissingRevisions(CommandError):
50
    """The parent branch is missing revisions."""
51
    def __init__(self, parent):
52
        CommandError.__init__(self, 
53
            "The parent branch %s is missing revisions from this branch." % 
54
            parent)
55
        self.parent = parent
407 by Aaron Bentley
Fix zap for checkouts of branches with no parents
56
57
class NoParent(CommandError):
58
    def __init__(self):
59
        CommandError.__init__(self, "There is no parent, so deleting the"
60
                                    " branch could destroy data.")