diff options
| author | Junio C Hamano <gitster@pobox.com> | 2022-01-10 11:52:54 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2022-01-10 11:52:54 -0800 |
| commit | 0669bdf4ebc095a2b26654292e1ff38245ccf88a (patch) | |
| tree | e1cbee05b782fabade7aefc3767ffdbf28f75dfd /t/t2027-checkout-track.sh | |
| parent | 4b51386bbfc5d26e552c3c4be135e31cd2f64b44 (diff) | |
| parent | 44f14a9d24cd9f04a0a789e58968d52d44d7f332 (diff) | |
| download | git-0669bdf4ebc095a2b26654292e1ff38245ccf88a.tar.xz | |
Merge branch 'js/branch-track-inherit'
"git -c branch.autosetupmerge=inherit branch new old" makes "new"
to have the same upstream as the "old" branch, instead of marking
"old" itself as its upstream.
* js/branch-track-inherit:
config: require lowercase for branch.*.autosetupmerge
branch: add flags and config to inherit tracking
branch: accept multiple upstream branches for tracking
Diffstat (limited to 't/t2027-checkout-track.sh')
| -rwxr-xr-x | t/t2027-checkout-track.sh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/t/t2027-checkout-track.sh b/t/t2027-checkout-track.sh index 4453741b96..dca35aa3e3 100755 --- a/t/t2027-checkout-track.sh +++ b/t/t2027-checkout-track.sh @@ -24,4 +24,27 @@ test_expect_success 'checkout --track -b rejects an extra path argument' ' test_i18ngrep "cannot be used with updating paths" err ' +test_expect_success 'checkout --track -b overrides autoSetupMerge=inherit' ' + # Set up tracking config on main + test_config branch.main.remote origin && + test_config branch.main.merge refs/heads/some-branch && + test_config branch.autoSetupMerge inherit && + # With --track=inherit, we copy the tracking config from main + git checkout --track=inherit -b b1 main && + test_cmp_config origin branch.b1.remote && + test_cmp_config refs/heads/some-branch branch.b1.merge && + # With branch.autoSetupMerge=inherit, we do the same + git checkout -b b2 main && + test_cmp_config origin branch.b2.remote && + test_cmp_config refs/heads/some-branch branch.b2.merge && + # But --track overrides this + git checkout --track -b b3 main && + test_cmp_config . branch.b3.remote && + test_cmp_config refs/heads/main branch.b3.merge && + # And --track=direct does as well + git checkout --track=direct -b b4 main && + test_cmp_config . branch.b4.remote && + test_cmp_config refs/heads/main branch.b4.merge +' + test_done |
