Re: [PATCH] upload-pack: reject shallow requests that would return nothing
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- May 28, 2018, 18:48 UTC
- Message-ID
- <CACsJy8B7g-J8XeWYpY9SG1p51-fBLE2-V5872uWbyBXY2aVoEA@mail.gmail.com>
- In-Reply-To
- <xmqqy3g4jpck.fsf@gitster-ct.c.googlers.com>
On Mon, May 28, 2018 at 7:55 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 20 quoted lines
> Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes: > >> To avoid this, if rev-list returns nothing, we abort the clone/fetch. >> The user could adjust their request (e.g. --shallow-since further back >> in the past) and retry. > > Yeah, that makes sense. > >> Another possible option for this case is to fall back to a default >> depth (like depth 1). But I don't like too much magic that way because >> we may return something unexpected to the user. > > I agree that it would be a horrible fallback. I actually am > wondering if we should just silently return no objects without even > telling the user there is something unexpected happening. After > all, the user may well be expecting with --shallow-since that is too > recent that the fetch may not result in pulling anything new, and > giving a "die" message, which now needs to be distinguished from > other forms of die's like network connectivity or auth failures, is > not all that helpful.
An empty fetch is probably ok (though I would need to double check if anything bad would happen or git-fetch would give some helpful suggestion). git-clone on the other hand should actually clean this up with a good advice. I'll need to check and come back with v2 later.
-- Duy