From: Rob Browning Date: Fri, 6 Jul 2018 20:11:19 +0000 (-0500) Subject: vfs.contents: remove unreachable code to handle commit blobs X-Git-Tag: 0.30~70 X-Git-Url: https://arthur.barton.de/gitweb/?p=bup.git;a=commitdiff_plain;h=c3c63bdce1a8f0a2a15506d544683351ccfa22ab;hp=c4fdab1acc87dcaf76dc3a973d21d1bfa3643e9c 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 --- 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: