1#!/bin/sh
2
3test_description='common tail optimization'
4
5. ./test-lib.sh
6
7z=zzzzzzzz ;# 8
8z="$z$z$z$z$z$z$z$z" ;# 64
9z="$z$z$z$z$z$z$z$z" ;# 512
10z="$z$z$z$z" ;# 2048
11z2047=$(expr "$z" : '.\(.*\)') ; #2047
12
13test_expect_success setup '
14
15 echo "a$z2047" >file-a &&
16 echo "b" >file-b &&
17 echo "$z2047" >>file-b &&
18 echo "c$z2047" | tr -d "\012" >file-c &&
19 echo "d" >file-d &&
20 echo "$z2047" | tr -d "\012" >>file-d &&
21
22 git add file-a file-b file-c file-d &&
23
24 echo "A$z2047" >file-a &&
25 echo "B" >file-b &&
26 echo "$z2047" >>file-b &&
27 echo "C$z2047" | tr -d "\012" >file-c &&
28 echo "D" >file-d &&
29 echo "$z2047" | tr -d "\012" >>file-d
30
31'
32
33cat >expect <<\EOF
34diff --git a/file-a b/file-a
35--- a/file-a
36+++ b/file-a
37@@ -1 +1 @@
38-aZ
39+AZ
40diff --git a/file-b b/file-b
41--- a/file-b
42+++ b/file-b
43@@ -1 +1 @@
44-b
45+B
46diff --git a/file-c b/file-c
47--- a/file-c
48+++ b/file-c
49@@ -1 +1 @@
50-cZ
51\ No newline at end of file
52+CZ
53\ No newline at end of file
54diff --git a/file-d b/file-d
55--- a/file-d
56+++ b/file-d
57@@ -1 +1 @@
58-d
59+D
60EOF
61
62test_expect_success 'diff -U0' '
63
64 git diff -U0 | sed -e "/^index/d" -e "s/$z2047/Z/g" >actual &&
65 diff -u expect actual
66
67'
68
69test_done