• J
    receive-pack: send pack-processing stderr over sideband · a22e6f85
    Jeff King 提交于
    Receive-pack invokes either unpack-objects or index-pack to
    handle the incoming pack. However, we do not redirect the
    stderr of the sub-processes at all, so it is never seen by
    the client. From the initial thread adding sideband support,
    which is here:
    
      http://thread.gmane.org/gmane.comp.version-control.git/139471
    
    it is clear that some messages are specifically kept off the
    sideband (with the assumption that they are of interest only
    to an administrator, not the client). The stderr of the
    subprocesses is mentioned in the thread, but it's unclear if
    they are included in that group, or were simply forgotten.
    
    However, there are a few good reasons to show them to the
    client:
    
      1. In many cases, they are directly about the incoming
         packfile (e.g., fsck warnings with --strict, corruption
         in the packfile, etc). Without these messages, the
         client just gets "unpacker error" with no extra useful
         diagnosis.
    
      2. No matter what the cause, we are probably better off
         showing the errors to the client. If the client and the
         server admin are not the same entity, it is probably
         much easier for the client to cut-and-paste the errors
         they see than for the admin to try to dig them out of a
         log and correlate them with a particular session.
    
      3. Users of the ssh transport typically already see these
         stderr messages, as the remote's stderr is copied
         literally by ssh. This brings other transports (http,
         and push-over-git if you are crazy enough to enable it)
         more in line with ssh. As a bonus for ssh users,
         because the messages are now fed through the sideband
         and printed by the local git, they will have "remote:"
         prepended and be properly interleaved with any local
         output to stderr.
    Signed-off-by: NJeff King <peff@peff.net>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    a22e6f85
receive-pack.c 24.7 KB