Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> writes: > We only allow cuts at commits, not arbitrary objects. upload-pack will > fail eventually in register_shallow if a non-commit is given with a > generic error "Object %s is a %s, not a commit". Check it early and > give a more accurate error. > > This should never show up in an ordinary session. It's for buggy > clients, or when the user manually edits .git/shallow. > > Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> > --- Thanks. I agree with you that while this is not wrong per-se, this will not matter in real life. > upload-pack.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/upload-pack.c b/upload-pack.c > index 6142421..95d8313 100644 > --- a/upload-pack.c > +++ b/upload-pack.c > @@ -603,6 +603,8 @@ static void receive_needs(void) > object = parse_object(sha1); > if (!object) > die("did not find object for %s", line); > + if (object->type != OBJ_COMMIT) > + die("invalid shallow object %s", sha1_to_hex(sha1)); > object->flags |= CLIENT_SHALLOW; > add_object_array(object, NULL, &shallows); > continue; -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html