38
43
tree.commit('2', rev_id='2')
40
45
def test_checkout_makes_bound_branch(self):
41
self.runbzr('checkout branch checkout')
46
self.run_bzr('checkout branch checkout')
42
47
# if we have a checkout, the branch base should be 'branch'
43
48
source = bzrdir.BzrDir.open('branch')
44
49
result = bzrdir.BzrDir.open('checkout')
46
51
result.open_branch().get_bound_location())
48
53
def test_checkout_light_makes_checkout(self):
49
self.runbzr('checkout --lightweight branch checkout')
54
self.run_bzr('checkout --lightweight branch checkout')
50
55
# if we have a checkout, the branch base should be 'branch'
51
56
source = bzrdir.BzrDir.open('branch')
52
57
result = bzrdir.BzrDir.open('checkout')
80
85
format=bzrdir.BzrDirMetaFormat1())
81
86
# check no tree was created
82
87
self.assertRaises(errors.NoWorkingTree, branch.bzrdir.open_workingtree)
83
out, err = self.run_bzr('checkout', 'treeless-branch')
88
out, err = self.run_bzr('checkout treeless-branch')
84
89
# we should have a tree now
85
90
branch.bzrdir.open_workingtree()
87
out, err = self.run_bzr('diff', 'treeless-branch')
92
out, err = self.run_bzr('diff treeless-branch')
89
94
# now test with no parameters
90
95
branch = bzrdir.BzrDir.create_branch_convenience(
98
103
branch.bzrdir.open_workingtree()
100
105
out, err = self.run_bzr('diff')
107
def _test_checkout_existing_dir(self, lightweight):
108
source = self.make_branch_and_tree('source')
109
self.build_tree_contents([('source/file1', 'content1'),
110
('source/file2', 'content2'),])
111
source.add(['file1', 'file2'])
112
source.commit('added files')
113
self.build_tree_contents([('target/', ''),
114
('target/file1', 'content1'),
115
('target/file2', 'content3'),])
116
cmd = ['checkout', 'source', 'target']
118
cmd.append('--lightweight')
119
self.run_bzr('checkout source target')
120
# files with unique content should be moved
121
self.failUnlessExists('target/file2.moved')
122
# files with content matching tree should not be moved
123
self.failIfExists('target/file1.moved')
125
def test_checkout_existing_dir_heavy(self):
126
self._test_checkout_existing_dir(False)
128
def test_checkout_existing_dir_lightweight(self):
129
self._test_checkout_existing_dir(True)
131
def test_checkout_in_branch_with_r(self):
132
branch = _mod_branch.Branch.open('branch')
133
branch.bzrdir.destroy_workingtree()
135
self.run_bzr('checkout -r 1')
136
tree = workingtree.WorkingTree.open('.')
137
self.assertEqual('1', tree.last_revision())
138
branch.bzrdir.destroy_workingtree()
139
self.run_bzr('checkout -r 0')
140
self.assertEqual('null:', tree.last_revision())
142
def test_checkout_files_from(self):
143
branch = _mod_branch.Branch.open('branch')
144
self.run_bzr(['checkout', 'branch', 'branch2', '--files-from',
147
def test_checkout_hardlink(self):
148
self.requireFeature(HardlinkFeature)
149
source = self.make_branch_and_tree('source')
150
self.build_tree(['source/file1'])
152
source.commit('added file')
153
self.run_bzr(['checkout', 'source', 'target', '--files-from', 'source',
155
source_stat = os.stat('source/file1')
156
target_stat = os.stat('target/file1')
157
self.assertEqual(source_stat, target_stat)