1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/// A repository format.
///
/// Formats provide four things:
/// * An initialization routine to construct repository data on disk.
/// * a optional format string which is used when the BzrDir supports
/// versioned children.
/// * an open routine which returns a Repository instance.
/// * A network name for referring to the format in smart server RPC
/// methods.
///
/// There is one and only one Format subclass for each on-disk format. But
/// there can be one Repository subclass that is used for several different
/// formats. The _format attribute on a Repository instance can be used to
/// determine the disk format.
///
/// Formats are placed in a registry by their format string for reference
/// during opening. These should be subclasses of RepositoryFormat for
/// consistency.
///
/// Once a format is deprecated, just deprecate the initialize and open
/// methods on the format class. Do not deprecate the object, as the
/// object may be created even when a repository instance hasn't been
/// created.
///
/// Common instance attributes:
/// _matchingcontroldir - the controldir format that the repository format was
/// originally written to work with. This can be used if manually
/// constructing a bzrdir and repository, or more commonly for test suite
/// parameterization.