/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
0.200.19 by John Arbash Meinel
More refactoring. Add some direct tests for GitModel.
1
# Copyright (C) 2007 Canonical Ltd
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
0.200.439 by Jelmer Vernooij
Add exception for ghost revisions.
17
0.200.19 by John Arbash Meinel
More refactoring. Add some direct tests for GitModel.
18
"""A grouping of Exceptions for bzr-git"""
19
0.200.1594 by Jelmer Vernooij
Use absolute_import everywhere.
20
from __future__ import absolute_import
0.200.439 by Jelmer Vernooij
Add exception for ghost revisions.
21
0.200.292 by Jelmer Vernooij
Fix formatting.
22
from dulwich import errors as git_errors
23
0.200.1641 by Jelmer Vernooij
Use relative imports where possible.
24
from ... import errors as bzr_errors
0.200.19 by John Arbash Meinel
More refactoring. Add some direct tests for GitModel.
25
0.200.439 by Jelmer Vernooij
Add exception for ghost revisions.
26
0.200.19 by John Arbash Meinel
More refactoring. Add some direct tests for GitModel.
27
class BzrGitError(bzr_errors.BzrError):
28
    """The base-level exception for bzr-git errors."""
29
30
0.200.165 by Jelmer Vernooij
Give a proper error when the ref can not be found.
31
class NoSuchRef(BzrGitError):
0.200.695 by Jelmer Vernooij
Clean up trailing whitespace.
32
    """Raised when a ref can not be found."""
0.200.165 by Jelmer Vernooij
Give a proper error when the ref can not be found.
33
0.200.1386 by Jelmer Vernooij
Friendlier message if HEAD is not found.
34
    _fmt = "The ref %(ref)s was not found in the repository at %(location)s."
0.200.695 by Jelmer Vernooij
Clean up trailing whitespace.
35
0.200.1386 by Jelmer Vernooij
Friendlier message if HEAD is not found.
36
    def __init__(self, ref, location, present_refs=None):
0.200.165 by Jelmer Vernooij
Give a proper error when the ref can not be found.
37
        self.ref = ref
0.200.1386 by Jelmer Vernooij
Friendlier message if HEAD is not found.
38
        self.location = location
0.200.277 by Jelmer Vernooij
Allow passing in refs that *were* found in NoSuchRef.
39
        self.present_refs = present_refs
40
0.200.210 by Jelmer Vernooij
properly error out about not support lightweight checkouts.
41
0.200.242 by Jelmer Vernooij
Add conversion function for dulwich errors.
42
def convert_dulwich_error(error):
43
    """Convert a Dulwich error to a Bazaar error."""
44
45
    if isinstance(error, git_errors.HangupException):
46
        raise bzr_errors.ConnectionReset(error.msg, "")
47
    raise error
0.200.291 by Jelmer Vernooij
Print proper error about not supporting push.
48
49
50
class NoPushSupport(bzr_errors.BzrError):
0.200.1718 by Jelmer Vernooij
Support AlreadyControlDirError.
51
    _fmt = "Push is not yet supported from %(source)r to %(target)r using %(mapping)r. Try dpush instead."
52
53
    def __init__(self, source, target, mapping):
54
        self.source = source
55
        self.target = target
56
        self.mapping = mapping
0.200.319 by Jelmer Vernooij
Print proper error when trying unsupported operations against a git server.
57
58
0.200.1398 by Jelmer Vernooij
Make GitSmartRemoteNotSupported derive from UnsupportedOperation.
59
class GitSmartRemoteNotSupported(bzr_errors.UnsupportedOperation):
0.200.319 by Jelmer Vernooij
Print proper error when trying unsupported operations against a git server.
60
    _fmt = "This operation is not supported by the Git smart server protocol."
0.200.1598 by Jelmer Vernooij
Print proper error when unknown fields are encountered.
61
62
63
class UnknownCommitExtra(bzr_errors.BzrError):
64
    _fmt = "Unknown extra fields in %(object)r: %(fields)r."
65
66
    def __init__(self, object, fields):
67
        bzr_errors.BzrError.__init__(self)
68
        self.object = object
0.200.1637 by Jelmer Vernooij
List all unknown extras.
69
        self.fields = ",".join(fields)
0.200.1640 by Jelmer Vernooij
Support HG extra 'amend_source'.
70
71
72
class UnknownMercurialCommitExtra(bzr_errors.BzrError):
73
    _fmt = "Unknown mercurial extra fields in %(object)r: %(fields)r."
74
75
    def __init__(self, object, fields):
76
        bzr_errors.BzrError.__init__(self)
77
        self.object = object
78
        self.fields = ",".join(fields)