(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)}) ] )