git/t/t4001-diff-rename.sh
Junio C Hamano 57fe64a40d [PATCH] diff overhaul
This cleans up the way calls are made into the diff core from diff-tree
family and diff-helper.  Earlier, these programs had "if
(generating_patch)" sprinkled all over the place, but those ugliness are
gone and handled uniformly from the diff core, even when not generating
patch format.

This also allowed diff-cache and diff-files to acquire -R
(reverse) option to generate diff in reverse.  Users of
diff-tree can swap two trees easily so I did not add -R there.

[ Linus' note: I'll add -R to "diff-tree" too, since a "commit
  diff" doesn't have another tree to switch around: the other
  tree is always the parent(s) of the commit ]

Also -M<digits-as-mantissa> suggestion made by Linus has been
implemented.

Documentation updates are also included.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19 22:33:07 -07:00

67 lines
1.0 KiB
Bash

#!/bin/sh
#
# Copyright (c) 2005 Junio C Hamano
#
test_description='Test rename detection in diff engine.
'
. ./test-lib.sh
echo >path0 'Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
line 11
Line 12
Line 13
Line 14
Line 15
'
test_expect_success \
'update-cache --add a file.' \
'git-update-cache --add path0'
test_expect_success \
'write that tree.' \
'tree=$(git-write-tree)'
sed -e 's/line/Line/' <path0 >path1
rm -f path0
test_expect_success \
'renamed and edited the file.' \
'git-update-cache --add --remove path0 path1'
test_expect_success \
'git-diff-cache -p -M after rename and editing.' \
'git-diff-cache -p -M $tree >current'
cat >expected <<\EOF
diff --git a/path0 b/path1
rename old path0
rename new path1
--- a/path0
+++ b/path1
@@ -8,7 +8,7 @@ Line 7
Line 8
Line 9
Line 10
-line 11
+Line 11
Line 12
Line 13
Line 14
EOF
test_expect_success \
'validate the output.' \
'diff -I "rename similarity.*" >/dev/null current expected'
test_done