From: Andreas Ericsson <ae@op5.se>
To: Junio C Hamano <gitster@pobox.com>
Cc: Steffen Prohaska <prohaska@zib.de>,
Jakub Narebski <jnareb@gmail.com>, Sergei Organov <osv@javad.com>,
git@vger.kernel.org
Subject: Re: [Newbie] How to *actually* get rid of remote tracking branch?
Date: Wed, 14 Nov 2007 02:02:52 +0100 [thread overview]
Message-ID: <473A493C.4070902@op5.se> (raw)
In-Reply-To: <7vr6itr96h.fsf@gitster.siamese.dyndns.org>
Junio C Hamano wrote:
> Andreas Ericsson <ae@op5.se> writes:
>
>> 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.
>
> Please try to read it as if it were an entry in a glossary.
> The sentence "... follow exactly the same rules as ..." was
> "Huh?" to me. "rules? what rules? the set of valid characters
> in their names?"
>
> When branch 'foo' from remote is tracked with the standard layout
> (post 1.3.0) it is copied to refs/remotes/origin/foo and people
> often fork their local branch refs/heads/foo to build on top.
> The use of the word "corresonding" feels a bit confusing,
> because you can arguably say refs/heads/foo at remote
> corresopnds to refs/heads/foo in your repository.
>
> I'd drop "These branches follow ... the '--force' option. "
> from the above. The rules on how they are updated are
> irrelevant, before the reader understands what they are for.
> How about this?
>
> A "remote tracking branch" remembers which commit a branch
> in the remote repository was pointing at last time you
> checked. It cannot be checked out or committed because its
> purpose is to serve as a local reference point after you
> built your own changes on top of it in your local branch
> forked from it. The most common example of a remote
> tracking branch is "origin/master", which tracks the
> "master" branch of the "origin" remote.
>
I'd skip "after you built your own changes ..." and let it go at
that. Will amend. Thanks.
> BTW, when you have this data-flow (probably typical in a shared
> repository workflow):
>
> Remote repository Your repository
>
> refs/heads/foo -------(A)------> refs/remotes/origin/foo
> ^ |
> | (B)
> | |
> | V
> `-------------(C)---------- refs/heads/foo
>
> (A) "git fetch" with remote.origin.fetch configuration
> set to +refs/heads/*:refs/remotes/origin/* keeps
> your refs/remotes/origin/foo up-to-date with their
> refs/heads/foo
>
> (B) "git merge origin/foo" while on "foo" branch (there
> are few shorthands like "git pull origin foo" while
> on "foo" branch. If you say "git branch --track
> foo origin/foo", then running "git pull" without
> parameter while on "foo" branch).
>
> (C) "git push origin foo".
>
> * Everybody seems to agree that "refs/remotes/origin/foo" is
> called a "remote tracking branch";
>
I'd like to insert the significant dash there. remote-tracking vs
remote tracking. It solves the one ambiguity with it, and would
finally make it clear and consistent almost however it's used.
> * Your refs/heads/foo follows and builds on top of 'foo' branch
> at the remote. Some people errorneously call it "tracking"
> but that is because we do not have a good term for it;
>
"private tracking branch"? Nah...
> * There is no good name for "refs/heads/foo at the remote". We
> always say "the remote branch you follow" (or "track").
>
"remote-repo branch" perhaps? The universe doesn't exactly toll its
bells in approval at that, but at least it's not ambiguous.
I've seen it written as "remote tracking branch" on irc a few times.
It causes 10 minutes of confusion where no-one's sure what anyone
else means. With the dash in there, there's no room for ambiguity.
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
next prev parent reply other threads:[~2007-11-14 1:03 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-13 14:25 [Newbie] How to *actually* get rid of remote tracking branch? Sergei Organov
2007-11-13 14:53 ` Jakub Narebski
2007-11-13 15:39 ` Sergei Organov
2007-11-13 16:01 ` Johannes Schindelin
2007-11-13 17:31 ` Sergei Organov
2007-11-13 18:21 ` Johannes Schindelin
2007-11-13 18:44 ` Sergei Organov
2007-11-17 16:56 ` Jan Hudec
2007-11-13 16:03 ` Jakub Narebski
2007-11-13 17:16 ` Steffen Prohaska
2007-11-13 17:42 ` Jakub Narebski
2007-11-13 17:58 ` osv
2007-11-13 18:17 ` Lars Hjemli
2007-11-13 18:59 ` Sergei Organov
2007-11-13 18:39 ` Steffen Prohaska
2007-11-17 19:12 ` Jan Hudec
2007-11-17 19:51 ` [PATCH] Improve description of git-branch -d and -D in man page Jan Hudec
2007-11-19 9:49 ` Sergei Organov
2007-11-13 17:47 ` [Newbie] How to *actually* get rid of remote tracking branch? Sergei Organov
2007-11-13 20:01 ` Andreas Ericsson
2007-11-13 22:33 ` Andreas Ericsson
2007-11-13 22:42 ` Jakub Narebski
2007-11-13 23:05 ` J. Bruce Fields
2007-11-13 23:56 ` Junio C Hamano
2007-11-14 1:02 ` Andreas Ericsson [this message]
2007-11-14 5:48 ` Steffen Prohaska
2007-11-13 17:40 ` Sergei Organov
2007-11-13 19:17 ` Jakub Narebski
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=473A493C.4070902@op5.se \
--to=ae@op5.se \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jnareb@gmail.com \
--cc=osv@javad.com \
--cc=prohaska@zib.de \
/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.
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 NNTP newsgroup(s).