Re: git-branch silently ignores --track on local branches
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Nov 11, 2007, 19:23 UTC
- Message-ID
- <Pine.LNX.4.64.0711111919170.4362@racer.site>
- In-Reply-To
- <7vfxzelz5b.fsf@gitster.siamese.dyndns.org>
Hi,
On Sat, 10 Nov 2007, Junio C Hamano wrote:
Show 32 quoted lines
> Wayne Davison <wayne@opencoder.net> writes: > > > ... Is there > > a problem with local branches being supported when explicitly > > requested? > > Maybe this one? > > commit 6f084a56fcb3543d88d252bb49c1d2bbf2bd0cf3 > Author: Johannes Schindelin <Johannes.Schindelin@gmx.de> > Date: Tue Jul 10 18:50:44 2007 +0100 > > branch --track: code cleanup and saner handling of local branches > > This patch cleans up some complicated code, and replaces it with a > cleaner version, using code from remote.[ch], which got extended a > little in the process. This also enables us to fix two cases: > > The earlier "fix" to setup tracking only when the original ref started > with "refs/remotes" is wrong. You are absolutely allowed to use a > separate layout for your tracking branches. The correct fix, of course, > is to set up tracking information only when there is a matching > remote.<nick>.fetch line containing a colon. > > Another corner case was not handled properly. If two remotes write to > the original ref, just warn the user and do not set up tracking. > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > Signed-off-by: Junio C Hamano <gitster@pobox.com> > > As a local branch does not have to be "fetched", the restriction > on "remote.<nick>.fetch" is sort of pointless.
IIRC it was you, Junio, who complained first that the local branches have tracking set up.
> Also why remote.<nick>.fetch needs a colon, I begin to wonder. You can > be keep fetching and merging from the same branch of the same remote > without keeping a remote tracking branch for that, but the above > "correct fix" forbids that.
The point here was to find out what to track when we do a "git branch --track <name> <origname>". So we definitely only want to find those remotes that fetch to a certain tracking branch.
Sure, you can set up branch.<x>.merge to a branch that is not tracked. But git cannot find out which one it is in the command "branch".
> Dscho, what were we smoking when we made this change?
Dude, I, uh, I think I, uh, don't remember. Peace.
Ciao, Dscho