bzr branch
http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
| 1553.5.24
by Martin Pool Warning to check storage when lock was broken | 1 | # Copyright (C) 2005, 2006 Canonical
 | 
| 1
by mbp at sourcefrog import from baz patch-364 | 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 | ||
| 1185.16.61
by mbp at sourcefrog - start introducing hct error classes | 17 | """Exceptions for bzr, and reporting of them.
 | 
| 18 | ||
| 19 | Exceptions are caught at a high level to report errors to the user, and
 | |
| 20 | might also be caught inside the program.  Therefore it needs to be
 | |
| 21 | possible to convert them to a meaningful string, and also for them to be
 | |
| 22 | interrogated by the program.
 | |
| 23 | ||
| 24 | Exceptions are defined such that the arguments given to the constructor
 | |
| 25 | are stored in the object as properties of the same name.  When the
 | |
| 26 | object is printed as a string, the doc string of the class is used as
 | |
| 27 | a format string with the property dictionary available to it.
 | |
| 28 | ||
| 29 | This means that exceptions can used like this:
 | |
| 30 | ||
| 31 | >>> import sys
 | |
| 32 | >>> try:
 | |
| 33 | ...   raise NotBranchError(path='/foo/bar')
 | |
| 34 | ... except:
 | |
| 35 | ...   print sys.exc_type
 | |
| 36 | ...   print sys.exc_value
 | |
| 1185.50.38
by John Arbash Meinel Changed exception traceback route to not use hasattr, which generates its own exception. | 37 | ...   path = getattr(sys.exc_value, 'path')
 | 
| 38 | ...   if path is not None:
 | |
| 39 | ...     print path
 | |
| 1185.16.61
by mbp at sourcefrog - start introducing hct error classes | 40 | bzrlib.errors.NotBranchError
 | 
| 41 | Not a branch: /foo/bar
 | |
| 42 | /foo/bar
 | |
| 43 | ||
| 44 | Therefore:
 | |
| 45 | ||
| 46 |  * create a new exception class for any class of error that can be
 | |
| 47 |    usefully distinguished.
 | |
| 48 | ||
| 49 |  * the printable form of an exception is generated by the base class
 | |
| 50 |    __str__ method
 | |
| 1185.33.7
by Martin Pool Better formatting of builtin errors | 51 | |
| 52 | Exception strings should start with a capital letter and not have a final
 | |
| 53 | fullstop.
 | |
| 1185.16.61
by mbp at sourcefrog - start introducing hct error classes | 54 | """
 | 
| 55 | ||
| 56 | # based on Scott James Remnant's hct error classes
 | |
| 57 | ||
| 1185.16.62
by mbp at sourcefrog - convert NotBranchError to new exception base | 58 | # TODO: is there any value in providing the .args field used by standard
 | 
| 59 | # python exceptions?   A list of values with no names seems less useful 
 | |
| 60 | # to me.
 | |
| 61 | ||
| 1185.16.63
by Martin Pool - more error conversion | 62 | # TODO: Perhaps convert the exception to a string at the moment it's 
 | 
| 63 | # constructed to make sure it will succeed.  But that says nothing about
 | |
| 64 | # exceptions that are never raised.
 | |
| 65 | ||
| 66 | # TODO: Convert all the other error classes here to BzrNewError, and eliminate
 | |
| 67 | # the old one.
 | |
| 1185.16.62
by mbp at sourcefrog - convert NotBranchError to new exception base | 68 | |
| 1185.16.61
by mbp at sourcefrog - start introducing hct error classes | 69 | |
| 1
by mbp at sourcefrog import from baz patch-364 | 70 | class BzrError(StandardError): | 
| 1193
by Martin Pool - better string formatting of BzrErrors with explanation | 71 | def __str__(self): | 
| 1393.1.64
by Martin Pool - improved display of some errors, including NotBranchError | 72 |         # XXX: Should we show the exception class in 
 | 
| 73 |         # exceptions that don't provide their own message?  
 | |
| 74 |         # maybe it should be done at a higher level
 | |
| 75 |         ## n = self.__class__.__name__ + ': '
 | |
| 76 | n = '' | |
| 1195
by Martin Pool - better error display | 77 | if len(self.args) == 1: | 
| 1449
by Robert Collins teach check about ghosts | 78 | return str(self.args[0]) | 
| 1195
by Martin Pool - better error display | 79 | elif len(self.args) == 2: | 
| 1193
by Martin Pool - better string formatting of BzrErrors with explanation | 80 |             # further explanation or suggestions
 | 
| 1405
by Robert Collins remove some of the upgrade code that was duplicated with inventory_entry, and give all inventory entries a weave | 81 | try: | 
| 1393.1.64
by Martin Pool - improved display of some errors, including NotBranchError | 82 | return n + '\n '.join([self.args[0]] + self.args[1]) | 
| 1405
by Robert Collins remove some of the upgrade code that was duplicated with inventory_entry, and give all inventory entries a weave | 83 | except TypeError: | 
| 1393.1.64
by Martin Pool - improved display of some errors, including NotBranchError | 84 | return n + "%r" % self | 
| 1193
by Martin Pool - better string formatting of BzrErrors with explanation | 85 | else: | 
| 1393.1.64
by Martin Pool - improved display of some errors, including NotBranchError | 86 | return n + `self.args` | 
| 1193
by Martin Pool - better string formatting of BzrErrors with explanation | 87 | |
| 1185.1.14
by Robert Collins remove more duplicate merged hunks. Bad MERGE3, BAD. | 88 | |
| 1185.16.62
by mbp at sourcefrog - convert NotBranchError to new exception base | 89 | class BzrNewError(BzrError): | 
| 1185.16.61
by mbp at sourcefrog - start introducing hct error classes | 90 | """bzr error""" | 
| 91 |     # base classes should override the docstring with their human-
 | |
| 92 |     # readable explanation
 | |
