Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # |
| 3 | # Copyright (c) 2006 Junio C Hamano |
| 4 | # |
| 5 | |
| 6 | test_description='Various diff formatting options' |
| 7 | |
| 8 | . ./test-lib.sh |
| 9 | |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 10 | test_expect_success setup ' |
| 11 | |
| 12 | GIT_AUTHOR_DATE="2006-06-26 00:00:00 +0000" && |
| 13 | GIT_COMMITTER_DATE="2006-06-26 00:00:00 +0000" && |
| 14 | export GIT_AUTHOR_DATE GIT_COMMITTER_DATE && |
| 15 | |
| 16 | mkdir dir && |
Johannes Schindelin | 3cb5673 | 2007-07-03 16:01:06 +0100 | [diff] [blame] | 17 | mkdir dir2 && |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 18 | for i in 1 2 3; do echo $i; done >file0 && |
| 19 | for i in A B; do echo $i; done >dir/sub && |
| 20 | cat file0 >file2 && |
| 21 | git add file0 file2 dir/sub && |
| 22 | git commit -m Initial && |
| 23 | |
| 24 | git branch initial && |
| 25 | git branch side && |
| 26 | |
| 27 | GIT_AUTHOR_DATE="2006-06-26 00:01:00 +0000" && |
| 28 | GIT_COMMITTER_DATE="2006-06-26 00:01:00 +0000" && |
| 29 | export GIT_AUTHOR_DATE GIT_COMMITTER_DATE && |
| 30 | |
| 31 | for i in 4 5 6; do echo $i; done >>file0 && |
| 32 | for i in C D; do echo $i; done >>dir/sub && |
| 33 | rm -f file2 && |
| 34 | git update-index --remove file0 file2 dir/sub && |
Junio C Hamano | a40d384 | 2006-07-13 19:51:12 -0700 | [diff] [blame] | 35 | git commit -m "Second${LF}${LF}This is the second commit." && |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 36 | |
| 37 | GIT_AUTHOR_DATE="2006-06-26 00:02:00 +0000" && |
| 38 | GIT_COMMITTER_DATE="2006-06-26 00:02:00 +0000" && |
| 39 | export GIT_AUTHOR_DATE GIT_COMMITTER_DATE && |
| 40 | |
| 41 | for i in A B C; do echo $i; done >file1 && |
| 42 | git add file1 && |
| 43 | for i in E F; do echo $i; done >>dir/sub && |
| 44 | git update-index dir/sub && |
| 45 | git commit -m Third && |
| 46 | |
| 47 | GIT_AUTHOR_DATE="2006-06-26 00:03:00 +0000" && |
| 48 | GIT_COMMITTER_DATE="2006-06-26 00:03:00 +0000" && |
| 49 | export GIT_AUTHOR_DATE GIT_COMMITTER_DATE && |
| 50 | |
| 51 | git checkout side && |
| 52 | for i in A B C; do echo $i; done >>file0 && |
| 53 | for i in 1 2; do echo $i; done >>dir/sub && |
| 54 | cat dir/sub >file3 && |
| 55 | git add file3 && |
| 56 | git update-index file0 dir/sub && |
| 57 | git commit -m Side && |
| 58 | |
| 59 | GIT_AUTHOR_DATE="2006-06-26 00:04:00 +0000" && |
| 60 | GIT_COMMITTER_DATE="2006-06-26 00:04:00 +0000" && |
| 61 | export GIT_AUTHOR_DATE GIT_COMMITTER_DATE && |
| 62 | |
| 63 | git checkout master && |
| 64 | git pull -s ours . side && |
| 65 | |
| 66 | GIT_AUTHOR_DATE="2006-06-26 00:05:00 +0000" && |
| 67 | GIT_COMMITTER_DATE="2006-06-26 00:05:00 +0000" && |
| 68 | export GIT_AUTHOR_DATE GIT_COMMITTER_DATE && |
| 69 | |
| 70 | for i in A B C; do echo $i; done >>file0 && |
| 71 | for i in 1 2; do echo $i; done >>dir/sub && |
| 72 | git update-index file0 dir/sub && |
| 73 | |
Michael Spang | d61027b | 2009-02-18 01:48:06 -0500 | [diff] [blame] | 74 | mkdir dir3 && |
| 75 | cp dir/sub dir3/sub && |
Nguyễn Thái Ngọc Duy | 0e49649 | 2018-03-24 08:44:31 +0100 | [diff] [blame] | 76 | test-tool chmtime +1 dir3/sub && |
Michael Spang | d61027b | 2009-02-18 01:48:06 -0500 | [diff] [blame] | 77 | |
Tom Prince | e0d10e1 | 2007-01-28 16:16:53 -0800 | [diff] [blame] | 78 | git config log.showroot false && |
Eric Wong | 8ff99e7 | 2006-07-11 12:01:54 -0700 | [diff] [blame] | 79 | git commit --amend && |
Johan Herland | 204f01a | 2011-04-11 00:48:50 +0200 | [diff] [blame] | 80 | |
| 81 | GIT_AUTHOR_DATE="2006-06-26 00:06:00 +0000" && |
| 82 | GIT_COMMITTER_DATE="2006-06-26 00:06:00 +0000" && |
| 83 | export GIT_AUTHOR_DATE GIT_COMMITTER_DATE && |
| 84 | git checkout -b rearrange initial && |
| 85 | for i in B A; do echo $i; done >dir/sub && |
| 86 | git add dir/sub && |
| 87 | git commit -m "Rearranged lines in dir/sub" && |
| 88 | git checkout master && |
| 89 | |
Stefan Beller | 58aaced | 2017-09-27 15:51:26 -0700 | [diff] [blame] | 90 | GIT_AUTHOR_DATE="2006-06-26 00:06:00 +0000" && |
| 91 | GIT_COMMITTER_DATE="2006-06-26 00:06:00 +0000" && |
| 92 | export GIT_AUTHOR_DATE GIT_COMMITTER_DATE && |
| 93 | git checkout -b mode initial && |
| 94 | git update-index --chmod=+x file0 && |
| 95 | git commit -m "update mode" && |
| 96 | git checkout -f master && |
| 97 | |
Taylor Blau | 5778b22 | 2020-04-20 18:13:15 -0600 | [diff] [blame] | 98 | GIT_AUTHOR_DATE="2006-06-26 00:06:00 +0000" && |
| 99 | GIT_COMMITTER_DATE="2006-06-26 00:06:00 +0000" && |
| 100 | export GIT_AUTHOR_DATE GIT_COMMITTER_DATE && |
| 101 | git checkout -b note initial && |
| 102 | git update-index --chmod=+x file2 && |
| 103 | git commit -m "update mode (file2)" && |
| 104 | git notes add -m "note" && |
| 105 | git checkout -f master && |
| 106 | |
Jeff King | 04b19fc | 2019-01-24 07:35:40 -0500 | [diff] [blame] | 107 | # Same merge as master, but with parents reversed. Hide it in a |
| 108 | # pseudo-ref to avoid impacting tests with --all. |
| 109 | commit=$(echo reverse | |
| 110 | git commit-tree -p master^2 -p master^1 master^{tree}) && |
| 111 | git update-ref REVERSE $commit && |
| 112 | |
Matthieu Moy | 5404c11 | 2016-02-25 09:59:21 +0100 | [diff] [blame] | 113 | git config diff.renames false && |
| 114 | |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 115 | git show-branch |
| 116 | ' |
| 117 | |
| 118 | : <<\EOF |
| 119 | ! [initial] Initial |
| 120 | * [master] Merge branch 'side' |
Johan Herland | 204f01a | 2011-04-11 00:48:50 +0200 | [diff] [blame] | 121 | ! [rearrange] Rearranged lines in dir/sub |
| 122 | ! [side] Side |
| 123 | ---- |
| 124 | + [rearrange] Rearranged lines in dir/sub |
| 125 | - [master] Merge branch 'side' |
| 126 | * + [side] Side |
| 127 | * [master^] Third |
| 128 | * [master~2] Second |
| 129 | +*++ [initial] Initial |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 130 | EOF |
| 131 | |
brian m. carlson | 72f936b | 2020-02-07 00:52:40 +0000 | [diff] [blame] | 132 | process_diffs () { |
| 133 | _x04="[0-9a-f][0-9a-f][0-9a-f][0-9a-f]" && |
| 134 | _x07="$_x05[0-9a-f][0-9a-f]" && |
| 135 | sed -e "s/$OID_REGEX/$ZERO_OID/g" \ |
| 136 | -e "s/From $_x40 /From $ZERO_OID /" \ |
| 137 | -e "s/from $_x40)/from $ZERO_OID)/" \ |
| 138 | -e "s/commit $_x40\$/commit $ZERO_OID/" \ |
| 139 | -e "s/commit $_x40 (/commit $ZERO_OID (/" \ |
| 140 | -e "s/$_x40 $_x40 $_x40/$ZERO_OID $ZERO_OID $ZERO_OID/" \ |
| 141 | -e "s/$_x40 $_x40 /$ZERO_OID $ZERO_OID /" \ |
| 142 | -e "s/^$_x40 $_x40$/$ZERO_OID $ZERO_OID/" \ |
| 143 | -e "s/^$_x40 /$ZERO_OID /" \ |
| 144 | -e "s/^$_x40$/$ZERO_OID/" \ |
| 145 | -e "s/$_x07\.\.$_x07/fffffff..fffffff/g" \ |
| 146 | -e "s/$_x07,$_x07\.\.$_x07/fffffff,fffffff..fffffff/g" \ |
| 147 | -e "s/$_x07 $_x07 $_x07/fffffff fffffff fffffff/g" \ |
| 148 | -e "s/$_x07 $_x07 /fffffff fffffff /g" \ |
| 149 | -e "s/Merge: $_x07 $_x07/Merge: fffffff fffffff/g" \ |
| 150 | -e "s/$_x07\.\.\./fffffff.../g" \ |
| 151 | -e "s/ $_x04\.\.\./ ffff.../g" \ |
| 152 | -e "s/ $_x04/ ffff/g" \ |
| 153 | "$1" |
| 154 | } |
| 155 | |
Elia Pinto | 4ff0334 | 2014-04-30 09:22:59 -0700 | [diff] [blame] | 156 | V=$(git version | sed -e 's/^git version //' -e 's/\./\\./g') |
Ann T Ropea | b4c02c3 | 2017-12-03 22:27:41 +0100 | [diff] [blame] | 157 | while read magic cmd |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 158 | do |
Ann T Ropea | b4c02c3 | 2017-12-03 22:27:41 +0100 | [diff] [blame] | 159 | case "$magic" in |
| 160 | '' | '#'*) |
| 161 | continue ;; |
| 162 | :*) |
| 163 | magic=${magic#:} |
| 164 | label="$magic-$cmd" |
| 165 | case "$magic" in |
| 166 | noellipses) ;; |
| 167 | *) |
SZEDER Gábor | 165293a | 2018-11-19 14:13:26 +0100 | [diff] [blame] | 168 | BUG "unknown magic $magic" ;; |
Ann T Ropea | b4c02c3 | 2017-12-03 22:27:41 +0100 | [diff] [blame] | 169 | esac ;; |
| 170 | *) |
| 171 | cmd="$magic $cmd" magic= |
| 172 | label="$cmd" ;; |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 173 | esac |
Ann T Ropea | b4c02c3 | 2017-12-03 22:27:41 +0100 | [diff] [blame] | 174 | test=$(echo "$label" | sed -e 's|[/ ][/ ]*|_|g') |
Elia Pinto | 4ff0334 | 2014-04-30 09:22:59 -0700 | [diff] [blame] | 175 | pfx=$(printf "%04d" $test_count) |
Junio C Hamano | bfdbee9 | 2008-08-08 02:26:28 -0700 | [diff] [blame] | 176 | expect="$TEST_DIRECTORY/t4013/diff.$test" |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 177 | actual="$pfx-diff.$test" |
| 178 | |
Ævar Arnfjörð Bjarmason | de231e5 | 2018-08-28 19:38:26 +0000 | [diff] [blame] | 179 | test_expect_success "git $cmd # magic is ${magic:-(not used)}" ' |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 180 | { |
Ann T Ropea | b4c02c3 | 2017-12-03 22:27:41 +0100 | [diff] [blame] | 181 | echo "$ git $cmd" |
| 182 | case "$magic" in |
| 183 | "") |
| 184 | GIT_PRINT_SHA1_ELLIPSIS=yes git $cmd ;; |
| 185 | noellipses) |
| 186 | git $cmd ;; |
| 187 | esac | |
Junio C Hamano | 6c7f4ce | 2006-08-12 18:04:07 -0700 | [diff] [blame] | 188 | sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \ |
Junio C Hamano | 33ee4cf | 2007-03-04 16:08:04 -0800 | [diff] [blame] | 189 | -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/" |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 190 | echo "\$" |
| 191 | } >"$actual" && |
| 192 | if test -f "$expect" |
| 193 | then |
brian m. carlson | 72f936b | 2020-02-07 00:52:40 +0000 | [diff] [blame] | 194 | process_diffs "$actual" >actual && |
| 195 | process_diffs "$expect" >expect && |
Jonathan Nieder | 6dd8883 | 2012-03-13 00:05:54 -0500 | [diff] [blame] | 196 | case $cmd in |
| 197 | *format-patch* | *-stat*) |
brian m. carlson | 72f936b | 2020-02-07 00:52:40 +0000 | [diff] [blame] | 198 | test_i18ncmp expect actual;; |
Jonathan Nieder | 6dd8883 | 2012-03-13 00:05:54 -0500 | [diff] [blame] | 199 | *) |
brian m. carlson | 72f936b | 2020-02-07 00:52:40 +0000 | [diff] [blame] | 200 | test_cmp expect actual;; |
Jonathan Nieder | 6dd8883 | 2012-03-13 00:05:54 -0500 | [diff] [blame] | 201 | esac && |
brian m. carlson | 72f936b | 2020-02-07 00:52:40 +0000 | [diff] [blame] | 202 | rm -f "$actual" actual expect |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 203 | else |
| 204 | # this is to help developing new tests. |
| 205 | cp "$actual" "$expect" |
| 206 | false |
| 207 | fi |
| 208 | ' |
| 209 | done <<\EOF |
| 210 | diff-tree initial |
| 211 | diff-tree -r initial |
| 212 | diff-tree -r --abbrev initial |
| 213 | diff-tree -r --abbrev=4 initial |
| 214 | diff-tree --root initial |
| 215 | diff-tree --root --abbrev initial |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 216 | :noellipses diff-tree --root --abbrev initial |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 217 | diff-tree --root -r initial |
| 218 | diff-tree --root -r --abbrev initial |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 219 | :noellipses diff-tree --root -r --abbrev initial |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 220 | diff-tree --root -r --abbrev=4 initial |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 221 | :noellipses diff-tree --root -r --abbrev=4 initial |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 222 | diff-tree -p initial |
| 223 | diff-tree --root -p initial |
| 224 | diff-tree --patch-with-stat initial |
| 225 | diff-tree --root --patch-with-stat initial |
| 226 | diff-tree --patch-with-raw initial |
| 227 | diff-tree --root --patch-with-raw initial |
| 228 | |
| 229 | diff-tree --pretty initial |
| 230 | diff-tree --pretty --root initial |
| 231 | diff-tree --pretty -p initial |
| 232 | diff-tree --pretty --stat initial |
| 233 | diff-tree --pretty --summary initial |
| 234 | diff-tree --pretty --stat --summary initial |
| 235 | diff-tree --pretty --root -p initial |
| 236 | diff-tree --pretty --root --stat initial |
Junio C Hamano | 026625e | 2006-06-29 12:00:12 -0700 | [diff] [blame] | 237 | # improved by Timo's patch |
| 238 | diff-tree --pretty --root --summary initial |
| 239 | # improved by Timo's patch |
| 240 | diff-tree --pretty --root --summary -r initial |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 241 | diff-tree --pretty --root --stat --summary initial |
| 242 | diff-tree --pretty --patch-with-stat initial |
| 243 | diff-tree --pretty --root --patch-with-stat initial |
| 244 | diff-tree --pretty --patch-with-raw initial |
| 245 | diff-tree --pretty --root --patch-with-raw initial |
| 246 | |
| 247 | diff-tree --pretty=oneline initial |
| 248 | diff-tree --pretty=oneline --root initial |
| 249 | diff-tree --pretty=oneline -p initial |
| 250 | diff-tree --pretty=oneline --root -p initial |
| 251 | diff-tree --pretty=oneline --patch-with-stat initial |
Junio C Hamano | 026625e | 2006-06-29 12:00:12 -0700 | [diff] [blame] | 252 | # improved by Timo's patch |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 253 | diff-tree --pretty=oneline --root --patch-with-stat initial |
| 254 | diff-tree --pretty=oneline --patch-with-raw initial |
| 255 | diff-tree --pretty=oneline --root --patch-with-raw initial |
| 256 | |
| 257 | diff-tree --pretty side |
| 258 | diff-tree --pretty -p side |
| 259 | diff-tree --pretty --patch-with-stat side |
| 260 | |
Stefan Beller | 58aaced | 2017-09-27 15:51:26 -0700 | [diff] [blame] | 261 | diff-tree initial mode |
| 262 | diff-tree --stat initial mode |
| 263 | diff-tree --summary initial mode |
| 264 | |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 265 | diff-tree master |
| 266 | diff-tree -p master |
| 267 | diff-tree -p -m master |
| 268 | diff-tree -c master |
| 269 | diff-tree -c --abbrev master |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 270 | :noellipses diff-tree -c --abbrev master |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 271 | diff-tree --cc master |
Junio C Hamano | 47979d5 | 2006-06-26 23:29:11 -0700 | [diff] [blame] | 272 | # stat only should show the diffstat with the first parent |
| 273 | diff-tree -c --stat master |
| 274 | diff-tree --cc --stat master |
| 275 | diff-tree -c --stat --summary master |
| 276 | diff-tree --cc --stat --summary master |
| 277 | # stat summary should show the diffstat and summary with the first parent |
| 278 | diff-tree -c --stat --summary side |
| 279 | diff-tree --cc --stat --summary side |
Jeff King | 8290faa | 2019-01-24 07:34:51 -0500 | [diff] [blame] | 280 | diff-tree --cc --shortstat master |
Jeff King | 04b19fc | 2019-01-24 07:35:40 -0500 | [diff] [blame] | 281 | diff-tree --cc --summary REVERSE |
Junio C Hamano | 026625e | 2006-06-29 12:00:12 -0700 | [diff] [blame] | 282 | # improved by Timo's patch |
| 283 | diff-tree --cc --patch-with-stat master |
| 284 | # improved by Timo's patch |
Junio C Hamano | 47979d5 | 2006-06-26 23:29:11 -0700 | [diff] [blame] | 285 | diff-tree --cc --patch-with-stat --summary master |
| 286 | # this is correct |
| 287 | diff-tree --cc --patch-with-stat --summary side |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 288 | |
| 289 | log master |
| 290 | log -p master |
| 291 | log --root master |
| 292 | log --root -p master |
| 293 | log --patch-with-stat master |
| 294 | log --root --patch-with-stat master |
Junio C Hamano | 47979d5 | 2006-06-26 23:29:11 -0700 | [diff] [blame] | 295 | log --root --patch-with-stat --summary master |
Junio C Hamano | 026625e | 2006-06-29 12:00:12 -0700 | [diff] [blame] | 296 | # improved by Timo's patch |
Junio C Hamano | 47979d5 | 2006-06-26 23:29:11 -0700 | [diff] [blame] | 297 | log --root -c --patch-with-stat --summary master |
Junio C Hamano | 026625e | 2006-06-29 12:00:12 -0700 | [diff] [blame] | 298 | # improved by Timo's patch |
Junio C Hamano | 47979d5 | 2006-06-26 23:29:11 -0700 | [diff] [blame] | 299 | log --root --cc --patch-with-stat --summary master |
Junio C Hamano | 126f431 | 2010-03-08 21:11:40 -0800 | [diff] [blame] | 300 | log -p --first-parent master |
| 301 | log -m -p --first-parent master |
| 302 | log -m -p master |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 303 | log -SF master |
Matthieu Moy | dea007f | 2010-08-05 10:22:52 +0200 | [diff] [blame] | 304 | log -S F master |
Junio C Hamano | 47979d5 | 2006-06-26 23:29:11 -0700 | [diff] [blame] | 305 | log -SF -p master |
Matthieu Moy | 251df09 | 2011-03-09 21:52:15 +0100 | [diff] [blame] | 306 | log -SF master --max-count=0 |
| 307 | log -SF master --max-count=1 |
| 308 | log -SF master --max-count=2 |
Junio C Hamano | bf1dfc3 | 2010-08-31 14:27:41 -0700 | [diff] [blame] | 309 | log -GF master |
| 310 | log -GF -p master |
| 311 | log -GF -p --pickaxe-all master |
Thomas Rast | 28fd76b | 2009-02-19 12:13:40 +0100 | [diff] [blame] | 312 | log --decorate --all |
Lars Hjemli | 33e7018 | 2009-08-15 16:23:12 +0200 | [diff] [blame] | 313 | log --decorate=full --all |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 314 | |
Thomas Rast | fcbc6ef | 2009-02-19 12:13:41 +0100 | [diff] [blame] | 315 | rev-list --parents HEAD |
| 316 | rev-list --children HEAD |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 317 | |
| 318 | whatchanged master |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 319 | :noellipses whatchanged master |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 320 | whatchanged -p master |
| 321 | whatchanged --root master |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 322 | :noellipses whatchanged --root master |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 323 | whatchanged --root -p master |
| 324 | whatchanged --patch-with-stat master |
| 325 | whatchanged --root --patch-with-stat master |
| 326 | whatchanged --root --patch-with-stat --summary master |
Junio C Hamano | 026625e | 2006-06-29 12:00:12 -0700 | [diff] [blame] | 327 | # improved by Timo's patch |
Junio C Hamano | 47979d5 | 2006-06-26 23:29:11 -0700 | [diff] [blame] | 328 | whatchanged --root -c --patch-with-stat --summary master |
Junio C Hamano | 026625e | 2006-06-29 12:00:12 -0700 | [diff] [blame] | 329 | # improved by Timo's patch |
Junio C Hamano | 47979d5 | 2006-06-26 23:29:11 -0700 | [diff] [blame] | 330 | whatchanged --root --cc --patch-with-stat --summary master |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 331 | whatchanged -SF master |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 332 | :noellipses whatchanged -SF master |
Junio C Hamano | 47979d5 | 2006-06-26 23:29:11 -0700 | [diff] [blame] | 333 | whatchanged -SF -p master |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 334 | |
| 335 | log --patch-with-stat master -- dir/ |
| 336 | whatchanged --patch-with-stat master -- dir/ |
Junio C Hamano | 47979d5 | 2006-06-26 23:29:11 -0700 | [diff] [blame] | 337 | log --patch-with-stat --summary master -- dir/ |
| 338 | whatchanged --patch-with-stat --summary master -- dir/ |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 339 | |
| 340 | show initial |
| 341 | show --root initial |
| 342 | show side |
| 343 | show master |
Junio C Hamano | b449005 | 2010-03-08 23:27:25 -0800 | [diff] [blame] | 344 | show -c master |
Junio C Hamano | 2bf6587 | 2010-03-09 00:22:54 -0800 | [diff] [blame] | 345 | show -m master |
| 346 | show --first-parent master |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 347 | show --stat side |
| 348 | show --stat --summary side |
| 349 | show --patch-with-stat side |
| 350 | show --patch-with-raw side |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 351 | :noellipses show --patch-with-raw side |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 352 | show --patch-with-stat --summary side |
| 353 | |
Junio C Hamano | d410e43 | 2006-06-29 00:01:07 -0700 | [diff] [blame] | 354 | format-patch --stdout initial..side |
| 355 | format-patch --stdout initial..master^ |
| 356 | format-patch --stdout initial..master |
Brian Gernhardt | a567fdc | 2008-10-02 16:55:39 -0400 | [diff] [blame] | 357 | format-patch --stdout --no-numbered initial..master |
| 358 | format-patch --stdout --numbered initial..master |
Junio C Hamano | d410e43 | 2006-06-29 00:01:07 -0700 | [diff] [blame] | 359 | format-patch --attach --stdout initial..side |
Stephen Boyd | 108dab2 | 2009-03-22 19:14:05 -0700 | [diff] [blame] | 360 | format-patch --attach --stdout --suffix=.diff initial..side |
Junio C Hamano | d410e43 | 2006-06-29 00:01:07 -0700 | [diff] [blame] | 361 | format-patch --attach --stdout initial..master^ |
| 362 | format-patch --attach --stdout initial..master |
Johannes Schindelin | c112f68 | 2007-03-04 00:12:06 +0100 | [diff] [blame] | 363 | format-patch --inline --stdout initial..side |
| 364 | format-patch --inline --stdout initial..master^ |
Stephen Boyd | 747e250 | 2009-03-22 19:14:06 -0700 | [diff] [blame] | 365 | format-patch --inline --stdout --numbered-files initial..master |
Brian Gernhardt | a567fdc | 2008-10-02 16:55:39 -0400 | [diff] [blame] | 366 | format-patch --inline --stdout initial..master |
Robin H. Johnson | 171ddd9 | 2007-04-11 16:58:08 -0700 | [diff] [blame] | 367 | format-patch --inline --stdout --subject-prefix=TESTCASE initial..master |
Adam Roben | dbd2144 | 2007-07-01 17:48:59 -0700 | [diff] [blame] | 368 | config format.subjectprefix DIFFERENT_PREFIX |
| 369 | format-patch --inline --stdout initial..master^^ |
Daniel Barkalow | a5a27c7 | 2008-02-18 22:56:13 -0500 | [diff] [blame] | 370 | format-patch --stdout --cover-letter -n initial..master^ |
Junio C Hamano | d410e43 | 2006-06-29 00:01:07 -0700 | [diff] [blame] | 371 | |
Junio C Hamano | b319b02 | 2006-07-01 22:02:17 -0700 | [diff] [blame] | 372 | diff --abbrev initial..side |
Nguyễn Thái Ngọc Duy | 8ef0519 | 2019-05-29 16:11:15 +0700 | [diff] [blame] | 373 | diff -U initial..side |
| 374 | diff -U1 initial..side |
Junio C Hamano | b319b02 | 2006-07-01 22:02:17 -0700 | [diff] [blame] | 375 | diff -r initial..side |
| 376 | diff --stat initial..side |
| 377 | diff -r --stat initial..side |
| 378 | diff initial..side |
| 379 | diff --patch-with-stat initial..side |
| 380 | diff --patch-with-raw initial..side |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 381 | :noellipses diff --patch-with-raw initial..side |
Junio C Hamano | b319b02 | 2006-07-01 22:02:17 -0700 | [diff] [blame] | 382 | diff --patch-with-stat -r initial..side |
| 383 | diff --patch-with-raw -r initial..side |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 384 | :noellipses diff --patch-with-raw -r initial..side |
Johannes Schindelin | 3cb5673 | 2007-07-03 16:01:06 +0100 | [diff] [blame] | 385 | diff --name-status dir2 dir |
Junio C Hamano | 0569e9b | 2008-05-23 22:28:56 -0700 | [diff] [blame] | 386 | diff --no-index --name-status dir2 dir |
Thomas Rast | e423ffd | 2009-01-06 19:53:32 +0100 | [diff] [blame] | 387 | diff --no-index --name-status -- dir2 dir |
Michael Spang | d61027b | 2009-02-18 01:48:06 -0500 | [diff] [blame] | 388 | diff --no-index dir dir3 |
Matt McCutchen | b75271d | 2008-10-10 21:56:15 -0400 | [diff] [blame] | 389 | diff master master^ side |
Jacob Keller | 660e113 | 2016-08-31 16:27:20 -0700 | [diff] [blame] | 390 | # Can't use spaces... |
| 391 | diff --line-prefix=abc master master^ side |
Thomas Rast | f37bfb7 | 2009-02-19 12:13:37 +0100 | [diff] [blame] | 392 | diff --dirstat master~1 master~2 |
Johan Herland | 204f01a | 2011-04-11 00:48:50 +0200 | [diff] [blame] | 393 | diff --dirstat initial rearrange |
Johan Herland | 0133dab | 2011-04-11 00:48:51 +0200 | [diff] [blame] | 394 | diff --dirstat-by-file initial rearrange |
Jeff King | dac03b5 | 2019-01-24 07:36:47 -0500 | [diff] [blame] | 395 | diff --dirstat --cc master~1 master |
Jack Bates | 43d1948 | 2016-12-06 09:56:14 -0700 | [diff] [blame] | 396 | # No-index --abbrev and --no-abbrev |
| 397 | diff --raw initial |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 398 | :noellipses diff --raw initial |
Jack Bates | 43d1948 | 2016-12-06 09:56:14 -0700 | [diff] [blame] | 399 | diff --raw --abbrev=4 initial |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 400 | :noellipses diff --raw --abbrev=4 initial |
Jack Bates | 43d1948 | 2016-12-06 09:56:14 -0700 | [diff] [blame] | 401 | diff --raw --no-abbrev initial |
| 402 | diff --no-index --raw dir2 dir |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 403 | :noellipses diff --no-index --raw dir2 dir |
Jack Bates | 43d1948 | 2016-12-06 09:56:14 -0700 | [diff] [blame] | 404 | diff --no-index --raw --abbrev=4 dir2 dir |
Ann T Ropea | c2f1d39 | 2017-12-03 22:27:43 +0100 | [diff] [blame] | 405 | :noellipses diff --no-index --raw --abbrev=4 dir2 dir |
Jack Bates | 43d1948 | 2016-12-06 09:56:14 -0700 | [diff] [blame] | 406 | diff --no-index --raw --no-abbrev dir2 dir |
Nguyễn Thái Ngọc Duy | ddf88fa | 2018-02-24 21:09:59 +0700 | [diff] [blame] | 407 | |
| 408 | diff-tree --pretty --root --stat --compact-summary initial |
| 409 | diff-tree --pretty -R --root --stat --compact-summary initial |
Taylor Blau | 5778b22 | 2020-04-20 18:13:15 -0600 | [diff] [blame] | 410 | diff-tree --pretty note |
| 411 | diff-tree --pretty --notes note |
| 412 | diff-tree --format=%N note |
Nguyễn Thái Ngọc Duy | ddf88fa | 2018-02-24 21:09:59 +0700 | [diff] [blame] | 413 | diff-tree --stat --compact-summary initial mode |
| 414 | diff-tree -R --stat --compact-summary initial mode |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 415 | EOF |
| 416 | |
Matthieu Moy | dea007f | 2010-08-05 10:22:52 +0200 | [diff] [blame] | 417 | test_expect_success 'log -S requires an argument' ' |
| 418 | test_must_fail git log -S |
| 419 | ' |
| 420 | |
Nguyễn Thái Ngọc Duy | a2b7a3b | 2011-02-03 13:23:34 +0700 | [diff] [blame] | 421 | test_expect_success 'diff --cached on unborn branch' ' |
| 422 | echo ref: refs/heads/unborn >.git/HEAD && |
| 423 | git diff --cached >result && |
brian m. carlson | 72f936b | 2020-02-07 00:52:40 +0000 | [diff] [blame] | 424 | process_diffs result >actual && |
| 425 | process_diffs "$TEST_DIRECTORY/t4013/diff.diff_--cached" >expected && |
| 426 | test_cmp expected actual |
Nguyễn Thái Ngọc Duy | a2b7a3b | 2011-02-03 13:23:34 +0700 | [diff] [blame] | 427 | ' |
| 428 | |
| 429 | test_expect_success 'diff --cached -- file on unborn branch' ' |
| 430 | git diff --cached -- file0 >result && |
brian m. carlson | 72f936b | 2020-02-07 00:52:40 +0000 | [diff] [blame] | 431 | process_diffs result >actual && |
| 432 | process_diffs "$TEST_DIRECTORY/t4013/diff.diff_--cached_--_file0" >expected && |
| 433 | test_cmp expected actual |
Nguyễn Thái Ngọc Duy | a2b7a3b | 2011-02-03 13:23:34 +0700 | [diff] [blame] | 434 | ' |
Jacob Keller | 660e113 | 2016-08-31 16:27:20 -0700 | [diff] [blame] | 435 | test_expect_success 'diff --line-prefix with spaces' ' |
| 436 | git diff --line-prefix="| | | " --cached -- file0 >result && |
brian m. carlson | 72f936b | 2020-02-07 00:52:40 +0000 | [diff] [blame] | 437 | process_diffs result >actual && |
| 438 | process_diffs "$TEST_DIRECTORY/t4013/diff.diff_--line-prefix_--cached_--_file0" >expected && |
| 439 | test_cmp expected actual |
Jacob Keller | 660e113 | 2016-08-31 16:27:20 -0700 | [diff] [blame] | 440 | ' |
Nguyễn Thái Ngọc Duy | a2b7a3b | 2011-02-03 13:23:34 +0700 | [diff] [blame] | 441 | |
Jeff King | d299e9e | 2014-07-28 14:01:57 -0400 | [diff] [blame] | 442 | test_expect_success 'diff-tree --stdin with log formatting' ' |
| 443 | cat >expect <<-\EOF && |
| 444 | Side |
| 445 | Third |
| 446 | Second |
| 447 | EOF |
| 448 | git rev-list master | git diff-tree --stdin --format=%s -s >actual && |
| 449 | test_cmp expect actual |
| 450 | ' |
| 451 | |
Junio C Hamano | 3c2f75b | 2006-06-26 13:46:52 -0700 | [diff] [blame] | 452 | test_done |