1951
1951
branch, tt = self.get_branch_and_transform()
1952
1952
tt.new_file('file', tt.root, 'contents', 'file-id')
1953
1953
trans_id = tt.new_directory('dir', tt.root, 'dir-id')
1954
tt.new_symlink('symlink', trans_id, 'target', 'symlink-id')
1954
if SymlinkFeature.available():
1955
tt.new_symlink('symlink', trans_id, 'target', 'symlink-id')
1955
1956
rev = tt.commit(branch, 'message')
1956
1957
tree = branch.basis_tree()
1957
1958
self.assertEqual('file', tree.id2path('file-id'))
1958
1959
self.assertEqual('contents', tree.get_file_text('file-id'))
1959
1960
self.assertEqual('dir', tree.id2path('dir-id'))
1960
self.assertEqual('dir/symlink', tree.id2path('symlink-id'))
1961
self.assertEqual('target', tree.get_symlink_target('symlink-id'))
1961
if SymlinkFeature.available():
1962
self.assertEqual('dir/symlink', tree.id2path('symlink-id'))
1963
self.assertEqual('target', tree.get_symlink_target('symlink-id'))
1963
1965
def test_add_unversioned(self):
1964
1966
branch, tt = self.get_branch_and_transform()
2454
2456
self.assertEqual(('missing', None, None, None), summary)
2456
2458
def test_file_content_summary_executable(self):
2457
if not osutils.supports_executable():
2458
raise TestNotApplicable()
2459
2459
preview = self.get_empty_preview()
2460
2460
path_id = preview.new_file('path', preview.root, 'contents', 'path-id')
2461
2461
preview.set_executability(True, path_id)
2470
2470
self.assertIs(None, summary[3])
2472
2472
def test_change_executability(self):
2473
if not osutils.supports_executable():
2474
raise TestNotApplicable()
2475
2473
tree = self.make_branch_and_tree('tree')
2476
2474
self.build_tree(['tree/path'])
2477
2475
tree.add('path')
2491
2489
# size must be known
2492
2490
self.assertEqual(len('contents'), summary[1])
2493
2491
# not executable
2494
if osutils.supports_executable():
2495
self.assertEqual(False, summary[2])
2497
self.assertEqual(None, summary[2])
2492
self.assertEqual(False, summary[2])
2498
2493
# will not have hash (not cheap to determine)
2499
2494
self.assertIs(None, summary[3])
2759
2754
branch = self.make_branch('any')
2760
2755
tree = branch.repository.revision_tree(_mod_revision.NULL_REVISION)
2761
2756
tt = TransformPreview(tree)
2757
self.addCleanup(tt.finalize)
2762
2758
foo_id = tt.new_directory('', ROOT_PARENT)
2763
2759
bar_id = tt.new_file(u'\u1234bar', foo_id, 'contents')
2764
2760
limbo_path = tt._limbo_name(bar_id)