Nguyễn Thái Ngọc Duy <pclo...@gmail.com> 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 <pclo...@gmail.com>
> ---

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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to