From: Junio C Hamano Date: Mon, 01 Apr 2013 14:53:57 GMT Subject: Re: [PATCH 1/4] fetch-pack: save shallow file before fetching the pack Message-ID: <7v6206l2t6.fsf@alter.siamese.dyndns.org> In-Reply-To: <1364728148-7537-2-git-send-email-pclouds@gmail.com> Nguyễn Thái Ngọc Duy writes: > index-pack --strict looks up and follows parent commits. If shallow > information is not ready by the time index-pack is run, index-pack may > be lead to non-existent objects. Make fetch-pack save shallow file to > disk before invoking index-pack. I think the problem the patch is trying to solve _is_ real, but I wonder if this is a correct approach to solve it. What happens if we die in the middle after writing the updated shallow file prematurely? Perhaps the index-pack (or any "Git" process in general) needs to learn a way to use an alternate shallow file, instead of always using a hard-coded git_path("shallow"), so that you can flush an updated one to a to-be-the-next-shallow-file, run fetch-pack with that alternate shallow file, and rename it to the final name at the end after everything goes well, or something?