/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 bzrlib/inventory.py

Merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
142
142
        """
143
143
        return False, False
144
144
 
 
145
    @deprecated_method(symbol_versioning.zero_ninetythree)
145
146
    def diff(self, text_diff, from_label, tree, to_label, to_entry, to_tree,
146
147
             output_to, reverse=False):
147
148
        """Perform a diff from this to to_entry.
619
620
    def _diff(self, text_diff, from_label, tree, to_label, to_entry, to_tree,
620
621
             output_to, reverse=False):
621
622
        """See InventoryEntry._diff."""
622
 
        try:
623
 
            from_text = tree.get_file(self.file_id).readlines()
624
 
            if to_entry:
625
 
                to_text = to_tree.get_file(to_entry.file_id).readlines()
626
 
            else:
627
 
                to_text = []
628
 
            if not reverse:
629
 
                text_diff(from_label, from_text,
630
 
                          to_label, to_text, output_to)
631
 
            else:
632
 
                text_diff(to_label, to_text,
633
 
                          from_label, from_text, output_to)
634
 
        except errors.BinaryFile:
635
 
            if reverse:
636
 
                label_pair = (to_label, from_label)
637
 
            else:
638
 
                label_pair = (from_label, to_label)
639
 
            output_to.write(
640
 
                  ("Binary files %s and %s differ\n" % label_pair).encode('utf8'))
 
623
        from bzrlib.diff import DiffText
 
624
        from_file_id = self.file_id
 
625
        if to_entry:
 
626
            to_file_id = to_entry.file_id
 
627
        else:
 
628
            to_file_id = None
 
629
        if reverse:
 
630
            to_file_id, from_file_id = from_file_id, to_file_id
 
631
            tree, to_tree = to_tree, tree
 
632
            from_label, to_label = to_label, from_label
 
633
        differ = DiffText(tree, to_tree, output_to, 'utf-8', '', '',
 
634
                          text_diff)
 
635
        return differ.diff_text(from_file_id, to_file_id, from_label, to_label)
641
636
 
642
637
    def has_text(self):
643
638
        """See InventoryEntry.has_text."""
735
730
    def _diff(self, text_diff, from_label, tree, to_label, to_entry, to_tree,
736
731
             output_to, reverse=False):
737
732
        """See InventoryEntry._diff."""
738
 
        from_text = self.symlink_target
 
733
        from bzrlib.diff import DiffSymlink
 
734
        old_target = self.symlink_target
739
735
        if to_entry is not None:
740
 
            to_text = to_entry.symlink_target
741
 
            if reverse:
742
 
                temp = from_text
743
 
                from_text = to_text
744
 
                to_text = temp
745
 
            output_to.write('=== target changed %r => %r\n' % (from_text, to_text))
746
 
        else:
747
 
            if not reverse:
748
 
                output_to.write('=== target was %r\n' % self.symlink_target)
749
 
            else:
750
 
                output_to.write('=== target is %r\n' % self.symlink_target)
 
736
            new_target = to_entry.symlink_target
 
737
        else:
 
738
            new_target = None
 
739
        if not reverse:
 
740
            old_tree = tree
 
741
            new_tree = to_tree
 
742
        else:
 
743
            old_tree = to_tree
 
744
            new_tree = tree
 
745
            new_target, old_target = old_target, new_target
 
746
        differ = DiffSymlink(old_tree, new_tree, output_to)
 
747
        return differ.diff_symlink(old_target, new_target)
751
748
 
752
749
    def __init__(self, file_id, name, parent_id):
753
750
        super(InventoryLink, self).__init__(file_id, name, parent_id)