@@ -297,7 +297,7 @@ static int read_config(const char *repo, const char *uri[MAX_URI])
297
297
static int do_push (const char * repo )
298
298
{
299
299
const char * uri [MAX_URI ];
300
- int i , n ;
300
+ int i , n , errs ;
301
301
int common_argc ;
302
302
const char * * argv ;
303
303
int argc ;
@@ -317,6 +317,7 @@ static int do_push(const char *repo)
317
317
argv [argc ++ ] = receivepack ;
318
318
common_argc = argc ;
319
319
320
+ errs = 0 ;
320
321
for (i = 0 ; i < n ; i ++ ) {
321
322
int err ;
322
323
int dest_argc = common_argc ;
@@ -339,21 +340,23 @@ static int do_push(const char *repo)
339
340
err = run_command_v_opt (argv , RUN_GIT_CMD );
340
341
if (!err )
341
342
continue ;
343
+
344
+ error ("failed to push to '%s'" , uri [i ]);
342
345
switch (err ) {
343
346
case - ERR_RUN_COMMAND_FORK :
344
- die ("unable to fork for %s" , sender );
347
+ error ("unable to fork for %s" , sender );
345
348
case - ERR_RUN_COMMAND_EXEC :
346
- die ("unable to exec %s" , sender );
349
+ error ("unable to exec %s" , sender );
350
+ break ;
347
351
case - ERR_RUN_COMMAND_WAITPID :
348
352
case - ERR_RUN_COMMAND_WAITPID_WRONG_PID :
349
353
case - ERR_RUN_COMMAND_WAITPID_SIGNAL :
350
354
case - ERR_RUN_COMMAND_WAITPID_NOEXIT :
351
- die ("%s died with strange error" , sender );
352
- default :
353
- return - err ;
355
+ error ("%s died with strange error" , sender );
354
356
}
357
+ errs ++ ;
355
358
}
356
- return 0 ;
359
+ return !! errs ;
357
360
}
358
361
359
362
int cmd_push (int argc , const char * * argv , const char * prefix )
0 commit comments