t4055: avoid use of sed 'a' command
authorJunio C Hamano <gitster@pobox.com>
Tue, 2 Oct 2012 18:50:16 +0000 (11:50 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 2 Oct 2012 19:05:38 +0000 (12:05 -0700)
The 'a', 'i' and 'c' commands take a literal text to be added
followed by backslash, but then in the source we cannot indent
the literal text which makes it ugly.

We need to also remember to double the backslash inside double
quotes.

Avoid these issues altogether by having an extra line in a template
file and generate test vectors by deleting the line or replacing the
line and not using the 'a' command.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4055-diff-context.sh

index 35276868ea7de16fdc0818b90bed22a9640aa891..97172b46b2afd52ca8f278f9525da01a56823e59 100755 (executable)
@@ -8,7 +8,7 @@ test_description='diff.context configuration'
 . ./test-lib.sh
 
 test_expect_success 'setup' '
-       cat >x <<-\EOF &&
+       cat >template <<-\EOF &&
        firstline
        b
        c
@@ -16,6 +16,7 @@ test_expect_success 'setup' '
        e
        f
        preline
+       TARGET
        postline
        i
        j
@@ -24,17 +25,15 @@ test_expect_success 'setup' '
        m
        n
        EOF
+       sed "/TARGET/d" >x <template &&
        git update-index --add x &&
        git commit -m initial &&
 
-       git cat-file blob HEAD:x |
-       sed "/preline/a\
-       ADDED" >x &&
+       sed "s/TARGET/ADDED/" >x <template &&
        git update-index --add x &&
        git commit -m next &&
 
-       git cat-file blob HEAD:x |
-       sed s/ADDED/MODIFIED/ >x
+       sed "s/TARGET/MODIFIED/" >x <template
 '
 
 test_expect_success 'the default number of context lines is 3' '