branch.autosetupmerge: allow boolean values, or "all"
Junio noticed that switching on autosetupmerge unilaterally started cluttering the config for local branches. That is not the original intention of branch.autosetupmerge, which was meant purely for convenience when branching off of remote branches, but that semantics got lost somewhere. If you still want that "new" behavior, you can switch branch.autosetupmerge to the value "all". Otherwise, it is interpreted as a boolean, which triggers setting up defaults _only_ when branching off of a remote branch, i.e. the originally intended behavior. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
b24f56d604
commit
4017761fd8
@ -148,6 +148,15 @@ test_expect_success 'test tracking setup via config' \
|
||||
test $(git config branch.my3.remote) = local &&
|
||||
test $(git config branch.my3.merge) = refs/heads/master'
|
||||
|
||||
test_expect_success 'autosetupmerge = all' '
|
||||
git config branch.autosetupmerge true &&
|
||||
git branch all1 master &&
|
||||
test -z "$(git config branch.all1.merge)" &&
|
||||
git config branch.autosetupmerge all &&
|
||||
git branch all2 master &&
|
||||
test $(git config branch.all2.merge) = refs/heads/master
|
||||
'
|
||||
|
||||
test_expect_success 'test overriding tracking setup via --no-track' \
|
||||
'git config branch.autosetupmerge true &&
|
||||
git config remote.local.url . &&
|
||||
|
Reference in New Issue
Block a user