Re: git-branch silently ignores --track on local branches
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