263
263
self.requireFeature(features.UnicodeFilenameFeature)
264
264
tree = self.make_branch_and_tree('.')
265
265
paths = ['0file',
268
'1top-dir/0file-in-1topdir',
269
'1top-dir/1dir-in-1topdir/'
268
'1top-dir/0file-in-1topdir',
269
'1top-dir/1dir-in-1topdir/'
271
271
self.build_tree(paths)
273
273
tt = transform.TreeTransform(tree)
275
275
root_transaction_id = tt.trans_id_tree_path('')
276
276
tt.new_symlink('symlink',
277
root_transaction_id, 'link-target', b'symlink')
277
root_transaction_id, 'link-target', b'symlink')
279
279
return self.workingtree_to_test_tree(tree)
297
297
# add RevisionTree scenario
298
298
workingtree_format = format_registry.get_default()
299
299
scenarios.append((RevisionTree.__name__,
300
create_tree_scenario(transport_server, transport_readonly_server,
301
workingtree_format, revision_tree_from_workingtree,)))
300
create_tree_scenario(transport_server, transport_readonly_server,
301
workingtree_format, revision_tree_from_workingtree,)))
302
302
scenarios.append((GitRevisionTree.__name__,
303
create_tree_scenario(transport_server, transport_readonly_server,
304
GitWorkingTreeFormat(), revision_tree_from_workingtree,)))
303
create_tree_scenario(transport_server, transport_readonly_server,
304
GitWorkingTreeFormat(), revision_tree_from_workingtree,)))
306
306
# also test WorkingTree4/5's RevisionTree implementation which is
308
308
# XXX: Ask igc if WT5 revision tree actually is different.
309
309
scenarios.append((DirStateRevisionTree.__name__ + ",WT4",
310
create_tree_scenario(transport_server, transport_readonly_server,
311
WorkingTreeFormat4(), _dirstate_tree_from_workingtree)))
310
create_tree_scenario(transport_server, transport_readonly_server,
311
WorkingTreeFormat4(), _dirstate_tree_from_workingtree)))
312
312
scenarios.append((DirStateRevisionTree.__name__ + ",WT5",
313
create_tree_scenario(transport_server, transport_readonly_server,
314
WorkingTreeFormat5(), _dirstate_tree_from_workingtree)))
313
create_tree_scenario(transport_server, transport_readonly_server,
314
WorkingTreeFormat5(), _dirstate_tree_from_workingtree)))
315
315
scenarios.append(("PreviewTree", create_tree_scenario(transport_server,
316
transport_readonly_server, workingtree_format, preview_tree_pre)))
316
transport_readonly_server, workingtree_format, preview_tree_pre)))
317
317
scenarios.append(("PreviewTreePost", create_tree_scenario(transport_server,
318
transport_readonly_server, workingtree_format, preview_tree_post)))
318
transport_readonly_server, workingtree_format, preview_tree_post)))
322
322
def create_tree_scenario(transport_server, transport_readonly_server,
323
workingtree_format, converter):
323
workingtree_format, converter):
324
324
"""Create a scenario for the specified converter
326
326
:param converter: A function that converts a workingtree into the