Changeset 782 for git/branches/dmik/t/t4041-diff-submodule-option.sh
- Timestamp:
- Jun 23, 2014, 9:45:51 PM (11 years ago)
- Location:
- git/branches/dmik
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
git/branches/dmik ¶
- Property svn:mergeinfo changed
/git/vendor/2.0.0 (added) merged: 777 /git/vendor/current merged: 772,774,776
- Property svn:mergeinfo changed
-
TabularUnified git/branches/dmik/t/t4041-diff-submodule-option.sh ¶
r347 r782 2 2 # 3 3 # Copyright (c) 2009 Jens Lehmann, based on t7401 by Ping Yin 4 # Copyright (c) 2011 Alexey Shumkin (+ non-UTF-8 commit encoding tests) 4 5 # 5 6 … … 11 12 . ./test-lib.sh 12 13 14 # String "added" in German (translated with Google Translate), encoded in UTF-8, 15 # used in sample commit log messages in add_file() function below. 16 added=$(printf "hinzugef\303\274gt") 13 17 add_file () { 14 sm=$1 15 shift 16 owd=$(pwd) 17 cd "$sm" 18 for name; do 19 echo "$name" > "$name" && 20 git add "$name" && 21 test_tick && 22 git commit -m "Add $name" 23 done >/dev/null 24 git rev-parse --verify HEAD | cut -c1-7 25 cd "$owd" 18 ( 19 cd "$1" && 20 shift && 21 for name 22 do 23 echo "$name" >"$name" && 24 git add "$name" && 25 test_tick && 26 msg_added_iso88591=$(echo "Add $name ($added $name)" | iconv -f utf-8 -t iso8859-1) && 27 git -c 'i18n.commitEncoding=iso8859-1' commit -m "$msg_added_iso88591" 28 done >/dev/null && 29 git rev-parse --short --verify HEAD 30 ) 26 31 } 27 32 commit_file () { … … 34 39 35 40 head1=$(add_file sm1 foo1 foo2) 36 37 test_expect_success 'added submodule' " 41 fullhead1=$(cd sm1; git rev-parse --verify HEAD) 42 43 test_expect_success 'added submodule' ' 38 44 git add sm1 && 39 45 git diff-index -p --submodule=log HEAD >actual && 40 46 cat >expected <<-EOF && 41 Submodule sm1 0000000...$head1 (new submodule) 42 EOF 43 test_cmp expected actual 44 " 47 Submodule sm1 0000000...$head1 (new submodule) 48 EOF 49 test_cmp expected actual 50 ' 51 52 test_expect_success 'added submodule, set diff.submodule' ' 53 git config diff.submodule log && 54 git add sm1 && 55 git diff --cached >actual && 56 cat >expected <<-EOF && 57 Submodule sm1 0000000...$head1 (new submodule) 58 EOF 59 git config --unset diff.submodule && 60 test_cmp expected actual 61 ' 62 63 test_expect_success '--submodule=short overrides diff.submodule' ' 64 test_config diff.submodule log && 65 git add sm1 && 66 git diff --submodule=short --cached >actual && 67 cat >expected <<-EOF && 68 diff --git a/sm1 b/sm1 69 new file mode 160000 70 index 0000000..$head1 71 --- /dev/null 72 +++ b/sm1 73 @@ -0,0 +1 @@ 74 +Subproject commit $fullhead1 75 EOF 76 test_cmp expected actual 77 ' 78 79 test_expect_success 'diff.submodule does not affect plumbing' ' 80 test_config diff.submodule log && 81 git diff-index -p HEAD >actual && 82 cat >expected <<-EOF && 83 diff --git a/sm1 b/sm1 84 new file mode 160000 85 index 0000000..$head1 86 --- /dev/null 87 +++ b/sm1 88 @@ -0,0 +1 @@ 89 +Subproject commit $fullhead1 90 EOF 91 test_cmp expected actual 92 ' 45 93 46 94 commit_file sm1 && 47 95 head2=$(add_file sm1 foo3) 48 96 49 test_expect_success 'modified submodule(forward)' "50 git diff-index -p --submodule=log HEAD >actual && 51 cat >expected <<-EOF && 52 Submodule sm1 $head1..$head2:53 > Add foo3 54 EOF55 test_cmp expected actual 56 " 57 58 test_expect_success 'modified submodule(forward)' "97 test_expect_success 'modified submodule(forward)' ' 98 git diff-index -p --submodule=log HEAD >actual && 99 cat >expected <<-EOF && 100 Submodule sm1 $head1..$head2: 101 > Add foo3 ($added foo3) 102 EOF 103 test_cmp expected actual 104 ' 105 106 test_expect_success 'modified submodule(forward)' ' 59 107 git diff --submodule=log >actual && 60 108 cat >expected <<-EOF && 61 Submodule sm1 $head1..$head2:62 > Add foo3 63 EOF64 test_cmp expected actual 65 " 66 67 test_expect_success 'modified submodule(forward) --submodule' "109 Submodule sm1 $head1..$head2: 110 > Add foo3 ($added foo3) 111 EOF 112 test_cmp expected actual 113 ' 114 115 test_expect_success 'modified submodule(forward) --submodule' ' 68 116 git diff --submodule >actual && 69 117 cat >expected <<-EOF && 70 Submodule sm1 $head1..$head2: 71 > Add foo3 72 EOF 73 test_cmp expected actual 74 " 75 76 fullhead1=$(cd sm1; git rev-list --max-count=1 $head1) 77 fullhead2=$(cd sm1; git rev-list --max-count=1 $head2) 78 test_expect_success 'modified submodule(forward) --submodule=short' " 118 Submodule sm1 $head1..$head2: 119 > Add foo3 ($added foo3) 120 EOF 121 test_cmp expected actual 122 ' 123 124 fullhead2=$(cd sm1; git rev-parse --verify HEAD) 125 test_expect_success 'modified submodule(forward) --submodule=short' ' 79 126 git diff --submodule=short >actual && 80 127 cat >expected <<-EOF && 81 diff --git a/sm1 b/sm182 index $head1..$head2 16000083 --- a/sm184 +++ b/sm185 @@ -1 +1 @@86 -Subproject commit $fullhead187 +Subproject commit $fullhead288 EOF89 test_cmp expected actual 90 " 128 diff --git a/sm1 b/sm1 129 index $head1..$head2 160000 130 --- a/sm1 131 +++ b/sm1 132 @@ -1 +1 @@ 133 -Subproject commit $fullhead1 134 +Subproject commit $fullhead2 135 EOF 136 test_cmp expected actual 137 ' 91 138 92 139 commit_file sm1 && … … 94 141 cd sm1 && 95 142 git reset --hard HEAD~2 >/dev/null && 96 git rev-parse -- verify HEAD | cut -c1-7143 git rev-parse --short --verify HEAD 97 144 ) 98 145 99 test_expect_success 'modified submodule(backward)' " 100 git diff-index -p --submodule=log HEAD >actual && 101 cat >expected <<-EOF && 102 Submodule sm1 $head2..$head3 (rewind): 103 < Add foo3 104 < Add foo2 105 EOF 106 test_cmp expected actual 107 " 108 109 head4=$(add_file sm1 foo4 foo5) && 110 head4_full=$(GIT_DIR=sm1/.git git rev-parse --verify HEAD) 111 test_expect_success 'modified submodule(backward and forward)' " 112 git diff-index -p --submodule=log HEAD >actual && 113 cat >expected <<-EOF && 114 Submodule sm1 $head2...$head4: 115 > Add foo5 116 > Add foo4 117 < Add foo3 118 < Add foo2 119 EOF 120 test_cmp expected actual 121 " 146 test_expect_success 'modified submodule(backward)' ' 147 git diff-index -p --submodule=log HEAD >actual && 148 cat >expected <<-EOF && 149 Submodule sm1 $head2..$head3 (rewind): 150 < Add foo3 ($added foo3) 151 < Add foo2 ($added foo2) 152 EOF 153 test_cmp expected actual 154 ' 155 156 head4=$(add_file sm1 foo4 foo5) 157 test_expect_success 'modified submodule(backward and forward)' ' 158 git diff-index -p --submodule=log HEAD >actual && 159 cat >expected <<-EOF && 160 Submodule sm1 $head2...$head4: 161 > Add foo5 ($added foo5) 162 > Add foo4 ($added foo4) 163 < Add foo3 ($added foo3) 164 < Add foo2 ($added foo2) 165 EOF 166 test_cmp expected actual 167 ' 122 168 123 169 commit_file sm1 && … … 129 175 mv sm1-bak sm1 130 176 131 test_expect_success 'typechanged submodule(submodule->blob), --cached' "177 test_expect_success 'typechanged submodule(submodule->blob), --cached' ' 132 178 git diff --submodule=log --cached >actual && 133 179 cat >expected <<-EOF && 134 Submodule sm1 41fbea9...0000000 (submodule deleted)135 diff --git a/sm1 b/sm1136 new file mode 100644137 index 0000000..9da5fb8 138 --- /dev/null139 +++ b/sm1140 @@ -0,0 +1 @@141 +sm1142 EOF143 test_cmp expected actual 144 " 145 146 test_expect_success 'typechanged submodule(submodule->blob)' "180 Submodule sm1 $head4...0000000 (submodule deleted) 181 diff --git a/sm1 b/sm1 182 new file mode 100644 183 index 0000000..$head5 184 --- /dev/null 185 +++ b/sm1 186 @@ -0,0 +1 @@ 187 +sm1 188 EOF 189 test_cmp expected actual 190 ' 191 192 test_expect_success 'typechanged submodule(submodule->blob)' ' 147 193 git diff --submodule=log >actual && 148 194 cat >expected <<-EOF && 149 diff --git a/sm1 b/sm1150 deleted file mode 100644151 index 9da5fb8..0000000152 --- a/sm1153 +++ /dev/null154 @@ -1 +0,0 @@155 -sm1156 Submodule sm1 0000000...$head4 (new submodule)157 EOF158 test_cmp expected actual 159 " 195 diff --git a/sm1 b/sm1 196 deleted file mode 100644 197 index $head5..0000000 198 --- a/sm1 199 +++ /dev/null 200 @@ -1 +0,0 @@ 201 -sm1 202 Submodule sm1 0000000...$head4 (new submodule) 203 EOF 204 test_cmp expected actual 205 ' 160 206 161 207 rm -rf sm1 && 162 208 git checkout-index sm1 163 test_expect_success 'typechanged submodule(submodule->blob)' "164 git diff-index -p --submodule=log HEAD >actual && 165 cat >expected <<-EOF && 166 Submodule sm1 $head4...0000000 (submodule deleted)167 diff --git a/sm1 b/sm1168 new file mode 100644169 index 0000000..$head5170 --- /dev/null171 +++ b/sm1172 @@ -0,0 +1 @@173 +sm1174 EOF175 test_cmp expected actual 176 " 209 test_expect_success 'typechanged submodule(submodule->blob)' ' 210 git diff-index -p --submodule=log HEAD >actual && 211 cat >expected <<-EOF && 212 Submodule sm1 $head4...0000000 (submodule deleted) 213 diff --git a/sm1 b/sm1 214 new file mode 100644 215 index 0000000..$head5 216 --- /dev/null 217 +++ b/sm1 218 @@ -0,0 +1 @@ 219 +sm1 220 EOF 221 test_cmp expected actual 222 ' 177 223 178 224 rm -f sm1 && 179 225 test_create_repo sm1 && 180 226 head6=$(add_file sm1 foo6 foo7) 181 fullhead6=$(cd sm1; git rev- list --max-count=1 $head6)182 test_expect_success 'nonexistent commit' "183 git diff-index -p --submodule=log HEAD >actual && 184 cat >expected <<-EOF && 185 Submodule sm1 $head4...$head6 (commits not present)186 EOF187 test_cmp expected actual 188 " 227 fullhead6=$(cd sm1; git rev-parse --verify HEAD) 228 test_expect_success 'nonexistent commit' ' 229 git diff-index -p --submodule=log HEAD >actual && 230 cat >expected <<-EOF && 231 Submodule sm1 $head4...$head6 (commits not present) 232 EOF 233 test_cmp expected actual 234 ' 189 235 190 236 commit_file 191 test_expect_success 'typechanged submodule(blob->submodule)' "192 git diff-index -p --submodule=log HEAD >actual && 193 cat >expected <<-EOF && 194 diff --git a/sm1 b/sm1195 deleted file mode 100644196 index $head5..0000000197 --- a/sm1198 +++ /dev/null199 @@ -1 +0,0 @@200 -sm1201 Submodule sm1 0000000...$head6 (new submodule)202 EOF203 test_cmp expected actual 204 " 237 test_expect_success 'typechanged submodule(blob->submodule)' ' 238 git diff-index -p --submodule=log HEAD >actual && 239 cat >expected <<-EOF && 240 diff --git a/sm1 b/sm1 241 deleted file mode 100644 242 index $head5..0000000 243 --- a/sm1 244 +++ /dev/null 245 @@ -1 +0,0 @@ 246 -sm1 247 Submodule sm1 0000000...$head6 (new submodule) 248 EOF 249 test_cmp expected actual 250 ' 205 251 206 252 commit_file sm1 && 207 test_expect_success 'submodule is up to date' "208 git diff-index -p --submodule=log HEAD >actual && 209 cat >expected <<-EOF && 210 EOF211 test_cmp expected actual 212 " 213 214 test_expect_success 'submodule contains untracked content' "253 test_expect_success 'submodule is up to date' ' 254 git diff-index -p --submodule=log HEAD >actual && 255 cat >expected <<-EOF && 256 EOF 257 test_cmp expected actual 258 ' 259 260 test_expect_success 'submodule contains untracked content' ' 215 261 echo new > sm1/new-file && 216 262 git diff-index -p --submodule=log HEAD >actual && 217 263 cat >expected <<-EOF && 218 Submodule sm1 contains untracked content219 EOF220 test_cmp expected actual 221 " 222 223 test_expect_success 'submodule contains untracked content (untracked ignored)' "264 Submodule sm1 contains untracked content 265 EOF 266 test_cmp expected actual 267 ' 268 269 test_expect_success 'submodule contains untracked content (untracked ignored)' ' 224 270 git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual && 225 271 ! test -s actual 226 " 227 228 test_expect_success 'submodule contains untracked content (dirty ignored)' "272 ' 273 274 test_expect_success 'submodule contains untracked content (dirty ignored)' ' 229 275 git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual && 230 276 ! test -s actual 231 " 232 233 test_expect_success 'submodule contains untracked content (all ignored)' "277 ' 278 279 test_expect_success 'submodule contains untracked content (all ignored)' ' 234 280 git diff-index -p --ignore-submodules=all --submodule=log HEAD >actual && 235 281 ! test -s actual 236 " 237 238 test_expect_success 'submodule contains untracked and modifed content' "282 ' 283 284 test_expect_success 'submodule contains untracked and modifed content' ' 239 285 echo new > sm1/foo6 && 240 286 git diff-index -p --submodule=log HEAD >actual && 241 287 cat >expected <<-EOF && 242 Submodule sm1 contains untracked content243 Submodule sm1 contains modified content244 EOF245 test_cmp expected actual 246 " 247 248 test_expect_success 'submodule contains untracked and modifed content (untracked ignored)' "288 Submodule sm1 contains untracked content 289 Submodule sm1 contains modified content 290 EOF 291 test_cmp expected actual 292 ' 293 294 test_expect_success 'submodule contains untracked and modifed content (untracked ignored)' ' 249 295 echo new > sm1/foo6 && 250 296 git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual && 251 297 cat >expected <<-EOF && 252 Submodule sm1 contains modified content253 EOF254 test_cmp expected actual 255 " 256 257 test_expect_success 'submodule contains untracked and modifed content (dirty ignored)' "298 Submodule sm1 contains modified content 299 EOF 300 test_cmp expected actual 301 ' 302 303 test_expect_success 'submodule contains untracked and modifed content (dirty ignored)' ' 258 304 echo new > sm1/foo6 && 259 305 git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual && 260 306 ! test -s actual 261 " 262 263 test_expect_success 'submodule contains untracked and modifed content (all ignored)' "307 ' 308 309 test_expect_success 'submodule contains untracked and modifed content (all ignored)' ' 264 310 echo new > sm1/foo6 && 265 311 git diff-index -p --ignore-submodules --submodule=log HEAD >actual && 266 312 ! test -s actual 267 " 268 269 test_expect_success 'submodule contains modifed content' "313 ' 314 315 test_expect_success 'submodule contains modifed content' ' 270 316 rm -f sm1/new-file && 271 317 git diff-index -p --submodule=log HEAD >actual && 272 318 cat >expected <<-EOF && 273 Submodule sm1 contains modified content274 EOF275 test_cmp expected actual 276 " 319 Submodule sm1 contains modified content 320 EOF 321 test_cmp expected actual 322 ' 277 323 278 324 (cd sm1; git commit -mchange foo6 >/dev/null) && 279 head8=$(cd sm1; git rev-parse -- verify HEAD | cut -c1-7) &&280 test_expect_success 'submodule is modified' "281 git diff-index -p --submodule=log HEAD >actual && 282 cat >expected <<-EOF && 283 Submodule sm1 $head6..$head8:284 > change285 EOF286 test_cmp expected actual 287 " 288 289 test_expect_success 'modified submodule contains untracked content' "325 head8=$(cd sm1; git rev-parse --short --verify HEAD) && 326 test_expect_success 'submodule is modified' ' 327 git diff-index -p --submodule=log HEAD >actual && 328 cat >expected <<-EOF && 329 Submodule sm1 $head6..$head8: 330 > change 331 EOF 332 test_cmp expected actual 333 ' 334 335 test_expect_success 'modified submodule contains untracked content' ' 290 336 echo new > sm1/new-file && 291 337 git diff-index -p --submodule=log HEAD >actual && 292 338 cat >expected <<-EOF && 293 Submodule sm1 contains untracked content294 Submodule sm1 $head6..$head8:295 > change296 EOF297 test_cmp expected actual 298 " 299 300 test_expect_success 'modified submodule contains untracked content (untracked ignored)' "339 Submodule sm1 contains untracked content 340 Submodule sm1 $head6..$head8: 341 > change 342 EOF 343 test_cmp expected actual 344 ' 345 346 test_expect_success 'modified submodule contains untracked content (untracked ignored)' ' 301 347 git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual && 302 348 cat >expected <<-EOF && 303 Submodule sm1 $head6..$head8:304 > change305 EOF306 test_cmp expected actual 307 " 308 309 test_expect_success 'modified submodule contains untracked content (dirty ignored)' "349 Submodule sm1 $head6..$head8: 350 > change 351 EOF 352 test_cmp expected actual 353 ' 354 355 test_expect_success 'modified submodule contains untracked content (dirty ignored)' ' 310 356 git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual && 311 357 cat >expected <<-EOF && 312 Submodule sm1 $head6..$head8:313 > change314 EOF315 test_cmp expected actual 316 " 317 318 test_expect_success 'modified submodule contains untracked content (all ignored)' "358 Submodule sm1 $head6..$head8: 359 > change 360 EOF 361 test_cmp expected actual 362 ' 363 364 test_expect_success 'modified submodule contains untracked content (all ignored)' ' 319 365 git diff-index -p --ignore-submodules=all --submodule=log HEAD >actual && 320 366 ! test -s actual 321 " 322 323 test_expect_success 'modified submodule contains untracked and modifed content' "367 ' 368 369 test_expect_success 'modified submodule contains untracked and modifed content' ' 324 370 echo modification >> sm1/foo6 && 325 371 git diff-index -p --submodule=log HEAD >actual && 326 372 cat >expected <<-EOF && 327 Submodule sm1 contains untracked content328 Submodule sm1 contains modified content329 Submodule sm1 $head6..$head8:330 > change331 EOF332 test_cmp expected actual 333 " 334 335 test_expect_success 'modified submodule contains untracked and modifed content (untracked ignored)' "373 Submodule sm1 contains untracked content 374 Submodule sm1 contains modified content 375 Submodule sm1 $head6..$head8: 376 > change 377 EOF 378 test_cmp expected actual 379 ' 380 381 test_expect_success 'modified submodule contains untracked and modifed content (untracked ignored)' ' 336 382 echo modification >> sm1/foo6 && 337 383 git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual && 338 384 cat >expected <<-EOF && 339 Submodule sm1 contains modified content340 Submodule sm1 $head6..$head8:341 > change342 EOF343 test_cmp expected actual 344 " 345 346 test_expect_success 'modified submodule contains untracked and modifed content (dirty ignored)' "385 Submodule sm1 contains modified content 386 Submodule sm1 $head6..$head8: 387 > change 388 EOF 389 test_cmp expected actual 390 ' 391 392 test_expect_success 'modified submodule contains untracked and modifed content (dirty ignored)' ' 347 393 echo modification >> sm1/foo6 && 348 394 git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual && 349 395 cat >expected <<-EOF && 350 Submodule sm1 $head6..$head8:351 > change352 EOF353 test_cmp expected actual 354 " 355 356 test_expect_success 'modified submodule contains untracked and modifed content (all ignored)' "396 Submodule sm1 $head6..$head8: 397 > change 398 EOF 399 test_cmp expected actual 400 ' 401 402 test_expect_success 'modified submodule contains untracked and modifed content (all ignored)' ' 357 403 echo modification >> sm1/foo6 && 358 404 git diff-index -p --ignore-submodules --submodule=log HEAD >actual && 359 405 ! test -s actual 360 " 361 362 test_expect_success 'modified submodule contains modifed content' "406 ' 407 408 test_expect_success 'modified submodule contains modifed content' ' 363 409 rm -f sm1/new-file && 364 410 git diff-index -p --submodule=log HEAD >actual && 365 411 cat >expected <<-EOF && 366 Submodule sm1 contains modified content367 Submodule sm1 $head6..$head8:368 > change369 EOF370 test_cmp expected actual 371 " 412 Submodule sm1 contains modified content 413 Submodule sm1 $head6..$head8: 414 > change 415 EOF 416 test_cmp expected actual 417 ' 372 418 373 419 rm -rf sm1 374 test_expect_success 'deleted submodule' "375 git diff-index -p --submodule=log HEAD >actual && 376 cat >expected <<-EOF && 377 Submodule sm1 $head6...0000000 (submodule deleted)378 EOF379 test_cmp expected actual 380 " 420 test_expect_success 'deleted submodule' ' 421 git diff-index -p --submodule=log HEAD >actual && 422 cat >expected <<-EOF && 423 Submodule sm1 $head6...0000000 (submodule deleted) 424 EOF 425 test_cmp expected actual 426 ' 381 427 382 428 test_create_repo sm2 && … … 384 430 git add sm2 385 431 386 test_expect_success 'multiple submodules' "387 git diff-index -p --submodule=log HEAD >actual && 388 cat >expected <<-EOF && 389 Submodule sm1 $head6...0000000 (submodule deleted)390 Submodule sm2 0000000...$head7 (new submodule)391 EOF392 test_cmp expected actual 393 " 394 395 test_expect_success 'path filter' "432 test_expect_success 'multiple submodules' ' 433 git diff-index -p --submodule=log HEAD >actual && 434 cat >expected <<-EOF && 435 Submodule sm1 $head6...0000000 (submodule deleted) 436 Submodule sm2 0000000...$head7 (new submodule) 437 EOF 438 test_cmp expected actual 439 ' 440 441 test_expect_success 'path filter' ' 396 442 git diff-index -p --submodule=log HEAD sm2 >actual && 397 443 cat >expected <<-EOF && 398 Submodule sm2 0000000...$head7 (new submodule)399 EOF400 test_cmp expected actual 401 " 444 Submodule sm2 0000000...$head7 (new submodule) 445 EOF 446 test_cmp expected actual 447 ' 402 448 403 449 commit_file sm2 404 test_expect_success 'given commit' "450 test_expect_success 'given commit' ' 405 451 git diff-index -p --submodule=log HEAD^ >actual && 406 452 cat >expected <<-EOF && 407 Submodule sm1 $head6...0000000 (submodule deleted)408 Submodule sm2 0000000...$head7 (new submodule)409 EOF410 test_cmp expected actual 411 " 412 413 test_expect_success 'given commit --submodule' "453 Submodule sm1 $head6...0000000 (submodule deleted) 454 Submodule sm2 0000000...$head7 (new submodule) 455 EOF 456 test_cmp expected actual 457 ' 458 459 test_expect_success 'given commit --submodule' ' 414 460 git diff-index -p --submodule HEAD^ >actual && 415 461 cat >expected <<-EOF && 416 Submodule sm1 $head6...0000000 (submodule deleted)417 Submodule sm2 0000000...$head7 (new submodule)418 EOF419 test_cmp expected actual 420 " 421 422 fullhead7=$(cd sm2; git rev- list --max-count=1 $head7)423 424 test_expect_success 'given commit --submodule=short' "462 Submodule sm1 $head6...0000000 (submodule deleted) 463 Submodule sm2 0000000...$head7 (new submodule) 464 EOF 465 test_cmp expected actual 466 ' 467 468 fullhead7=$(cd sm2; git rev-parse --verify HEAD) 469 470 test_expect_success 'given commit --submodule=short' ' 425 471 git diff-index -p --submodule=short HEAD^ >actual && 426 472 cat >expected <<-EOF && 427 diff --git a/sm1 b/sm1428 deleted file mode 160000429 index $head6..0000000430 --- a/sm1431 +++ /dev/null432 @@ -1 +0,0 @@433 -Subproject commit $fullhead6434 diff --git a/sm2 b/sm2435 new file mode 160000436 index 0000000..$head7437 --- /dev/null438 +++ b/sm2439 @@ -0,0 +1 @@440 +Subproject commit $fullhead7441 EOF442 test_cmp expected actual 443 " 473 diff --git a/sm1 b/sm1 474 deleted file mode 160000 475 index $head6..0000000 476 --- a/sm1 477 +++ /dev/null 478 @@ -1 +0,0 @@ 479 -Subproject commit $fullhead6 480 diff --git a/sm2 b/sm2 481 new file mode 160000 482 index 0000000..$head7 483 --- /dev/null 484 +++ b/sm2 485 @@ -0,0 +1 @@ 486 +Subproject commit $fullhead7 487 EOF 488 test_cmp expected actual 489 ' 444 490 445 491 test_expect_success 'setup .git file for sm2' ' … … 453 499 git diff --submodule HEAD^ >actual && 454 500 cat >expected <<-EOF && 455 Submodule sm1 $head6...0000000 (submodule deleted) 456 Submodule sm2 0000000...$head7 (new submodule) 457 EOF 501 Submodule sm1 $head6...0000000 (submodule deleted) 502 Submodule sm2 0000000...$head7 (new submodule) 503 EOF 504 test_cmp expected actual 505 ' 506 507 test_expect_success 'diff --submodule with objects referenced by alternates' ' 508 mkdir sub_alt && 509 (cd sub_alt && 510 git init && 511 echo a >a && 512 git add a && 513 git commit -m a 514 ) && 515 mkdir super && 516 (cd super && 517 git clone -s ../sub_alt sub && 518 git init && 519 git add sub && 520 git commit -m "sub a" 521 ) && 522 (cd sub_alt && 523 sha1_before=$(git rev-parse --short HEAD) 524 echo b >b && 525 git add b && 526 git commit -m b 527 sha1_after=$(git rev-parse --short HEAD) 528 echo "Submodule sub $sha1_before..$sha1_after: 529 > b" >../expected 530 ) && 531 (cd super && 532 (cd sub && 533 git fetch && 534 git checkout origin/master 535 ) && 536 git diff --submodule > ../actual 537 ) 458 538 test_cmp expected actual 459 539 '
Note:
See TracChangeset
for help on using the changeset viewer.