Re: [PATCH v4 11/12] convert: add filter.<driver>.process option

4 messages, 3 authors, 2016-08-05 · open the first message on its own page

Re: [PATCH v4 11/12] convert: add filter.<driver>.process option

From: Junio C Hamano <hidden>
Date: 2016-08-03 17:46:09

larsxschneider@gmail.com writes:
packet:          git< git-filter-protocol\n
packet:          git< version=2\n
packet:          git< capabilities=clean smudge\n
During the discussion on the future of pack-protocol, it was pointed
out that having to shove all capabilities on a single line/packet
was one of the things we would want to fix in the current protocol
when we revamp to v2.  As this exhange between the convert machinery
and an external process is a brand new one, I do not think you want
to mimic the limitation in the current pack protocol like this; the
limitation mostly came from the constraint that we cannot break
existing pack protocol clients and servers before we extended the
protocol to add capabilities.

You may not foresee that the caps won't grow very long beyond
clean/smudge right now, just like we did not foresee that we would
wish to be able to convey a lot longer capability values to the
other side when we added the capability exchange to the pack
protocol, so "but but but we will never have that many" is not a
good counter-argument.

Re: [PATCH v4 11/12] convert: add filter.<driver>.process option

From: Lars Schneider <hidden>
Date: 2016-08-03 21:48:33

On 03 Aug 2016, at 19:45, Junio C Hamano [off-list ref] wrote:

larsxschneider@gmail.com writes:
quoted
packet:          git< git-filter-protocol\n
packet:          git< version=2\n
packet:          git< capabilities=clean smudge\n
During the discussion on the future of pack-protocol, it was pointed
out that having to shove all capabilities on a single line/packet
was one of the things we would want to fix in the current protocol
when we revamp to v2.  As this exhange between the convert machinery
and an external process is a brand new one, I do not think you want
to mimic the limitation in the current pack protocol like this; the
limitation mostly came from the constraint that we cannot break
existing pack protocol clients and servers before we extended the
protocol to add capabilities.

You may not foresee that the caps won't grow very long beyond
clean/smudge right now, just like we did not foresee that we would
wish to be able to convey a lot longer capability values to the
other side when we added the capability exchange to the pack
protocol, so "but but but we will never have that many" is not a
good counter-argument.
OK. Is this the v2 discussion you are referring to?
http://public-inbox.org/git/1461972887-22100-1-git-send-email-sbeller%40google.com/

What format do you suggest?

packet:          git< git-filter-protocol\n
packet:          git< version=2\n
packet:          git< capability=clean\n
packet:          git< capability=smudge\n
packet:          git< 0000

or

packet:          git< git-filter-protocol\n
packet:          git< version=2\n
packet:          git< capability\n
packet:          git< clean\n
packet:          git< smudge\n
packet:          git< 0000

or  ... ?

I would prefer the first one, I think.

- Lars

Re: [PATCH v4 11/12] convert: add filter.<driver>.process option

From: Jeff King <hidden>
Date: 2016-08-03 22:47:11

On Wed, Aug 03, 2016 at 11:48:00PM +0200, Lars Schneider wrote:
OK. Is this the v2 discussion you are referring to?
http://public-inbox.org/git/1461972887-22100-1-git-send-email-sbeller%40google.com/

What format do you suggest?

packet:          git< git-filter-protocol\n
packet:          git< version=2\n
packet:          git< capability=clean\n
packet:          git< capability=smudge\n
packet:          git< 0000

or

packet:          git< git-filter-protocol\n
packet:          git< version=2\n
packet:          git< capability\n
packet:          git< clean\n
packet:          git< smudge\n
packet:          git< 0000

or  ... ?

I would prefer the first one, I think.
How about:

  version=2
  clean=true
  smudge=true
  0000

? Then we do not have to care about multiple "capability" keys (so
something naively parsing this could just store them in a string list,
for example).

You could also make "clean" a synonym for "clean=true" or something, and
have:

  version=2
  clean
  smudge
  0000

but it's probably better to have the protocol err on the side of
verbose-but-unambiguous. It's not like people are typing this routinely.

-Peff

Re: [PATCH v4 11/12] convert: add filter.<driver>.process option

From: Lars Schneider <hidden>
Date: 2016-08-05 12:53:45

On 04 Aug 2016, at 00:46, Jeff King [off-list ref] wrote:

On Wed, Aug 03, 2016 at 11:48:00PM +0200, Lars Schneider wrote:
quoted
OK. Is this the v2 discussion you are referring to?
http://public-inbox.org/git/1461972887-22100-1-git-send-email-sbeller%40google.com/

What format do you suggest?

packet:          git< git-filter-protocol\n
packet:          git< version=2\n
packet:          git< capability=clean\n
packet:          git< capability=smudge\n
packet:          git< 0000

or

packet:          git< git-filter-protocol\n
packet:          git< version=2\n
packet:          git< capability\n
packet:          git< clean\n
packet:          git< smudge\n
packet:          git< 0000

or  ... ?

I would prefer the first one, I think.
How about:

 version=2
 clean=true
 smudge=true
 0000

? Then we do not have to care about multiple "capability" keys (so
something naively parsing this could just store them in a string list,
for example).
Alright. I will go with this solution.

Thanks,
Lars
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help