Re: [PATCH 3/3] rev-list: add --allow-missing-tips to be used with --missing=...
- From
- Linus Arver <linusa@google.com>
- Date
- Feb 7, 2024, 09:57 UTC
- Message-ID
- <owlyttmkmwaf.fsf@fine.c.googlers.com>
- In-Reply-To
- <CAP8UFD3Hfgud19y_K1bZOudkBE-ss1_SgWTRVkJ7gUbYJ400yQ@mail.gmail.com>
Christian Couder <christian.couder@gmail.com> writes:
Show 24 quoted lines
> On Thu, Feb 1, 2024 at 10:27 PM Junio C Hamano <gitster@pobox.com> wrote: >> >> Christian Couder <christian.couder@gmail.com> writes: >> >> > When such a command is used to find the dependencies of some objects, >> > for example the dependencies of quarantined objects, it would be >> > better if the command would instead consider such missing objects, >> > especially commits, in the same way as other missing objects. >> > >> > If, for example `--missing=print` is used, it would be nice for some >> > use cases if the missing tips passed as arguments were reported in >> > the same way as other missing objects instead of the command just >> > failing. >> > >> > Let's introduce a new `--allow-missing-tips` option to make it work >> > like this. >> >> An obvious question is if this even needs to be a new option. What >> are expected use cases where --missing=print without this option is >> beneficial? > > I am not sure if such a case is really beneficial but some > people/script/forges might rely on an error from `git rev-list > --missing=print` to propagate back an error to some user interface.
I currently learn toward just making the new flag's behavior be absorved into the existing "--missing=..." flag. Nevertheless, you raise an interesting concern.
Perhaps a compromise would be to make "--missing=..." learn the new behavior of this patch as Junio suggested, but to introduce a new flag, something like "--fail-on-missing-tips" to fail early if any of the tip commits' objects are missing? That way we could keep the current "strict" behavior of complaining if we feed rev-list any tips whose objects are missing. And for the vast majority of cases the "--missing=..." flag could (intuitively) gracefully handle tips with missing objects and you wouldn't have to pass in the additional flag.
IOW, make the minority (certainly not majority, I think?) of users who really need the error propagation use the (new) extra flag, while the rest of us (including the version of you who was surprised by the limited behavior of "--missing=...", enough to write this series) don't have to.
Thanks.