Git fork
at reftables-rust 129 lines 4.0 kB view raw
1#!/bin/sh 2# 3# Copyright (c) 2005 Junio C Hamano 4# 5 6test_description='More rename detection 7 8' 9 10. ./test-lib.sh 11. "$TEST_DIRECTORY"/lib-diff.sh ;# test-lib chdir's into trash 12 13test_expect_success 'prepare reference tree' ' 14 COPYING_test_data >COPYING && 15 echo frotz >rezrov && 16 git update-index --add COPYING rezrov && 17 tree=$(git write-tree) && 18 echo $tree 19' 20 21test_expect_success 'prepare work tree' ' 22 sed -e 's/HOWEVER/However/' <COPYING >COPYING.1 && 23 sed -e 's/GPL/G.P.L/g' <COPYING >COPYING.2 && 24 rm -f COPYING && 25 git update-index --add --remove COPYING COPYING.? 26' 27 28# tree has COPYING and rezrov. work tree has COPYING.1 and COPYING.2, 29# both are slightly edited, and unchanged rezrov. So we say you 30# copy-and-edit one, and rename-and-edit the other. We do not say 31# anything about rezrov. 32 33GIT_DIFF_OPTS=--unified=0 git diff-index -C -p $tree >current 34cat >expected <<\EOF 35diff --git a/COPYING b/COPYING.1 36copy from COPYING 37copy to COPYING.1 38--- a/COPYING 39+++ b/COPYING.1 40@@ -6 +6 @@ 41- HOWEVER, in order to allow a migration to GPLv3 if that seems like 42+ However, in order to allow a migration to GPLv3 if that seems like 43diff --git a/COPYING b/COPYING.2 44rename from COPYING 45rename to COPYING.2 46--- a/COPYING 47+++ b/COPYING.2 48@@ -2 +2 @@ 49- Note that the only valid version of the GPL as far as this project 50+ Note that the only valid version of the G.P.L as far as this project 51@@ -6 +6 @@ 52- HOWEVER, in order to allow a migration to GPLv3 if that seems like 53+ HOWEVER, in order to allow a migration to G.P.Lv3 if that seems like 54@@ -12 +12 @@ 55- This file is licensed under the GPL v2, or a later version 56+ This file is licensed under the G.P.L v2, or a later version 57EOF 58 59test_expect_success 'validate output from rename/copy detection (#1)' ' 60 compare_diff_patch current expected 61' 62 63test_expect_success 'prepare work tree again' ' 64 mv COPYING.2 COPYING && 65 git update-index --add --remove COPYING COPYING.1 COPYING.2 66' 67 68# tree has COPYING and rezrov. work tree has COPYING and COPYING.1, 69# both are slightly edited, and unchanged rezrov. So we say you 70# edited one, and copy-and-edit the other. We do not say 71# anything about rezrov. 72 73GIT_DIFF_OPTS=--unified=0 git diff-index -C -p $tree >current 74cat >expected <<\EOF 75diff --git a/COPYING b/COPYING 76--- a/COPYING 77+++ b/COPYING 78@@ -2 +2 @@ 79- Note that the only valid version of the GPL as far as this project 80+ Note that the only valid version of the G.P.L as far as this project 81@@ -6 +6 @@ 82- HOWEVER, in order to allow a migration to GPLv3 if that seems like 83+ HOWEVER, in order to allow a migration to G.P.Lv3 if that seems like 84@@ -12 +12 @@ 85- This file is licensed under the GPL v2, or a later version 86+ This file is licensed under the G.P.L v2, or a later version 87diff --git a/COPYING b/COPYING.1 88copy from COPYING 89copy to COPYING.1 90--- a/COPYING 91+++ b/COPYING.1 92@@ -6 +6 @@ 93- HOWEVER, in order to allow a migration to GPLv3 if that seems like 94+ However, in order to allow a migration to GPLv3 if that seems like 95EOF 96 97test_expect_success 'validate output from rename/copy detection (#2)' ' 98 compare_diff_patch current expected 99' 100 101test_expect_success 'prepare work tree once again' ' 102 COPYING_test_data >COPYING && 103 git update-index --add --remove COPYING COPYING.1 104' 105 106# tree has COPYING and rezrov. work tree has COPYING and COPYING.1, 107# but COPYING is not edited. We say you copy-and-edit COPYING.1; this 108# is only possible because -C mode now reports the unmodified file to 109# the diff-core. Unchanged rezrov, although being fed to 110# git diff-index as well, should not be mentioned. 111 112GIT_DIFF_OPTS=--unified=0 \ 113 git diff-index -C --find-copies-harder -p $tree >current 114cat >expected <<\EOF 115diff --git a/COPYING b/COPYING.1 116copy from COPYING 117copy to COPYING.1 118--- a/COPYING 119+++ b/COPYING.1 120@@ -6 +6 @@ 121- HOWEVER, in order to allow a migration to GPLv3 if that seems like 122+ However, in order to allow a migration to GPLv3 if that seems like 123EOF 124 125test_expect_success 'validate output from rename/copy detection (#3)' ' 126 compare_diff_patch current expected 127' 128 129test_done