summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 39878b0)
raw | patch | inline | side by side (parent: 39878b0)
author | Junio C Hamano <junkio@cox.net> | |
Sat, 7 Apr 2007 06:04:53 +0000 (23:04 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Sat, 7 Apr 2007 09:27:31 +0000 (02:27 -0700) |
When pushing into multiple repositories with git push, via
multiple URL in .git/remotes/$shorthand or multiple url
variables in [remote "$shorthand"] section, we used to stop upon
the first failure. Continue the operation and report the
failure at the end.
Signed-off-by: Junio C Hamano <junkio@cox.net>
multiple URL in .git/remotes/$shorthand or multiple url
variables in [remote "$shorthand"] section, we used to stop upon
the first failure. Continue the operation and report the
failure at the end.
Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-push.c | patch | blob | history |
diff --git a/builtin-push.c b/builtin-push.c
index 23143be542508c3d3a4eb6909d0625e41224e3bd..cb78401c946eac9019c2e4e953c3b87ef9e214f3 100644 (file)
--- a/builtin-push.c
+++ b/builtin-push.c
static int do_push(const char *repo)
{
const char *uri[MAX_URI];
- int i, n;
+ int i, n, errs;
int common_argc;
const char **argv;
int argc;
argv[argc++] = receivepack;
common_argc = argc;
+ errs = 0;
for (i = 0; i < n; i++) {
int err;
int dest_argc = common_argc;
error("failed to push to '%s'", uri[i]);
switch (err) {
case -ERR_RUN_COMMAND_FORK:
- die("unable to fork for %s", sender);
+ error("unable to fork for %s", sender);
case -ERR_RUN_COMMAND_EXEC:
- die("unable to exec %s", sender);
+ error("unable to exec %s", sender);
+ break;
case -ERR_RUN_COMMAND_WAITPID:
case -ERR_RUN_COMMAND_WAITPID_WRONG_PID:
case -ERR_RUN_COMMAND_WAITPID_SIGNAL:
case -ERR_RUN_COMMAND_WAITPID_NOEXIT:
- die("%s died with strange error", sender);
- default:
- return -err;
+ error("%s died with strange error", sender);
}
+ errs++;
}
- return 0;
+ return !!errs;
}
int cmd_push(int argc, const char **argv, const char *prefix)