~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/weave.py

  • Committer: Robert Collins
  • Date: 2005-10-08 00:39:04 UTC
  • mfrom: (1185.1.52)
  • Revision ID: robertc@robertcollins.net-20051008003904-aaffaea2778efe3e
merge in martins reweave, integrated to fetch, and a bugfix for commit and upgrade with executable files

Show diffs side-by-side

added added

removed removed

Lines of Context:
50
50
# have slight specializations for different ways its used: annotate,
51
51
# basis for add, get, etc.
52
52
 
53
 
# TODO: Probably the API should work only in names to hide the integer
54
 
# indexes from the user.
 
53
# TODO: Perhaps the API should work only in names to hide the integer
 
54
# indexes from the user?
55
55
 
56
56
# TODO: Is there any potential performance win by having an add()
57
57
# variant that is passed a pre-cooked version of the single basis
58
58
# version?
59
59
 
60
 
# TODO: Reweave can possibly be made faster by remembering diffs
61
 
# where the basis and destination are unchanged.
62
 
 
63
 
# FIXME: Sometimes we will be given a parents list for a revision
64
 
# that includes some redundant parents (i.e. already a parent of 
65
 
# something in the list.)  We should eliminate them.  This can 
66
 
# be done fairly efficiently because the sequence numbers constrain
67
 
# the possible relationships.
 
60
# TODO: Have a way to go back and insert a revision V1 that is a parent 
 
61
# of an already-stored revision V2.  This means some lines previously 
 
62
# counted as new in V2 will be discovered to have actually come from V1.  
 
63
# It is probably necessary to insert V1, then compute a whole new diff 
 
64
# from the mashed ancestors to V2.  This must be repeated for every 
 
65
# direct child of V1.  The deltas from V2 to its descendents won't change,
 
66
# although their location within the weave may change.  It may be possible
 
67
# to just adjust the location of those instructions rather than 
 
68
# re-weaving the whole thing.  This is expected to be a fairly rare
 
69
# operation, only used when inserting data that was previously a ghost.
 
70
 
 
71
 
68
72
 
69
73
 
70
74
import sha