~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/merge.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-01-23 10:31:45 UTC
  • mfrom: (3954.1.2 bzr.integration)
  • Revision ID: pqm@pqm.ubuntu.com-20090123103145-yvo3icrif75vkt20
(jam, vila) Fix an edge case with deleted files and criss-cross merges

Show diffs side-by-side

added added

removed removed

Lines of Context:
390
390
            if self._is_criss_cross:
391
391
                warning('Warning: criss-cross merge encountered.  See bzr'
392
392
                        ' help criss-cross.')
 
393
                mutter('Criss-cross lcas: %r' % lcas)
393
394
                interesting_revision_ids = [self.base_rev_id]
394
395
                interesting_revision_ids.extend(lcas)
395
396
                interesting_trees = dict((t.get_revision_id(), t)
405
406
                self.base_tree = self.revision_tree(self.base_rev_id)
406
407
        self.base_is_ancestor = True
407
408
        self.base_is_other_ancestor = True
 
409
        mutter('Base revid: %r' % self.base_rev_id)
408
410
 
409
411
    def set_base(self, base_revision):
410
412
        """Set the base revision to use for the merge.
794
796
            content_changed = True
795
797
            if kind_winner == 'this':
796
798
                # No kind change in OTHER, see if there are *any* changes
797
 
                if other_ie.kind == None:
798
 
                    # No content and 'this' wins the kind, so skip this?
799
 
                    # continue
800
 
                    pass
801
 
                elif other_ie.kind == 'directory':
 
799
                if other_ie.kind == 'directory':
802
800
                    if parent_id_winner == 'this' and name_winner == 'this':
803
801
                        # No change for this directory in OTHER, skip
804
802
                        continue
805
803
                    content_changed = False
806
 
                elif other_ie.kind == 'file':
 
804
                elif other_ie.kind is None or other_ie.kind == 'file':
807
805
                    def get_sha1(ie, tree):
808
806
                        if ie.kind != 'file':
809
807
                            return None