(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:test_description) op: Equal rhs: {(SQ <'checkout handling of ambiguous (branch/tag) refs'>)} ) ] ) (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)}) ] )