Re: [PATCH v8 2/3] branch: add flags and config to inherit tracking
- From
Glen Choo <chooglen@google.com>
- Date
- Dec 21, 2021, 18:17 UTC
- Message-ID
- <kl6l5yrhzutp.fsf@chooglen-macbookpro.roam.corp.google.com>
- In-Reply-To
- <dcba40e2c4001611f837f612cc5ee7890c653aff.1640039978.git.steadmon@google.com>
Josh Steadmon <steadmon@google.com> writes:
Show 67 quoted lines
> diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh > index 4b0ef35913..a049276439 100755 > --- a/t/t3200-branch.sh > +++ b/t/t3200-branch.sh > > +test_expect_success 'tracking info copied with --track=inherit' ' > + git branch --track=inherit foo2 my1 && > + test_cmp_config local branch.foo2.remote && > + test_cmp_config refs/heads/main branch.foo2.merge > +' > + > +test_expect_success 'tracking info copied with autoSetupMerge=inherit' ' > + test_unconfig branch.autoSetupMerge && > + # default config does not copy tracking info > + git branch foo-no-inherit my1 && > + test_cmp_config "" --default "" branch.foo-no-inherit.remote && > + test_cmp_config "" --default "" branch.foo-no-inherit.merge && > + # with autoSetupMerge=inherit, we copy tracking info from my1 > + test_config branch.autoSetupMerge inherit && > + git branch foo3 my1 && > + test_cmp_config local branch.foo3.remote && > + test_cmp_config refs/heads/main branch.foo3.merge && > + # no tracking info to inherit from main > + git branch main2 main && > + test_cmp_config "" --default "" branch.main2.remote && > + test_cmp_config "" --default "" branch.main2.merge > +' > + > +test_expect_success '--track overrides branch.autoSetupMerge' ' > + test_config branch.autoSetupMerge inherit && > + git branch --track=direct foo4 my1 && > + test_cmp_config . branch.foo4.remote && > + test_cmp_config refs/heads/my1 branch.foo4.merge && > + git branch --no-track foo5 my1 && > + test_cmp_config "" --default "" branch.foo5.remote && > + test_cmp_config "" --default "" branch.foo5.merge > +' > + > test_done > diff --git a/t/t7201-co.sh b/t/t7201-co.sh > index 7f6e23a4bb..4fdf88ba46 100755 > --- a/t/t7201-co.sh > +++ b/t/t7201-co.sh > @@ -657,4 +657,21 @@ test_expect_success 'custom merge driver with checkout -m' ' > test_cmp expect arm > ' > > +test_expect_success 'tracking info copied with autoSetupMerge=inherit' ' > + git reset --hard main && > + # default config does not copy tracking info > + git checkout -b foo-no-inherit koala/bear && > + test_cmp_config "" --default "" branch.foo-no-inherit.remote && > + test_cmp_config "" --default "" branch.foo-no-inherit.merge && > + # with autoSetupMerge=inherit, we copy tracking info from koala/bear > + test_config branch.autoSetupMerge inherit && > + git checkout -b foo koala/bear && > + test_cmp_config origin branch.foo.remote && > + test_cmp_config refs/heads/koala/bear branch.foo.merge && > + # no tracking info to inherit from main > + git checkout -b main2 main && > + test_cmp_config "" --default "" branch.main2.remote && > + test_cmp_config "" --default "" branch.main2.merge > +' > + > test_done > -- > 2.34.1.307.g9b7440fafd-goog
As a suggestion, I don't think we have tests for multiple branch.*.merge entries and it would be nice to have some (though I don't think it's absolutely essential).