git/list[1] front-page[2] threads[3] people[4] search[5] about
 

RE: [PATCH v2 1/2] Teach git version --build-options about libcurl

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jul 24, 2024, 10:51 UTC
Message-ID
<43ee3c5d-66be-dbda-542b-cf186e761c07@gmx.de>
In-Reply-To
<DS0PR17MB603115E943565C4281FBE199F4D42@DS0PR17MB6031.namprd17.prod.outlook.com>
Hi Randall,
On Mon, 24 Jun 2024, Randall Becker wrote:
Show 37 quoted lines
> On Monday, June 24, 2024 10:13 AM, Johannes Schindelin wrote:
> >On Fri, 21 Jun 2024, Randall S. Becker wrote:
> >
> >> This change uses the libcurl LIBCURL_VERSION #define text macro. No
> >> stringification is required for the variable's use. If the #define is
> >> not present, that version is not reported.
> >>
> >> Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
> >> ---
> >>  help.c | 4 ++++
> >>  1 file changed, 4 insertions(+)
> >>
> >> diff --git a/help.c b/help.c
> >> index 1d057aa607..bf74e935b9 100644
> >> --- a/help.c
> >> +++ b/help.c
> >> @@ -1,4 +1,5 @@
> >>  #include "git-compat-util.h"
> >> +#include "git-curl-compat.h" /* For LIBCURL_VERSION only */
> >>  #include "config.h"
> >>  #include "builtin.h"
> >>  #include "exec-cmd.h"
> >> @@ -757,6 +758,9 @@ void get_version_info(struct strbuf *buf, int
> >> show_build_options)
> >>
> >>  		if (fsmonitor_ipc__is_supported())
> >>  			strbuf_addstr(buf, "feature: fsmonitor--daemon\n");
> >> +#if defined LIBCURL_VERSION
> >> +		strbuf_addf(buf, "libcurl: %s\n", LIBCURL_VERSION);
> >
> >I am not sure that this is the most helpful information Git can provide:
> >It reports the version against which Git was _compiled_, whereas the version it is
> >_running against_ might be quite different.
> >
> >Wouldn't calling `curl_version()` make more sense here?
>
> I think the more important information is the build used.

It may be informative, but more informative would be what libcurl version is actually used, not what was current at build time. There may occasionally have been a mismatch between the build-time and the runtime version that may have led to bugs, after all.

> My reasoning is that one can call run curl --version to see the current
> curl install.

That assumes quite a bit. It assumes that the libcurl that is used by the `curl` executable is the same as the one that is used by `git-remote-https`.

A very large chunk (by some recent internal measurement, roughly two thirds) of the Git users use Windows, where this assumption would be incorrect.

Ciao, Johannes

Previous: Randall BeckerNext: Jeff King
Message 9 of 26 in “Teach git version --build-options about zlib+libcurl”
  1. 0/2 Teach git version --build-options about zlib+libcurlRandall S. Becker, Jun 21, 2024
  2. 1/2 Teach git version --build-options about libcurlRandall S. Becker, Jun 21, 2024
  3. Johannes SchindelinJun 24, 2024
  4. Randall BeckerJun 24, 2024
  5. Dragan SimicJun 24, 2024
  6. rsbecker@nexbridge.comJun 24, 2024
  7. Dragan SimicJun 24, 2024
  8. Randall BeckerJun 24, 2024
  9. Johannes SchindelinJul 24, 2024
  10. Jeff KingJun 24, 2024
  11. Junio C HamanoJun 24, 2024
  12. Jeff KingJun 24, 2024
  13. Junio C HamanoJun 25, 2024
  14. Johannes SchindelinJul 24, 2024
  15. Jeff KingJul 24, 2024
  16. Johannes SchindelinJul 24, 2024
  17. Jeff KingJul 25, 2024
  18. Junio C HamanoJul 25, 2024
  19. Jeff KingJul 26, 2024
  20. 2/2 Teach git version --build-options about zlib versions.Randall S. Becker, Jun 21, 2024
  21. Johannes SchindelinJun 24, 2024
  22. Randall BeckerJun 24, 2024
  23. Johannes SchindelinJul 24, 2024
  24. Randall BeckerJul 24, 2024
  25. Junio C HamanoJul 24, 2024
  26. rsbecker@nexbridge.comJul 24, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.