Johan Herland wrote:
>> An earlier round of this change by mistake broke the safety for
>> "simple" mode we have had since day 1 of that mode to make sure that
>> the branch in the repository we update is set to be the one we fetch
>> and integrate with, but it has been fixed.
> Shouldn't there be an acompanying test to demonstrate this mistake being
Read "earlier iteration": it didn't get merged.
>> +static void setup_push_current(struct remote *remote, struct branch *branch)
>> + if (!branch)
>> + die(_(message_detached_head_die), remote->name);
>> + add_refspec(branch->name);
> Here (and above) we add a refspec to tell Git exactly what to push
> from the local end, and into what on the remote end.
Nope, we add the refspec "foo", without the :destination part. The
remote end is unspecified (and defaults to "foo", but that is in the
> Is it possible to
> end up with multiple simultaneous refspecs matching the same local
> ref, but mapping to different remote refs? If so, which will win, and
> does that make sense?
It is impossible. We either:
- Get an explicit refspec from the user and never run
setup_default_push_refspecs() to begin with.
- Run setup_push_refspecs() and add *one* refspec depending on the
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html