On Wed, 26 Jul 2017 23:42:38 +0000 "brian m. carlson" <sandals@xxxxxxxxxxxxxxxxxxxx> wrote: > I looked at this and I like the direction it's going. It's pretty > simple and straightforward, which I also like. Thanks. > What I'd recommend is that instead of making lazyObject a string, we > make it an integer representing a protocol version. We then add a > different config setting that is the actual program to invoke, using the > given protocol version. This lets us change the way we speak to the > tool without breaking backwards compatibility, and it also allows us to > simply check the lazyObject script for supported protocols up front. That's possible too. As for version negotiation, I think we'll end up using a protocol similar to the clean/smudge long-running process protocol (as documented as gitattributes), so that does not need to be taken care of here, but making lazyObject be the version integer is fine too.