summaryrefslogtreecommitdiff
path: root/builtin/rerere.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-09-28 21:59:28 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-09-28 21:59:28 (GMT)
commit92cdfd21313c5bf5657d4ac2d3e6ae7af7e9ce94 (patch)
tree1ee5bd8057292fc6dfa9edc58b3c2cc7b990f8ab /builtin/rerere.c
parentf2df3104ce45bc1ee6d7c16f3a02f1d157c65e07 (diff)
parent83c4d380171a2ecd24dd2e04072692ec54a7aaa5 (diff)
downloadgit-92cdfd21313c5bf5657d4ac2d3e6ae7af7e9ce94.zip
git-92cdfd21313c5bf5657d4ac2d3e6ae7af7e9ce94.tar.gz
git-92cdfd21313c5bf5657d4ac2d3e6ae7af7e9ce94.tar.bz2
Merge branch 'jk/xdiff-memory-limits' into maint-2.3
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 98eb8c5..aab8f3b 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);