54
55
self.assertEquals(delta.added[0][0], 'foo')
55
56
self.failIf(delta.modified)
57
def test_branch_add_in_unversioned(self):
58
def test_add_in_unversioned(self):
58
59
"""Try to add a file in an unversioned directory.
60
"bzr add" adds the parent as necessary, but simple branch add
61
smart_add may eventually add the parent as necessary, but simple
62
branch add doesn't do that.
63
64
from bzrlib.branch import Branch
64
65
from bzrlib.errors import NotVersionedError
75
76
self.check_and_upgrade()
78
def test_add_in_unversioned(self):
79
"""Try to add a file in an unversioned directory.
81
"bzr add" should add the parent(s) as necessary.
83
from bzrlib.branch import Branch
84
from bzrlib.commands import run_bzr
87
b = Branch('.', init=True)
89
self.build_tree(['inertiatic/', 'inertiatic/esp'])
90
eq(list(b.unknowns()), ['inertiatic'])
91
run_bzr(['add', 'inertiatic/esp'])
92
eq(list(b.unknowns()), [])
94
# Multiple unversioned parents
95
self.build_tree(['veil/', 'veil/cerpin/', 'veil/cerpin/taxt'])
96
eq(list(b.unknowns()), ['veil'])
97
run_bzr(['add', 'veil/cerpin/taxt'])
98
eq(list(b.unknowns()), [])
100
# Check whacky paths work
101
self.build_tree(['cicatriz/', 'cicatriz/esp'])
102
eq(list(b.unknowns()), ['cicatriz'])
103
run_bzr(['add', 'inertiatic/../cicatriz/esp'])
104
eq(list(b.unknowns()), [])
106
def test_add_in_versioned(self):
107
"""Try to add a file in a versioned directory.
109
"bzr add" should do this happily.
111
from bzrlib.branch import Branch
112
from bzrlib.commands import run_bzr
113
eq = self.assertEqual
115
b = Branch('.', init=True)
117
self.build_tree(['inertiatic/', 'inertiatic/esp'])
118
eq(list(b.unknowns()), ['inertiatic'])
119
run_bzr(['add', '--no-recurse', 'inertiatic'])
120
eq(list(b.unknowns()), ['inertiatic/esp'])
121
run_bzr(['add', 'inertiatic/esp'])
122
eq(list(b.unknowns()), [])
124
79
def test_subdir_add(self):
125
80
"""Add in subdirectory should add only things from there down"""
200
156
run_bzr('commit', 'a', '-m', 'commit a only')
202
old = b.revision_tree(b.lookup_revision(1))
203
new = b.revision_tree(b.lookup_revision(2))
158
old = b.revision_tree(b.get_rev_id(1))
159
new = b.revision_tree(b.get_rev_id(2))
205
161
eq(new.get_file_by_path('b/two').read(), 'old contents')
206
162
eq(new.get_file_by_path('top').read(), 'old contents')
210
166
# commit from here should do nothing
211
167
run_bzr('commit', '.', '-m', 'commit subdir only', '--unchanged')
212
v3 = b.revision_tree(b.lookup_revision(3))
168
v3 = b.revision_tree(b.get_rev_id(3))
213
169
eq(v3.get_file_by_path('b/two').read(), 'old contents')
214
170
eq(v3.get_file_by_path('top').read(), 'old contents')
215
171
eq(v3.get_file_by_path('a/one').read(), 'new contents')
217
173
# commit in subdirectory commits whole tree
218
174
run_bzr('commit', '-m', 'commit whole tree from subdir')
219
v4 = b.revision_tree(b.lookup_revision(4))
175
v4 = b.revision_tree(b.get_rev_id(4))
220
176
eq(v4.get_file_by_path('b/two').read(), 'new contents')
221
177
eq(v4.get_file_by_path('top').read(), 'new contents')