Aneesh Kumar wrote: > On 12/6/06, Junio C Hamano <junkio@xxxxxxx> wrote: >> "Aneesh Kumar" <aneesh.kumar@xxxxxxxxx> writes: >> >>> I have a git.git clone using --use-separate-remote. That means i have >>> the master branch created by default. Now i need to build git from the >>> pu branch too. So i created git branch pu remotes/origin/pu. >>> >>> >>> How how do i track the pu branch using git pull. What i mean is the >>> master local branch is tracked by default using git pull. Is there a >>> way to track the local pu branch too. >> >> $ cat>.git/remotes/origin <<\EOF >> URL: ...kernel.org/pub/scm/git/git.git >> Pull: refs/heads/master:refs/remotes/origin/master >> Pull: refs/heads/next:refs/remotes/origin/next >> Pull: +refs/heads/pu:refs/remotes/origin/pu >> EOF Or you can do .git/config equivalent: $ git repo-config remote.origin.url ...kernel.org/pub/scm/git/git.git $ git repo-config remote.origin.fetch refs/heads/master:refs/remotes/origin/master $ git repo-config remote.origin.fetch refs/heads/next:refs/remotes/origin/next $ git repo-config remote.origin.fetch +refs/heads/pu:refs/remotes/origin/pu >> Then you would checkout 'pu' by having a matching local branch: >> >> $ git branch pu remotes/origin/pu >> $ git checkout pu ;# this is your refs/heads/pu >> $ make >> >> Hacking on it can be done in this branch as usual. When you are >> interested in the latest 'pu' from me: >> >> $ git checkout pu ;# this is your refs/heads/pu >> $ git fetch ;# most of the time git pull would also be fine... >> >> and then: >> >> $ git rebase remotes/origin/pu >> >> The 'rebase' in the last step is because my 'pu' rewinds freely; >> otherwise you would do "git merge remotes/origin/pu" instead. >> > > Okey what i was looking for was a .git/config that will imply as a > part of git pull origin that local > > master is to track remotes/origin/master > pu should track remotes/origin/pu. > > I almost felt the branch.<name>.merge was for that. > > What is this git-repo-config used for. I am trying to understand > > branch.<name>.remote and branch.<name>.merge usage. Yes it is what branch.<name>.merge is for... and it would work for any branch _except_ pu, which rewinds frequently, and you should rebase your changes on top of current version instead of merging. Still it is useful to add branch.<branch>.remote for pu: $ git repo-config branch.refs/heads/pu.remote origin so you can do just "git fetch" on pu to fetch from origin (well, "git fetch" would fetch from origin as it is the default even in absence of branch.<branch>.remote). If it were any other branch, for example next, you could add $ git repo-config branch.refs/heads/next.remote origin $ git repo-config branch.refs/heads/next.merge refs/remotes/origin/next for "git pull" on next branch fo fetch from origin and merge next branch from origin. -- Jakub Narebski Warsaw, Poland ShadeHawk on #git - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html