run_command: return exit code as positive value
authorJohannes Sixt <j6t@kdbg.org>
Sat, 4 Jul 2009 19:26:39 +0000 (21:26 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sun, 5 Jul 2009 19:16:27 +0000 (12:16 -0700)
commit5709e0363a891b72eb9e9756d7fb121d9bf6a7c7
tree47c33baed20745fe0f928ed86fd526ac13943622
parent303e7c48eae7e140a9612ff1f9b5a95ca80b65c4
run_command: return exit code as positive value

As a general guideline, functions in git's code return zero to indicate
success and negative values to indicate failure. The run_command family of
functions followed this guideline. But there are actually two different
kinds of failure:

- failures of system calls;

- non-zero exit code of the program that was run.

Usually, a non-zero exit code of the program is a failure and means a
failure to the caller. Except that sometimes it does not. For example, the
exit code of merge programs (e.g. external merge drivers) conveys
information about how the merge failed, and not all exit calls are
actually failures.

Furthermore, the return value of run_command is sometimes used as exit
code by the caller.

This change arranges that the exit code of the program is returned as a
positive value, which can now be regarded as the "result" of the function.
System call failures continue to be reported as negative values.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-merge.c
builtin-receive-pack.c
convert.c
git.c
ll-merge.c
run-command.c
run-command.h