/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-25 18:41:57 UTC
  • mto: (0.200.1895 work)
  • mto: This revision was merged to the branch mainline in revision 6960.
  • Revision ID: jelmer@jelmer.uk-20180325184157-o0pedwtv9ecb3lj1
Simplify InterGitTrees implementation.

Show diffs side-by-side

added added

removed removed

Lines of Context:
641
641
    def compare(self, want_unchanged=False, specific_files=None,
642
642
                extra_trees=None, require_versioned=False, include_root=False,
643
643
                want_unversioned=False):
644
 
        changes, target_missing = self._iter_git_changes(
645
 
                want_unchanged=want_unchanged,
646
 
                require_versioned=require_versioned,
647
 
                specific_files=specific_files,
648
 
                extra_trees=extra_trees)
649
 
        source_fileid_map = self.source._fileid_map
650
 
        target_fileid_map = self.target._fileid_map
651
 
        return tree_delta_from_git_changes(changes, self.target.mapping,
652
 
            (source_fileid_map, target_fileid_map),
653
 
            specific_files=specific_files, include_root=include_root)
 
644
        with self.lock_read():
 
645
            changes, target_missing = self._iter_git_changes(
 
646
                    want_unchanged=want_unchanged,
 
647
                    require_versioned=require_versioned,
 
648
                    specific_files=specific_files,
 
649
                    extra_trees=extra_trees,
 
650
                    want_unversioned=want_unversioned)
 
651
            source_fileid_map = self.source._fileid_map
 
652
            target_fileid_map = self.target._fileid_map
 
653
            return tree_delta_from_git_changes(changes, self.target.mapping,
 
654
                (source_fileid_map, target_fileid_map),
 
655
                specific_files=specific_files, include_root=include_root)
654
656
 
655
657
    def iter_changes(self, include_unchanged=False, specific_files=None,
656
658
                     pb=None, extra_trees=[], require_versioned=True,
657
659
                     want_unversioned=False):
658
 
        changes, target_missing = self._iter_git_changes(
659
 
                want_unchanged=include_unchanged,
660
 
                require_versioned=require_versioned,
661
 
                specific_files=specific_files,
662
 
                extra_trees=extra_trees)
663
 
        return changes_from_git_changes(changes, self.target.mapping,
664
 
            specific_files=specific_files, include_unchanged=include_unchanged,
665
 
            target_missing=target_missing)
 
660
        with self.lock_read():
 
661
            changes, target_missing = self._iter_git_changes(
 
662
                    want_unchanged=include_unchanged,
 
663
                    require_versioned=require_versioned,
 
664
                    specific_files=specific_files,
 
665
                    extra_trees=extra_trees,
 
666
                    want_unversioned=want_unversioned)
 
667
            return changes_from_git_changes(
 
668
                    changes, self.target.mapping,
 
669
                    specific_files=specific_files,
 
670
                    include_unchanged=include_unchanged,
 
671
                    target_missing=target_missing)
666
672
 
667
673
    def _iter_git_changes(self, want_unchanged=False, specific_files=None,
668
 
            require_versioned=False, extra_trees=None):
 
674
            require_versioned=False, extra_trees=None,
 
675
            want_unversioned=False):
669
676
        raise NotImplementedError(self._iter_git_changes)
670
677
 
671
678
 
682
689
                isinstance(target, GitRevisionTree))
683
690
 
684
691
    def _iter_git_changes(self, want_unchanged=False, specific_files=None,
685
 
            require_versioned=True, extra_trees=None):
 
692
            require_versioned=True, extra_trees=None,
 
693
            want_unversioned=False):
686
694
        trees = [self.source]
687
695
        if extra_trees is not None:
688
696
            trees.extend(extra_trees)