/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/errors.py

  • Committer: John Arbash Meinel
  • Date: 2010-01-13 23:06:42 UTC
  • mfrom: (4634.119.7 2.0)
  • mto: This revision was merged to the branch mainline in revision 4959.
  • Revision ID: john@arbash-meinel.com-20100113230642-gr0vg8u3qyzz3p2b
Merge bzr.stable, bringing in bug fixes #175839, #504390

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2005, 2006, 2007, 2008 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
680
680
 
681
681
    _fmt = 'Path "%(path)s" is not a child of path "%(base)s"%(extra)s'
682
682
 
683
 
    internal_error = False
 
683
    internal_error = True
684
684
 
685
685
    def __init__(self, path, base, extra=None):
686
686
        BzrError.__init__(self)
702
702
# TODO: Probably this behavior of should be a common superclass
703
703
class NotBranchError(PathError):
704
704
 
705
 
    _fmt = 'Not a branch: "%(path)s"%(detail)s.'
 
705
    _fmt = 'Not a branch: "%(path)s".'
706
706
 
707
 
    def __init__(self, path, detail=None, bzrdir=None):
 
707
    def __init__(self, path):
708
708
       import bzrlib.urlutils as urlutils
709
 
       path = urlutils.unescape_for_display(path, 'ascii')
710
 
       if detail is not None:
711
 
           detail = ': ' + detail
712
 
       self.detail = detail
713
 
       self.bzrdir = bzrdir
714
 
       PathError.__init__(self, path=path)
715
 
 
716
 
    def _format(self):
717
 
        # XXX: Ideally self.detail would be a property, but Exceptions in
718
 
        # Python 2.4 have to be old-style classes so properties don't work.
719
 
        # Instead we override _format.
720
 
        if self.detail is None:
721
 
            if self.bzrdir is not None:
722
 
                try:
723
 
                    self.bzrdir.open_repository()
724
 
                except NoRepositoryPresent:
725
 
                    self.detail = ''
726
 
                else:
727
 
                    self.detail = ': location is a repository'
728
 
            else:
729
 
                self.detail = ''
730
 
        return PathError._format(self)
 
709
       self.path = urlutils.unescape_for_display(path, 'ascii')
731
710
 
732
711
 
733
712
class NoSubmitBranch(PathError):
782
761
 
783
762
    _fmt = 'File "%(path)s" is not in branch %(branch_base)s.'
784
763
 
785
 
    # use PathNotChild instead
786
 
    @symbol_versioning.deprecated_method(symbol_versioning.deprecated_in((2, 3, 0)))
787
764
    def __init__(self, branch, path):
788
765
        BzrError.__init__(self)
789
766
        self.branch = branch
949
926
    # original exception is available as e.original_error
950
927
    #
951
928
    # New code should prefer to raise specific subclasses
952
 
    def __init__(self, msg):
953
 
        self.msg = msg
 
929
    def __init__(self, message):
 
930
        # Python 2.5 uses a slot for StandardError.message,
 
931
        # so use a different variable name.  We now work around this in
 
932
        # BzrError.__str__, but this member name is kept for compatability.
 
933
        self.msg = message
954
934
 
955
935
 
956
936
class LockActive(LockError):
1040
1020
class LockContention(LockError):
1041
1021
 
1042
1022
    _fmt = 'Could not acquire lock "%(lock)s": %(msg)s'
 
1023
    # TODO: show full url for lock, combining the transport and relative
 
1024
    # bits?
1043
1025
 
1044
1026
    internal_error = False
1045
1027
 
1176
1158
 
1177
1159
class InvalidRevisionSpec(BzrError):
1178
1160
 
1179
 
    _fmt = ("Requested revision: '%(spec)s' does not exist in branch:"
1180
 
            " %(branch_url)s%(extra)s")
 
1161
    _fmt = ("Requested revision: %(spec)r does not exist in branch:"
 
1162
            " %(branch)s%(extra)s")
1181
1163
 
1182
1164
    def __init__(self, spec, branch, extra=None):
1183
1165
        BzrError.__init__(self, branch=branch, spec=spec)
1184
 
        self.branch_url = getattr(branch, 'user_url', str(branch))
1185
1166
        if extra:
1186
1167
            self.extra = '\n' + str(extra)
1187
1168
        else:
1295
1276
class BoundBranchOutOfDate(BzrError):
1296
1277
 
1297
1278
    _fmt = ("Bound branch %(branch)s is out of date with master branch"
1298
 
            " %(master)s.%(extra_help)s")
 
1279
            " %(master)s.")
1299
1280
 
1300
1281
    def __init__(self, branch, master):
1301
1282
        BzrError.__init__(self)
1302
1283
        self.branch = branch
1303
1284
        self.master = master
1304
 
        self.extra_help = ''
1305
1285
 
1306
1286
 
1307
1287
class CommitToDoubleBoundBranch(BzrError):
1378
1358
 
1379
1359
class WeaveParentMismatch(WeaveError):
1380
1360
 
1381
 
    _fmt = "Parents are mismatched between two revisions. %(msg)s"
 
1361
    _fmt = "Parents are mismatched between two revisions. %(message)s"
