On Wed, Apr 30, 2014 at 5:27 PM, Junio C Hamano <gits...@pobox.com> wrote:
> Erik Faye-Lund <kusmab...@gmail.com> writes:
>> MinGW builds of cURL does not ship with curl-config unless built
>> with the autoconf based build system, which is not the practice
>> recommended by the documentation. MsysGit has had issues with
>> binaries of that sort, so it has switched away from autoconf-based
>> Unfortunately, broke pushing over WebDAV on Windows, because
>> http-push.c depends on cURL's multi-threaded API, which we could
>> not determine the presence of any more.
>> Since troublesome curl-versions are ancient, and not even present
>> in RedHat 5, let's just assume cURL is capable instead of doing a
>> non-robust check.
>> Instead, add a check for curl_multi_init to our configure-script,
>> for those on ancient system. They probably already need to do the
>> configure-dance anyway.
>> Signed-off-by: Erik Faye-Lund <kusmab...@gmail.com>
>> OK, here's a proper patch. I've even tested it! ;)
>> Makefile | 8 +++-----
>> configure.ac | 11 +++++++++++
>> 2 files changed, 14 insertions(+), 5 deletions(-)
>> diff --git a/Makefile b/Makefile
>> index e90f57e..f6b5847 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -1133,13 +1133,11 @@ else
>> REMOTE_CURL_NAMES = $(REMOTE_CURL_PRIMARY) $(REMOTE_CURL_ALIASES)
>> PROGRAM_OBJS += http-fetch.o
>> PROGRAMS += $(REMOTE_CURL_NAMES)
>> - curl_check := $(shell (echo 070908; curl-config --vernum) 2>/dev/null
>> | sort -r | sed -ne 2p)
>> - ifeq "$(curl_check)" "070908"
>> - ifndef NO_EXPAT
>> + ifndef NO_EXPAT
>> + ifndef NO_CURL_MULTI
>> PROGRAM_OBJS += http-push.o
> Dave's "ask curl-config about proper compilation options if
> available" and this change does *not* semantically conflict, as the
> former should stress "if available" part (but note that the key word
> is "should").
> How old/battle tested is this change?
Not very. I've successfully tested it on two systems, msysGit and RedHat 5.
> My inclination at this point
> is to revert the merge of Dave's series from 2.0 (yes, I know we
> have been looking at fixing it and I _think_ the issue of unpleasant
> error message you reported can be fixed, but at this rate we would
> not know if we eradicated all the issues for platforms and distros
> with confidence by the final), kick it back to 'next'/'pu', and
> queue this change also in 'next'/'pu' and cook them so that we can
> merge them early in the 2.1 cycle.
Sounds like a sensible plan to me. We can keep this patch in the
msysGit repo for the 2.0 release.
> This new makefile variable needs a comment at the top, no?
> Makefile | 4 ++++
> 1 file changed, 4 insertions(+)
> diff --git a/Makefile b/Makefile
> index f7d33da..3164b62 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -34,6 +34,10 @@ all::
> # git-http-push are not built, and you cannot use http:// and https://
> # transports (neither smart nor dumb).
> +# Define NO_CURL_MULTI if your libcurl is sufficiently old and lacks
> +# curl_multi_init ("git http-push" to run the deprecated dumb push over
> +# http/webdab will not be built).
> # Define CURL_CONFIG to the path to a curl-config binary other than the
> # default 'curl-config'. If CURL_CONFIG is unset or points to a binary that
> # is not found, defaults to the CURLDIR behavior.
Ah yes. Sorry for missing that. Perhaps the text should even mention
the old break-off version, that is curl > v7.9.8 as far as I can
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html