~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/last-modified.txt

  • Committer: Andrew Bennetts
  • Date: 2009-03-04 07:10:07 UTC
  • mto: (4086.1.2 hpss-integration)
  • mto: This revision was merged to the branch mainline in revision 4087.
  • Revision ID: andrew.bennetts@canonical.com-20090304071007-8iqoi1m44ypmzg2a
Rough prototype of allowing a SearchResult to be passed to fetch, and using that to improve network conversations.

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
If there is still more than one head, a new last_modified is assigned.
31
31
This points to the merge point in the file graph.
32
32
 
33
 
If the file text and properties are the same as the sole remaining head,
 
33
If the file text and properties are the same as the sole remaining head, 
34
34
its last_modified is inherited. Property changes include executable bit,
35
35
filename, and containing directory.
36
36
 
53
53
For the single-parent commit case, we just need to determine which files have
54
54
changed compared to the parent.  If the file was changed, it gets the
55
55
revision id of the new revision; otherwise it inherits the value from the
56
 
parent tree.
 
56
parent tree.  
57
57
 
58
58
In the multi-parent commit case (commit of a merge), it can take the value
59
59
from any of the parent trees, or of the new revision.
74
74
in fact do this even when not using per-file graphs.  In the current
75
75
dirstate format we need to store the full data for all trees because they
76
76
can be extracted from the dirstate, but it could mark some parents as
77
 
already merged.
 
77
already merged.  
78
78
 
79
79
Alternatively, we could change the dirstate to include
80
80
only the base and current trees, and cache the merged-in parents
81
 
elsewhere.
 
81
elsewhere. 
82
82
 
83
83
(Offtopic other dirstate changes: we could also omit the working-copy
84
84
hash, and just have a stat-fingerprint of when it was last known equal to
89
89
Generation during conversion
90
90
----------------------------
91
91
 
92
 
Accessing a foreign branch requires synthesizing this information.
 
92
Accessing a foreign branch requires synthesizing this information. 
93
93
If last_modified is removed from a future bzr version, we will also need
94
94
to synthesize it to pull back to earlier formats.
95
95
 
172
172
For a single file, if I am different from all parents, 'new'. (Do not need
173
173
to evaluate last modified).
174
174
 
175
 
..
 
175
..   
176
176
  vim: ft=rst tw=74