I got tired of thinking about which return values of run_command functions are exit codes and which are error codes of system call failures. Furthermore, it is a pitty that almost no run_command callers correctly report system call failures. But on top of all I find it unacceptable that recent git-daemon logs "unable to run 'git-pack-objects'" if a client terminates the connection early. This series addresses these issues, and also fixes an error in git-bisect on Windows. 1/7 Truncate result of run_command that is used in exit() to lowest 8 bits This one fixes a breakage of git-bisect on Windows and should be applied at any rate. 2/7 MinGW: simplify waitpid() emulation macros 3/7 run_command: return exit code as positive value 4/7 run_command: report system call errors instead of returning error codes These address the mentioned issues; 4/7 is the important change. 5/7 run_command: encode deadly signal number in the return value 6/7 run_command: report failure to execute the program, but optionally don't These two are nice to have. 7/7 receive-pack: remove unnecessary run_status report This one is actually RFC because it removes a status report that users might be used to see, or even depend on. bisect.c | 4 +- builtin-add.c | 2 +- builtin-merge.c | 2 +- builtin-receive-pack.c | 38 ++-------------- compat/mingw.h | 5 +- convert.c | 2 +- git.c | 10 +--- ll-merge.c | 4 -- run-command.c | 105 +++++++++++++++++++++++------------------ run-command.h | 13 +---- t/t5530-upload-pack-error.sh | 5 ++- transport.c | 16 +------ 12 files changed, 81 insertions(+), 125 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html