(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_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] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GIT_AUTHOR_EMAIL) op: assign_op.Equal rhs: {<bogus_email_address>} 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>}) ] )