On Tue, Mar 06, 2018 at 07:29:02AM +0100, Jeff King wrote: > > We want to do better (e.g. see [1]) but that's a bigger change than > > the initial protocol v2. > > > > As Brandon explained it to me, we really do want to use stateless-rpc > > semantics by default, since that's just better for maintainability. > > Instead of having two protocols, one that is sane and one that > > struggles to hoist that into stateless-rpc, there would be one > > stateless baseline plus capabilities to make use of state. > > Yes, I think that would be a nice end-game. It just wasn't clear to me > where we'd be in the interim. After some more thinking about this, and a little chatting with Brandon at the contrib summit, I'm willing to soften my position on this. Basically I was concerned about this as a regression where git-over-ssh would stop working in a few corner cases. And it would cease to be available as an escape hatch for those cases where http wouldn't work. But we may be OK in this "interim" period (before unified stateful-negotiation bits are added back) because v2 would not yet be the default. So the ssh cases can't regress without flipping the v2 switch manually, and any escape hatch would continue to work by flipping back to v1 anyway. So it's probably OK to continue experimenting in this direction and see how often it's a problem in practice. -Peff