| 93 | ||
| 94 | def __init__(self, **kwds): | |
| 95 | for key, value in kwds.items(): | |
| 96 | setattr(self, key, value) | |
| 97 | ||
| 98 | def __str__(self): | |
| 99 | try: | |
| 100 | return self.__doc__ % self.__dict__ | |
| 101 | except (NameError, ValueError, KeyError), e: | |
| 102 | return 'Unprintable exception %s: %s' \ | |
| 103 | % (self.__class__.__name__, str(e)) | |
| 104 | ||
| 105 | ||
| 1185.16.63
by Martin Pool - more error conversion | 106 | class BzrCheckError(BzrNewError): | 
| 107 | """Internal check failed: %(message)s""" | |
| 1508.1.22
by Robert Collins implement out of date working tree checks in commit. | 108 | |
| 1185.16.63
by Martin Pool - more error conversion | 109 | def __init__(self, message): | 
| 1185.16.103
by mbp at sourcefrog Fix up all calls to InvalidRevisionId() to specify parameters. | 110 | BzrNewError.__init__(self) | 
| 1185.16.63
by Martin Pool - more error conversion | 111 | self.message = message | 
| 112 | ||
| 113 | ||
| 114 | class InvalidEntryName(BzrNewError): | |
| 115 | """Invalid entry name: %(name)s""" | |
| 116 | def __init__(self, name): | |
| 1185.16.103
by mbp at sourcefrog Fix up all calls to InvalidRevisionId() to specify parameters. | 117 | BzrNewError.__init__(self) | 
| 1185.16.63
by Martin Pool - more error conversion | 118 | self.name = name | 
| 119 | ||
| 120 | ||
| 121 | class InvalidRevisionNumber(BzrNewError): | |
| 122 | """Invalid revision number %(revno)d""" | |
| 123 | def __init__(self, revno): | |
| 1185.16.103
by mbp at sourcefrog Fix up all calls to InvalidRevisionId() to specify parameters. | 124 | BzrNewError.__init__(self) | 
| 1185.16.63
by Martin Pool - more error conversion | 125 | self.revno = revno | 
| 126 | ||
| 127 | ||
| 128 | class InvalidRevisionId(BzrNewError): | |
| 1185.16.103
by mbp at sourcefrog Fix up all calls to InvalidRevisionId() to specify parameters. | 129 | """Invalid revision-id {%(revision_id)s} in %(branch)s""" | 
| 130 | def __init__(self, revision_id, branch): | |
| 131 | BzrNewError.__init__(self) | |
| 1185.12.90
by Aaron Bentley Fixed InvalidRevisionID handling in Branch.get_revision_xml | 132 | self.revision_id = revision_id | 
| 1185.16.103
by mbp at sourcefrog Fix up all calls to InvalidRevisionId() to specify parameters. | 133 | self.branch = branch | 
| 974.1.26
by aaron.bentley at utoronto merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 | 134 | |
| 135 | ||
| 1497
by Robert Collins Move Branch.read_working_inventory to WorkingTree. | 136 | class NoWorkingTree(BzrNewError): | 
| 137 | """No WorkingTree exists for %s(base).""" | |
| 138 | ||
| 139 | def __init__(self, base): | |
| 140 | BzrNewError.__init__(self) | |
| 141 | self.base = base | |
| 1506
by Robert Collins Merge Johns current integration work. | 142 | |
| 143 | ||
| 1534.4.42
by Robert Collins add working tree to the BzrDir facilities. | 144 | class NotLocalUrl(BzrNewError): | 
| 145 | """%s(url) is not a local path.""" | |
| 146 | ||
| 147 | def __init__(self, url): | |
| 148 | BzrNewError.__init__(self) | |
| 149 | self.url = url | |
| 150 | ||
| 151 | ||
| 329
by Martin Pool - refactor command functions into command classes | 152 | class BzrCommandError(BzrError): | 
| 153 |     # Error from malformed user command
 | |
| 1495
by Robert Collins Add a --create-prefix to the new push command. | 154 |     # This is being misused as a generic exception
 | 
| 155 |     # pleae subclass. RBC 20051030
 | |
| 1185.54.18
by Aaron Bentley Noted difference of opinion wrt BzrCommandError | 156 |     #
 | 
| 157 |     # I think it's a waste of effort to differentiate between errors that
 | |
| 158 |     # are not intended to be caught anyway.  UI code need not subclass
 | |
| 159 |     # BzrCommandError, and non-UI code should not throw a subclass of
 | |
| 160 |     # BzrCommandError.  ADHB 20051211
 | |
| 1393.1.64
by Martin Pool - improved display of some errors, including NotBranchError | 161 | def __str__(self): | 
| 162 | return self.args[0] | |
| 1
by mbp at sourcefrog import from baz patch-364 | 163 | |
| 1495
by Robert Collins Add a --create-prefix to the new push command. | 164 | |
| 165 | class BzrOptionError(BzrCommandError): | |
| 166 | """Some missing or otherwise incorrect option was supplied.""" | |
| 167 | ||
| 168 | ||
| 1185.16.65
by mbp at sourcefrog - new commit --strict option | 169 | class StrictCommitFailed(Exception): | 
| 170 | """Commit refused because there are unknowns in the tree.""" | |
| 1
by mbp at sourcefrog import from baz patch-364 | 171 | |
| 1185.31.41
by John Arbash Meinel Creating a PathNotChild exception, and using relpath in HTTPTestUtil | 172 | |
| 1185.31.44
by John Arbash Meinel Cleaned up Exceptions for all transports. | 173 | class PathError(BzrNewError): | 
| 174 | """Generic path error: %(path)r%(extra)s)""" | |
| 175 | def __init__(self, path, extra=None): | |
| 176 | BzrNewError.__init__(self) | |
| 177 | self.path = path | |
| 178 | if extra: | |
| 179 | self.extra = ': ' + str(extra) | |
| 180 | else: | |
| 181 | self.extra = '' | |
| 182 | ||
| 183 | ||
| 184 | class NoSuchFile(PathError): | |
| 185 | """No such file: %(path)r%(extra)s""" | |
| 186 | ||
| 187 | ||
| 188 | class FileExists(PathError): | |
| 189 | """File exists: %(path)r%(extra)s""" | |
| 190 | ||
| 191 | ||
| 1553.5.10
by Martin Pool New DirectoryNotEmpty exception, and raise this from local and memory | 192 | class DirectoryNotEmpty(PathError): | 
| 193 | """Directory not empty: %(path)r%(extra)s""" | |
| 194 | ||
| 195 | ||
| 1558.10.1
by Aaron Bentley Handle lockdirs over NFS properly | 196 | class ResourceBusy(PathError): | 
| 197 | """Device or resource busy: %(path)r%(extra)s""" | |
| 198 | ||
| 199 | ||
| 1185.31.44
by John Arbash Meinel Cleaned up Exceptions for all transports. | 200 | class PermissionDenied(PathError): | 
| 201 | """Permission denied: %(path)r%(extra)s""" | |
| 202 | ||
| 203 | ||
| 1185.31.41
by John Arbash Meinel Creating a PathNotChild exception, and using relpath in HTTPTestUtil | 204 | class PathNotChild(BzrNewError): | 
| 1185.31.44
by John Arbash Meinel Cleaned up Exceptions for all transports. | 205 | """Path %(path)r is not a child of path %(base)r%(extra)s""" | 
| 206 | def __init__(self, path, base, extra=None): | |
| 1185.31.41
by John Arbash Meinel Creating a PathNotChild exception, and using relpath in HTTPTestUtil | 207 | BzrNewError.__init__(self) | 
| 208 | self.path = path | |
| 209 | self.base = base | |
| 1185.31.44
by John Arbash Meinel Cleaned up Exceptions for all transports. | 210 | if extra: | 
| 211 | self.extra = ': ' + str(extra) | |
| 212 | else: | |
| 213 | self.extra = '' | |
| 1185.31.41
by John Arbash Meinel Creating a PathNotChild exception, and using relpath in HTTPTestUtil | 214 | |
| 215 | ||
| 1185.16.62
by mbp at sourcefrog - convert NotBranchError to new exception base | 216 | class NotBranchError(BzrNewError): | 
| 217 | """Not a branch: %(path)s""" | |
| 1185.16.61
by mbp at sourcefrog - start introducing hct error classes | 218 | def __init__(self, path): | 
| 1185.16.62
by mbp at sourcefrog - convert NotBranchError to new exception base | 219 | BzrNewError.__init__(self) | 
| 220 | self.path = path | |
| 221 | ||
| 573
by Martin Pool - new exception NotBranchError | 222 | |
| 1534.4.47
by Robert Collins Split out repository into .bzr/repository | 223 | class NoRepositoryPresent(BzrNewError): | 
| 224 | """Not repository present: %(path)r""" | |
| 225 | def __init__(self, bzrdir): | |
| 226 | BzrNewError.__init__(self) | |
| 227 | self.path = bzrdir.transport.clone('..').base | |
| 228 | ||
| 229 | ||
| 1185.35.32
by Aaron Bentley Fixed handling of files in mixed branches | 230 | class FileInWrongBranch(BzrNewError): | 
| 231 | """File %(path)s in not in branch %(branch_base)s.""" | |
| 1534.4.44
by Robert Collins Make a new BzrDir format that uses a versioned branch format in a branch/ subdirectory. | 232 | |
| 1185.35.32
by Aaron Bentley Fixed handling of files in mixed branches | 233 | def __init__(self, branch, path): | 
| 234 | BzrNewError.__init__(self) | |
| 235 | self.branch = branch | |
| 236 | self.branch_base = branch.base | |
| 237 | self.path = path | |
| 238 | ||
| 239 | ||
| 1185.1.53
by Robert Collins raise a specific error on unsupported branches so that they can be distinguished from generic errors | 240 | class UnsupportedFormatError(BzrError): | 
| 1534.4.7
by Robert Collins Move downlevel check up to the Branch.open logic, removing it from the Branch constructor and deprecating relax_version_check to the same. | 241 | """Specified path is a bzr branch that we recognize but cannot read.""" | 
| 1185.1.53
by Robert Collins raise a specific error on unsupported branches so that they can be distinguished from generic errors | 242 | def __str__(self): | 
| 243 | return 'unsupported branch format: %s' % self.args[0] | |
| 244 | ||
| 245 | ||
| 1534.4.7
by Robert Collins Move downlevel check up to the Branch.open logic, removing it from the Branch constructor and deprecating relax_version_check to the same. | 246 | class UnknownFormatError(BzrError): | 
| 247 | """Specified path is a bzr branch whose format we do not recognize.""" | |
| 248 | def __str__(self): | |
| 249 | return 'unknown branch format: %s' % self.args[0] | |
| 250 | ||
| 251 | ||
| 1534.4.44
by Robert Collins Make a new BzrDir format that uses a versioned branch format in a branch/ subdirectory. | 252 | class IncompatibleFormat(BzrNewError): | 
| 253 | """Format %(format)s is not compatible with .bzr version %(bzrdir)s.""" | |
| 254 | ||
| 255 | def __init__(self, format, bzrdir_format): | |
| 256 | BzrNewError.__init__(self) | |
| 257 | self.format = format | |
| 258 | self.bzrdir = bzrdir_format | |
| 259 | ||
| 260 | ||
| 1185.16.72
by Martin Pool [merge] from robert and fix up tests | 261 | class NotVersionedError(BzrNewError): | 
| 262 | """%(path)s is not versioned""" | |
| 263 | def __init__(self, path): | |
| 264 | BzrNewError.__init__(self) | |
| 265 | self.path = path | |
| 753
by Martin Pool - new exception NotVersionedError | 266 | |
| 267 | ||
| 599
by Martin Pool - better error reporting from smart_add | 268 | class BadFileKindError(BzrError): | 
| 269 | """Specified file is of a kind that cannot be added. | |
| 270 | ||
| 271 |     (For example a symlink or device file.)"""
 | |
