(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'magic pathspec tests using git-log' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:18))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:22) 
          (Token id:Id.Lit_Chars val:'\ttest_commit initial &&\n' span_id:23) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:24) 
          (Token id:Id.Lit_Chars val:'\tgit commit --allow-empty -m empty &&\n' span_id:25) (Token id:Id.Lit_Chars val:'\tmkdir sub\n' span_id:26)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'"git log :/" should not be ambiguous' span_id:33))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:37) 
          (Token id:Id.Lit_Chars val:'\tgit log :/\n' span_id:38)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: '"git log :/a" should be ambiguous (applied both rev and worktree)'
            span_id: 45
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:49) 
          (Token id:Id.Lit_Chars val:'\t: >a &&\n' span_id:50) (Token id:Id.Lit_Chars val:'\ttest_must_fail git log :/a 2>error &&\n' span_id:51) 
          (Token id:Id.Lit_Chars val:'\ttest_i18ngrep ambiguous error\n' span_id:52)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'"git log :/a -- " should not be ambiguous' span_id:59))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:63) 
          (Token id:Id.Lit_Chars val:'\tgit log :/a --\n' span_id:64)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'"git log -- :/a" should not be ambiguous' span_id:71))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:75) 
          (Token id:Id.Lit_Chars val:'\tgit log -- :/a\n' span_id:76)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'"git log :" should be ambiguous' span_id:83))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:87) 
          (Token id:Id.Lit_Chars val:'\ttest_must_fail git log : 2>error &&\n' span_id:88) (Token id:Id.Lit_Chars val:'\ttest_i18ngrep ambiguous error\n' span_id:89)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'git log -- :' span_id:96))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:100) 
          (Token id:Id.Lit_Chars val:'\tgit log -- :\n' span_id:101)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'git log HEAD -- :/' span_id:108))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:112) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<-EOF &&\n' span_id:113) (Token id:Id.Lit_Chars val:'\t24b24cf initial\n' span_id:114) 
          (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:115) (Token id:Id.Lit_Chars val:'\t(cd sub && git log --oneline HEAD -- :/ >../actual) &&\n' span_id:116) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:117)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'command line pathspec parsing for "git log"' span_id:124))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:128) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard &&\n' span_id:129) (Token id:Id.Lit_Chars val:'\t>a &&\n' span_id:130) 
          (Token id:Id.Lit_Chars val:'\tgit add a &&\n' span_id:131) (Token id:Id.Lit_Chars val:'\tgit commit -m "add an empty a" --allow-empty &&\n' span_id:132) 
          (Token id:Id.Lit_Chars val:'\techo 1 >a &&\n' span_id:133) (Token id:Id.Lit_Chars val:'\tgit commit -a -m "update a to 1" &&\n' span_id:134) 
          (Token id:Id.Lit_Chars val:'\tgit checkout HEAD^ &&\n' span_id:135) (Token id:Id.Lit_Chars val:'\techo 2 >a &&\n' span_id:136) 
          (Token id:Id.Lit_Chars val:'\tgit commit -a -m "update a to 2" &&\n' span_id:137) (Token id:Id.Lit_Chars val:'\ttest_must_fail git merge master &&\n' span_id:138) 
          (Token id:Id.Lit_Chars val:'\tgit add a &&\n' span_id:139) (Token id:Id.Lit_Chars val:'\tgit log --merge -- a\n' span_id:140)
        )
      }
    )
    (C {(test_done)})
  ]
)