On Mon, May 28, 2018 at 7:55 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> 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