Re: [PATCH v2 1/2] Teach git version --build-options about libcurl
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jul 24, 2024, 10:48 UTC
- Message-ID
- <402c12c2-7ada-4d9e-c3da-1a78827e7496@gmx.de>
- In-Reply-To
- <20240624235557.GA2727@coredump.intra.peff.net>
Hi Jeff,
On Mon, 24 Jun 2024, Jeff King wrote:
Show 16 quoted lines
> On Mon, Jun 24, 2024 at 09:06:03AM -0700, Junio C Hamano wrote: > > > > Wouldn't calling `curl_version()` make more sense here? > > > > I wouldn't give that question an outright "no", but unless "git > > version" is split out of the builtin suite of commands and made into > > a standalone binary, I would *not* be able to give an unconditional > > "yes". > > > > For now, let's stop at the simplest solution---if the library > > project gives us a CPP macro to use for _this exact purpose_, let's > > take the offer. > > Here's another point of view: libcurl is not a dependency of the git > binary at all! It is a dependency of the "curl" remote helper. Would it > make sense for "git remote-https --build-options" to exist?
I preemptively agreed with this approach a couple of years ago: https://lore.kernel.org/git/nycvar.QRO.7.76.6.1911200027460.15956@tvgsbejvaqbjf.bet/
Even Junio agreed with this, in a manner of speaking: https://lore.kernel.org/git/xmqq7dzebq4j.fsf@gitster.c.googlers.com/
And there is a patch by Emily already that implements it: https://lore.kernel.org/git/20200214015343.201946-8-emilyshaffer@google.com/
This patch seems not to have made it into Git.
Show 8 quoted lines
> I'm not sure. It resolves the linking problem and matches how the actual > programs are structured. But it is also not something that normal users > would tend to think about (even if you are having trouble with https > remotes, you might not know that is implemented as a remote helper). > > But we could also have "git version --build-options" call "remote-https > --build-options" automatically, and just let it dump to the shared > stdout stream.
Teaching `git version` to show the cURL version may not be the best idea, especially when it comes to the version used at runtime and using the command-line option `--build-options` (with the option being specifically about the build, not the runtime, version that was used).
Wouldn't it be better to go with Emily's approach to surface this information via `git bugreport` instead of `git version`, potentially enhanced to show both build-time and runtime version of libcurl?
Ciao, Johannes