diff --git a/rev-tree.c b/rev-tree.c
index c3884e3595cd00f8c1108429060ed195f7506514..03c900f459c0e6ae7fc9455589be00375f44eac8 100644 (file)
--- a/rev-tree.c
+++ b/rev-tree.c
{
struct commit_list *parents;
struct commit *obj = lookup_commit(sha1);
+
+ if (obj->object.parsed)
+ return;
+
parse_commit(obj);
parents = obj->parents;
char *arg = argv[i];
if (!strcmp(arg, "--cache")) {
- read_cache_file(argv[2]);
- i++;
+ read_cache_file(argv[++i]);
continue;
}