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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxx>
>> ---
>>  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. My reasoning is that one can call run curl --version to see the current curl install. However, different versions of curl have potential API changes - same argument with OpenSSL. What initiated this for me (the use case) started with a customer who incorrectly installed a git build for OpenSSL 3.2 (and its libcurl friend). Git would then get a compatibility issue when attempting to use either library. The customer did not know (!) they had the git for OpenSSL 3.2 version and I had no way to determine which one they had without seeing their path - hard in an email support situation. Having git version --build-options report what was used for the build *at a compatibility level* would have easily shown that the available library (after running openssl version or curl --version) reported different values. Otherwise, we are back to guessing what they installed. The goal is to compare what git expects with what git has available. The above series makes this comparative information available.

>Ciao,
>Johannes
>
>> +#endif
>>  	}
>>  }
>>
>> --
>> 2.43.0





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux