1
# Copyright (C) 2005, 2006, 2007, 2009, 2010 Canonical Ltd
1
# Copyright (C) 2005, 2006, 2007, 2009-2012, 2016 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
47
47
self.make_branch_and_tree('.')
48
48
self.run_bzr(['mkdir', 'foo'])
49
self.assert_(os.path.isdir('foo'))
49
self.assertTrue(os.path.isdir('foo'))
51
51
self.run_bzr(['mkdir', 'foo'], retcode=3)
57
57
self.log('delta.added = %r' % delta.added)
59
self.assertEquals(len(delta.added), 1)
60
self.assertEquals(delta.added[0][0], 'foo')
59
self.assertEqual(len(delta.added), 1)
60
self.assertEqual(delta.added[0][0], 'foo')
61
61
self.assertFalse(delta.modified)
63
63
def test_mkdir_in_subdir(self):
66
66
self.make_branch_and_tree('.')
67
67
self.run_bzr(['mkdir', 'dir'])
68
self.assert_(os.path.isdir('dir'))
68
self.assertTrue(os.path.isdir('dir'))
71
70
self.log('Run mkdir in subdir')
72
self.run_bzr(['mkdir', 'subdir'])
73
self.assert_(os.path.isdir('subdir'))
71
self.run_bzr(['mkdir', 'subdir'], working_dir='dir')
72
self.assertTrue(os.path.isdir('dir/subdir'))
76
74
wt = WorkingTree.open('.')
80
78
self.log('delta.added = %r' % delta.added)
82
self.assertEquals(len(delta.added), 2)
83
self.assertEquals(delta.added[0][0], 'dir')
84
self.assertEquals(delta.added[1][0], pathjoin('dir','subdir'))
80
self.assertEqual(len(delta.added), 2)
81
self.assertEqual(delta.added[0][0], 'dir')
82
self.assertEqual(delta.added[1][0], pathjoin('dir','subdir'))
85
83
self.assertFalse(delta.modified)
87
85
def test_mkdir_w_nested_trees(self):
101
99
wt_b = WorkingTree.open('a/b')
103
101
delta = wt.changes_from(wt.basis_tree())
104
self.assertEquals(len(delta.added), 1)
105
self.assertEquals(delta.added[0][0], 'dir')
102
self.assertEqual(len(delta.added), 1)
103
self.assertEqual(delta.added[0][0], 'dir')
106
104
self.assertFalse(delta.modified)
108
106
delta = wt_a.changes_from(wt_a.basis_tree())
109
self.assertEquals(len(delta.added), 1)
110
self.assertEquals(delta.added[0][0], 'dir')
107
self.assertEqual(len(delta.added), 1)
108
self.assertEqual(delta.added[0][0], 'dir')
111
109
self.assertFalse(delta.modified)
113
111
delta = wt_b.changes_from(wt_b.basis_tree())
114
self.assertEquals(len(delta.added), 1)
115
self.assertEquals(delta.added[0][0], 'dir')
112
self.assertEqual(len(delta.added), 1)
113
self.assertEqual(delta.added[0][0], 'dir')
116
114
self.assertFalse(delta.modified)
118
116
def test_mkdir_quiet(self):
121
119
self.make_branch_and_tree('.')
122
120
out, err = self.run_bzr(['mkdir', '--quiet', 'foo'])
123
self.assertEquals('', err)
124
self.assertEquals('', out)
121
self.assertEqual('', err)
122
self.assertEqual('', out)
127
125
class SubdirCommit(TestCaseWithTransport):
148
146
new = b.repository.revision_tree(b.get_rev_id(2))
151
self.assertEqual(new.get_file_by_path('b/two').read(), 'old contents')
152
self.assertEqual(new.get_file_by_path('top').read(), 'old contents')
153
self.assertEqual(new.get_file_by_path('a/one').read(), 'new contents')
149
def get_text_by_path(tree, path):
150
return tree.get_file_text(tree.path2id(path), path)
152
self.assertEqual(get_text_by_path(new, 'b/two'), 'old contents')
153
self.assertEqual(get_text_by_path(new, 'top'), 'old contents')
154
self.assertEqual(get_text_by_path(new, 'a/one'), 'new contents')
157
157
# commit from here should do nothing
158
self.run_bzr(['commit', '.', '-m', 'commit subdir only', '--unchanged'])
158
self.run_bzr(['commit', '.', '-m', 'commit subdir only', '--unchanged'],
159
160
v3 = b.repository.revision_tree(b.get_rev_id(3))
161
self.assertEqual(v3.get_file_by_path('b/two').read(), 'old contents')
162
self.assertEqual(v3.get_file_by_path('top').read(), 'old contents')
163
self.assertEqual(v3.get_file_by_path('a/one').read(), 'new contents')
162
self.assertEqual(get_text_by_path(v3, 'b/two'), 'old contents')
163
self.assertEqual(get_text_by_path(v3, 'top'), 'old contents')
164
self.assertEqual(get_text_by_path(v3, 'a/one'), 'new contents')
166
167
# commit in subdirectory commits whole tree
167
self.run_bzr(['commit', '-m', 'commit whole tree from subdir'])
168
self.run_bzr(['commit', '-m', 'commit whole tree from subdir'],
168
170
v4 = b.repository.revision_tree(b.get_rev_id(4))
170
self.assertEqual(v4.get_file_by_path('b/two').read(), 'new contents')
171
self.assertEqual(v4.get_file_by_path('top').read(), 'new contents')
172
self.assertEqual(get_text_by_path(v4, 'b/two'), 'new contents')
173
self.assertEqual(get_text_by_path(v4, 'top'), 'new contents')
174
176
# TODO: factor out some kind of assert_tree_state() method