| 272 | ||
| 273 | ||
| 274 | class ForbiddenFileError(BzrError): | |
| 275 | """Cannot operate on a file because it is a control file.""" | |
| 276 | ||
| 277 | ||
| 1553.5.11
by Martin Pool Change some lock and transaction related exceptions to BzrNewException style | 278 | class LockError(BzrNewError): | 
| 279 | """Lock error: %(message)s""" | |
| 1185.16.63
by Martin Pool - more error conversion | 280 |     # All exceptions from the lock/unlock functions should be from
 | 
| 281 |     # this exception class.  They will be translated as necessary. The
 | |
| 282 |     # original exception is available as e.original_error
 | |
| 1553.5.11
by Martin Pool Change some lock and transaction related exceptions to BzrNewException style | 283 |     #
 | 
| 284 |     # New code should prefer to raise specific subclasses
 | |
| 285 | def __init__(self, message): | |
| 286 | self.message = message | |
| 882
by Martin Pool - Optionally raise EmptyCommit if there are no changes. Test for this. | 287 | |
| 288 | ||
| 1417.1.6
by Robert Collins introduce transactions for grouping actions done to and with branches | 289 | class CommitNotPossible(LockError): | 
| 290 | """A commit was attempted but we do not have a write lock open.""" | |
| 1553.5.11
by Martin Pool Change some lock and transaction related exceptions to BzrNewException style | 291 | def __init__(self): | 
| 292 |         pass
 | |
| 1417.1.6
by Robert Collins introduce transactions for grouping actions done to and with branches | 293 | |
| 294 | ||
| 295 | class AlreadyCommitted(LockError): | |
| 296 | """A rollback was requested, but is not able to be accomplished.""" | |
| 1553.5.11
by Martin Pool Change some lock and transaction related exceptions to BzrNewException style | 297 | def __init__(self): | 
| 298 |         pass
 | |
| 1417.1.6
by Robert Collins introduce transactions for grouping actions done to and with branches | 299 | |
| 300 | ||
| 1417.1.8
by Robert Collins use transactions in the weave store interface, which enables caching for log | 301 | class ReadOnlyError(LockError): | 
| 1553.5.33
by Martin Pool LockDir review comment fixes | 302 | """A write attempt was made in a read only transaction on %(obj)s""" | 
| 303 | def __init__(self, obj): | |
| 304 | self.obj = obj | |
| 1553.5.11
by Martin Pool Change some lock and transaction related exceptions to BzrNewException style | 305 | |
| 306 | ||
| 1594.2.21
by Robert Collins Teach versioned files to prevent mutation after finishing. | 307 | class OutSideTransaction(BzrNewError): | 
| 308 | """A transaction related operation was attempted after the transaction finished.""" | |
| 309 | ||
| 310 | ||
| 1553.5.36
by Martin Pool Clean up duplicate BranchNotLocked error and rename to ObjectNotLocked | 311 | class ObjectNotLocked(LockError): | 
| 312 | """%(obj)r is not locked""" | |
| 313 |     # this can indicate that any particular object is not locked; see also
 | |
| 314 |     # LockNotHeld which means that a particular *lock* object is not held by
 | |
| 315 |     # the caller -- perhaps they should be unified.
 | |
| 316 | def __init__(self, obj): | |
| 317 | self.obj = obj | |
| 1553.5.11
by Martin Pool Change some lock and transaction related exceptions to BzrNewException style | 318 | |
| 319 | ||
| 320 | class ReadOnlyObjectDirtiedError(ReadOnlyError): | |
| 321 | """Cannot change object %(obj)r in read only transaction""" | |
| 322 | def __init__(self, obj): | |
| 323 | self.obj = obj | |
| 324 | ||
| 325 | ||
| 326 | class UnlockableTransport(LockError): | |
| 327 | """Cannot lock: transport is read only: %(transport)s""" | |
| 328 | def __init__(self, transport): | |
| 329 | self.transport = transport | |
| 330 | ||
| 331 | ||
| 332 | class LockContention(LockError): | |
| 333 | """Could not acquire lock %(lock)s""" | |
| 334 |     # TODO: show full url for lock, combining the transport and relative bits?
 | |
