/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to tree.py

  • Committer: Jelmer Vernooij
  • Date: 2018-03-16 03:25:01 UTC
  • mto: (0.200.1855 work)
  • mto: This revision was merged to the branch mainline in revision 6960.
  • Revision ID: jelmer@jelmer.uk-20180316032501-2nmh8espmsnjkp8e
Fix some remove tests.

Show diffs side-by-side

added added

removed removed

Lines of Context:
454
454
    def compare(self, want_unchanged=False, specific_files=None,
455
455
                extra_trees=None, require_versioned=False, include_root=False,
456
456
                want_unversioned=False):
457
 
        changes = self._iter_git_changes(want_unchanged=want_unchanged)
 
457
        changes = self._iter_git_changes(want_unchanged=want_unchanged,
 
458
                require_versioned=require_versioned,
 
459
                specific_files=specific_files)
458
460
        source_fileid_map = self.source._fileid_map
459
461
        target_fileid_map = self.target._fileid_map
460
462
        return tree_delta_from_git_changes(changes, self.target.mapping,
464
466
    def iter_changes(self, include_unchanged=False, specific_files=None,
465
467
                     pb=None, extra_trees=[], require_versioned=True,
466
468
                     want_unversioned=False):
467
 
        changes = self._iter_git_changes(want_unchanged=include_unchanged)
 
469
        changes = self._iter_git_changes(want_unchanged=include_unchanged,
 
470
                require_versioned=require_versioned,
 
471
                specific_files=specific_files)
468
472
        return changes_from_git_changes(changes, self.target.mapping,
469
473
            specific_files=specific_files)
470
474
 
484
488
        return (isinstance(source, GitRevisionTree) and
485
489
                isinstance(target, GitRevisionTree))
486
490
 
487
 
    def _iter_git_changes(self, want_unchanged=False):
 
491
    def _iter_git_changes(self, want_unchanged=False, require_versioned=False,
 
492
            specific_files=None):
 
493
        if require_versioned and specific_files:
 
494
            for path in specific_files:
 
495
                if (not self.source.is_versioned(path) and
 
496
                    not self.target.is_versioned(path)):
 
497
                    raise errors.PathsNotVersionedError(path)
 
498
 
488
499
        if self.source._repository._git.object_store != self.target._repository._git.object_store:
489
500
            store = OverlayObjectStore([self.source._repository._git.object_store,
490
501
                                        self.target._repository._git.object_store])