summaryrefslogtreecommitdiff
path: root/merge-cache.c
diff options
context:
space:
mode:
authorPetr Baudis <pasky@ucw.cz>2005-04-19 02:16:15 (GMT)
committerPetr Baudis <xpasky@machine.sinus.cz>2005-05-07 14:09:44 (GMT)
commit8c59926f5e00082a4cbf1d9f31275917c5f7f001 (patch)
tree1e6bdd60480e6bc46522377ba965827f22729062 /merge-cache.c
parente7d3dd248f50501f98b29c917e70bddcf3ea925a (diff)
downloadgit-8c59926f5e00082a4cbf1d9f31275917c5f7f001.zip
git-8c59926f5e00082a4cbf1d9f31275917c5f7f001.tar.gz
git-8c59926f5e00082a4cbf1d9f31275917c5f7f001.tar.bz2
Make merge-cache not fail immediatelly when the merge program
fails, but go on and return error code at the end. It makes sense to try to merge everything, then let the user solve the commits at once.
Diffstat (limited to 'merge-cache.c')
-rw-r--r--merge-cache.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/merge-cache.c b/merge-cache.c
index 11079b1..b2977cf 100644
--- a/merge-cache.c
+++ b/merge-cache.c
@@ -5,6 +5,7 @@
static const char *pgm = NULL;
static const char *arguments[8];
+static int err;
static void run_program(void)
{
@@ -25,7 +26,7 @@ static void run_program(void)
die("unable to execute '%s'", pgm);
}
if (waitpid(pid, &status, 0) < 0 || !WIFEXITED(status) || WEXITSTATUS(status))
- die("merge program failed");
+ err++;
}
static int merge_entry(int pos, const char *path)
@@ -111,5 +112,7 @@ int main(int argc, char **argv)
}
merge_file(arg);
}
+ if (err)
+ die("merge program failed");
return 0;
}