3 # Copyright (c) 2005 Junio C Hamano
6 test_description
='git-apply boundary tests
11 L
="c d e f g h i j k l m n o p q r s t u v w x"
13 test_expect_success setup
'
18 cat victim >original &&
19 git update-index --add victim &&
26 cat victim >add-a-expect &&
27 git diff victim >add-a-patch.with &&
28 git diff --unified=0 >add-a-patch.without &&
35 cat victim >mod-a-expect &&
36 git diff victim >mod-a-patch.with &&
37 git diff --unified=0 >mod-a-patch.without &&
39 : remove from the head
44 cat victim >del-a-expect &&
45 git diff victim >del-a-patch.with
46 git diff --unified=0 >del-a-patch.without &&
53 cat victim >add-z-expect &&
54 git diff victim >add-z-patch.with &&
55 git diff --unified=0 >add-z-patch.without &&
62 cat victim >mod-z-expect &&
63 git diff victim >mod-z-patch.with &&
64 git diff --unified=0 >mod-z-patch.without &&
66 : remove from the tail
71 cat victim >del-z-expect &&
72 git diff victim >del-z-patch.with
73 git diff --unified=0 >del-z-patch.without &&
78 for with
in with without
82 without
) u
='--unidiff-zero ' ;;
84 for kind
in add-a add-z mod-a mod-z del-a del-z
86 test_expect_success
"apply $kind-patch $with context" '
87 cat original >victim &&
88 git update-index victim &&
89 git apply --index '"$u$kind-patch.$with"' || {
90 cat '"$kind-patch.$with"'
93 diff -u '"$kind"'-expect victim
98 for kind
in add-a add-z mod-a mod-z del-a del-z
100 rm -f $kind-ng.without
101 sed -e "s/^diff --git /diff /" \
103 <$kind-patch.without
>$kind-ng.without
104 test_expect_success
"apply non-git $kind-patch without context" '
105 cat original >victim &&
106 git update-index victim &&
107 git apply --unidiff-zero --index '"$kind-ng.without"' || {
108 cat '"$kind-ng.without"'
111 diff -u '"$kind"'-expect victim