On Wed, Aug 16, 2017 at 2:22 AM, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote: > Jonathan Tan wrote: >> Christian Couder <christian.couder@xxxxxxxxx> wrote: > >>> In handshake_capabilities() we use warning() when a capability >>> is not supported, so the exit code of the function is 0 and no >>> further error is shown. This is a problem because the warning >>> message doesn't tell us which subprocess cmd failed. > [...] >>> Let's improve the warning() message, so that we can know which >>> subprocess cmd failed. >>> >>> Signed-off-by: Christian Couder <chriscool@xxxxxxxxxxxxx> >> >> This looks reasonable to me. >> >> I am still wondering if protocol errors should be fatal, > > Yes, please. Unfortunately I think it would prevent new filters or new sub-processes to work with older versions of Git. For example if filters are upgraded company wide to support the new "delay" capability, that would force everyone using the filters to upgrade Git.