From c3c63bdce1a8f0a2a15506d544683351ccfa22ab Mon Sep 17 00:00:00 2001 From: Rob Browning Date: Fri, 6 Jul 2018 15:11:19 -0500 Subject: [PATCH] vfs.contents: remove unreachable code to handle commit blobs It shouldn't be possible to encounter an Item referring to a commit blob because they're all (supposed to be) wrapped by a Commit. Signed-off-by: Rob Browning Tested-by: Rob Browning --- lib/bup/vfs.py | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/lib/bup/vfs.py b/lib/bup/vfs.py index bb0bfb7..7ad33e4 100644 --- a/lib/bup/vfs.py +++ b/lib/bup/vfs.py @@ -734,24 +734,19 @@ def contents(repo, item, names=None, want_meta=True): assert repo assert S_ISDIR(item_mode(item)) item_t = type(item) - if item_t in real_tree_types: it = repo.cat(item.oid.encode('hex')) - _, obj_type, size = next(it) + _, obj_t, size = next(it) data = ''.join(it) - if obj_type == 'tree': - if want_meta: - item_gen = tree_items_with_meta(repo, item.oid, data, names) - else: - item_gen = tree_items(item.oid, data, names) - elif obj_type == 'commit': - if want_meta: - item_gen = tree_items_with_meta(repo, item.oid, tree_data, names) - else: - item_gen = tree_items(item.oid, tree_data, names) - else: + if obj_t != 'tree': for _ in it: pass - raise Exception('unexpected git ' + obj_type) + # Note: it shouldn't be possible to see an Item with type + # 'commit' since a 'commit' should always produce a Commit. + raise Exception('unexpected git ' + obj_t) + if want_meta: + item_gen = tree_items_with_meta(repo, item.oid, data, names) + else: + item_gen = tree_items(item.oid, data, names) elif item_t == RevList: item_gen = revlist_items(repo, item.oid, names) elif item_t == Root: -- 2.39.2