aboutsummaryrefslogtreecommitdiff
path: root/builtin/rerere.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-09-28 15:28:26 -0700
committerJunio C Hamano <gitster@pobox.com>2015-09-28 15:28:31 -0700
commit6343e2f6f271cf344ea8e7384342502faecaf37c (patch)
tree50abed20e4b930022a24b64389915f7c774acef9 /builtin/rerere.c
parent74b67638166ca2e66497ede559dbf393e7af8b40 (diff)
parent18b58f707fdb3ad7d3d4931bd40693834c9ec8a0 (diff)
downloadgit-6343e2f6f271cf344ea8e7384342502faecaf37c.tar.gz
git-6343e2f6f271cf344ea8e7384342502faecaf37c.tar.xz
Sync with 2.3.10
Diffstat (limited to 'builtin/rerere.c')
-rw-r--r--builtin/rerere.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/builtin/rerere.c b/builtin/rerere.c
index 7afadd2ea..be55e0d2a 100644
--- a/builtin/rerere.c
+++ b/builtin/rerere.c
@@ -29,9 +29,10 @@ static int diff_two(const char *file1, const char *label1,
xdemitconf_t xecfg;
xdemitcb_t ecb;
mmfile_t minus, plus;
+ int ret;
if (read_mmfile(&minus, file1) || read_mmfile(&plus, file2))
- return 1;
+ return -1;
printf("--- a/%s\n+++ b/%s\n", label1, label2);
fflush(stdout);
@@ -40,11 +41,11 @@ static int diff_two(const char *file1, const char *label1,
memset(&xecfg, 0, sizeof(xecfg));
xecfg.ctxlen = 3;
ecb.outf = outf;
- xdi_diff(&minus, &plus, &xpp, &xecfg, &ecb);
+ ret = xdi_diff(&minus, &plus, &xpp, &xecfg, &ecb);
free(minus.ptr);
free(plus.ptr);
- return 0;
+ return ret;
}
int cmd_rerere(int argc, const char **argv, const char *prefix)
@@ -104,7 +105,8 @@ int cmd_rerere(int argc, const char **argv, const char *prefix)
for (i = 0; i < merge_rr.nr; i++) {
const char *path = merge_rr.items[i].string;
const char *name = (const char *)merge_rr.items[i].util;
- diff_two(rerere_path(name, "preimage"), path, path, path);
+ if (diff_two(rerere_path(name, "preimage"), path, path, path))
+ die("unable to generate diff for %s", name);
}
else
usage_with_options(rerere_usage, options);