Subject: Re: [RFC PATCH v3 2/2] push: support pushing to a remote group

From: Junio C Hamano <[email-masked]>
Date: Wed, 01 Apr 2026 09:56:43 -0700

Usman Akinyemi <[email-masked]> writes:

>>
>> I would personally have designed to mimic exactly like "git push r1;
>> git push r2; ..." would do (not concatenated with "&&" but with
>> ";"), which would mean that there is only one single failure mode
>> that would not affect interactions with any other remotes, but I
>> have no strong arguments to choose that design, other than that it
>> would be easy to explain when we later start supporting pushes to
>> multiple remotes in parallel, where a failure to talk to one remote
>> cannot easily affect interaction with other remotes without getting
>> affected by timing issues.
> If we want to have one failure mode i.e continue pushing when there is
> a failure,
> then, we have to use `run_command` to spawn a child process for each
> of the push.

Because you would want to avoid hitting a "die()" while pushing to
the (N-1)th remote, before you push to the Nth remote?

If there is a "now we have attempted to push to all N remotes, and
know the outcome from these N attempts, summarize them and present
the result" phase in the program, then you'd need to spawn sub push
for N times and then the primary process needs to do the summarizing.

If there isn't any such "post push clean-up" phase, we need N-1 sub
pushes and the last one can be done in the primary process.  If that
is possible, that would be ideal, because it makes N==1 case the same
as the traditional "push to a single remote" case.