Code

28b941c493ca96b726c6cde27660e987fc31bedc
[git.git] / t / diff-lib.sh
1 :
3 _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
4 _x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
5 sanitize_diff_raw='/^:/s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]*   / X X \1#       /'
6 compare_diff_raw () {
7     # When heuristics are improved, the score numbers would change.
8     # Ignore them while comparing.
9     # Also we do not check SHA1 hash generation in this test, which
10     # is a job for t0000-basic.sh
12     sed -e "$sanitize_diff_raw" <"$1" >.tmp-1
13     sed -e "$sanitize_diff_raw" <"$2" >.tmp-2
14     git diff .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
15 }
17 sanitize_diff_raw_z='/^:/s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]*$/ X X \1#/'
18 compare_diff_raw_z () {
19     # When heuristics are improved, the score numbers would change.
20     # Ignore them while comparing.
21     # Also we do not check SHA1 hash generation in this test, which
22     # is a job for t0000-basic.sh
24     perl -pe 'y/\000/\012/' <"$1" | sed -e "$sanitize_diff_raw_z" >.tmp-1
25     perl -pe 'y/\000/\012/' <"$2" | sed -e "$sanitize_diff_raw_z" >.tmp-2
26     git diff .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
27 }
29 compare_diff_patch () {
30     # When heuristics are improved, the score numbers would change.
31     # Ignore them while comparing.
32     sed -e '
33         /^[dis]*imilarity index [0-9]*%$/d
34         /^index [0-9a-f]*\.\.[0-9a-f]/d
35     ' <"$1" >.tmp-1
36     sed -e '
37         /^[dis]*imilarity index [0-9]*%$/d
38         /^index [0-9a-f]*\.\.[0-9a-f]/d
39     ' <"$2" >.tmp-2
40     git diff .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
41 }