(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: 
            {
              (SQ <"git cherry should detect patches integrated upstream\n"> <"\n"> 
                <"This test cherry-picks one local change of two into master branch, and\n"> <"checks that git cherry only returns the second patch in the local branch\n">
              )
            }
          spids: [13]
        )
      ]
      spids: [13]
    )
    (C {(.)} {(./test-lib.sh)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GIT_AUTHOR_EMAIL)
          op: Equal
          rhs: {(bogus_email_address)}
          spids: [26]
        )
      ]
      spids: [26]
    )
    (C {(export)} {(GIT_AUTHOR_EMAIL)})
    (C {(test_expect_success)} 
      {
        (SQ <"prepare repository with topic branch, and check cherry finds the 2 patches from there">)
      } 
      {
        (SQ <"echo First > A &&\n"> <"     git update-index --add A &&\n"> <"     test_tick &&\n"> 
          <"     git commit -m \"Add A.\" &&\n"> <"\n"> <"     git checkout -b my-topic-branch &&\n"> <"\n"> <"     echo Second > B &&\n"> 
          <"     git update-index --add B &&\n"> <"     test_tick &&\n"> <"     git commit -m \"Add B.\" &&\n"> <"\n"> 
          <"     echo AnotherSecond > C &&\n"> <"     git update-index --add C &&\n"> <"     test_tick &&\n"> <"     git commit -m \"Add C.\" &&\n"> 
          <"\n"> <"     git checkout -f master &&\n"> <"     rm -f B C &&\n"> <"\n"> <"     echo Third >> A &&\n"> 
          <"     git update-index A &&\n"> <"     test_tick &&\n"> <"     git commit -m \"Modify A.\" &&\n"> <"\n"> 
          <"     expr \"$(echo $(git cherry master my-topic-branch) )\" : \"+ [^ ]* + .*\"\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"check that cherry with limit returns only the top patch">)} 
      {
        (SQ 
          <
"expr \"$(echo $(git cherry master my-topic-branch my-topic-branch^1) )\" : \"+ [^ ]*\"\n"
          >
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ <"cherry-pick one of the 2 patches, and check cherry recognized one and only one as new">)
      } 
      {
        (SQ <"git cherry-pick my-topic-branch^0 &&\n"> 
          <"     echo $(git cherry master my-topic-branch) &&\n"> <"     expr \"$(echo $(git cherry master my-topic-branch) )\" : \"+ [^ ]* - .*\"\n">
        )
      }
    )
    (C {(test_done)})
  ]
)