On Wed, Jul 26, 2017 at 04:29:58PM -0700, Jonathan Tan wrote: > This is an updated version of my previous patch [1], but without the > list of promises. It is somewhat different now because fsck cannot just > mark all promised objects as HAS_OBJ. > > This could be adapted and incorporated into patch sets that have objects > missing from the local repo. > > I split this up into 4 patches so that you can see how the changes in > fsck are being tested, but eventually these should probably be combined > into 1 patch. I looked at this and I like the direction it's going. It's pretty simple and straightforward, which I also like. 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. -- brian m. carlson / brian with sandals: Houston, Texas, US https://www.crustytoothpaste.net/~bmc | My opinion only OpenPGP: https://keybase.io/bk2204