Hi Jeff, On Mon, 24 Jun 2024, Jeff King wrote: > 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@xxxxxxxxxxxxxxxxx/ Even Junio agreed with this, in a manner of speaking: https://lore.kernel.org/git/xmqq7dzebq4j.fsf@xxxxxxxxxxxxxxxxxxxxxx/ And there is a patch by Emily already that implements it: https://lore.kernel.org/git/20200214015343.201946-8-emilyshaffer@xxxxxxxxxx/ This patch seems not to have made it into Git. > 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