Subject: Re: [bug#74481] [PATCH 1/2] git: Catch Git errors when updating cached checkout.

From: Simon Tournier <[email-masked]>
Date: Thu, 12 Dec 2024 13:04:08 +0100

Hi Ludo,

On Thu, 12 Dec 2024 at 12:35, Ludovic Courtès <[email-masked]> wrote:

> Sorry for not replynig earlier.  I would avoid such a change: it changes
> the semantics of ‘resolve-reference’ in a non-trivial and hard-to-test
> way.

Could you explain more what you mean for "the semantics" of
'resolve-reference'?

> Instead, since the goal is to address a problem that’s specific to
> importers (or to one importer), I would suggest making a local change in
> the importer itself, or in code that is shared among importers only.

Well, from my understanding this suggestion is not possible because of the
way it's implemented.  Or the importer needs a rewrite.  The crash comes
from the call of 'update-cached-checkout' and it appears to me impossible
to catch the error at the level of the importer because it's too late.

If you think that's possible to have a local change somewhere in the
importers, please point me because I'm clueless. :-)

BTW, the bug of looking for an non-existent reference still remains.  In
other words, all the calls to Guile-Git as 'object-lookup repository'
should be protected with some error-catch, IMHO.

Cheers,
simon