1
# Copyright (C) 2007 Canonical Ltd
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
# GNU General Public License for more details.
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24
class TestReconfigure(tests.TestCaseWithTransport):
26
def test_no_type(self):
27
branch = self.make_branch('branch')
28
self.run_bzr_error(['No target configuration specified'],
31
def test_branch_to_tree(self):
32
branch = self.make_branch('branch')
33
self.run_bzr('reconfigure --tree branch')
34
tree = workingtree.WorkingTree.open('branch')
36
def test_tree_to_branch(self):
37
tree = self.make_branch_and_tree('tree')
38
self.run_bzr('reconfigure --branch tree')
39
self.assertRaises(errors.NoWorkingTree,
40
workingtree.WorkingTree.open, 'tree')
42
def test_branch_to_specified_checkout(self):
43
branch = self.make_branch('branch')
44
parent = self.make_branch('parent')
45
self.run_bzr('reconfigure branch --checkout --bind-to parent')
48
tree = self.make_branch_and_tree('tree')
49
self.build_tree(['tree/file'])
51
self.run_bzr_error(['Working tree ".*" has uncommitted changes'],
52
'reconfigure --branch tree')
53
self.run_bzr('reconfigure --force --branch tree')
55
def test_lightweight_checkout_to_checkout(self):
56
branch = self.make_branch('branch')
57
checkout = branch.create_checkout('checkout', lightweight=True)
58
self.run_bzr('reconfigure --checkout checkout')
60
def test_no_args(self):
61
branch = self.make_branch('branch')
62
self.run_bzr_error(['No target configuration specified'],
63
'reconfigure', working_dir='branch')