(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (FunctionDef pristine_detach [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS cherry-pick]} {[LIT_CHARS --quit]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[LIT_CHARS -f]} {[DQ [VarSub 1][LIT_CHARS "^0"]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS -u]} {[LIT_CHARS --reset]} {[LIT_CHARS HEAD]}) (Com {[LIT_CHARS git]} {[LIT_CHARS clean]} {[LIT_CHARS -d]} {[LIT_CHARS -f]} {[LIT_CHARS -f]} {[LIT_CHARS -q]} {[LIT_CHARS -x]}) ) ) ) ) (= scope= flags=0 words=[] bindings=[('mesg_one_line', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('mesg_no_footer', {[DQ [VarSub mesg_one_line][LIT_CHARS "\n"][LIT_CHARS "\n"][LIT_CHARS OneWordBodyThatsNotA-S-o-B]]})]) (= scope= flags=0 words=[] bindings=[('mesg_with_footer', {[DQ [VarSub mesg_no_footer][LIT_CHARS "\n"][LIT_CHARS "\n"][LIT_CHARS "Signed-off-by: "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS ">\n"][LIT_CHARS "Signed-off-by: A.U. Thor \n"][LIT_CHARS "Signed-off-by: B.U. Thor "]]})]) (= scope= flags=0 words=[] bindings=[('mesg_broken_footer', {[DQ [VarSub mesg_no_footer][LIT_CHARS "\n"][LIT_CHARS "\n"][LIT_CHARS "The signed-off-by string should begin with the words Signed-off-by followed\n"][LIT_CHARS "by a colon and space, and then the signers name and email address. e.g.\n"][LIT_CHARS "Signed-off-by: "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS ">"]]})]) (= scope= flags=0 words=[] bindings=[('mesg_with_footer_sob', {[DQ [VarSub mesg_with_footer][LIT_CHARS "\n"][LIT_CHARS "Signed-off-by: "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS ">"]]})]) (= scope= flags=0 words=[] bindings=[('mesg_with_cherry_footer', {[DQ [VarSub mesg_with_footer_sob][LIT_CHARS "\n"][LIT_CHARS "(cherry picked from commit da39a3ee5e6b4b0d3255bfef95601890afd80709)\n"][LIT_CHARS "Tested-by: C.U. Thor "]]})]) (= scope= flags=0 words=[] bindings=[('mesg_unclean', {[DQ [VarSub mesg_one_line][LIT_CHARS "\n"][LIT_CHARS "\n"][LIT_CHARS "\n"][LIT_CHARS "leading empty lines\n"][LIT_CHARS "\n"][LIT_CHARS "\n"][LIT_CHARS "consecutive empty lines\n"][LIT_CHARS "\n"][LIT_CHARS "# hash tag comment\n"][LIT_CHARS "\n"][LIT_CHARS "trailing empty lines\n"][LIT_CHARS "\n"][LIT_CHARS "\n"]]})]) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS setup]} {[SQ unrelated &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> \n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> \n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> \n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> \n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> \n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> \n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> \n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> \n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> \n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_done]}) )