| 335 | def __init__(self, lock): | |
| 336 | self.lock = lock | |
| 337 | ||
| 338 | ||
| 1553.5.23
by Martin Pool Start LockDir.confirm method and LockBroken exception | 339 | class LockBroken(LockError): | 
| 1553.5.24
by Martin Pool Warning to check storage when lock was broken | 340 | """Lock was broken while still open: %(lock)s - check storage consistency!""" | 
| 1553.5.23
by Martin Pool Start LockDir.confirm method and LockBroken exception | 341 | def __init__(self, lock): | 
| 342 | self.lock = lock | |
| 343 | ||
| 344 | ||
| 1553.5.27
by Martin Pool Confirm that only the intended holder of a lock was broken. | 345 | class LockBreakMismatch(LockError): | 
| 346 | """Lock was released and re-acquired before being broken: %(lock)s: held by %(holder)r, wanted to break %(target)r""" | |
| 347 | def __init__(self, lock, holder, target): | |
| 348 | self.lock = lock | |
| 349 | self.holder = holder | |
| 350 | self.target = target | |
| 351 | ||
| 352 | ||
| 1553.5.11
by Martin Pool Change some lock and transaction related exceptions to BzrNewException style | 353 | class LockNotHeld(LockError): | 
| 354 | """Lock not held: %(lock)s""" | |
| 355 | def __init__(self, lock): | |
| 356 | self.lock = lock | |
| 357 | ||
| 358 | ||
| 1185.16.63
by Martin Pool - more error conversion | 359 | class PointlessCommit(BzrNewError): | 
| 1185.16.64
by Martin Pool - more error conversions | 360 | """No changes to commit""" | 
| 974.1.26
by aaron.bentley at utoronto merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 | 361 | |
| 1551.3.1
by Aaron Bentley PEP8 fixes | 362 | |
| 1534.4.13
by Robert Collins Give a reasonable warning on attempts to upgrade a readonly url. | 363 | class UpgradeReadonly(BzrNewError): | 
| 364 | """Upgrade URL cannot work with readonly URL's.""" | |
| 365 | ||
| 366 | ||
| 1534.5.7
by Robert Collins Start factoring out the upgrade policy logic. | 367 | class UpToDateFormat(BzrNewError): | 
| 368 | """The branch format %(format)s is already at the most recent format.""" | |
| 369 | ||
| 370 | def __init__(self, format): | |
| 371 | BzrNewError.__init__(self) | |
| 372 | self.format = format | |
| 373 | ||
| 374 | ||
| 1587.1.6
by Robert Collins Update bound branch implementation to 0.8. | 375 | |
| 1185.22.1
by Michael Ellerman Implement strict commits with --strict flag. | 376 | class StrictCommitFailed(Exception): | 
| 377 | """Commit refused because there are unknowns in the tree.""" | |
| 974.1.26
by aaron.bentley at utoronto merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 | 378 | |
| 1505.1.2
by John Arbash Meinel (broken) working on implementing bound branches. | 379 | |
| 974.1.26
by aaron.bentley at utoronto merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 | 380 | class NoSuchRevision(BzrError): | 
| 381 | def __init__(self, branch, revision): | |
| 382 | self.branch = branch | |
| 383 | self.revision = revision | |
| 384 | msg = "Branch %s has no revision %s" % (branch, revision) | |
| 385 | BzrError.__init__(self, msg) | |
| 386 | ||
| 1034
by Martin Pool - merge bzrlib.revision.is_ancestor from aaron | 387 | |
| 1192
by Martin Pool - clean up code for retrieving stored inventories | 388 | class HistoryMissing(BzrError): | 
| 389 | def __init__(self, branch, object_type, object_id): | |
| 390 | self.branch = branch | |
| 391 | BzrError.__init__(self, | |
| 392 | '%s is missing %s {%s}' | |
| 393 | % (branch, object_type, object_id)) | |
| 394 | ||
| 395 | ||
| 1185.2.1
by Lalo Martins moving DivergedBranches from bzrlib.branch to bzrlib.errors, obeying: | 396 | class DivergedBranches(BzrError): | 
| 397 | def __init__(self, branch1, branch2): | |
| 1185.56.1
by Michael Ellerman Simplify handling of DivergedBranches in cmd_pull() | 398 | BzrError.__init__(self, "These branches have diverged. Try merge.") | 
| 1185.2.1
by Lalo Martins moving DivergedBranches from bzrlib.branch to bzrlib.errors, obeying: | 399 | self.branch1 = branch1 | 
| 400 | self.branch2 = branch2 | |
| 401 | ||
| 1390
by Robert Collins pair programming worx... merge integration and weave | 402 | |
| 1105
by Martin Pool - expose 'find-merge-base' as a new expert command, | 403 | class UnrelatedBranches(BzrCommandError): | 
| 404 | def __init__(self): | |
| 405 | msg = "Branches have no common ancestor, and no base revision"\ | |
| 406 |             " specified."
 | |
