Subject: Re: [PATCH 16/19] transport-helper: change import semantics

From: Jonathan Nieder <[email-masked]>
Date: Wed, 8 Jun 2011 15:47:54 -0500

Sverre Rabbelier wrote:

> Currently the helper must somehow guess how many import statements to
> read before it starts outputting its fast-export stream.

I'm guessing one way is to read until EOF.

> This is
> because the remote helper infrastructure runs fast-import only once,
> so the helper is forced to output one stream for all import commands
> it will receive. The only reason this worked in the past was because
> only one ref was imported at a time.
>
> Change the semantics of the import statement such that it matches
> that of the list statement. That is, 'import\n' is followed by a list
> of refs that should be exported, followed by '\n'.

Seems like a good idea to me.  Documentation/git-remote-helpers.txt
could use a corresponding update ---

Wait, now that I look there, wouldn't it be more consistent with
what "push" does to make the semantics

	... A batch sequence of
	one or more import commands is terminated with a blank line.

?  In other words, what was the rationale for making push work like

	push +src1:dst1
	push +src2:dst2
	push +src3:dst3

	[... command stream continues here ...]

instead of

	push
	+src1:dst1
	+src2:dst2
	+src3:dst3

	[... command stream continues ...]

and does it apply for import, too?