Ben Peart | e8b2dc2 | 2018-05-11 15:38:58 +0000 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| 3 | test_description='git status rename detection options' |
| 4 | |
| 5 | . ./test-lib.sh |
| 6 | |
| 7 | test_expect_success 'setup' ' |
| 8 | echo 1 >original && |
| 9 | git add . && |
| 10 | git commit -m"Adding original file." && |
| 11 | mv original renamed && |
| 12 | echo 2 >> renamed && |
| 13 | git add . && |
| 14 | cat >.gitignore <<-\EOF |
| 15 | .gitignore |
| 16 | expect* |
| 17 | actual* |
| 18 | EOF |
| 19 | ' |
| 20 | |
| 21 | test_expect_success 'status no-options' ' |
| 22 | git status >actual && |
| 23 | test_i18ngrep "renamed:" actual |
| 24 | ' |
| 25 | |
| 26 | test_expect_success 'status --no-renames' ' |
| 27 | git status --no-renames >actual && |
| 28 | test_i18ngrep "deleted:" actual && |
| 29 | test_i18ngrep "new file:" actual |
| 30 | ' |
| 31 | |
| 32 | test_expect_success 'status.renames inherits from diff.renames false' ' |
| 33 | git -c diff.renames=false status >actual && |
| 34 | test_i18ngrep "deleted:" actual && |
| 35 | test_i18ngrep "new file:" actual |
| 36 | ' |
| 37 | |
| 38 | test_expect_success 'status.renames inherits from diff.renames true' ' |
| 39 | git -c diff.renames=true status >actual && |
| 40 | test_i18ngrep "renamed:" actual |
| 41 | ' |
| 42 | |
| 43 | test_expect_success 'status.renames overrides diff.renames false' ' |
| 44 | git -c diff.renames=true -c status.renames=false status >actual && |
| 45 | test_i18ngrep "deleted:" actual && |
| 46 | test_i18ngrep "new file:" actual |
| 47 | ' |
| 48 | |
| 49 | test_expect_success 'status.renames overrides from diff.renames true' ' |
| 50 | git -c diff.renames=false -c status.renames=true status >actual && |
| 51 | test_i18ngrep "renamed:" actual |
| 52 | ' |
| 53 | |
| 54 | test_expect_success 'status status.renames=false' ' |
| 55 | git -c status.renames=false status >actual && |
| 56 | test_i18ngrep "deleted:" actual && |
| 57 | test_i18ngrep "new file:" actual |
| 58 | ' |
| 59 | |
| 60 | test_expect_success 'status status.renames=true' ' |
| 61 | git -c status.renames=true status >actual && |
| 62 | test_i18ngrep "renamed:" actual |
| 63 | ' |
| 64 | |
| 65 | test_expect_success 'commit honors status.renames=false' ' |
| 66 | git -c status.renames=false commit --dry-run >actual && |
| 67 | test_i18ngrep "deleted:" actual && |
| 68 | test_i18ngrep "new file:" actual |
| 69 | ' |
| 70 | |
| 71 | test_expect_success 'commit honors status.renames=true' ' |
| 72 | git -c status.renames=true commit --dry-run >actual && |
| 73 | test_i18ngrep "renamed:" actual |
| 74 | ' |
| 75 | |
| 76 | test_expect_success 'status config overridden' ' |
| 77 | git -c status.renames=true status --no-renames >actual && |
| 78 | test_i18ngrep "deleted:" actual && |
| 79 | test_i18ngrep "new file:" actual |
| 80 | ' |
| 81 | |
| 82 | test_expect_success 'status score=100%' ' |
| 83 | git status -M=100% >actual && |
| 84 | test_i18ngrep "deleted:" actual && |
| 85 | test_i18ngrep "new file:" actual && |
| 86 | |
Johannes Schindelin | c4932b0 | 2019-03-25 11:14:22 -0700 | [diff] [blame] | 87 | git status --find-renames=100% >actual && |
Ben Peart | e8b2dc2 | 2018-05-11 15:38:58 +0000 | [diff] [blame] | 88 | test_i18ngrep "deleted:" actual && |
| 89 | test_i18ngrep "new file:" actual |
| 90 | ' |
| 91 | |
| 92 | test_expect_success 'status score=01%' ' |
| 93 | git status -M=01% >actual && |
| 94 | test_i18ngrep "renamed:" actual && |
| 95 | |
Johannes Schindelin | c4932b0 | 2019-03-25 11:14:22 -0700 | [diff] [blame] | 96 | git status --find-renames=01% >actual && |
Ben Peart | e8b2dc2 | 2018-05-11 15:38:58 +0000 | [diff] [blame] | 97 | test_i18ngrep "renamed:" actual |
| 98 | ' |
| 99 | |
Johannes Schindelin | c4932b0 | 2019-03-25 11:14:22 -0700 | [diff] [blame] | 100 | test_expect_success 'copies not overridden by find-renames' ' |
Ben Peart | e8b2dc2 | 2018-05-11 15:38:58 +0000 | [diff] [blame] | 101 | cp renamed copy && |
| 102 | git add copy && |
| 103 | |
| 104 | git -c status.renames=copies status -M=01% >actual && |
| 105 | test_i18ngrep "copied:" actual && |
| 106 | test_i18ngrep "renamed:" actual && |
| 107 | |
Johannes Schindelin | c4932b0 | 2019-03-25 11:14:22 -0700 | [diff] [blame] | 108 | git -c status.renames=copies status --find-renames=01% >actual && |
Ben Peart | e8b2dc2 | 2018-05-11 15:38:58 +0000 | [diff] [blame] | 109 | test_i18ngrep "copied:" actual && |
| 110 | test_i18ngrep "renamed:" actual |
| 111 | ' |
| 112 | |
| 113 | test_done |