"Lars Hjemli" [off-list ref] writes:
The magic setup that makes this happen is the following lines in .git/config:
[remote "origin"]
url = git://git.kernel.org/pub/scm/git/git.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
Was this helpful?
It would be helpful. Except that nothing whatsoever can be found in
.git/config concerning my local and my remote tracking branches. So
where is that information _really_ hidden away?
.git/FETCH_HEAD maybe?
It also appears that doing
git-checkout --track -b mybranch origin
on a git.git clone does _not_ create a tracking branch. I can't
figure out what I could specify as an origin to create a tracking
branch that would get reflected in .git/FETCH_HEAD.
What gives?
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
On Sat, 4 Aug 2007, David Kastrup wrote:
"Lars Hjemli" [off-list ref] writes:
quoted
The magic setup that makes this happen is the following lines in .git/config:
[remote "origin"]
url = git://git.kernel.org/pub/scm/git/git.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
Was this helpful?
It would be helpful. Except that nothing whatsoever can be found in
.git/config concerning my local and my remote tracking branches. So
where is that information _really_ hidden away?
It really is in .git/config, _provided_ that your repo was created by
1.5.0 or newer. Older versions had a more distributed setup using files
in .git/remotes/ and .git/branches/
.git/FETCH_HEAD maybe?
Nope, that's just information about what got fetched last. A purely
temporary thing.
It also appears that doing
git-checkout --track -b mybranch origin
on a git.git clone does _not_ create a tracking branch. I can't
figure out what I could specify as an origin to create a tracking
branch that would get reflected in .git/FETCH_HEAD.
With pre 1.5 you didn't get remote tracking branches in a separate
namespace. The default was to have a local branch called origin which was
the "remote tracking branch" for the master branch - but this wasn't
enforced. So with your repo the origin branch _is_ the remote tracking
branch ... or at least the closet a pre 1.5 setup gets.
What gives?
It would appear that your repo was created with an old version of git.
Which also explains why you were talking about origin as a branch - which
it used to be (a real local branch too ...), rather than as a remote -
which it is now.
The whole remotes/tracking mechanism changed in 1.5.0 - now it's much more
flexible (and probably more complicated too).
--
Julian
---
Ever notice that even the busiest people are never too busy to tell you
just how busy they are?