Files
git/Documentation
Jeff King e34f80278e merge-file: clamp exit code to maximum 127
Git-merge-file is documented to return one of three exit
codes:

  - zero means the merge was successful

  - a negative number means an error occurred

  - a positive number indicates the number of conflicts

Unfortunately, this all gets stuffed into an 8-bit return
code. Which means that if you have 256 conflicts, this wraps
to zero, and the merge appears to succeed (and commits a
blob full of conflict-marker cruft!).

This patch clamps the return value to a maximum of 127,
which we should be able to safely represent everywhere. This
also leaves 128-255 for other values. Shells (and some parts
of git) will typically represent signal death as 128 plus
the signal number. And negative values are typically coerced
to an 8-bit unsigned value (so "return -1" ends up as 255).

Technically negative returns have the same problem (e.g.,
"-256" wraps back to 0), but this is not a problem in
practice, as the only negative value we use is "-1".

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-10-29 12:10:23 -07:00
..
2014-03-31 15:16:22 -07:00
2014-12-17 11:30:46 -08:00
2014-12-17 11:28:54 -08:00
2014-04-08 12:00:28 -07:00
2013-07-22 16:06:48 -07:00
2013-02-14 10:29:01 -08:00
2013-09-04 12:23:25 -07:00
2013-09-09 14:50:36 -07:00
2013-12-17 11:46:32 -08:00
2013-10-23 13:21:31 -07:00
2014-04-08 12:00:28 -07:00
2011-09-06 11:42:12 -07:00
2013-05-29 14:23:04 -07:00
2013-10-18 13:50:12 -07:00
2011-03-11 10:59:16 -05:00
2013-04-12 12:00:52 -07:00
2014-12-17 11:30:46 -08:00
2014-02-07 11:55:12 -08:00