1
# Copyright (C) 2007, 2008, 2009 Canonical Ltd
1
# Copyright (C) 2007, 2008, 2009, 2011, 2012 Canonical Ltd
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
72
72
checkout = branch.create_checkout('checkout')
73
73
reconfiguration = reconfigure.Reconfigure.to_branch(checkout.bzrdir)
74
74
reconfiguration.apply()
75
self.assertIs(None, checkout.branch.get_bound_location())
75
reconfigured = bzrdir.BzrDir.open('checkout').open_branch()
76
self.assertIs(None, reconfigured.get_bound_location())
77
78
def prepare_lightweight_checkout_to_branch(self):
78
79
branch = self.make_branch('branch')
146
147
reconfiguration = reconfigure.Reconfigure(branch.bzrdir)
147
148
self.assertRaises(errors.NoBindLocation,
148
149
reconfiguration._select_bind_location)
149
branch.set_parent('http://parent')
152
branch.set_parent('http://parent')
155
reconfiguration = reconfigure.Reconfigure(branch.bzrdir)
150
156
self.assertEqual('http://parent',
151
157
reconfiguration._select_bind_location())
152
branch.set_push_location('sftp://push')
160
branch.set_push_location('sftp://push')
163
reconfiguration = reconfigure.Reconfigure(branch.bzrdir)
153
164
self.assertEqual('sftp://push',
154
165
reconfiguration._select_bind_location())
155
branch.set_bound_location('bzr://foo/old-bound')
156
branch.set_bound_location(None)
168
branch.set_bound_location('bzr://foo/old-bound')
169
branch.set_bound_location(None)
172
reconfiguration = reconfigure.Reconfigure(branch.bzrdir)
157
173
self.assertEqual('bzr://foo/old-bound',
158
174
reconfiguration._select_bind_location())
159
branch.set_bound_location('bzr://foo/cur-bound')
177
branch.set_bound_location('bzr://foo/cur-bound')
180
reconfiguration = reconfigure.Reconfigure(branch.bzrdir)
160
181
self.assertEqual('bzr://foo/cur-bound',
161
182
reconfiguration._select_bind_location())
162
183
reconfiguration.new_bound_location = 'ftp://user-specified'
179
200
reconfiguration = reconfigure.Reconfigure.to_checkout(tree.bzrdir)
180
201
self.assertRaises(errors.NoBindLocation, reconfiguration.apply)
181
202
# setting a parent allows it to become a checkout
182
tree.branch.set_parent(parent.base)
203
tree.branch.lock_write()
205
tree.branch.set_parent(parent.base)
208
reconfiguration = reconfigure.Reconfigure.to_checkout(tree.bzrdir)
183
209
reconfiguration.apply()
184
210
# supplying a location allows it to become a checkout
185
211
tree2 = self.make_branch_and_tree('tree2')
198
224
self.assertRaises(errors.NoBindLocation, reconfiguration.apply)
199
225
# setting a parent allows it to become a checkout
200
tree.branch.set_parent(parent.base)
226
tree.branch.lock_write()
228
tree.branch.set_parent(parent.base)
231
reconfiguration = reconfigure.Reconfigure.to_lightweight_checkout(
201
233
reconfiguration.apply()
202
234
# supplying a location allows it to become a checkout
203
235
tree2 = self.make_branch_and_tree('tree2')