Re: [PATCH 1/4] fetch-pack: save shallow file before fetching the pack
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 1, 2013, 14:53 UTC
- 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 <pclouds@gmail.com> 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?