Thread (15 messages) flat view 15 messages, 3 authors, 2016-06-15

Re: [PATCH 3/6] push: change `simple` to accommodate triangular workflows

From: Ramkumar Ramachandra <hidden>
Date: 2016-06-15 22:57:53

Johan Herland wrote:
quoted
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 fixed?
Read "earlier iteration": it didn't get merged.
quoted
+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
transport layer).
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
push.default value.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help