Re: [PATCH v2 9/9] sha1_name: add support for @{publish} marks
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Apr 10, 2014, 22:25 UTC
- Message-ID
- <53471a55767f1_d696b12f01c@nysa.notmuch>
- In-Reply-To
- <CALkWK0nC7Ai_LbJNpy-oK-qfWZELx6NVWTNS-5iWzhn8t9JoTw@mail.gmail.com>
Ramkumar Ramachandra wrote:
Show 34 quoted lines
> Felipe Contreras wrote:
> > @@ -1068,23 +1069,35 @@ static const char *get_upstream_branch(const char *name_buf, int len)
> > */
> > if (!branch)
> > die(_("HEAD does not point to a branch"));
> > - if (!branch->merge || !branch->merge[0]->dst) {
> > - if (!ref_exists(branch->refname))
> > - die(_("No such branch: '%s'"), name);
> > - if (!branch->merge) {
> > - die(_("No upstream configured for branch '%s'"),
> > - branch->name);
> > + switch (type) {
> > + case 'u':
> > + if (!branch->merge || !branch->merge[0]->dst) {
> > + if (!ref_exists(branch->refname))
> > + die(_("No such branch: '%s'"), name);
> > + if (!branch->merge) {
> > + die(_("No upstream configured for branch '%s'"),
> > + branch->name);
> > + }
> > + die(
> > + _("Upstream branch '%s' not stored as a remote-tracking branch"),
> > + branch->merge[0]->src);
> > + }
> > + tracking = branch->merge[0]->dst;
> > + break;
> > + case 'p':
> > + if (!branch->push.dst) {
> > + die(_("No publish configured for branch '%s'"),
> > + branch->name);
>
> This assumes a push.default value of 'current' or 'matching'. What
> happens if push.default is set to 'nothing' or 'upstream', for
> instance?Why would that matter? @{upstream} doesn't depend on this, neither does @{publish}; @{upstream} is .remote+.merge, @{publish} is .pushremote+.push.
If the user hasn't configured a publish branch, @{publish} fails.-- Felipe Contreras