~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/errors.py

Merge in bzrdir work to enable checkout improvements.

Show diffs side-by-side

added added

removed removed

Lines of Context:
140
140
        self.base = base
141
141
 
142
142
 
 
143
class NotLocalUrl(BzrNewError):
 
144
    """%s(url) is not a local path."""
 
145
    
 
146
    def __init__(self, url):
 
147
        BzrNewError.__init__(self)
 
148
        self.url = url
 
149
 
 
150
 
143
151
class BzrCommandError(BzrError):
144
152
    # Error from malformed user command
145
153
    # This is being misused as a generic exception
203
211
        self.path = path
204
212
 
205
213
 
 
214
class NoRepositoryPresent(BzrNewError):
 
215
    """Not repository present: %(path)r"""
 
216
    def __init__(self, bzrdir):
 
217
        BzrNewError.__init__(self)
 
218
        self.path = bzrdir.transport.clone('..').base
 
219
 
 
220
 
206
221
class FileInWrongBranch(BzrNewError):
207
222
    """File %(path)s in not in branch %(branch_base)s."""
 
223
 
208
224
    def __init__(self, branch, path):
209
225
        BzrNewError.__init__(self)
210
226
        self.branch = branch
213
229
 
214
230
 
215
231
class UnsupportedFormatError(BzrError):
216
 
    """Specified path is a bzr branch that we cannot read."""
 
232
    """Specified path is a bzr branch that we recognize but cannot read."""
217
233
    def __str__(self):
218
234
        return 'unsupported branch format: %s' % self.args[0]
219
235
 
220
236
 
 
237
class UnknownFormatError(BzrError):
 
238
    """Specified path is a bzr branch whose format we do not recognize."""
 
239
    def __str__(self):
 
240
        return 'unknown branch format: %s' % self.args[0]
 
241
 
 
242
 
 
243
class IncompatibleFormat(BzrNewError):
 
244
    """Format %(format)s is not compatible with .bzr version %(bzrdir)s."""
 
245
 
 
246
    def __init__(self, format, bzrdir_format):
 
247
        BzrNewError.__init__(self)
 
248
        self.format = format
 
249
        self.bzrdir = bzrdir_format
 
250
 
 
251
 
221
252
class NotVersionedError(BzrNewError):
222
253
    """%(path)s is not versioned"""
223
254
    def __init__(self, path):
257
288
class PointlessCommit(BzrNewError):
258
289
    """No changes to commit"""
259
290
 
 
291
 
 
292
class UpgradeReadonly(BzrNewError):
 
293
    """Upgrade URL cannot work with readonly URL's."""
 
294
 
 
295
 
260
296
class StrictCommitFailed(Exception):
261
297
    """Commit refused because there are unknowns in the tree."""
262
298
 
 
299
 
263
300
class NoSuchRevision(BzrError):
264
301
    def __init__(self, branch, revision):
265
302
        self.branch = branch
376
413
    """Text did not match it's checksum: %(message)s"""
377
414
 
378
415
 
 
416
class WeaveTextDiffers(WeaveError):
 
417
    """Weaves differ on text content. Revision: {%(revision_id)s}, %(weave_a)s, %(weave_b)s"""
 
418
 
 
419
    def __init__(self, revision_id, weave_a, weave_b):
 
420
        WeaveError.__init__(self)
 
421
        self.revision_id = revision_id
 
422
        self.weave_a = weave_a
 
423
        self.weave_b = weave_b
 
424
 
 
425
 
379
426
class NoSuchExportFormat(BzrNewError):
380
427
    """Export format %(format)r not supported"""
381
428
    def __init__(self, format):
463
510
    This should never escape bzr, so does not need to be printable.
464
511
    """
465
512
 
 
513
 
466
514
class MissingText(BzrNewError):
467
515
    """Branch %(base)s is missing revision %(text_revision)s of %(file_id)s"""
468
516
 
475
523
 
476
524
 
477
525
class BzrBadParameter(BzrNewError):
478
 
    """Parameter %(param)s is neither unicode nor utf8."""
 
526
    """A bad parameter : %(param)s is not usable.
479
527
    
 
528
    This exception should never be thrown, but it is a base class for all
 
529
    parameter-to-function errors.
 
530
    """
480
531
    def __init__(self, param):
481
532
        BzrNewError.__init__(self)
482
533
        self.param = param
 
534
 
 
535
 
 
536
class BzrBadParameterNotUnicode(BzrBadParameter):
 
537
    """Parameter %(param)s is neither unicode nor utf8."""
 
538
 
 
539
 
 
540
class BzrBadParameterNotString(BzrBadParameter):
 
541
    """Parameter %(param)s is not a string or unicode string."""
 
542
 
 
543
 
 
544
class BzrBadParameterMissing(BzrBadParameter):
 
545
    """Parameter $(param)s is required but not present."""
 
546
 
 
547
 
 
548
class DependencyNotPresent(BzrNewError):
 
549
    """Unable to import library: %(library)s, %(error)s"""
 
550
 
 
551
    def __init__(self, library, error):
 
552
        BzrNewError.__init__(self, library=library, error=error)
 
553
 
 
554
 
 
555
class ParamikoNotPresent(DependencyNotPresent):
 
556
    """Unable to import paramiko (required for sftp support): %(error)s"""
 
557
 
 
558
    def __init__(self, error):
 
559
        DependencyNotPresent.__init__(self, 'paramiko', error)
 
560
 
 
561
 
 
562
class UninitializableFormat(BzrNewError):
 
563
    """Format %(format)s cannot be initialised by this version of bzr."""
 
564
 
 
565
    def __init__(self, format):
 
566
        BzrNewError.__init__(self)
 
567
        self.format = format