95
95
Repositories store committed history: file texts, revisions, inventories,
96
96
and graph relationships between them.
101
Repositories can be configured to refer to a list of "fallback"
102
repositories. If a particular revision is not present in the original
103
repository, it refers the query to the fallbacks.
105
Compression deltas don't span physical repository boundaries. So the
106
first commit to a new empty repository with fallback repositories will
107
store a full text of the inventory, and of every new file text.
109
At runtime, repository stacking is actually configured by the branch, not
110
the repository. So doing ``a_bzrdir.open_repository()``
111
gets you just the single physical repository, while
112
``a_bzrdir.open_branch().repository`` gets one configured with a stacking.
113
Therefore to permanently change the fallback repository stored on disk,
114
you must use ``Branch.set_stacked_on_url``.
116
Changing away from an existing stacked on url will copy across any
117
necessary history so that the repository remains usable.
119
A repository opened from an hpss server is never stacked on the server
120
side, because this could cause complexity or security problems with the
121
server acting as a proxy for the client. Instead, the branch on the
122
server exposes the stacked-on URL and the client can open that.