Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > Further stress the --sort callback in ref-filter.c. The implementation > uses certain short-circuiting logic, let's make sure it behaves the > same way on e.g. name & version sort. Improves a test added in > aedcb7dc75e (branch.c: use 'ref-filter' APIs, 2015-09-23). > > I don't think all of this output makes sense, but let's test for the > behavior as-is, we can fix bugs in it in a later commit. OK. I wondered if 'type' and '-type' tests and 'version:refname' and '-version:refname' tests, should be separate, so that the latter half of the latter pair can expect to have HEAD at the beginning with test_expect_failure until it gets fixed. But "document the status quo, and then change the behaviour and demonstrate how the new behaviour is superiour with the change in the expectation in the patch" is a reasonable approach, too. Will queue; thanks. > Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> > --- > t/t3203-branch-output.sh | 51 +++++++++++++++++++++++++++++++++++++++- > 1 file changed, 50 insertions(+), 1 deletion(-) > > diff --git a/t/t3203-branch-output.sh b/t/t3203-branch-output.sh > index b945faf4702..f92fb3aab9d 100755 > --- a/t/t3203-branch-output.sh > +++ b/t/t3203-branch-output.sh > @@ -210,7 +210,7 @@ EOF > test_i18ncmp expect actual > ' > > -test_expect_success 'git branch `--sort` option' ' > +test_expect_success 'git branch `--sort=[-]objectsize` option' ' > cat >expect <<-\EOF && > * (HEAD detached from fromtag) > branch-two > @@ -218,6 +218,55 @@ test_expect_success 'git branch `--sort` option' ' > main > EOF > git branch --sort=objectsize >actual && > + test_i18ncmp expect actual && > + > + cat >expect <<-\EOF && > + branch-one > + main > + * (HEAD detached from fromtag) > + branch-two > + EOF > + git branch --sort=-objectsize >actual && > + test_i18ncmp expect actual > +' > + > +test_expect_success 'git branch `--sort=[-]type` option' ' > + cat >expect <<-\EOF && > + * (HEAD detached from fromtag) > + branch-one > + branch-two > + main > + EOF > + git branch --sort=type >actual && > + test_i18ncmp expect actual && > + > + cat >expect <<-\EOF && > + * (HEAD detached from fromtag) > + branch-one > + branch-two > + main > + EOF > + git branch --sort=-type >actual && > + test_i18ncmp expect actual > +' > + > +test_expect_success 'git branch `--sort=[-]version:refname` option' ' > + cat >expect <<-\EOF && > + * (HEAD detached from fromtag) > + branch-one > + branch-two > + main > + EOF > + git branch --sort=version:refname >actual && > + test_i18ncmp expect actual && > + > + cat >expect <<-\EOF && > + main > + branch-two > + branch-one > + * (HEAD detached from fromtag) > + EOF > + git branch --sort=-version:refname >actual && > test_i18ncmp expect actual > '