| 407 | BzrCommandError.__init__(self, msg) | |
| 408 | ||
| 1551.2.1
by Aaron Bentley recommit 1527 PEP8 fixes | 409 | |
| 974.1.80
by Aaron Bentley Improved merge error handling and testing | 410 | class NoCommonAncestor(BzrError): | 
| 411 | def __init__(self, revision_a, revision_b): | |
| 412 | msg = "Revisions have no common ancestor: %s %s." \ | |
| 413 | % (revision_a, revision_b) | |
| 414 | BzrError.__init__(self, msg) | |
| 415 | ||
| 1551.2.1
by Aaron Bentley recommit 1527 PEP8 fixes | 416 | |
| 974.1.80
by Aaron Bentley Improved merge error handling and testing | 417 | class NoCommonRoot(BzrError): | 
| 418 | def __init__(self, revision_a, revision_b): | |
| 419 | msg = "Revisions are not derived from the same root: %s %s." \ | |
| 420 | % (revision_a, revision_b) | |
| 421 | BzrError.__init__(self, msg) | |
| 1105
by Martin Pool - expose 'find-merge-base' as a new expert command, | 422 | |
| 1551.2.1
by Aaron Bentley recommit 1527 PEP8 fixes | 423 | |
| 1587.1.6
by Robert Collins Update bound branch implementation to 0.8. | 424 | |
| 974.2.7
by aaron.bentley at utoronto Merged from bzr.24 | 425 | class NotAncestor(BzrError): | 
| 426 | def __init__(self, rev_id, not_ancestor_id): | |
| 1185.1.14
by Robert Collins remove more duplicate merged hunks. Bad MERGE3, BAD. | 427 | msg = "Revision %s is not an ancestor of %s" % (not_ancestor_id, | 
| 428 | rev_id) | |
| 429 | BzrError.__init__(self, msg) | |
| 430 | self.rev_id = rev_id | |
| 431 | self.not_ancestor_id = not_ancestor_id | |
| 1185.1.12
by Robert Collins merge in lsdiff/filterdiff friendliness | 432 | |
| 433 | ||
| 974.1.30
by aaron.bentley at utoronto Changed copy_multi to permit failure and return a tuple, tested missing required revisions | 434 | class InstallFailed(BzrError): | 
| 435 | def __init__(self, revisions): | |
| 1185.1.14
by Robert Collins remove more duplicate merged hunks. Bad MERGE3, BAD. | 436 | msg = "Could not install revisions:\n%s" % " ,".join(revisions) | 
| 437 | BzrError.__init__(self, msg) | |
| 974.1.30
by aaron.bentley at utoronto Changed copy_multi to permit failure and return a tuple, tested missing required revisions | 438 | self.revisions = revisions | 
| 1154
by Martin Pool - fix imports for moved errors | 439 | |
| 440 | ||
| 441 | class AmbiguousBase(BzrError): | |
| 442 | def __init__(self, bases): | |
| 443 | msg = "The correct base is unclear, becase %s are all equally close" %\ | |
| 444 | ", ".join(bases) | |
| 445 | BzrError.__init__(self, msg) | |
| 446 | self.bases = bases | |
| 447 | ||
| 1551.2.1
by Aaron Bentley recommit 1527 PEP8 fixes | 448 | |
| 974.1.80
by Aaron Bentley Improved merge error handling and testing | 449 | class NoCommits(BzrError): | 
| 450 | def __init__(self, branch): | |
| 451 | msg = "Branch %s has no commits." % branch | |
| 452 | BzrError.__init__(self, msg) | |
| 1185.10.1
by Aaron Bentley Added --basis option to bzr branch | 453 | |
| 1551.2.1
by Aaron Bentley recommit 1527 PEP8 fixes | 454 | |
| 1185.10.1
by Aaron Bentley Added --basis option to bzr branch | 455 | class UnlistableStore(BzrError): | 
| 456 | def __init__(self, store): | |
| 457 | BzrError.__init__(self, "Store %s is not listable" % store) | |
| 458 | ||
| 1551.2.1
by Aaron Bentley recommit 1527 PEP8 fixes | 459 | |
| 1587.1.6
by Robert Collins Update bound branch implementation to 0.8. | 460 | |
| 1185.10.1
by Aaron Bentley Added --basis option to bzr branch | 461 | class UnlistableBranch(BzrError): | 
| 462 | def __init__(self, br): | |
| 463 | BzrError.__init__(self, "Stores for branch %s are not listable" % br) | |
| 1392
by Robert Collins reinstate testfetch test case | 464 | |
| 465 | ||
| 1505.1.24
by John Arbash Meinel Updated commit to handle bound branches. Included test to handle commit after merge | 466 | class BoundBranchOutOfDate(BzrNewError): | 
| 467 | """Bound branch %(branch)s is out of date with master branch %(master)s.""" | |
| 468 | def __init__(self, branch, master): | |
| 469 | BzrNewError.__init__(self) | |
| 470 | self.branch = branch | |
| 471 | self.master = master | |
| 472 | ||
| 473 | ||
| 474 | class CommitToDoubleBoundBranch(BzrNewError): | |
| 475 | """Cannot commit to branch %(branch)s. It is bound to %(master)s, which is bound to %(remote)s.""" | |
| 476 | def __init__(self, branch, master, remote): | |
| 477 | BzrNewError.__init__(self) | |
| 478 | self.branch = branch | |
| 479 | self.master = master | |
| 480 | self.remote = remote | |
| 481 | ||
| 1505.1.25
by John Arbash Meinel Updated pull. Now all paths which call set_revision_history maintain the branch invariant. All tests pass. | 482 | |
| 483 | class OverwriteBoundBranch(BzrNewError): | |
| 484 | """Cannot pull --overwrite to a branch which is bound %(branch)s""" | |
| 485 | def __init__(self, branch): | |
| 486 | BzrNewError.__init__(self) | |
| 487 | self.branch = branch | |
| 488 | ||
| 1505.1.29
by John Arbash Meinel Added special exceptions when unable to contact parent branch. Added tests for failure. bind() no longer updates the remote working tree | 489 | |
| 490 | class BoundBranchConnectionFailure(BzrNewError): | |
| 491 | """Unable to connect to target of bound branch %(branch)s => %(target)s: %(error)s""" | |
| 492 | def __init__(self, branch, target, error): | |
| 493 | BzrNewError.__init__(self) | |
| 494 | self.branch = branch | |
| 495 | self.target = target | |
| 496 | self.error = error | |
| 497 | ||
| 498 | ||
| 1185.16.116
by mbp at sourcefrog Move weave errors into bzrlib.errors and make consistent with new system. | 499 | class WeaveError(BzrNewError): | 
| 500 | """Error in processing weave: %(message)s""" | |
| 1563.2.10
by Robert Collins Change weave store to be a versioned store, using WeaveFiles which maintain integrity without needing explicit 'put' operations. | 501 | |
| 1185.16.116
by mbp at sourcefrog Move weave errors into bzrlib.errors and make consistent with new system. | 502 | def __init__(self, message=None): | 
| 503 | BzrNewError.__init__(self) | |
| 504 | self.message = message | |
| 505 | ||
| 506 | ||
| 507 | class WeaveRevisionAlreadyPresent(WeaveError): | |
| 508 | """Revision {%(revision_id)s} already present in %(weave)s""" | |
| 509 | def __init__(self, revision_id, weave): | |
| 1563.2.10
by Robert Collins Change weave store to be a versioned store, using WeaveFiles which maintain integrity without needing explicit 'put' operations. | 510 | |
| 1185.16.116
by mbp at sourcefrog Move weave errors into bzrlib.errors and make consistent with new system. | 511 | WeaveError.__init__(self) | 
| 512 | self.revision_id = revision_id | |
| 513 | self.weave = weave | |
| 514 | ||
| 515 | ||
| 516 | class WeaveRevisionNotPresent(WeaveError): | |
| 517 | """Revision {%(revision_id)s} not present in %(weave)s""" | |
| 1563.2.10
by Robert Collins Change weave store to be a versioned store, using WeaveFiles which maintain integrity without needing explicit 'put' operations. | 518 | |
| 1185.16.116
by mbp at sourcefrog Move weave errors into bzrlib.errors and make consistent with new system. | 519 | def __init__(self, revision_id, weave): | 
| 520 | WeaveError.__init__(self) | |
| 521 | self.revision_id = revision_id | |
| 522 | self.weave = weave | |
| 523 | ||
| 524 | ||
| 525 | class WeaveFormatError(WeaveError): | |
| 526 | """Weave invariant violated: %(what)s""" | |
| 1563.2.10
by Robert Collins Change weave store to be a versioned store, using WeaveFiles which maintain integrity without needing explicit 'put' operations. | 527 | |
| 1185.16.116
by mbp at sourcefrog Move weave errors into bzrlib.errors and make consistent with new system. | 528 | def __init__(self, what): | 
| 529 | WeaveError.__init__(self) | |
| 530 | self.what = what | |
| 531 | ||
| 532 | ||
| 533 | class WeaveParentMismatch(WeaveError): | |
| 534 | """Parents are mismatched between two revisions.""" | |
| 535 | ||
| 1393.2.1
by John Arbash Meinel Merged in split-storage-2 branch. Need to cleanup a little bit more still. | 536 | |
| 1185.50.23
by John Arbash Meinel Adding sha1 check when weave extracts a text. | 537 | class WeaveInvalidChecksum(WeaveError): | 
| 538 | """Text did not match it's checksum: %(message)s""" | |
| 539 | ||
| 540 | ||
| 1551.3.11
by Aaron Bentley Merge from Robert | 541 | class WeaveTextDiffers(WeaveError): | 
| 542 | """Weaves differ on text content. Revision: {%(revision_id)s}, %(weave_a)s, %(weave_b)s""" | |
| 543 | ||
| 544 | def __init__(self, revision_id, weave_a, weave_b): | |
| 545 | WeaveError.__init__(self) | |
| 546 | self.revision_id = revision_id | |
| 547 | self.weave_a = weave_a | |
| 548 | self.weave_b = weave_b | |
| 549 | ||
| 550 | ||
| 1534.7.158
by Aaron Bentley Merged John Meinel's integration | 551 | class WeaveTextDiffers(WeaveError): | 
| 552 | """Weaves differ on text content. Revision: {%(revision_id)s}, %(weave_a)s, %(weave_b)s""" | |
| 553 | ||
| 554 | def __init__(self, revision_id, weave_a, weave_b): | |
| 555 | WeaveError.__init__(self) | |
| 556 | self.revision_id = revision_id | |
| 557 | self.weave_a = weave_a | |
| 558 | self.weave_b = weave_b | |
| 559 | ||
| 560 | ||
| 1563.2.1
by Robert Collins Merge in a variation of the versionedfile api from versioned-file. | 561 | class VersionedFileError(BzrNewError): | 
| 562 | """Versioned file error.""" | |
| 563 | ||
| 564 | ||
| 565 | class RevisionNotPresent(VersionedFileError): | |
| 566 | """Revision {%(revision_id)s} not present in %(file_id)s.""" | |
| 567 | ||
| 568 | def __init__(self, revision_id, file_id): | |
| 569 | VersionedFileError.__init__(self) | |
| 570 | self.revision_id = revision_id | |
| 571 | self.file_id = file_id | |
| 572 | ||
| 573 | ||
| 574 | class RevisionAlreadyPresent(VersionedFileError): | |
| 575 | """Revision {%(revision_id)s} already present in %(file_id)s.""" | |
| 576 | ||
| 577 | def __init__(self, revision_id, file_id): | |
| 578 | VersionedFileError.__init__(self) | |
| 579 | self.revision_id = revision_id | |
| 580 | self.file_id = file_id | |
| 581 | ||
| 582 | ||
| 583 | class KnitError(BzrNewError): | |
| 584 | """Knit error""" | |
| 585 | ||
| 586 | ||
| 587 | class KnitHeaderError(KnitError): | |
| 588 | """Knit header error: %(badline)r unexpected""" | |
| 589 | ||
| 590 | def __init__(self, badline): | |
| 591 | KnitError.__init__(self) | |
| 592 | self.badline = badline | |
| 593 | ||
| 594 | ||
| 595 | class KnitCorrupt(KnitError): | |
| 596 | """Knit %(filename)s corrupt: %(how)s""" | |
| 597 | ||
| 598 | def __init__(self, filename, how): | |
| 599 | KnitError.__init__(self) | |
| 600 | self.filename = filename | |
| 601 | self.how = how | |
| 602 | ||
| 603 | ||
| 1185.31.12
by John Arbash Meinel Refactored the export code to make it easier to add new export formats. | 604 | class NoSuchExportFormat(BzrNewError): | 
| 605 | """Export format %(format)r not supported""" | |
| 606 | def __init__(self, format): | |
| 607 | BzrNewError.__init__(self) | |
| 608 | self.format = format | |
| 609 | ||
| 610 | ||
| 1185.11.9
by John Arbash Meinel Most tests pass, some problems with unavailable socket recv | 611 | class TransportError(BzrError): | 
| 612 | """All errors thrown by Transport implementations should derive | |
| 613 |     from this class.
 | |
| 614 |     """
 | |
