Ramkumar Ramachandra wrote:
> 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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html