diff --git a/revision.c b/revision.c
index ebd025064c82a3f6190a83e808e8bcf73478dacc..76499dcf38bb9c92bd52d251549725bceb6a9ba1 100644 (file)
--- a/revision.c
+++ b/revision.c
void add_pending_object(struct rev_info *revs, struct object *obj, const char *name)
{
+ if (revs->no_walk && (obj->flags & UNINTERESTING))
+ die("object ranges do not make sense when not walking revisions");
add_object_array(obj, name, &revs->pending);
if (revs->reflog_info && obj->type == OBJ_COMMIT)
add_reflog_for_walk(revs->reflog_info,
struct all_refs_cb cb;
cb.all_revs = revs;
cb.all_flags = flags;
- for_each_ref(handle_one_reflog, &cb);
+ for_each_reflog(handle_one_reflog, &cb);
}
static int add_parents_only(struct rev_info *revs, const char *arg, int flags)
@@ -868,7 +870,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
handle_reflog(revs, flags);
continue;
}
- if (!strcmp(arg, "--walk-reflogs")) {
+ if (!strcmp(arg, "-g") ||
+ !strcmp(arg, "--walk-reflogs")) {
init_reflog_walk(&revs->reflog_info);
continue;
}