From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Jeff King <peff@peff.net>
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Björn Steinbrink" <B.Steinbrink@gmx.de>,
"Michael J Gruber" <git@drmicha.warpmail.net>,
"Pete Wyckoff" <pw@padd.com>,
git@vger.kernel.org
Subject: Re: [PATCH v2] Introduce <branch>@{upstream} as shortcut to the tracked branch
Date: Thu, 10 Sep 2009 18:18:46 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.1.00.0909101817521.8306@pacific.mpi-cbg.de> (raw)
In-Reply-To: <20090910155547.GA12409@coredump.intra.peff.net>
Hi,
On Thu, 10 Sep 2009, Jeff King wrote:
> I wrote:
>
> > + ret = tracked_suffix(*string, *len);
> > + if (ret) {
> > + char *ref = xstrndup(*string, *len - ret);
> > + struct branch *tracking = branch_get(*ref ? ref : NULL);
> > +
> > + free(ref);
> > + if (!tracking)
> > + die ("No tracking branch found for '%s'", ref);
> > + if (tracking->merge && tracking->merge[0]->dst) {
> > + *string = xstrdup(tracking->merge[0]->dst);
> > + *len = strlen(*string);
> > + return (char *)*string;
> > + }
> > + }
> > +
>
> I don't think it is a good idea to die for !tracking, but not for
> !tracking->merge. That leads to inconsistent user-visible results:
>
> $ git checkout HEAD^0
> $ git rev-parse HEAD@{u}
> fatal: No tracking branch found for 'HEAD'
> $ git rev-parse bogus@{u}
> bogus@{u}
> fatal: ambiguous argument 'bogus@{u}': unknown revision or path not in the working tree.
> Use '--' to separate paths from revisions
>
> Shouldn't both cases say the same thing?
>
> Also, your die message has two problems:
>
> 1. It looks at ref immediately after it is free'd, spewing junk.
>
> 2. Ref can be the empty string, which gives you the ugly:
>
> fatal: No tracking branch found for ''
>
> Should we munge that into HEAD (or "the current branch") for the
> user?
All true, but I cannot take care of it today.
Ciao,
Dscho
next prev parent reply other threads:[~2009-09-10 16:17 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-04 13:54 tracking branch for a rebase Pete Wyckoff
2009-09-04 14:31 ` Michael J Gruber
2009-09-04 18:18 ` Jeff King
2009-09-04 18:59 ` Björn Steinbrink
2009-09-05 6:12 ` Jeff King
2009-09-05 14:01 ` Björn Steinbrink
2009-09-05 14:28 ` Jeff King
2009-09-07 5:05 ` Junio C Hamano
2009-09-07 8:14 ` Michael J Gruber
2009-09-07 8:25 ` Junio C Hamano
2009-09-07 8:44 ` Jeff King
2009-09-07 9:06 ` Michael J Gruber
2009-09-07 8:43 ` Jeff King
2009-09-07 9:29 ` Johannes Schindelin
2009-09-07 9:53 ` Michael J Gruber
2009-09-08 23:17 ` Julian Phillips
2009-09-09 10:45 ` Jeff King
2009-09-10 6:42 ` Junio C Hamano
2009-09-10 7:47 ` Johannes Schindelin
2009-09-10 9:36 ` [PATCH] Introduce <branch>@{tracked} as shortcut to the tracked branch Johannes Schindelin
2009-09-10 9:44 ` Michael J Gruber
2009-09-10 10:14 ` Johannes Schindelin
2009-09-10 10:18 ` Johan Herland
2009-09-10 10:59 ` Michael J Gruber
2009-09-10 12:29 ` Johan Herland
2009-09-10 13:35 ` Johannes Schindelin
2009-09-10 14:17 ` Michael J Gruber
2009-09-10 11:11 ` Jeff King
2009-09-10 18:29 ` Junio C Hamano
2009-10-02 14:54 ` Björn Steinbrink
2009-09-10 14:16 ` Jeff King
2009-09-10 14:26 ` Jeff King
2009-09-10 15:24 ` Johannes Schindelin
2009-09-10 15:25 ` [PATCH v2] Introduce <branch>@{upstream} " Johannes Schindelin
2009-09-10 15:55 ` Jeff King
2009-09-10 16:18 ` Johannes Schindelin [this message]
2009-09-10 15:22 ` [PATCH] Introduce <branch>@{tracked} " Johannes Schindelin
2009-09-11 4:54 ` tracking branch for a rebase Junio C Hamano
2009-09-05 17:59 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.1.00.0909101817521.8306@pacific.mpi-cbg.de \
--to=johannes.schindelin@gmx.de \
--cc=B.Steinbrink@gmx.de \
--cc=git@drmicha.warpmail.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
--cc=pw@padd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).