Bugfix: GIT_EXTERNAL_DIFF with more than one changed files
authorNazri Ramliy <ayiehere@gmail.com>
Thu, 12 Feb 2009 13:36:14 +0000 (21:36 +0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 12 Feb 2009 20:31:52 +0000 (12:31 -0800)
commita8344abe0f70f9fc629ee055d73ffa65fbc58311
treeb1b33c20811a2b62866530dea12b910f47d3c465
parent30aa4fb15fa408596dea59cdc9f00c94eeaa69f1
Bugfix: GIT_EXTERNAL_DIFF with more than one changed files

When there is more than one file that are changed, running git diff with
GIT_EXTERNAL_DIFF incorrectly diagnoses an programming error and dies.
The check introduced in 479b0ae (diff: refactor tempfile cleanup handling,
2009-01-22) to detect a temporary file slot that forgot to remove its
temporary file was inconsistent with the way the codepath to remove the
temporary to mark the slot that it is done with it.

This patch fixes this problem and adds a test case for it.

Signed-off-by: Nazri Ramliy <ayiehere@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c
t/t4020-diff-external.sh