Subject: Re: [Newbie] How to *actually* get rid of remote tracking branch?

From: Andreas Ericsson <[email-masked]>
Date: Tue, 13 Nov 2007 23:33:15 +0100

Andreas Ericsson wrote:
> Steffen Prohaska wrote:
>>
>> BTW, what's the right name for this type of branch.
>> I found "tracking branch", "remote tracking branch", and
>> "remote-tracking branch" in the manual. The glossary only
>> mentions "tracking branch".  Or is it a "tracked remote branch"
>> as the output of "git remote show" suggests.  I remember,
>> there was a lengthy discussion on this issue.  Does someone
>> remember the conclusion?
>>
> 
> It seems we agreed to disagree. However, a "tracked remote branch"
> is definitely not in your local repo. I think remote-tracking branch
> grammatically is the most correct, as that's the only non-ambiguous
> form (remote tracking branch might mean "remote tracking-branch" or
> "remote-tracking branch"). It's also the only form that works when
> used with "local" in front of it. "Tracked remote branch" will
> always be a "remote branch", no matter how you prefix it.
> 
> I hate that part of git nomenclature with a passion. It's ambiguous
> at best and, as a consequence, downright wrong for some uses.
> 

I confess myself corrected. The Documentation/glossary.txt file doesn't
mention them at all. It does however describe "tracking branch", and
mentions "Pull: " refspecs in the same sentence, indicating that that
particular description is a leftover from the pre-1.5 era.

I've got half a patch ready to change all occurrences of anything but
"remote-tracking branch" to that self-same description. This is what
I've got in Documentation/glossary.txt so far:

[[def_remote_tracking_branch]]remote-tracking branch:
    A "remote-tracking branch" is a branch set up to track the
    state of a branch in a remote repository which the user has named. 
    These branches follow exactly the same rules as the branches which
    reside in the remote repository, except that they are manipulated
    by `git fetch` instead of `git push`. That is, they can only be
    updated if the update would result in a 
    <<def_fastforward,fast forward>>, or if the user supplies the 
    '--force' option. 
    They cannot be checked out or committed to by users, but serve
    solely as local reference-pointers to their corresponding branches
    in the remote repository.
    The most common example of a remote-tracking branch is origin/master.

It's a bit long-winded. Anyone got any improvements?

-- 
Andreas Ericsson                   [email-masked]
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231