| 615 | def __init__(self, msg=None, orig_error=None): | |
| 616 | if msg is None and orig_error is not None: | |
| 617 | msg = str(orig_error) | |
| 618 | BzrError.__init__(self, msg) | |
| 619 | self.msg = msg | |
| 620 | self.orig_error = orig_error | |
| 621 | ||
| 1551.2.1
by Aaron Bentley recommit 1527 PEP8 fixes | 622 | |
| 1185.11.9
by John Arbash Meinel Most tests pass, some problems with unavailable socket recv | 623 | # A set of semi-meaningful errors which can be thrown
 | 
| 624 | class TransportNotPossible(TransportError): | |
| 625 | """This is for transports where a specific function is explicitly not | |
| 626 |     possible. Such as pushing files to an HTTP server.
 | |
| 627 |     """
 | |
| 628 |     pass
 | |
| 629 | ||
| 1185.31.44
by John Arbash Meinel Cleaned up Exceptions for all transports. | 630 | |
| 631 | class ConnectionError(TransportError): | |
| 632 | """A connection problem prevents file retrieval. | |
| 1185.35.31
by Aaron Bentley Throw ConnectionError instead of NoSuchFile except when we get a 404 | 633 |     This does not indicate whether the file exists or not; it indicates that a
 | 
| 634 |     precondition for requesting the file was not met.
 | |
| 635 |     """
 | |
| 1185.31.44
by John Arbash Meinel Cleaned up Exceptions for all transports. | 636 | def __init__(self, msg=None, orig_error=None): | 
| 637 | TransportError.__init__(self, msg=msg, orig_error=orig_error) | |
| 638 | ||
| 1185.11.9
by John Arbash Meinel Most tests pass, some problems with unavailable socket recv | 639 | |
| 640 | class ConnectionReset(TransportError): | |
| 641 | """The connection has been closed.""" | |
| 642 |     pass
 | |
