On Thu, Feb 17, 2022 at 12:27:15PM +0100, Patrick Steinhardt wrote: > On Tue, Feb 15, 2022 at 08:52:14AM +0100, Christian Couder wrote: > > On Fri, Feb 11, 2022 at 9:03 PM Patrick Steinhardt <ps@xxxxxx> wrote: > > > > > > When the backfilling of tags fails we do not report this error to the > > > caller, but only report it implicitly at a later point when reporting > > > updated references. > > > > Probably stupid question: are we sure that it's a bug and not a feature? > > Good question, and I don't have a definitive answer for it. But to me it > very much smells like a bug: if I ask for a fetch and the fetch fails to > populate some of the data I have asked for, then I want to get a > notification on that failure. > > > > This leaves callers unable to act upon the > > > information of whether the backfilling succeeded or not. > > > > > > Refactor the function to return an error code and pass it up the > > > callstack. This causes us to correctly propagate the error back to the > > > user of git-fetch(1). > > > > Even if it would have been the right behavior when backfilling tags > > was implemented to return an error when backfilling tags fails, I > > think it's interesting to ask ourselves if this change could be seen > > as a regression by some users. > > Yeah, it's not all that clear-cut because auto-following of tags is a > bit obscure. But our default behaviour is to fetch tags pointing into > the history, and if a user didn't want that they should've passed > `--no-tags` to git-fetch(1). So conversely, we should assume that a user > is asking for auto-filling of tags if we're not told otherwise, which > also means that it is a failure if this fails. > > At least that's my take, but I'm happy to hear arguments against my > viewpoint. > > Patrick I just noticed that we have in fact landed a change in the exact same spirit on `main` via c9e04d905e (fetch --prune: exit with error if pruning fails, 2022-01-31). So there is precedent that we fix up these missing error codes, and that gives me more confidence that doing the same fixup for the tag-backfill is the correct thing to do. Patrick
Attachment:
signature.asc
Description: PGP signature