~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/errors.py

  • Committer: Martin Pool
  • Date: 2007-10-03 08:06:44 UTC
  • mto: This revision was merged to the branch mainline in revision 2901.
  • Revision ID: mbp@sourcefrog.net-20071003080644-oivy0gkg98sex0ed
Avoid internal error tracebacks on failure to lock on readonly transport (#129701).

Add new LockFailed, which doesn't imply that we failed to get it because of
contention.  Raise this if we fail to create the pending or lock directories
because of Transport errors.

UnlockableTransport is not an internal error.

ReadOnlyLockError has a message which didn't match its name or usage; it's now
deprecated and callers are updated to use LockFailed which is more appropriate.

Add zero_ninetytwo deprecation symbol.

Unify assertMatchesRe with TestCase.assertContainsRe.

When the constructor is deprecated, just say that the class is deprecated, not
the __init__ method - this works better with applyDeprecated in tests.

Show diffs side-by-side

added added

removed removed

Lines of Context:
829
829
 
830
830
    _fmt = "Cannot acquire write lock on %(fname)s. %(msg)s"
831
831
 
 
832
    @symbol_versioning.deprecated_method(symbol_versioning.zero_ninetytwo)
832
833
    def __init__(self, fname, msg):
833
834
        LockError.__init__(self, '')
834
835
        self.fname = fname
835
836
        self.msg = msg
836
837
 
837
838
 
 
839
class LockFailed(LockError):
 
840
 
 
841
    internal_error = False
 
842
 
 
843
    _fmt = "Cannot lock %(lock)s: %(why)s"
 
844
 
 
845
    def __init__(self, lock, why):
 
846
        LockError.__init__(self, '')
 
847
        self.lock = lock
 
848
        self.why = why
 
849
 
 
850
 
838
851
class OutSideTransaction(BzrError):
839
852
 
840
853
    _fmt = ("A transaction related operation was attempted after"
862
875
 
863
876
class UnlockableTransport(LockError):
864
877
 
 
878
    internal_error = False
 
879
 
865
880
    _fmt = "Cannot lock: transport is read only: %(transport)s"
866
881
 
867
882
    def __init__(self, transport):
2173
2188
class PatchMissing(BzrError):
2174
2189
    """Raise a patch type was specified but no patch supplied"""
2175
2190
 
2176
 
    _fmt = "patch_type was %(patch_type)s, but no patch was supplied."
 
2191
    _fmt = "Patch_type was %(patch_type)s, but no patch was supplied."
2177
2192
 
2178
2193
    def __init__(self, patch_type):
2179
2194
        BzrError.__init__(self)