Code

branch: optionally setup branch.*.merge from upstream local branches
authorJay Soffian <jaysoffian@gmail.com>
Tue, 19 Feb 2008 16:24:37 +0000 (11:24 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 20 Feb 2008 05:17:45 +0000 (21:17 -0800)
commit9ed36cfa35cfbd09c454f12194a91cd50ba284d1
treedb9d61a4a4e47cf8fe6f442f1c46f1d6cce09ae4
parent569012bf91ddb25220483e8912e079ce8a501525
branch: optionally setup branch.*.merge from upstream local branches

"git branch" and "git checkout -b" now honor --track option even when
the upstream branch is local.  Previously --track was silently ignored
when forking from a local branch.  Also the command did not error out
when --track was explicitly asked for but the forked point specified
was not an existing branch (i.e. when there is no way to set up the
tracking configuration), but now it correctly does.

The configuration setting branch.autosetupmerge can now be set to
"always", which is equivalent to using --track from the command line.
Setting branch.autosetupmerge to "true" will retain the former behavior
of only setting up branch.*.merge for remote upstream branches.

Includes test cases for the new functionality.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
branch.c
branch.h
builtin-branch.c
builtin-checkout.c
cache.h
config.c
environment.c
t/t3200-branch.sh
t/t7201-co.sh