]> arthur.barton.de Git - bup.git/commitdiff
vfs2: contents - remove superfluous commit blob fetch
authorRob Browning <rlb@defaultvalue.org>
Sat, 2 Dec 2017 19:40:22 +0000 (13:40 -0600)
committerRob Browning <rlb@defaultvalue.org>
Sat, 2 Dec 2017 20:17:04 +0000 (14:17 -0600)
Tested-by: Rob Browning <rlb@defaultvalue.org>
Signed-off-by: Rob Browning <rlb@defaultvalue.org>
lib/bup/vfs2.py

index a98cf18f4a30382213dd8b92cd79183fdae94c55..09f7f6acbbc0e52aec00b2045b2a7dc33bf16106 100644 (file)
@@ -628,16 +628,10 @@ def contents(repo, item, names=None, want_meta=True):
             else:
                 item_gen = tree_items(item.oid, data, names)
         elif obj_type == 'commit':
-            tree_oidx = parse_commit(data).tree
-            it = repo.cat(tree_oidx)
-            _, obj_type, size = next(it)
-            assert obj_type == 'tree'
-            tree_data = ''.join(it)
             if want_meta:
-                item_gen = tree_items_with_meta(repo, tree_oidx.decode('hex'),
-                                                tree_data, names)
+                item_gen = tree_items_with_meta(repo, item.oid, tree_data, names)
             else:
-                item_gen = tree_items(tree_oidx.decode('hex'), tree_data, names)
+                item_gen = tree_items(item.oid, tree_data, names)
         else:
             for _ in it: pass
             raise Exception('unexpected git ' + obj_type)