~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/repository.txt

  • Committer: Robert Collins
  • Date: 2007-07-15 07:31:37 UTC
  • mto: (2592.3.29 repository)
  • mto: This revision was merged to the branch mainline in revision 2624.
  • Revision ID: robertc@robertcollins.net-20070715073137-cd9kb764q4e40o0f
Tweak documentation as per Aaron's review.

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
                    introduced by a set of revisions in some cheap form, insert
45
45
                    data from a stream, validate data during insertion.
46
46
Garbage Collection  Exclusive lock the repository preventing readers.
47
 
Revert              Revision graph access, Inventory extraction, file text
48
 
                    access.
 
47
Revert              Delta from working tree to historical tree, and then 
 
48
                    arbitrary file access to obtain the texts of differing
 
49
                    files.
49
50
Uncommit            Revision graph access.
50
51
Status              Revision graph access, revision text access, file
51
52
                    fingerprint information, inventory differencing.
55
56
                    fetch is needed.
56
57
Log                 Revision graph (entire at the moment) access,
57
58
                    sometimes status between adjacent revisions. Log of a
58
 
                    file needs per-file-graph.
59
 
Missing             Revision graph access.
 
59
                    file needs per-file-graph. Dominator caching or
 
60
                    similar tools may be needed to prevent entire graph
 
61
                    access.
 
62
Missing             Revision graph access, and revision texts to show
 
63
                    output.
60
64
Update              As for merge, but twice.
61
65
==================  ====================
62
66
 
65
69
 
66
70
Ideally we can make our data access for commands such as branch to
67
71
dovetail well with the native storage in the repository, in the common
68
 
case. Doing this may require the commands to operate in predictable
69
 
manners.
 
72
case. Doing this may require choosing the behaviour of some commands to
 
73
allow us to have a smaller range of access patterns which we can optimise
 
74
more heavily. Alternatively if each command is very predicable in its
 
75
data access pattern we may be able to hint to the low level layers which
 
76
pattern is needed on a per command basis to get efficient behaviour.
70
77
 
71
78
===================  ===================================================
72
79
Command              Data access pattern
134
141
Patterns used
135
142
-------------
136
143
 
 
144
Note that these are able to be changed by changing what we store. For
 
145
instance if the repository satisfies mpdiff requests, then bundle can be
 
146
defined in terms of mpdiff lookups rather than file text lookups
 
147
appropriate to create mpdiffs. If the repository satisfies full text
 
148
requests only, then you need the topological access to build up the
 
149
desired mpdiffs.
 
150
 
137
151
=========================================== =========
138
152
Pattern                                     Commands
139
153
=========================================== =========