~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/conflicts.py

Implement --interactive for NonDirectoryParent, sort of.

* bzrlib/tests/test_conflicts.py:
(TestResolveNonDirectoryParent): Tests for --interactive.

* bzrlib/conflicts.py:
(NonDirectoryParent): Add actions for --interactive, noting that
we lack the relevant information :-/

Show diffs side-by-side

added added

removed removed

Lines of Context:
612
612
 
613
613
 
614
614
class NonDirectoryParent(HandledConflict):
615
 
    """An attempt to add files to a directory that is not a director or
 
615
    """An attempt to add files to a directory that is not a directory or
616
616
    an attempt to change the kind of a directory with files.
617
617
    """
618
618
 
621
621
    format = "Conflict: %(path)s is not a directory, but has files in it."\
622
622
             "  %(action)s."
623
623
 
 
624
    def keep_mine(self, tree):
 
625
        # FIXME: we should preserve that path at conflict build time !
 
626
        if self.path.endswith('.new'):
 
627
            conflict_path = self.path[:-(len('.new'))]
 
628
            tree.remove([self.path], force=True, keep_files=False)
 
629
            tree.add(conflict_path)
 
630
        else:
 
631
            raise NotImplementedError(self.keep_mine)
 
632
 
 
633
    def take_theirs(self, tree):
 
634
        # FIXME: we should preserve that path at conflict build time !
 
635
        if self.path.endswith('.new'):
 
636
            conflict_path = self.path[:-(len('.new'))]
 
637
            tree.remove([conflict_path], force=True, keep_files=False)
 
638
            tree.rename_one(self.path, conflict_path)
 
639
        else:
 
640
            raise NotImplementedError(self.take_theirs)
 
641
 
 
642
 
624
643
ctype = {}
625
644
 
626
645