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

Re: [PATCH] http-push: making HTTP push more robust and more user-friendly

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 21, 2008, 20:18 UTC
Message-ID
<7vejcbx795.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<alpine.LSU.1.00.0801211212010.5731@racer.site>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 15 quoted lines
> IMHO it is safer to disable it for curl < 7.0xa -- even if it affects a 
> number of distros -- than to give the illusion that it works, when it does 
> not.
>
> As for fixing it in the non-MULTI case, I have a hunch that Mike's 
> cleanups will help that, but that this is a 1.5.5 feature.
>
> So, I would like to read in the ReleaseNotes something like this:
>
> -- snip --
> Support for pushing via HTTP was broken with curl versions prior to 7.16, 
> so we disabled it for now.  However, it is likely that a major cleanup of 
> the http transport code -- scheduled after the release of git 1.5.4 -- 
> will be supported with more curl versions.
> -- snap --
That's tempting but I suspect that it might be a wrong approach.
I think two important questions are:
 * Do we know that the current code is broken for everybody, or
   just broken for the majority of people who do nontrivial
   things?
 * Is the code in 1.5.3.8 any better?  IOW, did we make it worse
   during 1.5.4 cycle?

The feature was added by one person who needed it, and it was included because the need was satisfid with an implementation, so at some point in the past, it must have worked for _somebody_ (I am hoping that this is not a regression during 1.5.4 cycle).

Imagine that you are like that somebody who have been happily using http-push. Or imagine that you are starting to use git and are tempted to use http-push. With the above wording, I strongly suspect that you would say "Crap --- 1.5.4 does not let me run http-push, so I'll stay at 1.5.3.8 until 1.5.X lets me use it again".

Which is _not_ a solution, if 1.5.3.8 has an http-push that is broken the same way. You will be choosing a version with the same brokenness with respect to http-push, and are missing fixes we made to http-push during 1.5.4 cycle, let alone fixes and enhancements to other programs that comes with 1.5.4.

So while I strongly agree that we should warn the users about existing breakages, I think it is better to just revert the code to limit its use to USE_CURL_MULTI, if that is the case.

Do we even know what exactly is broken?

On the other hand, if the "transport.c" rewrite broke it and the current one for 1.5.4 is fundamentally much worse than what we used to have in 1.5.3.8, would it be possible as an interim measure to revert http-push changes (but keep changes to other programs that already are converetd to use transport.c) so that we can ship the same code as 1.5.3.8 only for http-push? Perhaps copy in selected old sources in a subdirectory to build and link a standalone http-push program?

Previous: Johannes SchindelinNext: Mike Hommey
Message 15 of 24 in “http-push: making HTTP push more robust and more user-friendly”
  1. http-push: making HTTP push more robust and more user-friendlyGrégoire Barbier, Jan 13, 2008
  2. http-push: fix webdav lock leak.Grégoire Barbier, Jan 13, 2008
  3. http-push: disable http-push without USE_CURL_MULTIGrégoire Barbier, Jan 13, 2008
  4. Junio C HamanoJan 13, 2008
  5. Johannes SchindelinJan 14, 2008
  6. Junio C HamanoJan 14, 2008
  7. Johannes SchindelinJan 14, 2008
  8. Grégoire BarbierJan 19, 2008
  9. Johannes SchindelinJan 19, 2008
  10. Grégoire BarbierJan 21, 2008
  11. Junio C HamanoJan 21, 2008
  12. Grégoire BarbierJan 21, 2008
  13. Junio C HamanoJan 21, 2008
  14. Johannes SchindelinJan 21, 2008
  15. Junio C HamanoJan 21, 2008
  16. Mike HommeyJan 21, 2008
  17. Johannes SchindelinJan 22, 2008
  18. Junio C HamanoJan 22, 2008
  19. Johannes SchindelinJan 22, 2008
  20. Junio C HamanoJan 22, 2008
  21. Johannes SchindelinJan 22, 2008
  22. Daniel BarkalowJan 21, 2008
  23. Junio C HamanoJan 21, 2008
  24. Grégoire BarbierJan 21, 2008

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.