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

Re: [PATCH 01/13] fast-import: add the 'done' command

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Aug 29, 2010, 18:59 UTC
Message-ID
<alpine.LNX.2.00.1008291443030.14365@iabervon.org>
In-Reply-To
<1283053540-27042-2-git-send-email-srabbelier@gmail.com>
On Sat, 28 Aug 2010, Sverre Rabbelier wrote:
Show 10 quoted lines
> Currently the only way to end an import stream is to close it, which
> is not desirable when the stream that's being used is shared. For
> example, the remote helper infrastructure uses a pipe between it and
> the helper process, part of the protocol is to send a fast-import
> stream accross. Without a way to end the stream the remote helper
> infrastructure is forced to limit itself to have a command that uses
> a fast-import stream as it's last command.
> 
> Add a trivial 'done' command that causes fast-import to stop reading
> from the stream and exit.
Yeah, this is definitely worthwhile.
Show 10 quoted lines
> ---
> 
>   Very straightforward. It is handled in parse_feature() instead of
>   in parse_one_feature() because I didn't want to allow '--done' as a
>   commandline argument. Allowing it would be silly, it surves no
>   other purpose than to indicate up front that the stream will
>   contain a 'done' command at the end.
> 
>   I'm fine too with dropping the feature and just adding the new
>   command, whichever is preferred.

I think the point of the feature would be to get the error response up front, where it might be easier to determine what to do about importers not supporting it. As such, I think the command line option actually makes at least as much sense, but it's probably not necessary anyway.

I believe there's a gfi mailing list, which ought to hear about this bit. Not that there are likely to be conflicts, but, when I was thinking about adding this command (for the same reason you're adding it), I'd called it "quit", so it's worth letting people know a de facto standard, so gfi implementations don't vary.

The code looks obviously good to me.
	-Daniel
*This .sig left intentionally blank*
Previous: Sverre RabbelierNext: Sverre Rabbelier
Message 3 of 52 in “remote helper improvements”
  1. 00/13 remote helper improvementsSverre Rabbelier, Aug 29, 2010
  2. 01/13 fast-import: add the 'done' commandSverre Rabbelier, Aug 29, 2010
  3. Daniel BarkalowAug 29, 2010
  4. Sverre RabbelierAug 29, 2010
  5. Jonathan NiederAug 29, 2010
  6. Sverre RabbelierAug 29, 2010
  7. Jonathan NiederAug 29, 2010
  8. Sverre RabbelierAug 30, 2010
  9. Jonathan NiederAug 30, 2010
  10. Sverre RabbelierAug 30, 2010
  11. Jonathan NiederAug 30, 2010
  12. Jonathan NiederFeb 13, 2011
  13. 02/13 fast-export: support done featureSverre Rabbelier, Aug 29, 2010
  14. Daniel BarkalowAug 29, 2010
  15. Sverre RabbelierAug 29, 2010
  16. Tay Ray ChuanAug 29, 2010
  17. Sverre RabbelierAug 30, 2010
  18. 03/13 transport-helper: factor out push_update_refs_statusSverre Rabbelier, Aug 29, 2010
  19. Jonathan NiederAug 29, 2010
  20. Sverre RabbelierAug 29, 2010
  21. 04/13 transport-helper: check status code of finish_commandSverre Rabbelier, Aug 29, 2010
  22. Jonathan NiederAug 29, 2010
  23. 05/13 transport-helper: use the new done feature to properly do importsSverre Rabbelier, Aug 29, 2010
  24. Jonathan NiederAug 29, 2010
  25. Sverre RabbelierAug 30, 2010
  26. 06/13 transport-helper: update ref status after push with exportSverre Rabbelier, Aug 29, 2010
  27. Jonathan NiederAug 29, 2010
  28. Sverre RabbelierAug 30, 2010
  29. 07/13 transport-helper: change import semanticsSverre Rabbelier, Aug 29, 2010
  30. Daniel BarkalowAug 29, 2010
  31. Sverre RabbelierAug 29, 2010
  32. 08/13 transport-helper: export should disconnect tooSverre Rabbelier, Aug 29, 2010
  33. Daniel BarkalowAug 29, 2010
  34. Sverre RabbelierAug 29, 2010
  35. 09/13 transport-helper: Use capname for gitdir capability tooSverre Rabbelier, Aug 29, 2010
  36. Jonathan NiederAug 30, 2010
  37. 10/13 transport-helper: implement marks location as capabilitySverre Rabbelier, Aug 29, 2010
  38. Daniel BarkalowAug 29, 2010
  39. Sverre RabbelierAug 29, 2010
  40. Jonathan NiederAug 30, 2010
  41. Sverre RabbelierAug 30, 2010
  42. 11/13 remote-curl: accept empty line as terminatorSverre Rabbelier, Aug 29, 2010
  43. Jonathan NiederAug 30, 2010
  44. Sverre RabbelierAug 30, 2010
  45. 12/13 git-remote-testgit: only push for non-local repositoriesSverre Rabbelier, Aug 29, 2010
  46. Jonathan NiederAug 30, 2010
  47. Sverre RabbelierAug 30, 2010
  48. Jonathan NiederAug 30, 2010
  49. 13/13 git-remote-testgit: fix error handlingSverre Rabbelier, Aug 29, 2010
  50. Jonathan NiederAug 30, 2010
  51. Sverre RabbelierAug 30, 2010
  52. Sverre RabbelierAug 30, 2010

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.