return -1;
        printf("%s %s\n", oid_to_hex(&tree1->object.oid),
                          oid_to_hex(&tree2->object.oid));
-       diff_tree_sha1(get_object_hash(tree1->object), get_object_hash(tree2->object),
+       diff_tree_sha1(tree1->object.oid.hash, tree2->object.oid.hash,
                       "", &log_tree_opt.diffopt);
        log_tree_diff_flush(&log_tree_opt);
        return 0;
                break;
        case 1:
                tree1 = opt->pending.objects[0].item;
-               diff_tree_commit_sha1(get_object_hash(*tree1));
+               diff_tree_commit_sha1(tree1->oid.hash);
                break;
        case 2:
                tree1 = opt->pending.objects[0].item;
                        tree2 = tree1;
                        tree1 = tmp;
                }
-               diff_tree_sha1(get_object_hash(*tree1),
-                              get_object_hash(*tree2),
+               diff_tree_sha1(tree1->oid.hash,
+                              tree2->oid.hash,
                               "", &opt->diffopt);
                log_tree_diff_flush(opt);
                break;