24
24
from bzrlib.branch import Branch
25
25
from bzrlib.bzrdir import BzrDir
26
26
from bzrlib.conflicts import ConflictList
27
from bzrlib.delta import compare_trees
28
27
from bzrlib.osutils import abspath
29
28
from bzrlib.tests.blackbox import ExternalBase
30
29
import bzrlib.urlutils as urlutils
207
206
# it is legal to attempt to merge an already-merged bundle
208
207
output = self.runbzr('merge ../bundle')[1]
209
208
# but it does nothing
210
self.assertFalse(compare_trees(tree_a.basis_tree(),
211
tree_a).has_changed())
209
self.assertFalse(tree_a.changes_from(tree_a.basis_tree()).has_changed())
212
210
self.assertEqual('Nothing to do.\n', output)
212
def test_merge_uncommitted(self):
213
"""Check that merge --uncommitted behaves properly"""
214
tree_a = self.make_branch_and_tree('a')
215
self.build_tree(['a/file_1', 'a/file_2'])
216
tree_a.add(['file_1', 'file_2'])
217
tree_a.commit('commit 1')
218
tree_b = tree_a.bzrdir.sprout('b').open_workingtree()
219
self.failUnlessExists('b/file_1')
220
tree_a.rename_one('file_1', 'file_i')
221
tree_a.commit('commit 2')
222
tree_a.rename_one('file_2', 'file_ii')
224
self.run_bzr('merge', '../a', '--uncommitted')
225
self.failUnlessExists('file_1')
226
self.failUnlessExists('file_ii')
228
self.run_bzr_error(('Cannot use --uncommitted and --revision',),
229
'merge', '../a', '--uncommitted', '-r1')