[Pkg-bazaar-commits] r114 ./bzr-builddeb/people/jdw/merge_upstream: Move the tree cleanliness checking in to merge_upstream and add a test for it.
James Westby
jw+debian at jameswestby.net
Fri Jun 22 16:53:47 UTC 2007
------------------------------------------------------------
revno: 114
committer: James Westby <jw+debian at jameswestby.net>
branch nick: merge-upstream.siretart
timestamp: Fri 2007-06-22 17:04:56 +0100
message:
Move the tree cleanliness checking in to merge_upstream and add a test for it.
modified:
__init__.py
merge_upstream.py
tests/test_merge_upstream.py
-------------- next part --------------
=== modified file '__init__.py'
--- a/__init__.py 2007-06-22 15:43:18 +0000
+++ b/__init__.py 2007-06-22 16:04:56 +0000
@@ -307,9 +307,6 @@
raise BzrCommandError("Must specify a revision")
tree, relpath = WorkingTree.open_containing('.')
- if tree.changes_from(tree.basis_tree()).has_changed():
- raise BzrCommandError("Working tree has uncommitted changes.")
-
merge_upstream(tree, filename, revision)
=== modified file 'merge_upstream.py'
--- a/merge_upstream.py 2007-06-22 15:57:39 +0000
+++ b/merge_upstream.py 2007-06-22 16:04:56 +0000
@@ -21,6 +21,7 @@
import os
+from bzrlib.errors import BzrCommandError
from bzrlib.plugins.bzrtools.upstream_import import import_tar
# TODO: handle more input sources.
@@ -40,6 +41,8 @@
and the tree will be left with pending merges, and possibly any conflicts
to fix up.
+ The tree must have no uncommited changes.
+
:param tree: The tree upon which to operate.
:type tree: WorkingTree
:param source: The filename tarball to import from.
@@ -49,6 +52,8 @@
:type old_revision: RevisionSpec
:return: None
"""
+ if tree.changes_from(tree.basis_tree()).has_changed():
+ raise BzrCommandError("Working tree has uncommitted changes.")
current_revision = tree.last_revision()
revno, rev_id = old_revision.in_branch(tree.branch)
tree.revert([], tree.branch.repository.revision_tree(rev_id))
=== modified file 'tests/test_merge_upstream.py'
--- a/tests/test_merge_upstream.py 2007-06-22 15:43:18 +0000
+++ b/tests/test_merge_upstream.py 2007-06-22 16:04:56 +0000
@@ -22,6 +22,7 @@
import shutil
import tarfile
+from bzrlib.errors import BzrCommandError
from bzrlib.revisionspec import RevisionSpec
from bzrlib.tests import TestCaseWithTransport
@@ -115,6 +116,12 @@
self.assertEqual(wt.branch.repository.get_revision(rh[1]).message,
'import upstream from package-0.2.tar.gz')
+ def test_merge_upstream_requires_clean_tree(self):
+ wt = self.make_branch_and_tree('.')
+ self.build_tree(['file'])
+ wt.add(['file'])
+ self.assertRaises(BzrCommandError, merge_upstream, wt, 'source', 1)
+
class TestConflictMergeUpstreamNormal(TestCaseWithTransport):
"""Test merge upstream with conflicts in the new version."""
@@ -222,3 +229,4 @@
self.assertEqual(wt.branch.repository.get_revision(rh[1]).message,
'import upstream from package-0.2.tar.gz')
+
More information about the Pkg-bazaar-commits
mailing list