~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/repository.py

(mbp) gc fragmentation fix and content filtering path_content_summary

Show diffs side-by-side

added added

removed removed

Lines of Context:
465
465
            if content_summary[2] is None:
466
466
                raise ValueError("Files must not have executable = None")
467
467
            if not store:
468
 
                if (# if the file length changed we have to store:
469
 
                    parent_entry.text_size != content_summary[1] or
470
 
                    # if the exec bit has changed we have to store:
 
468
                # We can't trust a check of the file length because of content
 
469
                # filtering...
 
470
                if (# if the exec bit has changed we have to store:
471
471
                    parent_entry.executable != content_summary[2]):
472
472
                    store = True
473
473
                elif parent_entry.text_sha1 == content_summary[3]:
540
540
                ie.revision = parent_entry.revision
541
541
                return self._get_delta(ie, basis_inv, path), False, None
542
542
            ie.reference_revision = content_summary[3]
 
543
            if ie.reference_revision is None:
 
544
                raise AssertionError("invalid content_summary for nested tree: %r"
 
545
                    % (content_summary,))
543
546
            self._add_text_to_weave(ie.file_id, '', heads, None)
544
547
        else:
545
548
            raise NotImplementedError('unknown kind')