2090
2090
# Set to True or False in derived classes. True indicates that the format
2091
2091
# supports ghosts gracefully.
2092
2092
supports_ghosts = None
2093
# Can this repository be given external locations to lookup additional
2094
# data. Set to True or False in derived classes.
2095
supports_external_lookups = None
2094
2097
def __str__(self):
2095
2098
return "<%s>" % self.__class__.__name__
2116
2119
except errors.NoSuchFile:
2117
2120
raise errors.NoRepositoryPresent(a_bzrdir)
2118
2121
except KeyError:
2119
raise errors.UnknownFormatError(format=format_string)
2122
raise errors.UnknownFormatError(format=format_string,
2122
2126
def register_format(klass, format):
2299
2304
# Pack-based formats. There is one format for pre-subtrees, and one for
2300
2305
# post-subtrees to allow ease of testing.
2301
# NOTE: These are experimental in 0.92.
2306
# NOTE: These are experimental in 0.92. Stable in 1.0 and above
2302
2307
format_registry.register_lazy(
2303
2308
'Bazaar pack repository format 1 (needs bzr 0.92)\n',
2304
2309
'bzrlib.repofmt.pack_repo',
2314
2319
'bzrlib.repofmt.pack_repo',
2315
2320
'RepositoryFormatKnitPack4',
2322
# Development formats.
2324
# development 0 - stub to introduce development versioning scheme.
2325
format_registry.register_lazy(
2326
"Bazaar development format 0 (needs bzr.dev from before 1.3)\n",
2327
'bzrlib.repofmt.pack_repo',
2328
'RepositoryFormatPackDevelopment0',
2330
format_registry.register_lazy(
2331
("Bazaar development format 0 with subtree support "
2332
"(needs bzr.dev from before 1.3)\n"),
2333
'bzrlib.repofmt.pack_repo',
2334
'RepositoryFormatPackDevelopment0Subtree',
2336
# 1.3->1.4 go below here
2319
2339
class InterRepository(InterObject):
2827
2847
from bzrlib.repofmt.knitrepo import (RepositoryFormatKnit1,
2828
2848
RepositoryFormatKnit3)
2829
from bzrlib.repofmt.pack_repo import (RepositoryFormatKnitPack1,
2830
RepositoryFormatKnitPack3)
2831
return (isinstance(source._format,
2832
(RepositoryFormatKnit1, RepositoryFormatKnitPack1)) and
2833
isinstance(target._format,
2834
(RepositoryFormatKnit3, RepositoryFormatKnitPack3))
2849
from bzrlib.repofmt.pack_repo import (
2850
RepositoryFormatKnitPack1,
2851
RepositoryFormatKnitPack3,
2852
RepositoryFormatPackDevelopment0,
2853
RepositoryFormatPackDevelopment0Subtree,
2856
RepositoryFormatKnit1,
2857
RepositoryFormatKnitPack1,
2858
RepositoryFormatPackDevelopment0,
2861
RepositoryFormatKnit3,
2862
RepositoryFormatKnitPack3,
2863
RepositoryFormatPackDevelopment0Subtree,
2865
return (isinstance(source._format, nosubtrees) and
2866
isinstance(target._format, subtrees))
2836
2867
except AttributeError: