~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/groupcompress.py

  • Committer: John Arbash Meinel
  • Date: 2009-05-08 18:06:39 UTC
  • mto: This revision was merged to the branch mainline in revision 4392.
  • Revision ID: john@arbash-meinel.com-20090508180639-478y2rhwmvay3qpv
All stacking tests seem to be passing for dev6 repos

1) Add _GCGraphIndex.scan_unvalidated_index()
  It currently is a no-op because we
  a) Don't cache the possible external parent references
  b) Don't have external compression parents, so we can't have
     missing compression parents that we need to scan either.
2) Introduce a .resumed_pack_factory and ResumedGCPack
  We only need this to handle the fact that '_get_external_refs' is
  always empty. It would probably be nicer if we could do this with
  a different flag..
3) RepositoryFormat._deltas_across_repos
  I needed a way to disable the 'cannot commit because we have a delta'
  tests for GC repositories, because they currently have no way to
  represent a delta between pack files. So I added this flag for now.
4) ResumedPack now properly supports chk_index, and we add a test
  to ensure this fact.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1744
1744
        delta_end = int(bits[3])
1745
1745
        return node[0], start, stop, basis_end, delta_end
1746
1746
 
 
1747
    def scan_unvalidated_index(self, graph_index):
 
1748
        """Inform this _GCGraphIndex that there is an unvalidated index.
 
1749
 
 
1750
        This allows this _GCGraphIndex to keep track of any missing
 
1751
        compression parents we may want to have filled in to make those
 
1752
        indices valid.
 
1753
 
 
1754
        :param graph_index: A GraphIndex
 
1755
        """
 
1756
        if False and self._external_parent_refs is not None:
 
1757
            # Add parent refs from graph_index (and discard parent refs that
 
1758
            # the graph_index has).
 
1759
            for node in graph_index.iter_all_entries():
 
1760
                self._external_parent_refs.update(node[3][0])
 
1761
                self._external_parent_refs.discard(node[1])
 
1762
 
 
1763
 
1747
1764
 
1748
1765
from bzrlib._groupcompress_py import (
1749
1766
    apply_delta,