43
38
tree.commit('2', rev_id='2')
45
40
def test_checkout_makes_bound_branch(self):
46
self.run_bzr('checkout branch checkout')
41
self.runbzr('checkout branch checkout')
47
42
# if we have a checkout, the branch base should be 'branch'
48
43
source = bzrdir.BzrDir.open('branch')
49
44
result = bzrdir.BzrDir.open('checkout')
51
46
result.open_branch().get_bound_location())
53
48
def test_checkout_light_makes_checkout(self):
54
self.run_bzr('checkout --lightweight branch checkout')
49
self.runbzr('checkout --lightweight branch checkout')
55
50
# if we have a checkout, the branch base should be 'branch'
56
51
source = bzrdir.BzrDir.open('branch')
57
52
result = bzrdir.BzrDir.open('checkout')
85
80
format=bzrdir.BzrDirMetaFormat1())
86
81
# check no tree was created
87
82
self.assertRaises(errors.NoWorkingTree, branch.bzrdir.open_workingtree)
88
out, err = self.run_bzr('checkout treeless-branch')
83
out, err = self.run_bzr('checkout', 'treeless-branch')
89
84
# we should have a tree now
90
85
branch.bzrdir.open_workingtree()
92
out, err = self.run_bzr('diff treeless-branch')
87
out, err = self.run_bzr('diff', 'treeless-branch')
94
89
# now test with no parameters
95
90
branch = bzrdir.BzrDir.create_branch_convenience(
103
98
branch.bzrdir.open_workingtree()
105
100
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)