| 643 | ||
| 1551.2.1
by Aaron Bentley recommit 1527 PEP8 fixes | 644 | |
| 1185.14.10
by Aaron Bentley Commit aborts with conflicts in the tree. | 645 | class ConflictsInTree(BzrError): | 
| 646 | def __init__(self): | |
| 647 | BzrError.__init__(self, "Working tree has conflicts.") | |
| 1185.12.49
by Aaron Bentley Switched to ConfigObj | 648 | |
| 1551.2.1
by Aaron Bentley recommit 1527 PEP8 fixes | 649 | |
| 1185.12.49
by Aaron Bentley Switched to ConfigObj | 650 | class ParseConfigError(BzrError): | 
| 651 | def __init__(self, errors, filename): | |
| 652 | if filename is None: | |
| 653 | filename = "" | |
| 654 | message = "Error(s) parsing config file %s:\n%s" % \ | |
| 655 | (filename, ('\n'.join(e.message for e in errors))) | |
| 656 | BzrError.__init__(self, message) | |
| 1185.12.52
by Aaron Bentley Merged more config stuff from Robert | 657 | |
| 1551.2.1
by Aaron Bentley recommit 1527 PEP8 fixes | 658 | |
| 1442.1.58
by Robert Collins gpg signing of content | 659 | class SigningFailed(BzrError): | 
| 660 | def __init__(self, command_line): | |
| 661 | BzrError.__init__(self, "Failed to gpg sign data with command '%s'" | |
| 662 | % command_line) | |
| 1185.12.83
by Aaron Bentley Preliminary weave merge support | 663 | |
| 1551.2.1
by Aaron Bentley recommit 1527 PEP8 fixes | 664 | |
| 1185.12.83
by Aaron Bentley Preliminary weave merge support | 665 | class WorkingTreeNotRevision(BzrError): | 
| 666 | def __init__(self, tree): | |
| 667 | BzrError.__init__(self, "The working tree for %s has changed since" | |
| 668 |                           " last commit, but weave merge requires that it be"
 | |
| 669 | " unchanged." % tree.basedir) | |
| 1185.12.104
by Aaron Bentley Merged Martin's latest | 670 | |
| 1551.2.1
by Aaron Bentley recommit 1527 PEP8 fixes | 671 | |
| 1185.24.1
by Aaron Bentley Got reprocessing working | 672 | class CantReprocessAndShowBase(BzrNewError): | 
| 673 | """Can't reprocess and show base. | |
| 674 | Reprocessing obscures relationship of conflicting lines to base."""
 | |
| 1185.24.2
by Aaron Bentley Merge from mainline | 675 | |
| 1551.2.1
by Aaron Bentley recommit 1527 PEP8 fixes | 676 | |
| 1185.16.114
by mbp at sourcefrog Improved topological sort | 677 | class GraphCycleError(BzrNewError): | 
| 678 | """Cycle in graph %(graph)r""" | |
| 679 | def __init__(self, graph): | |
| 680 | BzrNewError.__init__(self) | |
| 681 | self.graph = graph | |
| 1185.35.1
by Aaron Bentley Implemented conflicts.restore | 682 | |
| 1505.1.23
by John Arbash Meinel Whitespace cleanup of bzrlib.errors | 683 | |
| 1185.35.1
by Aaron Bentley Implemented conflicts.restore | 684 | class NotConflicted(BzrNewError): | 
| 1185.35.4
by Aaron Bentley Implemented remerge | 685 | """File %(filename)s is not conflicted.""" | 
| 1534.3.1
by Robert Collins * bzrlib.osutils.safe_unicode now exists to provide parameter coercion | 686 | |
| 1185.35.1
by Aaron Bentley Implemented conflicts.restore | 687 | def __init__(self, filename): | 
| 688 | BzrNewError.__init__(self) | |
| 689 | self.filename = filename | |
| 1185.35.13
by Aaron Bentley Merged Martin | 690 | |
| 1505.1.23
by John Arbash Meinel Whitespace cleanup of bzrlib.errors | 691 | |
| 1492
by Robert Collins Support decoration of commands. | 692 | class MustUseDecorated(Exception): | 
| 693 | """A decorating function has requested its original command be used. | |
| 694 |     
 | |
| 695 |     This should never escape bzr, so does not need to be printable.
 | |
| 696 |     """
 | |
| 697 | ||
| 1505.1.23
by John Arbash Meinel Whitespace cleanup of bzrlib.errors | 698 | |
| 1185.35.42
by Aaron Bentley Fixed fetch to be safer wrt ghosts and corrupt branches | 699 | class MissingText(BzrNewError): | 
| 700 | """Branch %(base)s is missing revision %(text_revision)s of %(file_id)s""" | |
| 1534.3.1
by Robert Collins * bzrlib.osutils.safe_unicode now exists to provide parameter coercion | 701 | |
| 1185.35.42
by Aaron Bentley Fixed fetch to be safer wrt ghosts and corrupt branches | 702 | def __init__(self, branch, text_revision, file_id): | 
| 1534.3.1
by Robert Collins * bzrlib.osutils.safe_unicode now exists to provide parameter coercion | 703 | BzrNewError.__init__(self) | 
| 1185.35.42
by Aaron Bentley Fixed fetch to be safer wrt ghosts and corrupt branches | 704 | self.branch = branch | 
| 705 | self.base = branch.base | |
| 706 | self.text_revision = text_revision | |
| 707 | self.file_id = file_id | |
| 1534.7.5
by Aaron Bentley Got unique_add under test | 708 | |
| 1505.1.23
by John Arbash Meinel Whitespace cleanup of bzrlib.errors | 709 | |
| 1534.7.5
by Aaron Bentley Got unique_add under test | 710 | class DuplicateKey(BzrNewError): | 
| 711 | """Key %(key)s is already present in map""" | |
| 1534.7.6
by Aaron Bentley Added conflict handling | 712 | |
| 1587.1.6
by Robert Collins Update bound branch implementation to 0.8. | 713 | |
| 1534.7.6
by Aaron Bentley Added conflict handling | 714 | class MalformedTransform(BzrNewError): | 
| 1534.7.49
by Aaron Bentley Printed conflicts in MalformedTransform | 715 | """Tree transform is malformed %(conflicts)r""" | 
| 1534.7.24
by Aaron Bentley Merge from the mainline | 716 | |
| 1534.3.1
by Robert Collins * bzrlib.osutils.safe_unicode now exists to provide parameter coercion | 717 | |
| 718 | class BzrBadParameter(BzrNewError): | |
| 1185.65.29
by Robert Collins Implement final review suggestions. | 719 | """A bad parameter : %(param)s is not usable. | 
| 1534.3.1
by Robert Collins * bzrlib.osutils.safe_unicode now exists to provide parameter coercion | 720 |     
 | 
| 1185.65.29
by Robert Collins Implement final review suggestions. | 721 |     This exception should never be thrown, but it is a base class for all
 | 
| 722 |     parameter-to-function errors.
 | |
| 723 |     """
 | |
