~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/workingtree.py

  • Committer: Vincent Ladeuil
  • Date: 2009-10-06 14:40:37 UTC
  • mto: (4728.1.2 integration)
  • mto: This revision was merged to the branch mainline in revision 4731.
  • Revision ID: v.ladeuil+lp@free.fr-20091006144037-o76rgosv9hj3td0y
Simplify mutable_tree.has_changes() and update call sites.

* bzrlib/workingtree.py:
(WorkingTree.merge_from_branch): Add a force parameter. Replace
the check_basis() call by the corresponding code, taken the new
'force' parameter into account.

* bzrlib/tests/test_status.py:
(TestStatus.make_multiple_pending_tree): Add force=True on
supplementary merges.

* bzrlib/tests/test_reconfigure.py:
(TestReconfigure): Add a test for pending merges.

* bzrlib/tests/test_msgeditor.py:
(MsgEditorTest.make_multiple_pending_tree): Add force=True on
supplementary merges.

* bzrlib/tests/blackbox/test_uncommit.py:
(TestUncommit.test_uncommit_octopus_merge): Add force=True on
supplementary merges.

* bzrlib/send.py:
(send): Use the simplified has_changes(). Fix typo in comment too.

* bzrlib/reconfigure.py:
(Reconfigure._check): Use the simplified has_changes().

* bzrlib/mutabletree.py:
(MutableTree.has_changes): Make the tree parameter optional but
retain it for tests. Add a pending merges check.

* bzrlib/merge.py:
(Merger.ensure_revision_trees, Merger.file_revisions,
Merger.check_basis, Merger.compare_basis): Deprecate.

* bzrlib/bundle/apply_bundle.py:
(merge_bundle): Replace the check_basis() call by the
corresponding code.

* bzrlib/builtins.py:
(cmd_remove_tree.run, cmd_push.run, cmd_merge.run): Use the
simplified has_changes().
(cmd_merge.run): Replace the check_basis call() by the corresponding
code (minus the alredy done has_changes() check).

Show diffs side-by-side

added added

removed removed

Lines of Context:
896
896
 
897
897
    @needs_write_lock # because merge pulls data into the branch.
898
898
    def merge_from_branch(self, branch, to_revision=None, from_revision=None,
899
 
        merge_type=None):
 
899
                          merge_type=None, force=False):
900
900
        """Merge from a branch into this working tree.
901
901
 
902
902
        :param branch: The branch to merge from.
911
911
            merger = Merger(self.branch, this_tree=self, pb=pb)
912
912
            merger.pp = ProgressPhase("Merge phase", 5, pb)
913
913
            merger.pp.next_phase()
914
 
            # check that there are no
915
 
            # local alterations
916
 
            merger.check_basis(check_clean=True, require_commits=False)
 
914
            # check that there are no local alterations
 
915
            if not force and self.has_changes():
 
916
                raise errors.UncommittedChanges(self)
917
917
            if to_revision is None:
918
918
                to_revision = _mod_revision.ensure_null(branch.last_revision())
919
919
            merger.other_rev_id = to_revision