1382
1362
 
1383
1363
 
1384
1364
class WeaveInvalidChecksum(WeaveError):
1385
1365
 
1386
 
    _fmt = "Text did not match it's checksum: %(msg)s"
 
1366
    _fmt = "Text did not match it's checksum: %(message)s"
1387
1367
 
1388
1368
 
1389
1369
class WeaveTextDiffers(WeaveError):
1437
1417
 
1438
1418
class VersionedFileInvalidChecksum(VersionedFileError):
1439
1419
 
1440
 
    _fmt = "Text did not match its checksum: %(msg)s"
 
1420
    _fmt = "Text did not match its checksum: %(message)s"
1441
1421
 
1442
1422
 
1443
1423
class KnitError(InternalBzrError):
1923
1903
    _fmt = "Moving the root directory is not supported at this time"
1924
1904
 
1925
1905
 
1926
 
class TransformRenameFailed(BzrError):
1927
 
 
1928
 
    _fmt = "Failed to rename %(from_path)s to %(to_path)s: %(why)s"
1929
 
 
1930
 
    def __init__(self, from_path, to_path, why, errno):
1931
 
        self.from_path = from_path
1932
 
        self.to_path = to_path
1933
 
        self.why = why
1934
 
        self.errno = errno
1935
 
 
1936
 
 
1937
1906
class BzrMoveFailedError(BzrError):
1938
1907
 
1939
1908
    _fmt = "Could not move %(from_path)s%(operator)s %(to_path)s%(extra)s"
2185
2154
 
2186
2155
    def __init__(self, repo):
2187
2156
        BzrError.__init__(self)
2188
 
        self.repo_path = repo.user_url
 
2157
        self.repo_path = repo.bzrdir.root_transport.base
2189
2158
 
2190
2159
 
2191
2160
class InconsistentDelta(BzrError):
2763
2732
 
2764
2733
    def __init__(self, bzrdir):
2765
2734
        import bzrlib.urlutils as urlutils
2766
 
        display_url = urlutils.unescape_for_display(bzrdir.user_url,
 
2735
        display_url = urlutils.unescape_for_display(bzrdir.root_transport.base,
2767
2736
                                                    'ascii')
2768
2737
        BzrError.__init__(self, bzrdir=bzrdir, display_url=display_url)
2769
2738
 
2843
2812
        else:
2844
2813
            more = ' ' + more
2845
2814
        import bzrlib.urlutils as urlutils
2846
 
        user_url = getattr(tree, "user_url", None)
2847
 
        if user_url is None:
2848
 
            display_url = str(tree)
2849
 
        else:
2850
 
            display_url = urlutils.unescape_for_display(user_url, 'ascii')
 
2815
        display_url = urlutils.unescape_for_display(
 
2816
            tree.bzrdir.root_transport.base, 'ascii')
2851
2817
        BzrError.__init__(self, tree=tree, display_url=display_url, more=more)
2852
2818
 
2853
2819
 
2854
 
class ShelvedChanges(UncommittedChanges):
2855
 
 
2856
 
    _fmt = ('Working tree "%(display_url)s" has shelved changes'
2857
 
            ' (See bzr shelve --list).%(more)s')
2858
 
 
2859
 
 
2860
2820
class MissingTemplateVariable(BzrError):
2861
2821
 
2862
2822
    _fmt = 'Variable {%(name)s} is not available.'
3133
3093
    def __init__(self, source_branch, target_branch):
3134
3094
        self.source_branch = source_branch
3135
3095
        self.target_branch = target_branch
3136
 
 
3137
 
 
3138
 
class FileTimestampUnavailable(BzrError):
3139
 
 
3140
 
    _fmt = "The filestamp for %(path)s is not available."
3141
 
 
3142
 
    internal_error = True
3143
 
 
3144
 
    def __init__(self, path):
3145
 
        self.path = path
3146
 
 
3147
 
 
3148
 
class NoColocatedBranchSupport(BzrError):
3149
 
 
3150
 
    _fmt = ("%(bzrdir)r does not support co-located branches.")
3151
 
 
3152
 
    def __init__(self, bzrdir):
3153
 
        self.bzrdir = bzrdir
3154
 
 
3155
 
 
3156
 
class NoWhoami(BzrError):
3157
 
 
3158
 
    _fmt = ('Unable to determine your name.\n'
3159
 
        "Please, set your name with the 'whoami' command.\n"
3160
 
        'E.g. bzr whoami "Your Name <name@example.com>"')
3161
 
 
3162
 
 
3163
 
class InvalidPattern(BzrError):
3164
 
 
3165
 
    _fmt = ('Invalid pattern(s) found. %(msg)s')
3166
 
 
3167
 
    def __init__(self, msg):
3168
 
        self.msg = msg
3169
 
 
3170
 
 
3171
 
class RecursiveBind(BzrError):
3172
 
 
3173
 
    _fmt = ('Branch "%(branch_url)s" appears to be bound to itself. '
3174
 
        'Please use `bzr unbind` to fix.')
3175
 
 
3176
 
    def __init__(self, branch_url):
3177
 
        self.branch_url = branch_url
3178