148
148
eq(w1.get_lines('v2'), ['hello\n', 'world\n'])
149
149
eq(w1.get_parents('v2'), ['v1', 'x1'])
151
def test_join_with_ignore_missing_versions(self):
152
# test that ignore_missing=True makes a listed but absent version id
153
# be ignored, and that unlisted version_ids are not integrated.
154
w1 = self.build_weave1()
155
wb = self.get_target()
156
wb.add_lines('x1', [], ['line from x1\n'])
157
wb.add_lines('v1', [], ['hello\n'])
158
wb.add_lines('v2', ['v1', 'x1'], ['hello\n', 'world\n'])
159
w1.join(wb, version_ids=['x1', 'z1'], ignore_missing=True)
160
eq = self.assertEquals
161
eq(sorted(w1.versions()), ['v1', 'v2', 'v3', 'x1'])
162
eq(w1.get_text('x1'), 'line from x1\n')
163
eq(w1.get_lines('v2'), ['hello\n', 'world\n'])
164
eq(w1.get_parents('v2'), ['v1'])
151
166
def build_source_weave(self, name, *pattern):
152
167
w = self.get_source(name)
153
168
for version, parents in pattern: