(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'checkout handling of ambiguous (branch/tag) refs'>)} spids: [4] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (C {<test_expect_success>} {(SQ <'setup ambiguous refs'>)} { (SQ <'\n'> <'\ttest_commit branch file &&\n'> <'\tgit branch ambiguity &&\n'> <'\tgit branch vagueness &&\n'> <'\ttest_commit tag file &&\n'> <'\tgit tag ambiguity &&\n'> <'\tgit tag vagueness HEAD:file &&\n'> <'\ttest_commit other file\n'> ) } ) (C {<test_expect_success>} {(SQ <'checkout ambiguous ref succeeds'>)} {(SQ <'\n'> <'\tgit checkout ambiguity >stdout 2>stderr\n'>)} ) (C {<test_expect_success>} {(SQ <'checkout produces ambiguity warning'>)} {(SQ <'\n'> <'\tgrep "warning.*ambiguous" stderr\n'>)} ) (C {<test_expect_success>} {(SQ <'checkout chooses branch over tag'>)} { (SQ <'\n'> <'\techo refs/heads/ambiguity >expect &&\n'> <'\tgit symbolic-ref HEAD >actual &&\n'> <'\ttest_cmp expect actual &&\n'> <'\techo branch >expect &&\n'> <'\ttest_cmp expect file\n'> ) } ) (C {<test_expect_success>} {(SQ <'checkout reports switch to branch'>)} { (SQ <'\n'> <'\ttest_i18ngrep "Switched to branch" stderr &&\n'> <'\ttest_i18ngrep ! "^HEAD is now at" stderr\n'> ) } ) (C {<test_expect_success>} {(SQ <'checkout vague ref succeeds'>)} { (SQ <'\n'> <'\tgit checkout vagueness >stdout 2>stderr &&\n'> <'\ttest_set_prereq VAGUENESS_SUCCESS\n'> ) } ) (C {<test_expect_success>} {<VAGUENESS_SUCCESS>} {(SQ <'checkout produces ambiguity warning'>)} {(SQ <'\n'> <'\tgrep "warning.*ambiguous" stderr\n'>)} ) (C {<test_expect_success>} {<VAGUENESS_SUCCESS>} {(SQ <'checkout chooses branch over tag'>)} { (SQ <'\n'> <'\techo refs/heads/vagueness >expect &&\n'> <'\tgit symbolic-ref HEAD >actual &&\n'> <'\ttest_cmp expect actual &&\n'> <'\techo branch >expect &&\n'> <'\ttest_cmp expect file\n'> ) } ) (C {<test_expect_success>} {<VAGUENESS_SUCCESS>} {(SQ <'checkout reports switch to branch'>)} { (SQ <'\n'> <'\ttest_i18ngrep "Switched to branch" stderr &&\n'> <'\ttest_i18ngrep ! "^HEAD is now at" stderr\n'> ) } ) (C {<test_done>}) ] )