~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/conflicts.py

  • Committer: Vincent Ladeuil
  • Date: 2010-02-05 10:27:33 UTC
  • mto: (5008.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 5009.
  • Revision ID: v.ladeuil+lp@free.fr-20100205102733-8wpjnqz6g4nvrbfu
All Conflict action method names start with 'action_' to avoid potential namespace collisions

Show diffs side-by-side

added added

removed removed

Lines of Context:
407
407
 
408
408
        :param tree: The tree passed as a parameter to the method.
409
409
        """
410
 
        meth = getattr(self, action, None)
 
410
        meth = getattr(self, 'action_%s' % action, None)
411
411
        if meth is None:
412
412
            raise NotImplementedError(self.__class__.__name__ + '.' + action)
413
413
        meth(tree)
415
415
    def cleanup(self, tree):
416
416
        raise NotImplementedError(self.cleanup)
417
417
 
418
 
    def done(self, tree):
 
418
    def action_done(self, tree):
419
419
        """Mark the conflict as solved once it has been handled."""
420
420
        # This method does nothing but simplifies the design of upper levels.
421
421
        pass
422
422
 
423
 
    def take_this(self, tree):
424
 
        raise NotImplementedError(self.take_this)
 
423
    def action_take_this(self, tree):
 
424
        raise NotImplementedError(self.action_take_this)
425
425
 
426
 
    def take_other(self, tree):
427
 
        raise NotImplementedError(self.take_other)
 
426
    def action_take_other(self, tree):
 
427
        raise NotImplementedError(self.action_take_other)
428
428
 
429
429
 
430
430
class PathConflict(Conflict):
450
450
        # No additional files have been generated here
451
451
        pass
452
452
 
453
 
    def take_this(self, tree):
 
453
    def action_take_this(self, tree):
454
454
        tree.rename_one(self.conflict_path, self.path)
455
455
 
456
 
    def take_other(self, tree):
 
456
    def action_take_other(self, tree):
457
457
        # just acccept bzr proposal
458
458
        pass
459
459
 
477
477
 
478
478
    # FIXME: I smell something weird here and it seems we should be able to be
479
479
    # more coherent with some other conflict ? bzr *did* a choice there but
480
 
    # neither take_this nor take_other reflect that... -- vila 091224
481
 
    def take_this(self, tree):
 
480
    # neither action_take_this nor action_take_other reflect that...
 
481
    # -- vila 20091224
 
482
    def action_take_this(self, tree):
482
483
        tree.remove([self.path + '.OTHER'], force=True, keep_files=False)
483
484
 
484
 
    def take_other(self, tree):
 
485
    def action_take_other(self, tree):
485
486
        tree.remove([self.path], force=True, keep_files=False)
486
487
 
487
488
 
578
579
 
579
580
    format = 'Conflict adding file %(conflict_path)s.  %(action)s %(path)s.'
580
581
 
581
 
    def take_this(self, tree):
 
582
    def action_take_this(self, tree):
582
583
        tree.remove([self.conflict_path], force=True, keep_files=False)
583
584
        tree.rename_one(self.path, self.conflict_path)
584
585
 
585
 
    def take_other(self, tree):
 
586
    def action_take_other(self, tree):
586
587
        tree.remove([self.path], force=True, keep_files=False)
587
588
 
588
589
 
601
602
 
602
603
    format = 'Conflict moving %(conflict_path)s into %(path)s.  %(action)s.'
603
604
 
604
 
    def take_this(self, tree):
 
605
    def action_take_this(self, tree):
605
606
        # just acccept bzr proposal
606
607
        pass
607
608
 
608
 
    def take_other(self, tree):
 
609
    def action_take_other(self, tree):
609
610
        # FIXME: We shouldn't have to manipulate so many paths here (and there
610
611
        # is probably a bug or two...)
611
612
        base_path = osutils.basename(self.path)
637
638
    # FIXME: We silently do nothing to make tests pass, but most probably the
638
639
    # conflict shouldn't exist (the long story is that the conflict is
639
640
    # generated with another one that can be resolved properly) -- vila 091224
640
 
    def take_this(self, tree):
 
641
    def action_take_this(self, tree):
641
642
        pass
642
643
 
643
 
    def take_other(self, tree):
 
644
    def action_take_other(self, tree):
644
645
        pass
645
646
 
646
647
 
655
656
 
656
657
    format = 'Conflict adding files to %(path)s.  %(action)s.'
657
658
 
658
 
    def take_this(self, tree):
 
659
    def action_take_this(self, tree):
659
660
        tree.remove([self.path], force=True, keep_files=False)
660
661
 
661
 
    def take_other(self, tree):
 
662
    def action_take_other(self, tree):
662
663
        # just acccept bzr proposal
663
664
        pass
664
665
 
677
678
    # FIXME: It's a bit strange that the default action is not coherent with
678
679
    # MissingParent from the *user* pov.
679
680
 
680
 
    def take_this(self, tree):
 
681
    def action_take_this(self, tree):
681
682
        # just acccept bzr proposal
682
683
        pass
683
684
 
684
 
    def take_other(self, tree):
 
685
    def action_take_other(self, tree):
685
686
        tree.remove([self.path], force=True, keep_files=False)
686
687
 
687
688
 
697
698
 
698
699
    # FIXME: .OTHER should be used instead of .new when the conflict is created
699
700
 
700
 
    def take_this(self, tree):
 
701
    def action_take_this(self, tree):
701
702
        # FIXME: we should preserve that path when the conflict is generated !
702
703
        if self.path.endswith('.new'):
703
704
            conflict_path = self.path[:-(len('.new'))]
704
705
            tree.remove([self.path], force=True, keep_files=False)
705
706
            tree.add(conflict_path)
706
707
        else:
707
 
            raise NotImplementedError(self.take_this)
 
708
            raise NotImplementedError(self.action_take_this)
708
709
 
709
 
    def take_other(self, tree):
 
710
    def action_take_other(self, tree):
710
711
        # FIXME: we should preserve that path when the conflict is generated !
711
712
        if self.path.endswith('.new'):
712
713
            conflict_path = self.path[:-(len('.new'))]
713
714
            tree.remove([conflict_path], force=True, keep_files=False)
714
715
            tree.rename_one(self.path, conflict_path)
715
716
        else:
716
 
            raise NotImplementedError(self.take_other)
 
717
            raise NotImplementedError(self.action_take_other)
717
718
 
718
719
 
719
720
ctype = {}