~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tree.py

Add minimal test for Tree.compare(extra_trees=...).

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
    trees or versioned trees.
52
52
    """
53
53
    
54
 
    def compare(self, other, specific_files=None):
 
54
    def compare(self, other, want_unchanged=False, specific_files=None,
 
55
        extra_trees=None):
55
56
        """Return the changes from other to this tree.
56
57
 
57
58
        :param other: A tree to compare with.
59
60
            comparison to. When mapping filenames to ids, all matches in all
60
61
            trees (including optional extra_trees) are used, and all children of
61
62
            matched directories are included.
 
63
        :param want_unchanged: An optional boolean requesting the inclusion of
 
64
            unchanged entries in the result.
 
65
        :param extra_trees: An optional list of additional trees to use when
 
66
            mapping the contents of specific_files (paths) to file_ids.
62
67
 
63
68
        The comparison will be performed by an InterTree object looked up on 
64
69
        self and other.
65
70
        """
66
 
        return InterTree.get(self, other).compare(specific_files=specific_files)
 
71
        return InterTree.get(self, other).compare(
 
72
            want_unchanged=want_unchanged,
 
73
            specific_files=specific_files,
 
74
            extra_trees=extra_trees)
67
75
    
68
76
    def conflicts(self):
69
77
        """Get a list of the conflicts in the tree.
360
368
 
361
369
    _optimisers = set()
362
370
 
363
 
    def compare(self, specific_files=None):
 
371
    def compare(self, want_unchanged=False, specific_files=None,
 
372
        extra_trees=None):
364
373
        """Return the changes from source to target.
365
374
 
366
375
        :return: A TreeDelta.
 
376
        :param specific_files: An optional list of file paths to restrict the
 
377
            comparison to. When mapping filenames to ids, all matches in all
 
378
            trees (including optional extra_trees) are used, and all children of
 
379
            matched directories are included.
 
380
        :param want_unchanged: An optional boolean requesting the inclusion of
 
381
            unchanged entries in the result.
 
382
        :param extra_trees: An optional list of additional trees to use when
 
383
            mapping the contents of specific_files (paths) to file_ids.
367
384
        """
368
385
        # imported later to avoid circular imports
369
386
        from bzrlib.delta import compare_trees
370
387
        return compare_trees(
371
388
            self.source,
372
389
            self.target,
 
390
            want_unchanged=want_unchanged,
373
391
            specific_files=specific_files,
 
392
            extra_trees=extra_trees,
374
393
            )