Code

git-branch, git-checkout: autosetup for remote branch tracking
authorPaolo Bonzini <paolo.bonzini@lu.unisi.ch>
Thu, 8 Mar 2007 09:58:35 +0000 (10:58 +0100)
committerJunio C Hamano <junkio@cox.net>
Sun, 11 Mar 2007 07:41:58 +0000 (23:41 -0800)
commit0746d19a823aa12239df9d32db6fa6795d8c8539
tree5c8d71d97057acc5f41ca6eac6a5f579c8529aff
parent8a3fbdd9e6c37c74b12fd0e8bd7cde8372861288
git-branch, git-checkout: autosetup for remote branch tracking

In order to track and build on top of a branch 'topic' you track from
your upstream repository, you often would end up doing this sequence:

  git checkout -b mytopic origin/topic
  git config --add branch.mytopic.remote origin
  git config --add branch.mytopic.merge refs/heads/topic

This would first fork your own 'mytopic' branch from the 'topic'
branch you track from the 'origin' repository; then it would set up two
configuration variables so that 'git pull' without parameters does the
right thing while you are on your own 'mytopic' branch.

This commit adds a --track option to git-branch, so that "git
branch --track mytopic origin/topic" performs the latter two actions
when creating your 'mytopic' branch.

If the configuration variable branch.autosetupmerge is set to true, you
do not have to pass the --track option explicitly; further patches in
this series allow setting the variable with a "git remote add" option.
The configuration variable is off by default, and there is a --no-track
option to countermand it even if the variable is set.

Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Documentation/git-branch.txt
Documentation/git-checkout.txt
builtin-branch.c
cache.h
git-checkout.sh
t/t3200-branch.sh
trace.c