#!/bin/sh # # Copyright (c) 2006 Junio C Hamano # global test_description := ''git apply with new style GNU diff with empty context '' source ./test-lib.sh test_expect_success setup ' { echo; echo; echo A; echo B; echo C; echo; } >file1 && cat file1 >file1.orig && { cat file1 && echo Q | tr -d "\\012" } >file2 && cat file2 >file2.orig && git add file1 file2 && sed -e "/^B/d" file1 && cat file1 > file2 && echo Q | tr -d "\\012" >>file2 && cat file1 >file1.mods && cat file2 >file2.mods && git diff | sed -e "s/^ \$//" >diff.output ' test_expect_success 'apply --numstat' ' git apply --numstat diff.output >actual && { echo "0 1 file1" && echo "0 1 file2" } >expect && test_cmp expect actual ' test_expect_success 'apply --apply' ' cat file1.orig >file1 && cat file2.orig >file2 && git update-index file1 file2 && git apply --index diff.output && test_cmp file1.mods file1 && test_cmp file2.mods file2 ' test_done (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"git apply with new style GNU diff with empty context\n"> <"\n">)} spids: [13] ) ] spids: [13] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(setup)} { (SQ <"\n"> <"\t{\n"> <"\t\techo; echo;\n"> <"\t\techo A; echo B; echo C;\n"> <"\t\techo;\n"> <"\t} >file1 &&\n"> <"\tcat file1 >file1.orig &&\n"> <"\t{\n"> <"\t\tcat file1 &&\n"> <"\t\techo Q | tr -d \"\\\\012\"\n"> <"\t} >file2 &&\n"> <"\tcat file2 >file2.orig &&\n"> <"\tgit add file1 file2 &&\n"> <"\tsed -e \"/^B/d\" file1 &&\n"> <"\tcat file1 > file2 &&\n"> <"\techo Q | tr -d \"\\\\012\" >>file2 &&\n"> <"\tcat file1 >file1.mods &&\n"> <"\tcat file2 >file2.mods &&\n"> <"\tgit diff |\n"> <"\tsed -e \"s/^ \\$//\" >diff.output\n"> ) } ) (C {(test_expect_success)} {(SQ <"apply --numstat">)} { (SQ <"\n"> <"\n"> <"\tgit apply --numstat diff.output >actual &&\n"> <"\t{\n"> <"\t\techo \"0\t1\tfile1\" &&\n"> <"\t\techo \"0\t1\tfile2\"\n"> <"\t} >expect &&\n"> <"\ttest_cmp expect actual\n"> <"\n"> ) } ) (C {(test_expect_success)} {(SQ <"apply --apply">)} { (SQ <"\n"> <"\n"> <"\tcat file1.orig >file1 &&\n"> <"\tcat file2.orig >file2 &&\n"> <"\tgit update-index file1 file2 &&\n"> <"\tgit apply --index diff.output &&\n"> <"\ttest_cmp file1.mods file1 &&\n"> <"\ttest_cmp file2.mods file2\n"> ) } ) (C {(test_done)}) ] )