From: Linus Torvalds Date: Wed, 28 Feb 2007 00:22:52 +0000 (-0800) Subject: git-show: Reject native ref X-Git-Tag: v1.5.0.3~36 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=aa27e46111a777ae8b11e00675e13b1a9cde7fc2;p=git.git git-show: Reject native ref So when we do git show v1.4.4..v1.5.0 that's an illogical thing to do, since "git show" is defined to be a non-revision-walking action, which means the range operator be pointless and wrong. The fact that we happily accept it (and then _only_ show v1.5.0, which is the positive end of the range) is quite arguably not very logical. We should complain, and say that you can only do "no_walk" with positive refs. Negative object refs really don't make any sense unless you walk the obejct list (or you're "git diff" and know about ranges explicitly). Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- diff --git a/revision.c b/revision.c index 15bdaf609..76499dcf3 100644 --- a/revision.c +++ b/revision.c @@ -116,6 +116,8 @@ void mark_parents_uninteresting(struct commit *commit) 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,