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

Re: clong an empty repo over ssh causes (harmless) fatal

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Sep 2, 2009, 04:33 UTC
Message-ID
<alpine.LNX.2.00.0909020024270.28290@iabervon.org>
In-Reply-To
<20090901010833.GA4033@sigill.intra.peff.net>
On Mon, 31 Aug 2009, Jeff King wrote:
Show 15 quoted lines
> On Tue, Sep 01, 2009 at 12:50:25AM +0200, Sverre Rabbelier wrote:
> 
> > 2009/9/1 Jeff King <peff@peff.net>:
> > > AFAICT, this problem goes back to v1.6.2, the first version which
> > > handled empty clones. So I blame Sverre. ;)
> > 
> > Eep :(. Any idea what is going on?
> 
> Yeah. We call upload-pack on the remote side, realize there are no refs,
> and then we just stop talking. Meanwhile upload-pack is waiting for a
> packet to say "these are the refs that I want". So the client really
> needs to send an extra packet saying "list of refs is finished".
> 
> The patch below seems to work for me, but I'm a little concerned how it
> might impact other transports.

Does putting a "transport_disconnect(transport);" after the "transport_unlock_pack(transport);" in builtin-clone.c also work for you? I think that's a cleaner solution, and should future-proof it in case we have a future transport that both doesn't disconnect itself after a fetch and gives an error message if the connection is dropped suddenly.

It's kind of just an accident that the only transport that cares about disconnect very much doesn't care if you've fetched after getting the refs.

	-Daniel
*This .sig left intentionally blank*
Previous: Jeff KingNext: Jeff King
Message 15 of 25 in “clong an empty repo over ssh causes (harmless) fatal”
  1. Sitaram ChamartyAug 31, 2009
  2. Matthieu MoyAug 31, 2009
  3. Sitaram ChamartyAug 31, 2009
  4. Matthieu MoyAug 31, 2009
  5. Jeff KingAug 31, 2009
  6. Sverre RabbelierAug 31, 2009
  7. Jeff KingAug 31, 2009
  8. Sverre RabbelierAug 31, 2009
  9. Matthieu MoyAug 31, 2009
  10. Jeff KingAug 31, 2009
  11. Björn SteinbrinkAug 31, 2009
  12. Jeff KingAug 31, 2009
  13. Sverre RabbelierAug 31, 2009
  14. Jeff KingSep 1, 2009
  15. Daniel BarkalowSep 2, 2009
  16. Jeff KingSep 2, 2009
  17. Daniel BarkalowSep 2, 2009
  18. clone: disconnect transport after fetchingJeff King, Sep 2, 2009
  19. Sverre RabbelierSep 2, 2009
  20. Jeff KingSep 2, 2009
  21. Sverre RabbelierSep 2, 2009
  22. Daniel BarkalowSep 2, 2009
  23. Junio C HamanoSep 2, 2009
  24. Jeff KingSep 4, 2009
  25. Sitaram ChamartySep 2, 2009

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.