| 1534.3.1
by Robert Collins * bzrlib.osutils.safe_unicode now exists to provide parameter coercion | 724 | def __init__(self, param): | 
| 725 | BzrNewError.__init__(self) | |
| 726 | self.param = param | |
| 1534.7.32
by Aaron Bentley Got conflict handling working when conflicts involve existing files | 727 | |
| 1534.4.3
by Robert Collins Implement BranchTestProviderAdapter, so tests now run across all branch formats. | 728 | |
| 1185.65.29
by Robert Collins Implement final review suggestions. | 729 | class BzrBadParameterNotUnicode(BzrBadParameter): | 
| 730 | """Parameter %(param)s is neither unicode nor utf8.""" | |
| 1534.7.120
by Aaron Bentley PEP8 fixes | 731 | |
| 732 | ||
| 1534.7.32
by Aaron Bentley Got conflict handling working when conflicts involve existing files | 733 | class ReusingTransform(BzrNewError): | 
| 734 | """Attempt to reuse a transform that has already been applied.""" | |
| 1534.7.66
by Aaron Bentley Ensured we don't accidentally move the root directory | 735 | |
| 1534.7.120
by Aaron Bentley PEP8 fixes | 736 | |
| 1534.7.66
by Aaron Bentley Ensured we don't accidentally move the root directory | 737 | class CantMoveRoot(BzrNewError): | 
| 738 | """Moving the root directory is not supported at this time""" | |
| 1185.65.29
by Robert Collins Implement final review suggestions. | 739 | |
| 1534.7.120
by Aaron Bentley PEP8 fixes | 740 | |
| 1185.65.29
by Robert Collins Implement final review suggestions. | 741 | class BzrBadParameterNotString(BzrBadParameter): | 
| 742 | """Parameter %(param)s is not a string or unicode string.""" | |
| 1185.62.24
by John Arbash Meinel Changing the exception that sftp.py throws when it can't find paramiko, so that the test suite can handle it. | 743 | |
| 744 | ||
| 1534.4.44
by Robert Collins Make a new BzrDir format that uses a versioned branch format in a branch/ subdirectory. | 745 | class BzrBadParameterMissing(BzrBadParameter): | 
| 746 | """Parameter $(param)s is required but not present.""" | |
| 747 | ||
| 748 | ||
| 1185.62.24
by John Arbash Meinel Changing the exception that sftp.py throws when it can't find paramiko, so that the test suite can handle it. | 749 | class DependencyNotPresent(BzrNewError): | 
| 1540.3.7
by Martin Pool Prepare to select a transport depending on what dependencies can be satisfied. | 750 | """Unable to import library "%(library)s": %(error)s""" | 
| 1185.62.24
by John Arbash Meinel Changing the exception that sftp.py throws when it can't find paramiko, so that the test suite can handle it. | 751 | |
| 752 | def __init__(self, library, error): | |
| 753 | BzrNewError.__init__(self, library=library, error=error) | |
| 754 | ||
| 755 | ||
| 756 | class ParamikoNotPresent(DependencyNotPresent): | |
| 757 | """Unable to import paramiko (required for sftp support): %(error)s""" | |
| 758 | ||
| 759 | def __init__(self, error): | |
| 760 | DependencyNotPresent.__init__(self, 'paramiko', error) | |
| 761 | ||
| 762 | ||
| 1534.4.3
by Robert Collins Implement BranchTestProviderAdapter, so tests now run across all branch formats. | 763 | class UninitializableFormat(BzrNewError): | 
| 764 | """Format %(format)s cannot be initialised by this version of bzr.""" | |
| 765 | ||
| 766 | def __init__(self, format): | |
| 767 | BzrNewError.__init__(self) | |
| 768 | self.format = format | |
| 1551.3.4
by Aaron Bentley Implemented default command options | 769 | |
| 1534.7.156
by Aaron Bentley PEP8 fixes | 770 | |
| 1534.7.130
by Aaron Bentley More conflict handling, test porting | 771 | class NoDiff3(BzrNewError): | 
| 772 | """Diff3 is not installed on this machine.""" | |
| 1534.7.162
by Aaron Bentley Handle failures creating/deleting the Limbo directory | 773 | |
| 774 | ||
| 775 | class ExistingLimbo(BzrNewError): | |
| 776 | """This tree contains left-over files from a failed operation. | |
| 777 |     Please examine %(limbo_dir)s to see if it contains any files you wish to
 | |
| 778 |     keep, and delete it when you are done.
 | |
| 779 |     """
 | |
| 780 | def __init__(self, limbo_dir): | |
| 781 | BzrNewError.__init__(self) | |
| 782 | self.limbo_dir = limbo_dir | |
| 783 | ||
| 784 | ||
| 785 | class ImmortalLimbo(BzrNewError): | |
| 786 | """Unable to delete transform temporary directory $(limbo_dir)s. | |
| 787 |     Please examine %(limbo_dir)s to see if it contains any files you wish to
 | |
| 788 |     keep, and delete it when you are done.
 | |
| 789 |     """
 | |
| 790 | def __init__(self, limbo_dir): | |
| 791 | BzrNewError.__init__(self) | |
| 792 | self.limbo_dir = limbo_dir | |
| 1534.7.163
by Aaron Bentley Merge from Robert [Fails tests] | 793 | |
| 794 | ||
| 1508.1.22
by Robert Collins implement out of date working tree checks in commit. | 795 | class OutOfDateTree(BzrNewError): | 
| 796 | """Working tree is out of date, please run 'bzr update'.""" | |
| 1508.1.25
by Robert Collins Update per review comments. | 797 | |
| 798 | def __init__(self, tree): | |
| 799 | BzrNewError.__init__(self) | |
| 800 | self.tree = tree | |
| 1534.7.196
by Aaron Bentley Switched to Rio format for merge-modified list | 801 | |
| 1563.2.22
by Robert Collins Move responsibility for repository.has_revision into RevisionStore | 802 | |
| 1534.7.196
by Aaron Bentley Switched to Rio format for merge-modified list | 803 | class MergeModifiedFormatError(BzrNewError): | 
| 804 | """Error in merge modified format""" | |
| 1534.7.200
by Aaron Bentley Merge from mainline | 805 | |
| 806 | ||
| 1534.10.7
by Aaron Bentley Added tests for bad conflict lists | 807 | class ConflictFormatError(BzrNewError): | 
| 808 | """Format error in conflict listings""" | |
| 809 | ||
| 810 | ||
| 1570.1.13
by Robert Collins Check for incorrect revision parentage in the weave during revision access. | 811 | class CorruptRepository(BzrNewError): | 
| 812 | """An error has been detected in the repository %(repo_path)s. | |
| 813 | Please run bzr reconcile on this repository."""
 | |
| 814 | ||
| 815 | def __init__(self, repo): | |
| 816 | BzrNewError.__init__(self) | |
| 817 | self.repo_path = repo.bzrdir.root_transport.base | |
| 1587.1.6
by Robert Collins Update bound branch implementation to 0.8. | 818 | |
| 819 | ||
| 820 | class UpgradeRequired(BzrNewError): | |
| 821 | """To use this feature you must upgrade your branch at %(path)s.""" | |
| 822 | ||
| 823 | def __init__(self, path): | |
| 824 | BzrNewError.__init__(self) | |
| 825 | self.path = path | |
| 826 | ||
| 1587.1.8
by Robert Collins Local commits on unbound branches fail. | 827 | |
| 828 | class LocalRequiresBoundBranch(BzrNewError): | |
| 829 | """Cannot perform local-only commits on unbound branches.""" | |
| 1594.1.1
by Robert Collins Introduce new bzr progress bar api. ui_factory.nested_progress_bar. | 830 | |
| 831 | ||
| 832 | class MissingProgressBarFinish(BzrNewError): | |
| 833 | """A nested progress bar was not 'finished' correctly.""" | |
| 1534.10.8
by Aaron Bentley Implemented conflict_lines in terms of old system on WorkingTree | 834 | |
| 835 | ||
| 836 | class UnsupportedOperation(BzrNewError): | |
| 837 | """The method %(mname)s is not supported on objects of type %(tname)s.""" | |
| 838 | def __init__(self, method, method_self): | |
| 839 | self.method = method | |
| 840 | self.mname = method.__name__ | |
| 841 | self.tname = type(method_self).__name__ |