summaryrefslogtreecommitdiff
path: root/t/t4006-diff-mode.sh
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-05-25 23:00:04 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-25 23:06:24 (GMT)
commit9fdade06739af0b3e27422a973ae4fd83e3c918e (patch)
tree9112544543b2a807d3ca2cce5f6e4e0d6e391f38 /t/t4006-diff-mode.sh
parent96716a197658e069557e7615ce2019107d72225e (diff)
downloadgit-9fdade06739af0b3e27422a973ae4fd83e3c918e.zip
git-9fdade06739af0b3e27422a973ae4fd83e3c918e.tar.gz
git-9fdade06739af0b3e27422a973ae4fd83e3c918e.tar.bz2
[PATCH] Mode only changes from diff.
This fixes another bug. - Mode-only changes were pruned incorrectly from the output. - Added test to catch the above problem. - Normalize rename/copy similarity score in the diff-raw output to per-cent, no matter what scale we internally use. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 't/t4006-diff-mode.sh')
-rw-r--r--t/t4006-diff-mode.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/t/t4006-diff-mode.sh b/t/t4006-diff-mode.sh
new file mode 100644
index 0000000..90fd21f
--- /dev/null
+++ b/t/t4006-diff-mode.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# Copyright (c) 2005 Junio C Hamano
+#
+
+test_description='Test mode change diffs.
+
+'
+. ./test-lib.sh
+
+test_expect_success \
+ 'setup' \
+ 'echo frotz >rezrov &&
+ git-update-cache --add rezrov &&
+ tree=`git-write-tree` &&
+ echo $tree'
+
+test_expect_success \
+ 'chmod' \
+ 'chmod +x rezrov &&
+ git-update-cache rezrov &&
+ git-diff-cache $tree >current'
+
+_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
+_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
+sed -e 's/\(:100644 100755\) \('"$_x40"'\) \2 /\1 X X /' <current >check
+echo ":100644 100755 X X M rezrov" >expected
+
+test_expect_success \
+ 'verify' \
+ 'diff -u expected check'
+
+test_done
+