From d67824feaa1613d363834b93e40c70b93791952b Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Thu, 19 Nov 2015 20:09:43 +0100 Subject: modernize t9300: single-quote placement and indentation Many test cases do not follow our modern style that places the single-quotes that surround the shell code snippets before and after the shell code. Make it so. Many of the lines changed in this way are indented other than by a single tab. Change them (and some additional lines) to be indented with a tab. Signed-off-by: Johannes Sixt Signed-off-by: Jeff King diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh index 9984c48..566f7bd 100755 --- a/t/t9300-fast-import.sh +++ b/t/t9300-fast-import.sh @@ -100,10 +100,10 @@ An annotated tag that annotates a blob. EOF INPUT_END -test_expect_success \ - 'A: create pack from stdin' \ - 'git fast-import --export-marks=marks.out $GIT_COMMITTER_DATE initial EOF -test_expect_success \ - 'A: verify commit' \ - 'git cat-file commit master | sed 1d >actual && - test_cmp expect actual' +test_expect_success 'A: verify commit' ' + git cat-file commit master | sed 1d >actual && + test_cmp expect actual +' cat >expect <actual && - test_cmp expect actual' +test_expect_success 'A: verify tree' ' + git cat-file -p master^{tree} | sed "s/ [0-9a-f]* / /" >actual && + test_cmp expect actual +' echo "$file2_data" >expect -test_expect_success \ - 'A: verify file2' \ - 'git cat-file blob master:file2 >actual && test_cmp expect actual' +test_expect_success 'A: verify file2' ' + git cat-file blob master:file2 >actual && test_cmp expect actual +' echo "$file3_data" >expect -test_expect_success \ - 'A: verify file3' \ - 'git cat-file blob master:file3 >actual && test_cmp expect actual' +test_expect_success 'A: verify file3' ' + git cat-file blob master:file3 >actual && test_cmp expect actual +' printf "$file4_data" >expect -test_expect_success \ - 'A: verify file4' \ - 'git cat-file blob master:file4 >actual && test_cmp expect actual' +test_expect_success 'A: verify file4' ' + git cat-file blob master:file4 >actual && test_cmp expect actual +' cat >expect <expect <actual && git cat-file tag tags/series-A-blob-3 >>actual && - test_cmp expect actual' + test_cmp expect actual +' test_tick cat >input <expect <actual -test_expect_success \ - 'A: verify diff' \ - 'compare_diff_raw expect actual && - test `git rev-parse --verify master:file2` \ - = `git rev-parse --verify verify--import-marks:copy-of-file2`' +test_expect_success 'A: verify diff' ' + compare_diff_raw expect actual && + test `git rev-parse --verify master:file2` \ + = `git rev-parse --verify verify--import-marks:copy-of-file2` +' test_tick mt=$(git hash-object --stdin < /dev/null) @@ -322,7 +322,8 @@ test_expect_success 'A: export marks with large values' ' cat input.blob input.commit | git fast-import --export-marks=marks.large && git ls-tree refs/heads/verify--dump-marks >tree.out && test_cmp tree.exp_s tree.out && - test_cmp marks.exp marks.large' + test_cmp marks.exp marks.large +' ### ### series B @@ -342,7 +343,7 @@ M 755 0000000000000000000000000000000000000001 zero1 INPUT_END test_expect_success 'B: fail on invalid blob sha1' ' - test_must_fail git fast-import /dev/null >/dev/null @@ -482,19 +483,19 @@ M 755 $newf file2/newf D file3 INPUT_END -test_expect_success \ - 'C: incremental import create pack from stdin' \ - 'git fast-import expect < $GIT_COMMITTER_DATE second EOF -test_expect_success \ - 'C: verify commit' \ - 'git cat-file commit branch | sed 1d >actual && - test_cmp expect actual' +test_expect_success 'C: verify commit' ' + git cat-file commit branch | sed 1d >actual && + test_cmp expect actual +' cat >expect <expect <actual -test_expect_success \ - 'C: validate rename result' \ - 'compare_diff_raw expect actual' +test_expect_success 'C: validate rename result' ' + compare_diff_raw expect actual +' ### ### series D @@ -542,10 +543,10 @@ $file6_data EOF INPUT_END -test_expect_success \ - 'D: inline data in commit' \ - 'git fast-import expect <actual -test_expect_success \ - 'D: validate new files added' \ - 'compare_diff_raw expect actual' +test_expect_success 'D: validate new files added' ' + compare_diff_raw expect actual +' echo "$file5_data" >expect -test_expect_success \ - 'D: verify file5' \ - 'git cat-file blob branch:newdir/interesting >actual && - test_cmp expect actual' +test_expect_success 'D: verify file5' ' + git cat-file blob branch:newdir/interesting >actual && + test_cmp expect actual +' echo "$file6_data" >expect -test_expect_success \ - 'D: verify file6' \ - 'git cat-file blob branch:newdir/exec.sh >actual && - test_cmp expect actual' +test_expect_success 'D: verify file6' ' + git cat-file blob branch:newdir/exec.sh >actual && + test_cmp expect actual +' ### ### series E @@ -588,11 +589,11 @@ from refs/heads/branch^0 INPUT_END test_expect_success 'E: rfc2822 date, --date-format=raw' ' - test_must_fail git fast-import --date-format=raw 1170783302 -0500 RFC 2822 type date EOF -test_expect_success \ - 'E: verify commit' \ - 'git cat-file commit branch | sed 1,2d >actual && - test_cmp expect actual' +test_expect_success 'E: verify commit' ' + git cat-file commit branch | sed 1,2d >actual && + test_cmp expect actual +' ### ### series F @@ -628,13 +629,12 @@ reset refs/heads/other from refs/heads/branch INPUT_END -test_expect_success \ - 'F: non-fast-forward update skips' \ - 'if git fast-import $GIT_COMMITTER_DATE losing things already? EOF -test_expect_success \ - 'F: verify other commit' \ - 'git cat-file commit other >actual && - test_cmp expect actual' +test_expect_success 'F: verify other commit' ' + git cat-file commit other >actual && + test_cmp expect actual +' ### ### series G @@ -679,18 +679,18 @@ COMMIT from refs/heads/branch~1 INPUT_END -test_expect_success \ - 'G: non-fast-forward update forced' \ - 'git fast-import --force expect <actual -test_expect_success \ - 'H: validate old files removed, new files added' \ - 'compare_diff_raw expect actual' +test_expect_success 'H: validate old files removed, new files added' ' + compare_diff_raw expect actual +' echo "$file5_data" >expect -test_expect_success \ - 'H: verify file' \ - 'git cat-file blob H:h/e/l/lo >actual && - test_cmp expect actual' +test_expect_success 'H: verify file' ' + git cat-file blob H:h/e/l/lo >actual && + test_cmp expect actual +' ### ### series I @@ -758,17 +758,17 @@ COMMIT from refs/heads/branch INPUT_END -test_expect_success \ - 'I: export-pack-edges' \ - 'git fast-import --export-pack-edges=edges.list expect <actual && - test_cmp expect actual' +test_expect_success 'I: verify edge list' ' + sed -e s/pack-.*pack/pack-.pack/ edges.list >actual && + test_cmp expect actual +' ### ### series J @@ -792,13 +792,13 @@ initialize J COMMIT INPUT_END -test_expect_success \ - 'J: reset existing branch creates empty commit' \ - 'git fast-import input <expect <output && - test_cmp expect output' +test_expect_success 'L: verify internal tree sorting' ' + git fast-import output && + test_cmp expect output +' cat >input <tmp && cat tmp | cut -f 2 >actual && test_cmp expect actual && - git fsck `git rev-parse L2`' + git fsck `git rev-parse L2` +' git update-ref -d refs/heads/L2 @@ -953,11 +953,11 @@ INPUT_END cat >expect <actual && - compare_diff_raw expect actual' +test_expect_success 'M: rename file in same subdirectory' ' + git fast-import actual && + compare_diff_raw expect actual +' cat >input <expect <actual && - compare_diff_raw expect actual' +test_expect_success 'M: rename file to new subdirectory' ' + git fast-import actual && + compare_diff_raw expect actual +' cat >input <expect <actual && - compare_diff_raw expect actual' +test_expect_success 'M: rename subdirectory to new subdirectory' ' + git fast-import actual && + compare_diff_raw expect actual +' cat >input <expect <actual && - cat actual && - compare_diff_raw expect actual' +test_expect_success 'M: rename root to subdirectory' ' + git fast-import actual && + cat actual && + compare_diff_raw expect actual +' ### ### series N @@ -1047,11 +1047,11 @@ INPUT_END cat >expect <actual && - compare_diff_raw expect actual' +test_expect_success 'N: copy file in same subdirectory' ' + git fast-import actual && + compare_diff_raw expect actual +' cat >input <expect <actual && - compare_diff_raw expect actual' +test_expect_success 'N: copy then modify subdirectory' ' + git fast-import actual && + compare_diff_raw expect actual +' cat >input <expect <<-\EOF && +test_expect_success 'N: copy directory by id' ' + cat >expect <<-\EOF && :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc C100 file2/newf file3/newf :100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 C100 file2/oldf file3/oldf EOF - subdir=$(git rev-parse refs/heads/branch^0:file2) && - cat >input <<-INPUT_END && + subdir=$(git rev-parse refs/heads/branch^0:file2) && + cat >input <<-INPUT_END && commit refs/heads/N4 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <actual && - compare_diff_raw expect actual' + git fast-import actual && + compare_diff_raw expect actual +' test_expect_success PIPE 'N: read and copy directory' ' cat >expect <<-\EOF && @@ -1202,14 +1202,13 @@ test_expect_success PIPE 'N: empty directory reads as missing' ' test_cmp expect actual ' -test_expect_success \ - 'N: copy root directory by tree hash' \ - 'cat >expect <<-\EOF && +test_expect_success 'N: copy root directory by tree hash' ' + cat >expect <<-\EOF && :100755 000000 f1fb5da718392694d0076d677d6d0e364c79b0bc 0000000000000000000000000000000000000000 D file3/newf :100644 000000 7123f7f44e39be127c5eb701e5968176ee9d78b1 0000000000000000000000000000000000000000 D file3/oldf EOF - root=$(git rev-parse refs/heads/branch^0^{tree}) && - cat >input <<-INPUT_END && + root=$(git rev-parse refs/heads/branch^0^{tree}) && + cat >input <<-INPUT_END && commit refs/heads/N6 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <actual && - compare_diff_raw expect actual' + git fast-import actual && + compare_diff_raw expect actual +' -test_expect_success \ - 'N: copy root by path' \ - 'cat >expect <<-\EOF && +test_expect_success 'N: copy root by path' ' + cat >expect <<-\EOF && :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc C100 file2/newf oldroot/file2/newf :100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 C100 file2/oldf oldroot/file2/oldf :100755 100755 85df50785d62d3b05ab03d9cbf7e4a0b49449730 85df50785d62d3b05ab03d9cbf7e4a0b49449730 C100 file4 oldroot/file4 :100755 100755 e74b7d465e52746be2b4bae983670711e6e66657 e74b7d465e52746be2b4bae983670711e6e66657 C100 newdir/exec.sh oldroot/newdir/exec.sh :100644 100644 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 C100 newdir/interesting oldroot/newdir/interesting EOF - cat >input <<-INPUT_END && + cat >input <<-INPUT_END && commit refs/heads/N-copy-root-path committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <actual && - compare_diff_raw expect actual' + git fast-import actual && + compare_diff_raw expect actual +' -test_expect_success \ - 'N: delete directory by copying' \ - 'cat >expect <<-\EOF && +test_expect_success 'N: delete directory by copying' ' + cat >expect <<-\EOF && OBJID :100644 000000 OBJID OBJID D foo/bar/qux OBJID :000000 100644 OBJID OBJID A foo/bar/baz :000000 100644 OBJID OBJID A foo/bar/qux EOF - empty_tree=$(git mktree input <<-INPUT_END && + empty_tree=$(git mktree input <<-INPUT_END && commit refs/heads/N-delete committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <actual && - test_cmp expect actual' + test_cmp expect actual +' -test_expect_success \ - 'N: modify copied tree' \ - 'cat >expect <<-\EOF && +test_expect_success 'N: modify copied tree' ' + cat >expect <<-\EOF && :100644 100644 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 C100 newdir/interesting file3/file5 :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc C100 file2/newf file3/newf :100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 C100 file2/oldf file3/oldf EOF - subdir=$(git rev-parse refs/heads/branch^0:file2) && - cat >input <<-INPUT_END && + subdir=$(git rev-parse refs/heads/branch^0:file2) && + cat >input <<-INPUT_END && commit refs/heads/N5 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <actual && - compare_diff_raw expect actual' - -test_expect_success \ - 'N: reject foo/ syntax' \ - 'subdir=$(git rev-parse refs/heads/branch^0:file2) && - test_must_fail git fast-import <<-INPUT_END + git fast-import actual && + compare_diff_raw expect actual +' + +test_expect_success 'N: reject foo/ syntax' ' + subdir=$(git rev-parse refs/heads/branch^0:file2) && + test_must_fail git fast-import <<-INPUT_END commit refs/heads/N5B committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data < $GIT_COMMITTER_DATE data < $GIT_COMMITTER_DATE data < $GIT_COMMITTER_DATE data <expect.foo && - echo hello >expect.bar && - git fast-import <<-SETUP_END && +test_expect_success 'N: copy to root by id and modify' ' + echo "hello, world" >expect.foo && + echo hello >expect.bar && + git fast-import <<-SETUP_END && commit refs/heads/N7 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data < $GIT_COMMITTER_DATE data <actual.foo && - git show N8:foo/bar >actual.bar && - test_cmp expect.foo actual.foo && - test_cmp expect.bar actual.bar' - -test_expect_success \ - 'N: extract subtree' \ - 'branch=$(git rev-parse --verify refs/heads/branch^{tree}) && - cat >input <<-INPUT_END && + git show N8:foo/foo >actual.foo && + git show N8:foo/bar >actual.bar && + test_cmp expect.foo actual.foo && + test_cmp expect.bar actual.bar +' + +test_expect_success 'N: extract subtree' ' + branch=$(git rev-parse --verify refs/heads/branch^{tree}) && + cat >input <<-INPUT_END && commit refs/heads/N9 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect.baz && - echo hello, world >expect.qux && - git fast-import <<-SETUP_END && + git fast-import expect.baz && + echo hello, world >expect.qux && + git fast-import <<-SETUP_END && commit refs/heads/N10 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data < $GIT_COMMITTER_DATE data <actual.baz && - git show N11:bar/qux >actual.qux && - git show N11:bar/quux >actual.quux && - test_cmp expect.baz actual.baz && - test_cmp expect.qux actual.qux && - test_cmp expect.qux actual.quux' + git show N11:bar/baz >actual.baz && + git show N11:bar/qux >actual.qux && + git show N11:bar/quux >actual.quux && + test_cmp expect.baz actual.baz && + test_cmp expect.qux actual.qux && + test_cmp expect.qux actual.quux' ### ### series O @@ -1503,10 +1502,10 @@ D file2/file5 INPUT_END -test_expect_success \ - 'O: comments are all skipped' \ - 'git fast-import input <input <actual && - test_cmp expect actual' +test_expect_success 'O: blank lines not necessary after other commands' ' + git fast-import actual && + test_cmp expect actual +' cat >input <actual && - grep "progress " expect && - test_cmp expect actual' +test_expect_success 'O: progress outputs as requested by input' ' + git fast-import actual && + grep "progress " expect && + test_cmp expect actual +' ### ### series P (gitlinks) @@ -1667,16 +1666,16 @@ M 160000 :6 sub INPUT_END -test_expect_success \ - 'P: superproject & submodule mix' \ - 'git fast-import input <input < $GIT_COMMITTER_DATE first (:3) EOF -test_expect_success \ - 'Q: verify first commit' \ - 'git cat-file commit notes-test~2 | sed 1d >actual && - test_cmp expect actual' +test_expect_success 'Q: verify first commit' ' + git cat-file commit notes-test~2 | sed 1d >actual && + test_cmp expect actual +' cat >expect < $GIT_COMMITTER_DATE second (:5) EOF -test_expect_success \ - 'Q: verify second commit' \ - 'git cat-file commit notes-test^ | sed 1d >actual && - test_cmp expect actual' +test_expect_success 'Q: verify second commit' ' + git cat-file commit notes-test^ | sed 1d >actual && + test_cmp expect actual +' cat >expect < $GIT_COMMITTER_DATE third (:6) EOF -test_expect_success \ - 'Q: verify third commit' \ - 'git cat-file commit notes-test | sed 1d >actual && - test_cmp expect actual' +test_expect_success 'Q: verify third commit' ' + git cat-file commit notes-test | sed 1d >actual && + test_cmp expect actual +' cat >expect < $GIT_COMMITTER_DATE @@ -1936,10 +1937,10 @@ committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE notes (:9) EOF -test_expect_success \ - 'Q: verify first notes commit' \ - 'git cat-file commit refs/notes/foobar~2 | sed 1d >actual && - test_cmp expect actual' +test_expect_success 'Q: verify first notes commit' ' + git cat-file commit refs/notes/foobar~2 | sed 1d >actual && + test_cmp expect actual +' cat >expect.unsorted <expect.unsorted <expect -test_expect_success \ - 'Q: verify first notes tree' \ - 'git cat-file -p refs/notes/foobar~2^{tree} | sed "s/ [0-9a-f]* / /" >actual && - test_cmp expect actual' +test_expect_success 'Q: verify first notes tree' ' + git cat-file -p refs/notes/foobar~2^{tree} | sed "s/ [0-9a-f]* / /" >actual && + test_cmp expect actual +' echo "$note1_data" >expect -test_expect_success \ - 'Q: verify first note for first commit' \ - 'git cat-file blob refs/notes/foobar~2:$commit1 >actual && test_cmp expect actual' +test_expect_success 'Q: verify first note for first commit' ' + git cat-file blob refs/notes/foobar~2:$commit1 >actual && test_cmp expect actual +' echo "$note2_data" >expect -test_expect_success \ - 'Q: verify first note for second commit' \ - 'git cat-file blob refs/notes/foobar~2:$commit2 >actual && test_cmp expect actual' +test_expect_success 'Q: verify first note for second commit' ' + git cat-file blob refs/notes/foobar~2:$commit2 >actual && test_cmp expect actual +' echo "$note3_data" >expect -test_expect_success \ - 'Q: verify first note for third commit' \ - 'git cat-file blob refs/notes/foobar~2:$commit3 >actual && test_cmp expect actual' +test_expect_success 'Q: verify first note for third commit' ' + git cat-file blob refs/notes/foobar~2:$commit3 >actual && test_cmp expect actual +' cat >expect < $GIT_COMMITTER_DATE notes (:10) EOF -test_expect_success \ - 'Q: verify second notes commit' \ - 'git cat-file commit refs/notes/foobar^ | sed 1d >actual && - test_cmp expect actual' +test_expect_success 'Q: verify second notes commit' ' + git cat-file commit refs/notes/foobar^ | sed 1d >actual && + test_cmp expect actual +' cat >expect.unsorted <expect.unsorted <expect -test_expect_success \ - 'Q: verify second notes tree' \ - 'git cat-file -p refs/notes/foobar^^{tree} | sed "s/ [0-9a-f]* / /" >actual && - test_cmp expect actual' +test_expect_success 'Q: verify second notes tree' ' + git cat-file -p refs/notes/foobar^^{tree} | sed "s/ [0-9a-f]* / /" >actual && + test_cmp expect actual +' echo "$note1b_data" >expect -test_expect_success \ - 'Q: verify second note for first commit' \ - 'git cat-file blob refs/notes/foobar^:$commit1 >actual && test_cmp expect actual' +test_expect_success 'Q: verify second note for first commit' ' + git cat-file blob refs/notes/foobar^:$commit1 >actual && test_cmp expect actual +' echo "$note2_data" >expect -test_expect_success \ - 'Q: verify first note for second commit' \ - 'git cat-file blob refs/notes/foobar^:$commit2 >actual && test_cmp expect actual' +test_expect_success 'Q: verify first note for second commit' ' + git cat-file blob refs/notes/foobar^:$commit2 >actual && test_cmp expect actual +' echo "$note3_data" >expect -test_expect_success \ - 'Q: verify first note for third commit' \ - 'git cat-file blob refs/notes/foobar^:$commit3 >actual && test_cmp expect actual' +test_expect_success 'Q: verify first note for third commit' ' + git cat-file blob refs/notes/foobar^:$commit3 >actual && test_cmp expect actual +' cat >expect < $GIT_COMMITTER_DATE @@ -2011,24 +2012,24 @@ committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE notes (:11) EOF -test_expect_success \ - 'Q: verify third notes commit' \ - 'git cat-file commit refs/notes/foobar2 | sed 1d >actual && - test_cmp expect actual' +test_expect_success 'Q: verify third notes commit' ' + git cat-file commit refs/notes/foobar2 | sed 1d >actual && + test_cmp expect actual +' cat >expect.unsorted <expect -test_expect_success \ - 'Q: verify third notes tree' \ - 'git cat-file -p refs/notes/foobar2^{tree} | sed "s/ [0-9a-f]* / /" >actual && - test_cmp expect actual' +test_expect_success 'Q: verify third notes tree' ' + git cat-file -p refs/notes/foobar2^{tree} | sed "s/ [0-9a-f]* / /" >actual && + test_cmp expect actual +' echo "$note1c_data" >expect -test_expect_success \ - 'Q: verify third note for first commit' \ - 'git cat-file blob refs/notes/foobar2:$commit1 >actual && test_cmp expect actual' +test_expect_success 'Q: verify third note for first commit' ' + git cat-file blob refs/notes/foobar2:$commit1 >actual && test_cmp expect actual +' cat >expect < $GIT_COMMITTER_DATE notes (:12) EOF -test_expect_success \ - 'Q: verify fourth notes commit' \ - 'git cat-file commit refs/notes/foobar | sed 1d >actual && - test_cmp expect actual' +test_expect_success 'Q: verify fourth notes commit' ' + git cat-file commit refs/notes/foobar | sed 1d >actual && + test_cmp expect actual +' cat >expect.unsorted <expect -test_expect_success \ - 'Q: verify fourth notes tree' \ - 'git cat-file -p refs/notes/foobar^{tree} | sed "s/ [0-9a-f]* / /" >actual && - test_cmp expect actual' +test_expect_success 'Q: verify fourth notes tree' ' + git cat-file -p refs/notes/foobar^{tree} | sed "s/ [0-9a-f]* / /" >actual && + test_cmp expect actual +' echo "$note2b_data" >expect -test_expect_success \ - 'Q: verify second note for second commit' \ - 'git cat-file blob refs/notes/foobar:$commit2 >actual && test_cmp expect actual' +test_expect_success 'Q: verify second note for second commit' ' + git cat-file blob refs/notes/foobar:$commit2 >actual && test_cmp expect actual +' cat >input <input <input < one.marks && - tail -n +3 marks.out > two.marks && - git fast-import --import-marks=one.marks --import-marks=two.marks one.marks && + tail -n +3 marks.out > two.marks && + git fast-import --import-marks=one.marks --import-marks=two.marks input <input < output && - test_cmp empty output + cat input | git fast-import 2> output && + test_cmp empty output ' test_expect_success 'R: feature done means terminating "done" is mandatory' ' @@ -2609,11 +2610,11 @@ option git non-existing-option EOF test_expect_success 'R: die on unknown option' ' - test_must_fail git fast-import >input echo >>input -test_expect_success \ - 'R: blob bigger than threshold' \ - 'test_create_repo R && - git --git-dir=R/.git fast-import --big-file-threshold=1 actual && - test_cmp_bin expect actual && - a=$(git --git-dir=R/.git rev-parse big-file:big1) && - b=$(git --git-dir=R/.git rev-parse big-file:big2) && - test $a = $b' -test_expect_success \ - 'R: blob appears only once' \ - 'n=$(grep $a verify | wc -l) && - test 1 = $n' +test_expect_success 'R: verify written objects' ' + git --git-dir=R/.git cat-file blob big-file:big1 >actual && + test_cmp_bin expect actual && + a=$(git --git-dir=R/.git rev-parse big-file:big1) && + b=$(git --git-dir=R/.git rev-parse big-file:big2) && + test $a = $b +' + +test_expect_success 'R: blob appears only once' ' + n=$(grep $a verify | wc -l) && + test 1 = $n +' ### ### series S @@ -3088,7 +3090,7 @@ D "" INPUT_END test_expect_success 'U: filedelete root succeeds' ' - git fast-import expect < Date: Thu, 19 Nov 2015 20:09:44 +0100 Subject: modernize t9300: use test_must_fail One test case open-codes a test for an expected failure. Replace it by test_must_fail. Signed-off-by: Johannes Sixt Signed-off-by: Jeff King diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh index 566f7bd..e9c7602 100755 --- a/t/t9300-fast-import.sh +++ b/t/t9300-fast-import.sh @@ -630,20 +630,9 @@ from refs/heads/branch INPUT_END test_expect_success 'F: non-fast-forward update skips' ' - if git fast-import Date: Thu, 19 Nov 2015 20:09:45 +0100 Subject: modernize t9300: use test_must_be_empty Instead of comparing actual output to an empty file, use test_must_be_empty. In addition to the better error message provided by the helper, allocation of an empty file during the setup sequence can be avoided. Signed-off-by: Johannes Sixt Signed-off-by: Jeff King diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh index e9c7602..ceb3db3 100755 --- a/t/t9300-fast-import.sh +++ b/t/t9300-fast-import.sh @@ -47,8 +47,6 @@ file5_data='an inline file. file6_data='#!/bin/sh echo "$@"' ->empty - ### ### series A ### @@ -2320,12 +2318,12 @@ test_expect_success !MINGW 'R: in-stream cat-blob-fd not respected' ' cat-blob $blob EOF test_cmp expect actual.3 && - test_cmp empty actual.1 && + test_must_be_empty actual.1 && git fast-import 3>actual.3 >actual.1 <<-EOF && option cat-blob-fd=3 cat-blob $blob EOF - test_cmp empty actual.3 && + test_must_be_empty actual.3 && test_cmp expect actual.1 ' @@ -2549,7 +2547,7 @@ EOF test_expect_success 'R: quiet option results in no stats being output' ' cat input | git fast-import 2> output && - test_cmp empty output + test_must_be_empty output ' test_expect_success 'R: feature done means terminating "done" is mandatory' ' -- cgit v0.10.2-6-g49f6 From ec2c10bef8e4a586935d350afd06a421bd7d2f80 Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Thu, 19 Nov 2015 20:09:46 +0100 Subject: modernize t9300: wrap lines after && It is customary to have each command in test snippets on its own line. Fix those instances that do not follow this guideline. Signed-off-by: Johannes Sixt Signed-off-by: Jeff King diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh index ceb3db3..c36afdb 100755 --- a/t/t9300-fast-import.sh +++ b/t/t9300-fast-import.sh @@ -130,17 +130,20 @@ test_expect_success 'A: verify tree' ' echo "$file2_data" >expect test_expect_success 'A: verify file2' ' - git cat-file blob master:file2 >actual && test_cmp expect actual + git cat-file blob master:file2 >actual && + test_cmp expect actual ' echo "$file3_data" >expect test_expect_success 'A: verify file3' ' - git cat-file blob master:file3 >actual && test_cmp expect actual + git cat-file blob master:file3 >actual && + test_cmp expect actual ' printf "$file4_data" >expect test_expect_success 'A: verify file4' ' - git cat-file blob master:file4 >actual && test_cmp expect actual + git cat-file blob master:file4 >actual && + test_cmp expect actual ' cat >expect <expect test_expect_success 'Q: verify first note for first commit' ' - git cat-file blob refs/notes/foobar~2:$commit1 >actual && test_cmp expect actual + git cat-file blob refs/notes/foobar~2:$commit1 >actual && + test_cmp expect actual ' echo "$note2_data" >expect test_expect_success 'Q: verify first note for second commit' ' - git cat-file blob refs/notes/foobar~2:$commit2 >actual && test_cmp expect actual + git cat-file blob refs/notes/foobar~2:$commit2 >actual && + test_cmp expect actual ' echo "$note3_data" >expect test_expect_success 'Q: verify first note for third commit' ' - git cat-file blob refs/notes/foobar~2:$commit3 >actual && test_cmp expect actual + git cat-file blob refs/notes/foobar~2:$commit3 >actual && + test_cmp expect actual ' cat >expect <expect test_expect_success 'Q: verify second note for first commit' ' - git cat-file blob refs/notes/foobar^:$commit1 >actual && test_cmp expect actual + git cat-file blob refs/notes/foobar^:$commit1 >actual && + test_cmp expect actual ' echo "$note2_data" >expect test_expect_success 'Q: verify first note for second commit' ' - git cat-file blob refs/notes/foobar^:$commit2 >actual && test_cmp expect actual + git cat-file blob refs/notes/foobar^:$commit2 >actual && + test_cmp expect actual ' echo "$note3_data" >expect test_expect_success 'Q: verify first note for third commit' ' - git cat-file blob refs/notes/foobar^:$commit3 >actual && test_cmp expect actual + git cat-file blob refs/notes/foobar^:$commit3 >actual && + test_cmp expect actual ' cat >expect <expect test_expect_success 'Q: verify third note for first commit' ' - git cat-file blob refs/notes/foobar2:$commit1 >actual && test_cmp expect actual + git cat-file blob refs/notes/foobar2:$commit1 >actual && + test_cmp expect actual ' cat >expect <expect test_expect_success 'Q: verify second note for second commit' ' - git cat-file blob refs/notes/foobar:$commit2 >actual && test_cmp expect actual + git cat-file blob refs/notes/foobar:$commit2 >actual && + test_cmp expect actual ' cat >input < Date: Thu, 19 Nov 2015 20:09:47 +0100 Subject: modernize t9300: use test_when_finished for clean-up A number of clean-ups of test cases are performed outside of test_expect_success. Replace these cases by using test_when_finished. Signed-off-by: Johannes Sixt Signed-off-by: Jeff King diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh index c36afdb..adabd68 100755 --- a/t/t9300-fast-import.sh +++ b/t/t9300-fast-import.sh @@ -344,9 +344,9 @@ M 755 0000000000000000000000000000000000000001 zero1 INPUT_END test_expect_success 'B: fail on invalid blob sha1' ' + test_when_finished "rm -f .git/objects/pack_* .git/objects/index_*" && test_must_fail git fast-import input </dev/null >/dev/null -git prune 2>/dev/null >/dev/null cat >input </dev/null >/dev/null -git prune 2>/dev/null >/dev/null cat >input </dev/null >/dev/null -git prune 2>/dev/null >/dev/null cat >input <input <input <input <input <tmp && cat tmp | cut -f 2 >actual && @@ -921,8 +919,6 @@ test_expect_success 'L: nested tree copy does not corrupt deltas' ' git fsck `git rev-parse L2` ' -git update-ref -d refs/heads/L2 - ### ### series M ### -- cgit v0.10.2-6-g49f6 From 0ca2972345d6de3b9eb845af4b0e9b701af120bd Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Thu, 19 Nov 2015 20:09:48 +0100 Subject: modernize t9300: mark here-doc words to ignore tab indentation In the next commit, we will indent test case preparations. This will require that here-documents ignore the tab indentation. Prepare for this change by marking the here-doc words accordingly. This does not have an effect now, but will remove some noise from the git diff -b output of the next commit. The change here is entirely automated with this perl command: perl -i -lpe 's/(cat.*<<) *((EOF|(EXPECT|INPUT)_END).*$)/$1-$2 &&/' t/t9300-fast-import.sh i.e., inserts a dash between << and the EOF word (and removes blanks that our style guide abhors) and appends the && that will become necessary. Signed-off-by: Johannes Sixt Signed-off-by: Jeff King diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh index adabd68..7586f41 100755 --- a/t/t9300-fast-import.sh +++ b/t/t9300-fast-import.sh @@ -57,7 +57,7 @@ test_expect_success 'empty stream succeeds' ' git fast-import input <input <<-INPUT_END && blob mark :2 data <expect <expect <<-EOF && author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE @@ -118,7 +118,7 @@ test_expect_success 'A: verify commit' ' test_cmp expect actual ' -cat >expect <expect <<-EOF && 100644 blob file2 100644 blob file3 100755 blob file4 @@ -146,7 +146,7 @@ test_expect_success 'A: verify file4' ' test_cmp expect actual ' -cat >expect <expect <<-EOF && object $(git rev-parse refs/heads/master) type commit tag series-A @@ -158,7 +158,7 @@ test_expect_success 'A: verify tag/series-A' ' test_cmp expect actual ' -cat >expect <expect <<-EOF && object $(git rev-parse refs/heads/master:file3) type blob tag series-A-blob @@ -170,7 +170,7 @@ test_expect_success 'A: verify tag/series-A-blob' ' test_cmp expect actual ' -cat >expect <expect <<-EOF && :2 `git rev-parse --verify master:file2` :3 `git rev-parse --verify master:file3` :4 `git rev-parse --verify master:file4` @@ -190,7 +190,7 @@ test_expect_success 'A: verify marks import' ' test_tick new_blob=$(echo testing | git hash-object --stdin) -cat >input <input <<-INPUT_END && tag series-A-blob-2 from $(git rev-parse refs/heads/master:file3) data <expect <expect <<-EOF && object $(git rev-parse refs/heads/master:file3) type blob tag series-A-blob-2 @@ -238,7 +238,7 @@ test_expect_success 'A: tag blob by sha1' ' ' test_tick -cat >input <input <<-INPUT_END && commit refs/heads/verify--import-marks committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && :000000 100755 0000000000000000000000000000000000000000 7123f7f44e39be127c5eb701e5968176ee9d78b1 A copy-of-file2 EOF git diff-tree -M -r master verify--import-marks >actual @@ -274,7 +274,7 @@ mt=$(git hash-object --stdin < /dev/null) : >marks.exp : >tree.exp -cat >input.commit <input.commit <<-EOF && commit refs/heads/verify--dump-marks committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <>input.blob <>input.blob <<-EOF && blob mark :$l data 0 @@ -331,7 +331,7 @@ test_expect_success 'A: export marks with large values' ' ### test_tick -cat >input <input <<-INPUT_END && commit refs/heads/branch mark :1 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE @@ -348,7 +348,7 @@ test_expect_success 'B: fail on invalid blob sha1' ' test_must_fail git fast-import input <input <<-INPUT_END && commit TEMP_TAG committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && commit refs/heads/empty-committer-1 committer <> $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && commit refs/heads/empty-committer-2 committer $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && commit refs/heads/invalid-committer committer Name email> $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && commit refs/heads/invalid-committer committer Name $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && commit refs/heads/invalid-committer committer Name > $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && commit refs/heads/invalid-committer committer Name input <input <<-INPUT_END && commit refs/heads/invalid-committer committer Name $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && commit refs/heads/branch committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && parent `git rev-parse --verify master^0` author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE @@ -507,7 +507,7 @@ test_expect_success 'C: verify commit' ' test_cmp expect actual ' -cat >expect <expect <<-EOF && :000000 100755 0000000000000000000000000000000000000000 f1fb5da718392694d0076d677d6d0e364c79b0bc A file2/newf :100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 R100 file2 file2/oldf :100644 000000 0d92e9f3374ae2947c23aa477cbc68ce598135f1 0000000000000000000000000000000000000000 D file3 @@ -522,7 +522,7 @@ test_expect_success 'C: validate rename result' ' ### test_tick -cat >input <input <<-INPUT_END && commit refs/heads/branch committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && :000000 100755 0000000000000000000000000000000000000000 e74b7d465e52746be2b4bae983670711e6e66657 A newdir/exec.sh :000000 100644 0000000000000000000000000000000000000000 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 A newdir/interesting EOF @@ -575,7 +575,7 @@ test_expect_success 'D: verify file6' ' ### series E ### -cat >input <input <<-INPUT_END && commit refs/heads/branch author $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> Tue Feb 6 11:22:18 2007 -0500 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> Tue Feb 6 12:35:02 2007 -0500 @@ -597,7 +597,7 @@ test_expect_success 'E: verify pack' ' verify_packs ' -cat >expect <expect <<-EOF && author $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> 1170778938 -0500 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1170783302 -0500 @@ -614,7 +614,7 @@ test_expect_success 'E: verify commit' ' old_branch=`git rev-parse --verify branch^0` test_tick -cat >input <input <<-INPUT_END && commit refs/heads/branch committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && tree `git rev-parse branch~1^{tree}` parent `git rev-parse branch~1` author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE @@ -656,7 +656,7 @@ test_expect_success 'F: verify other commit' ' old_branch=`git rev-parse --verify branch^0` test_tick -cat >input <input <<-INPUT_END && commit refs/heads/branch committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && commit refs/heads/H committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && :100755 000000 f1fb5da718392694d0076d677d6d0e364c79b0bc 0000000000000000000000000000000000000000 D file2/newf :100644 000000 7123f7f44e39be127c5eb701e5968176ee9d78b1 0000000000000000000000000000000000000000 D file2/oldf :100755 000000 85df50785d62d3b05ab03d9cbf7e4a0b49449730 0000000000000000000000000000000000000000 D file4 @@ -735,7 +735,7 @@ test_expect_success 'H: verify file' ' ### series I ### -cat >input <input <<-INPUT_END && commit refs/heads/export-boundary committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && .git/objects/pack/pack-.pack: `git rev-parse --verify export-boundary` EOF test_expect_success 'I: verify edge list' ' @@ -761,7 +761,7 @@ test_expect_success 'I: verify edge list' ' ### series J ### -cat >input <input <<-INPUT_END && commit refs/heads/J committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && reset refs/heads/J2 tag wrong_tag @@ -803,7 +803,7 @@ test_expect_success 'J: tag must fail on empty branch' ' ### series K ### -cat >input <input <<-INPUT_END && commit refs/heads/K committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && blob mark :1 data <expect <expect <<-EXPECT_END && :100644 100644 4268632... 55d3a52... M b. :040000 040000 0ae5cac... 443c768... M b :100644 100644 4268632... 55d3a52... M ba @@ -879,7 +879,7 @@ test_expect_success 'L: verify internal tree sorting' ' test_cmp expect output ' -cat >input <input <<-INPUT_END && blob mark :1 data <expect +cat <<-EOF >expect && g/b/f g/b/h EOF @@ -924,7 +924,7 @@ test_expect_success 'L: nested tree copy does not corrupt deltas' ' ### test_tick -cat >input <input <<-INPUT_END && commit refs/heads/M1 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 file2/newf file2/n.e.w.f EOF test_expect_success 'M: rename file in same subdirectory' ' @@ -945,7 +945,7 @@ test_expect_success 'M: rename file in same subdirectory' ' compare_diff_raw expect actual ' -cat >input <input <<-INPUT_END && commit refs/heads/M2 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 file2/newf i/am/new/to/you EOF test_expect_success 'M: rename file to new subdirectory' ' @@ -966,7 +966,7 @@ test_expect_success 'M: rename file to new subdirectory' ' compare_diff_raw expect actual ' -cat >input <input <<-INPUT_END && commit refs/heads/M3 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 i/am/new/to/you other/sub/am/new/to/you EOF test_expect_success 'M: rename subdirectory to new subdirectory' ' @@ -987,7 +987,7 @@ test_expect_success 'M: rename subdirectory to new subdirectory' ' compare_diff_raw expect actual ' -cat >input <input <<-INPUT_END && commit refs/heads/M4 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && :100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 R100 file2/oldf sub/file2/oldf :100755 100755 85df50785d62d3b05ab03d9cbf7e4a0b49449730 85df50785d62d3b05ab03d9cbf7e4a0b49449730 R100 file4 sub/file4 :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 i/am/new/to/you sub/i/am/new/to/you @@ -1018,7 +1018,7 @@ test_expect_success 'M: rename root to subdirectory' ' ### test_tick -cat >input <input <<-INPUT_END && commit refs/heads/N1 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc C100 file2/newf file2/n.e.w.f EOF test_expect_success 'N: copy file in same subdirectory' ' @@ -1039,7 +1039,7 @@ test_expect_success 'N: copy file in same subdirectory' ' compare_diff_raw expect actual ' -cat >input <input <<-INPUT_END && commit refs/heads/N2 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && :100644 100644 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 C100 newdir/interesting file3/file5 :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc C100 file2/newf file3/newf :100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 C100 file2/oldf file3/oldf @@ -1073,7 +1073,7 @@ test_expect_success 'N: copy then modify subdirectory' ' compare_diff_raw expect actual ' -cat >input <input <<-INPUT_END && commit refs/heads/N3 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && #we will commit refs/heads/O1 # -- ignore all of this text @@ -1493,7 +1493,7 @@ test_expect_success 'O: comments are all skipped' ' test `git rev-parse N3` = `git rev-parse O1` ' -cat >input <input <<-INPUT_END && commit refs/heads/O2 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && commit refs/heads/O3 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-INPUT_END && string of empty @@ -1562,7 +1562,7 @@ test_expect_success 'O: blank lines not necessary after other commands' ' test_cmp expect actual ' -cat >input <input <<-INPUT_END && commit refs/heads/O4 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && blob mark :1 data 10 @@ -1670,7 +1670,7 @@ test_expect_success 'P: superproject & submodule mix' ' SUBLAST=$(git rev-parse --verify sub) SUBPREV=$(git rev-parse --verify sub^) -cat >input <input <<-INPUT_END && blob mark :1 data <input <input <<-INPUT_END && commit refs/heads/subuse3 mark :1 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE @@ -1728,7 +1728,7 @@ test_expect_success 'P: fail on inline gitlink' ' ' test_tick -cat >input <input <<-INPUT_END && blob mark :1 data <input <input <<-INPUT_END && blob mark :2 data <expect <expect <<-EOF && author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE @@ -1898,7 +1898,7 @@ test_expect_success 'Q: verify first commit' ' test_cmp expect actual ' -cat >expect <expect <<-EOF && parent $commit1 author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE @@ -1910,7 +1910,7 @@ test_expect_success 'Q: verify second commit' ' test_cmp expect actual ' -cat >expect <expect <<-EOF && parent $commit2 author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE @@ -1922,7 +1922,7 @@ test_expect_success 'Q: verify third commit' ' test_cmp expect actual ' -cat >expect <expect <<-EOF && author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE @@ -1933,7 +1933,7 @@ test_expect_success 'Q: verify first notes commit' ' test_cmp expect actual ' -cat >expect.unsorted <expect.unsorted <<-EOF && 100644 blob $commit1 100644 blob $commit2 100644 blob $commit3 @@ -1962,7 +1962,7 @@ test_expect_success 'Q: verify first note for third commit' ' test_cmp expect actual ' -cat >expect <expect <<-EOF && parent `git rev-parse --verify refs/notes/foobar~2` author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE @@ -1974,7 +1974,7 @@ test_expect_success 'Q: verify second notes commit' ' test_cmp expect actual ' -cat >expect.unsorted <expect.unsorted <<-EOF && 100644 blob $commit1 100644 blob $commit2 100644 blob $commit3 @@ -2003,7 +2003,7 @@ test_expect_success 'Q: verify first note for third commit' ' test_cmp expect actual ' -cat >expect <expect <<-EOF && author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE @@ -2014,7 +2014,7 @@ test_expect_success 'Q: verify third notes commit' ' test_cmp expect actual ' -cat >expect.unsorted <expect.unsorted <<-EOF && 100644 blob $commit1 EOF cat expect.unsorted | sort >expect @@ -2029,7 +2029,7 @@ test_expect_success 'Q: verify third note for first commit' ' test_cmp expect actual ' -cat >expect <expect <<-EOF && parent `git rev-parse --verify refs/notes/foobar^` author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE @@ -2041,7 +2041,7 @@ test_expect_success 'Q: verify fourth notes commit' ' test_cmp expect actual ' -cat >expect.unsorted <expect.unsorted <<-EOF && 100644 blob $commit2 EOF cat expect.unsorted | sort >expect @@ -2056,7 +2056,7 @@ test_expect_success 'Q: verify second note for second commit' ' test_cmp expect actual ' -cat >input <input <<-EOF && reset refs/heads/Q0 commit refs/heads/note-Q0 @@ -2077,7 +2077,7 @@ test_expect_success 'Q: deny note on empty branch' ' ### series R (feature and option) ### -cat >input <input <<-EOF && feature no-such-feature-exists EOF @@ -2085,7 +2085,7 @@ test_expect_success 'R: abort on unsupported feature' ' test_must_fail git fast-import input <input <<-EOF && feature date-format=now EOF @@ -2093,7 +2093,7 @@ test_expect_success 'R: supported feature is accepted' ' git fast-import input << EOF +cat >input <<-EOF && blob data 3 hi @@ -2104,7 +2104,7 @@ test_expect_success 'R: abort on receiving feature after data command' ' test_must_fail git fast-import input << EOF +cat >input <<-EOF && feature import-marks=git.marks feature import-marks=git2.marks EOF @@ -2113,7 +2113,7 @@ test_expect_success 'R: only one import-marks feature allowed per stream' ' test_must_fail git fast-import input << EOF +cat >input <<-EOF && feature export-marks=git.marks blob mark :1 @@ -2234,7 +2234,7 @@ test_expect_success 'R: feature import-marks-if-exists' ' test_cmp expect io.marks ' -cat >input << EOF +cat >input <<-EOF && feature import-marks=marks.out feature export-marks=marks.new EOF @@ -2244,7 +2244,7 @@ test_expect_success 'R: import to output marks works without any content' ' test_cmp marks.out marks.new ' -cat >input <input <<-EOF && feature import-marks=nonexistent.marks feature export-marks=marks.new EOF @@ -2255,7 +2255,7 @@ test_expect_success 'R: import marks prefers commandline marks file over the str ' -cat >input <input <<-EOF && feature import-marks=nonexistent.marks feature export-marks=combined.marks EOF @@ -2267,7 +2267,7 @@ test_expect_success 'R: multiple --import-marks= should be honoured' ' test_cmp marks.out combined.marks ' -cat >input <input <<-EOF && feature relative-marks feature import-marks=relative.in feature export-marks=relative.out @@ -2280,7 +2280,7 @@ test_expect_success 'R: feature relative-marks should be honoured' ' test_cmp marks.new .git/info/fast-import/relative.out ' -cat >input <input <<-EOF && feature relative-marks feature import-marks=relative.in feature no-relative-marks @@ -2549,7 +2549,7 @@ test_expect_success PIPE 'R: print staged blob within commit' ' test_cmp expect actual ' -cat >input << EOF +cat >input <<-EOF && option git quiet blob data 3 @@ -2604,7 +2604,7 @@ test_expect_success 'R: terminating "done" within commit' ' test_cmp expect actual ' -cat >input <input <<-EOF && option git non-existing-option EOF @@ -2624,7 +2624,7 @@ test_expect_success 'R: die on invalid option argument' ' test_must_fail git fast-import --depth="5 elephants" input <input <<-EOF && option non-existing-vcs non-existing-option EOF @@ -2637,7 +2637,7 @@ test_expect_success 'R: ignore non-git options' ' ## blobsize=$((2*1024*1024 + 53)) test-genrandom bar $blobsize >expect -cat >input <input <<-INPUT_END && commit refs/heads/big-file committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <>input -cat >>input <>input <<-INPUT_END && M 644 inline big2 data $blobsize INPUT_END @@ -2713,7 +2713,7 @@ test_expect_success 'R: blob appears only once' ' # test_tick -cat >input <input <<-INPUT_END && commit refs/heads/S mark :301 committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE @@ -3002,7 +3002,7 @@ test_expect_success 'T: empty reset doesnt delete branch' ' ### series U (filedelete) ### -cat >input <input <<-INPUT_END && commit refs/heads/U committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <input <input <<-INPUT_END && commit refs/heads/U committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && :100644 000000 2907ebb4bf85d91bf0716bb3bd8a68ef48d6da76 0000000000000000000000000000000000000000 D good/night.txt EOF @@ -3052,7 +3052,7 @@ test_expect_success 'U: validate file delete result' ' compare_diff_raw expect actual ' -cat >input <input <<-INPUT_END && commit refs/heads/U committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && :100644 000000 69cb75792f55123d8389c156b0b41c2ff00ed507 0000000000000000000000000000000000000000 D good/bye.txt EOF @@ -3077,7 +3077,7 @@ test_expect_success 'U: validate directory delete result' ' compare_diff_raw expect actual ' -cat >input <input <<-INPUT_END && commit refs/heads/U committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE data <expect <expect <<-EOF && :100644 000000 c18147dc648481eeb65dc5e66628429a64843327 0000000000000000000000000000000000000000 D hello.c EOF -- cgit v0.10.2-6-g49f6 From 68297e0fd889ae4f99b184e1dbd0fd3ed5f09493 Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Thu, 19 Nov 2015 20:09:49 +0100 Subject: modernize t9300: move test preparations into test_expect_success Our usual style these days is to execute everything inside test_expect_success. Make it so. Signed-off-by: Johannes Sixt Signed-off-by: Jeff King diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh index 7586f41..14a9384 100755 --- a/t/t9300-fast-import.sh +++ b/t/t9300-fast-import.sh @@ -51,54 +51,53 @@ echo "$@"' ### series A ### -test_tick - test_expect_success 'empty stream succeeds' ' git fast-import input <<-INPUT_END && -blob -mark :2 -data < $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + blob + mark :2 + data < $GIT_COMMITTER_DATE + data <expect <<-EOF && -author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE - -initial -EOF test_expect_success 'A: verify commit' ' + cat >expect <<-EOF && + author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + + initial + EOF git cat-file commit master | sed 1d >actual && test_cmp expect actual ' -cat >expect <<-EOF && -100644 blob file2 -100644 blob file3 -100755 blob file4 -EOF test_expect_success 'A: verify tree' ' + cat >expect <<-EOF && + 100644 blob file2 + 100644 blob file3 + 100755 blob file4 + EOF git cat-file -p master^{tree} | sed "s/ [0-9a-f]* / /" >actual && test_cmp expect actual ' -echo "$file2_data" >expect test_expect_success 'A: verify file2' ' + echo "$file2_data" >expect && git cat-file blob master:file2 >actual && test_cmp expect actual ' -echo "$file3_data" >expect test_expect_success 'A: verify file3' ' + echo "$file3_data" >expect && git cat-file blob master:file3 >actual && test_cmp expect actual ' -printf "$file4_data" >expect test_expect_success 'A: verify file4' ' + printf "$file4_data" >expect && git cat-file blob master:file4 >actual && test_cmp expect actual ' -cat >expect <<-EOF && -object $(git rev-parse refs/heads/master) -type commit -tag series-A - -An annotated tag without a tagger -EOF test_expect_success 'A: verify tag/series-A' ' + cat >expect <<-EOF && + object $(git rev-parse refs/heads/master) + type commit + tag series-A + + An annotated tag without a tagger + EOF git cat-file tag tags/series-A >actual && test_cmp expect actual ' -cat >expect <<-EOF && -object $(git rev-parse refs/heads/master:file3) -type blob -tag series-A-blob - -An annotated tag that annotates a blob. -EOF test_expect_success 'A: verify tag/series-A-blob' ' + cat >expect <<-EOF && + object $(git rev-parse refs/heads/master:file3) + type blob + tag series-A-blob + + An annotated tag that annotates a blob. + EOF git cat-file tag tags/series-A-blob >actual && test_cmp expect actual ' -cat >expect <<-EOF && -:2 `git rev-parse --verify master:file2` -:3 `git rev-parse --verify master:file3` -:4 `git rev-parse --verify master:file4` -:5 `git rev-parse --verify master^0` -EOF test_expect_success 'A: verify marks output' ' + cat >expect <<-EOF && + :2 `git rev-parse --verify master:file2` + :3 `git rev-parse --verify master:file3` + :4 `git rev-parse --verify master:file4` + :5 `git rev-parse --verify master^0` + EOF test_cmp expect marks.out ' @@ -188,68 +187,69 @@ test_expect_success 'A: verify marks import' ' test_cmp expect marks.new ' -test_tick -new_blob=$(echo testing | git hash-object --stdin) -cat >input <<-INPUT_END && -tag series-A-blob-2 -from $(git rev-parse refs/heads/master:file3) -data < 0 +0000 -data 0 -M 644 :6 new_blob -#pretend we got sha1 from fast-import -ls "new_blob" - -tag series-A-blob-3 -from $new_blob -data <expect <<-EOF && -object $(git rev-parse refs/heads/master:file3) -type blob -tag series-A-blob-2 - -Tag blob by sha1. -object $new_blob -type blob -tag series-A-blob-3 - -Tag new_blob. -EOF - test_expect_success 'A: tag blob by sha1' ' + test_tick && + new_blob=$(echo testing | git hash-object --stdin) && + cat >input <<-INPUT_END && + tag series-A-blob-2 + from $(git rev-parse refs/heads/master:file3) + data < 0 +0000 + data 0 + M 644 :6 new_blob + #pretend we got sha1 from fast-import + ls "new_blob" + + tag series-A-blob-3 + from $new_blob + data <expect <<-EOF && + object $(git rev-parse refs/heads/master:file3) + type blob + tag series-A-blob-2 + + Tag blob by sha1. + object $new_blob + type blob + tag series-A-blob-3 + + Tag new_blob. + EOF + git fast-import actual && git cat-file tag tags/series-A-blob-3 >>actual && test_cmp expect actual ' -test_tick -cat >input <<-INPUT_END && -commit refs/heads/verify--import-marks -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/verify--import-marks + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -:000000 100755 0000000000000000000000000000000000000000 7123f7f44e39be127c5eb701e5968176ee9d78b1 A copy-of-file2 -EOF -git diff-tree -M -r master verify--import-marks >actual test_expect_success 'A: verify diff' ' + cat >expect <<-EOF && + :000000 100755 0000000000000000000000000000000000000000 7123f7f44e39be127c5eb701e5968176ee9d78b1 A copy-of-file2 + EOF + git diff-tree -M -r master verify--import-marks >actual && compare_diff_raw expect actual && test `git rev-parse --verify master:file2` \ = `git rev-parse --verify verify--import-marks:copy-of-file2` ' -test_tick -mt=$(git hash-object --stdin < /dev/null) -: >input.blob -: >marks.exp -: >tree.exp - -cat >input.commit <<-EOF && -commit refs/heads/verify--dump-marks -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <>input.blob <<-EOF && -blob -mark :$l -data 0 -blob -mark :$m -data 0 -blob -mark :$n -data 0 -EOF - echo "M 100644 :$l l$i" >>input.commit - echo "M 100644 :$m m$i" >>input.commit - echo "M 100644 :$n n$i" >>input.commit - - echo ":$l $mt" >>marks.exp - echo ":$m $mt" >>marks.exp - echo ":$n $mt" >>marks.exp - - printf "100644 blob $mt\tl$i\n" >>tree.exp - printf "100644 blob $mt\tm$i\n" >>tree.exp - printf "100644 blob $mt\tn$i\n" >>tree.exp - - l=$(($l + $l)) - m=$(($m + $m)) - n=$(($l + $n)) - - i=$((1 + $i)) -done - -sort tree.exp > tree.exp_s - test_expect_success 'A: export marks with large values' ' + test_tick && + mt=$(git hash-object --stdin < /dev/null) && + >input.blob && + >marks.exp && + >tree.exp && + + cat >input.commit <<-EOF && + commit refs/heads/verify--dump-marks + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <>input.blob <<-EOF && + blob + mark :$l + data 0 + blob + mark :$m + data 0 + blob + mark :$n + data 0 + EOF + echo "M 100644 :$l l$i" >>input.commit && + echo "M 100644 :$m m$i" >>input.commit && + echo "M 100644 :$n n$i" >>input.commit && + + echo ":$l $mt" >>marks.exp && + echo ":$m $mt" >>marks.exp && + echo ":$n $mt" >>marks.exp && + + printf "100644 blob $mt\tl$i\n" >>tree.exp && + printf "100644 blob $mt\tm$i\n" >>tree.exp && + printf "100644 blob $mt\tn$i\n" >>tree.exp && + + l=$(($l + $l)) && + m=$(($m + $m)) && + n=$(($l + $n)) && + + i=$((1 + $i)) || return 1 + done && + + sort tree.exp > tree.exp_s && + cat input.blob input.commit | git fast-import --export-marks=marks.large && git ls-tree refs/heads/verify--dump-marks >tree.out && test_cmp tree.exp_s tree.out && @@ -330,35 +328,37 @@ test_expect_success 'A: export marks with large values' ' ### series B ### -test_tick -cat >input <<-INPUT_END && -commit refs/heads/branch -mark :1 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/branch + mark :1 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -commit TEMP_TAG -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit TEMP_TAG + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -commit refs/heads/empty-committer-1 -committer <> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/empty-committer-1 + committer <> $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -commit refs/heads/empty-committer-2 -committer $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/empty-committer-2 + committer $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -commit refs/heads/invalid-committer -committer Name email> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/invalid-committer + committer Name email> $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -commit refs/heads/invalid-committer -committer Name $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/invalid-committer + committer Name $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -commit refs/heads/invalid-committer -committer Name > $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/invalid-committer + committer Name > $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -commit refs/heads/invalid-committer -committer Name input <<-INPUT_END && + commit refs/heads/invalid-committer + committer Name input <<-INPUT_END && -commit refs/heads/invalid-committer -committer Name $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/invalid-committer + committer Name $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -commit refs/heads/branch -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/branch + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -parent `git rev-parse --verify master^0` -author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE - -second -EOF test_expect_success 'C: verify commit' ' + cat >expect <<-EOF && + parent `git rev-parse --verify master^0` + author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + + second + EOF + git cat-file commit branch | sed 1d >actual && test_cmp expect actual ' -cat >expect <<-EOF && -:000000 100755 0000000000000000000000000000000000000000 f1fb5da718392694d0076d677d6d0e364c79b0bc A file2/newf -:100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 R100 file2 file2/oldf -:100644 000000 0d92e9f3374ae2947c23aa477cbc68ce598135f1 0000000000000000000000000000000000000000 D file3 -EOF -git diff-tree -M -r master branch >actual test_expect_success 'C: validate rename result' ' + cat >expect <<-EOF && + :000000 100755 0000000000000000000000000000000000000000 f1fb5da718392694d0076d677d6d0e364c79b0bc A file2/newf + :100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 R100 file2 file2/oldf + :100644 000000 0d92e9f3374ae2947c23aa477cbc68ce598135f1 0000000000000000000000000000000000000000 D file3 + EOF + git diff-tree -M -r master branch >actual && compare_diff_raw expect actual ' @@ -521,27 +530,28 @@ test_expect_success 'C: validate rename result' ' ### series D ### -test_tick -cat >input <<-INPUT_END && -commit refs/heads/branch -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/branch + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -:000000 100755 0000000000000000000000000000000000000000 e74b7d465e52746be2b4bae983670711e6e66657 A newdir/exec.sh -:000000 100644 0000000000000000000000000000000000000000 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 A newdir/interesting -EOF -git diff-tree -M -r branch^ branch >actual test_expect_success 'D: validate new files added' ' + cat >expect <<-EOF && + :000000 100755 0000000000000000000000000000000000000000 e74b7d465e52746be2b4bae983670711e6e66657 A newdir/exec.sh + :000000 100644 0000000000000000000000000000000000000000 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 A newdir/interesting + EOF + git diff-tree -M -r branch^ branch >actual && compare_diff_raw expect actual ' -echo "$file5_data" >expect test_expect_success 'D: verify file5' ' + echo "$file5_data" >expect && git cat-file blob branch:newdir/interesting >actual && test_cmp expect actual ' -echo "$file6_data" >expect test_expect_success 'D: verify file6' ' + echo "$file6_data" >expect && git cat-file blob branch:newdir/exec.sh >actual && test_cmp expect actual ' @@ -575,18 +585,19 @@ test_expect_success 'D: verify file6' ' ### series E ### -cat >input <<-INPUT_END && -commit refs/heads/branch -author $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> Tue Feb 6 11:22:18 2007 -0500 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> Tue Feb 6 12:35:02 2007 -0500 -data <input <<-INPUT_END && + commit refs/heads/branch + author $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> Tue Feb 6 11:22:18 2007 -0500 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> Tue Feb 6 12:35:02 2007 -0500 + data <expect <<-EOF && -author $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> 1170778938 -0500 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1170783302 -0500 - -RFC 2822 type date -EOF test_expect_success 'E: verify commit' ' + cat >expect <<-EOF && + author $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> 1170778938 -0500 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1170783302 -0500 + + RFC 2822 type date + EOF git cat-file commit branch | sed 1,2d >actual && test_cmp expect actual ' @@ -612,22 +623,23 @@ test_expect_success 'E: verify commit' ' ### series F ### -old_branch=`git rev-parse --verify branch^0` -test_tick -cat >input <<-INPUT_END && -commit refs/heads/branch -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/branch + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -tree `git rev-parse branch~1^{tree}` -parent `git rev-parse branch~1` -author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE - -losing things already? -EOF test_expect_success 'F: verify other commit' ' + cat >expect <<-EOF && + tree `git rev-parse branch~1^{tree}` + parent `git rev-parse branch~1` + author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + + losing things already? + EOF git cat-file commit other >actual && test_cmp expect actual ' @@ -654,19 +666,19 @@ test_expect_success 'F: verify other commit' ' ### series G ### -old_branch=`git rev-parse --verify branch^0` -test_tick -cat >input <<-INPUT_END && -commit refs/heads/branch -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/branch + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -commit refs/heads/H -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/H + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -:100755 000000 f1fb5da718392694d0076d677d6d0e364c79b0bc 0000000000000000000000000000000000000000 D file2/newf -:100644 000000 7123f7f44e39be127c5eb701e5968176ee9d78b1 0000000000000000000000000000000000000000 D file2/oldf -:100755 000000 85df50785d62d3b05ab03d9cbf7e4a0b49449730 0000000000000000000000000000000000000000 D file4 -:100644 100644 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 R100 newdir/interesting h/e/l/lo -:100755 000000 e74b7d465e52746be2b4bae983670711e6e66657 0000000000000000000000000000000000000000 D newdir/exec.sh -EOF -git diff-tree -M -r H^ H >actual test_expect_success 'H: validate old files removed, new files added' ' + cat >expect <<-EOF && + :100755 000000 f1fb5da718392694d0076d677d6d0e364c79b0bc 0000000000000000000000000000000000000000 D file2/newf + :100644 000000 7123f7f44e39be127c5eb701e5968176ee9d78b1 0000000000000000000000000000000000000000 D file2/oldf + :100755 000000 85df50785d62d3b05ab03d9cbf7e4a0b49449730 0000000000000000000000000000000000000000 D file4 + :100644 100644 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 R100 newdir/interesting h/e/l/lo + :100755 000000 e74b7d465e52746be2b4bae983670711e6e66657 0000000000000000000000000000000000000000 D newdir/exec.sh + EOF + git diff-tree -M -r H^ H >actual && compare_diff_raw expect actual ' -echo "$file5_data" >expect test_expect_success 'H: verify file' ' + echo "$file5_data" >expect && git cat-file blob H:h/e/l/lo >actual && test_cmp expect actual ' @@ -735,24 +747,24 @@ test_expect_success 'H: verify file' ' ### series I ### -cat >input <<-INPUT_END && -commit refs/heads/export-boundary -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/export-boundary + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -.git/objects/pack/pack-.pack: `git rev-parse --verify export-boundary` -EOF test_expect_success 'I: verify edge list' ' + cat >expect <<-EOF && + .git/objects/pack/pack-.pack: `git rev-parse --verify export-boundary` + EOF sed -e s/pack-.*pack/pack-.pack/ edges.list >actual && test_cmp expect actual ' @@ -761,25 +773,25 @@ test_expect_success 'I: verify edge list' ' ### series J ### -cat >input <<-INPUT_END && -commit refs/heads/J -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/J + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -reset refs/heads/J2 - -tag wrong_tag -from refs/heads/J2 -data <input <<-INPUT_END && + reset refs/heads/J2 + + tag wrong_tag + from refs/heads/J2 + data <input <<-INPUT_END && -commit refs/heads/K -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/K + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -blob -mark :1 -data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data <expect <<-EXPECT_END && -:100644 100644 4268632... 55d3a52... M b. -:040000 040000 0ae5cac... 443c768... M b -:100644 100644 4268632... 55d3a52... M ba -EXPECT_END +test_expect_success 'L: verify internal tree sorting' ' + cat >input <<-INPUT_END && + blob + mark :1 + data < $GIT_COMMITTER_DATE + data < $GIT_COMMITTER_DATE + data <expect <<-EXPECT_END && + :100644 100644 4268632... 55d3a52... M b. + :040000 040000 0ae5cac... 443c768... M b + :100644 100644 4268632... 55d3a52... M ba + EXPECT_END + + git fast-import output && + test_cmp expect output +' + +test_expect_success 'L: nested tree copy does not corrupt deltas' ' + cat >input <<-INPUT_END && + blob + mark :1 + data < 1112912473 -0700 + data <output && - test_cmp expect output -' + commit refs/heads/L2 + committer C O Mitter 1112912473 -0700 + data <input <<-INPUT_END && -blob -mark :1 -data < 1112912473 -0700 -data < 1112912473 -0700 -data <expect && -g/b/f -g/b/h -EOF + cat >expect <<-\EOF && + g/b/f + g/b/h + EOF -test_expect_success 'L: nested tree copy does not corrupt deltas' ' test_when_finished "git update-ref -d refs/heads/L2" && git fast-import tmp && @@ -923,90 +936,90 @@ test_expect_success 'L: nested tree copy does not corrupt deltas' ' ### series M ### -test_tick -cat >input <<-INPUT_END && -commit refs/heads/M1 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/M1 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -:100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 file2/newf file2/n.e.w.f -EOF -test_expect_success 'M: rename file in same subdirectory' ' + cat >expect <<-EOF && + :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 file2/newf file2/n.e.w.f + EOF git fast-import actual && compare_diff_raw expect actual ' -cat >input <<-INPUT_END && -commit refs/heads/M2 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/M2 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -:100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 file2/newf i/am/new/to/you -EOF -test_expect_success 'M: rename file to new subdirectory' ' + cat >expect <<-EOF && + :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 file2/newf i/am/new/to/you + EOF git fast-import actual && compare_diff_raw expect actual ' -cat >input <<-INPUT_END && -commit refs/heads/M3 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/M3 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -:100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 i/am/new/to/you other/sub/am/new/to/you -EOF -test_expect_success 'M: rename subdirectory to new subdirectory' ' + cat >expect <<-EOF && + :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 i/am/new/to/you other/sub/am/new/to/you + EOF git fast-import actual && compare_diff_raw expect actual ' -cat >input <<-INPUT_END && -commit refs/heads/M4 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/M4 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -:100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 R100 file2/oldf sub/file2/oldf -:100755 100755 85df50785d62d3b05ab03d9cbf7e4a0b49449730 85df50785d62d3b05ab03d9cbf7e4a0b49449730 R100 file4 sub/file4 -:100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 i/am/new/to/you sub/i/am/new/to/you -:100755 100755 e74b7d465e52746be2b4bae983670711e6e66657 e74b7d465e52746be2b4bae983670711e6e66657 R100 newdir/exec.sh sub/newdir/exec.sh -:100644 100644 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 R100 newdir/interesting sub/newdir/interesting -EOF -test_expect_success 'M: rename root to subdirectory' ' + cat >expect <<-EOF && + :100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 R100 file2/oldf sub/file2/oldf + :100755 100755 85df50785d62d3b05ab03d9cbf7e4a0b49449730 85df50785d62d3b05ab03d9cbf7e4a0b49449730 R100 file4 sub/file4 + :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 i/am/new/to/you sub/i/am/new/to/you + :100755 100755 e74b7d465e52746be2b4bae983670711e6e66657 e74b7d465e52746be2b4bae983670711e6e66657 R100 newdir/exec.sh sub/newdir/exec.sh + :100644 100644 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 R100 newdir/interesting sub/newdir/interesting + EOF git fast-import actual && cat actual && @@ -1017,81 +1030,81 @@ test_expect_success 'M: rename root to subdirectory' ' ### series N ### -test_tick -cat >input <<-INPUT_END && -commit refs/heads/N1 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/N1 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -:100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc C100 file2/newf file2/n.e.w.f -EOF -test_expect_success 'N: copy file in same subdirectory' ' + cat >expect <<-EOF && + :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc C100 file2/newf file2/n.e.w.f + EOF git fast-import actual && compare_diff_raw expect actual ' -cat >input <<-INPUT_END && -commit refs/heads/N2 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/N2 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE + data <expect <<-EOF && -:100644 100644 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 C100 newdir/interesting file3/file5 -:100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc C100 file2/newf file3/newf -:100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 C100 file2/oldf file3/oldf -EOF -test_expect_success 'N: copy then modify subdirectory' ' + cat >expect <<-EOF && + :100644 100644 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 C100 newdir/interesting file3/file5 + :100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc C100 file2/newf file3/newf + :100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 C100 file2/oldf file3/oldf + EOF git fast-import actual && compare_diff_raw expect actual ' -cat >input <<-INPUT_END && -commit refs/heads/N3 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/N3 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -#we will -commit refs/heads/O1 -# -- ignore all of this text -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -# $GIT_COMMITTER_NAME has inserted here for his benefit. -data <input <<-INPUT_END && + #we will + commit refs/heads/O1 + # -- ignore all of this text + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + # $GIT_COMMITTER_NAME has inserted here for his benefit. + data <input <<-INPUT_END && -commit refs/heads/O2 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/O2 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -commit refs/heads/O3 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data <expect <<-INPUT_END && -string -of -empty -commits -INPUT_END test_expect_success 'O: blank lines not necessary after other commands' ' + cat >input <<-INPUT_END && + commit refs/heads/O3 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data < $GIT_COMMITTER_DATE + data < $GIT_COMMITTER_DATE + data < $GIT_COMMITTER_DATE + data <expect <<-INPUT_END && + string + of + empty + commits + INPUT_END + git fast-import input <<-INPUT_END && -commit refs/heads/O4 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/O4 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data < $GIT_COMMITTER_DATE + data < $GIT_COMMITTER_DATE + data < $GIT_COMMITTER_DATE + data <actual && grep "progress " expect && test_cmp expect actual ' -### -### series P (gitlinks) -### +### +### series P (gitlinks) +### + +test_expect_success 'P: superproject & submodule mix' ' + cat >input <<-INPUT_END && + blob + mark :1 + data 10 + test file + + reset refs/heads/sub + commit refs/heads/sub + mark :2 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data 12 + sub_initial + M 100644 :1 file + + blob + mark :3 + data < $GIT_COMMITTER_DATE + data 8 + initial + from refs/heads/master + M 100644 :3 .gitmodules + M 160000 :2 sub + + blob + mark :5 + data 20 + test file + more data + + commit refs/heads/sub + mark :6 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data 11 + sub_second + from :2 + M 100644 :5 file + + commit refs/heads/subuse1 + mark :7 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data 7 + second + from :4 + M 160000 :6 sub + + INPUT_END + + git fast-import input <<-INPUT_END && + blob + mark :1 + data < $GIT_COMMITTER_DATE + data 8 + initial + from refs/heads/master + M 100644 :1 .gitmodules + M 160000 $SUBPREV sub + + commit refs/heads/subuse2 + mark :3 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data 7 + second + from :2 + M 160000 $SUBLAST sub + + INPUT_END + + git branch -D sub && + git gc && + git prune && + git fast-import input <<-INPUT_END && + commit refs/heads/subuse3 + mark :1 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <input <<-INPUT_END && + blob + mark :1 + data < $GIT_COMMITTER_DATE + data <input <<-INPUT_END && + blob + mark :2 + data < $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -blob -mark :1 -data 10 -test file - -reset refs/heads/sub -commit refs/heads/sub -mark :2 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data 12 -sub_initial -M 100644 :1 file - -blob -mark :3 -data < $GIT_COMMITTER_DATE -data 8 -initial -from refs/heads/master -M 100644 :3 .gitmodules -M 160000 :2 sub - -blob -mark :5 -data 20 -test file -more data - -commit refs/heads/sub -mark :6 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data 11 -sub_second -from :2 -M 100644 :5 file - -commit refs/heads/subuse1 -mark :7 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data 7 -second -from :4 -M 160000 :6 sub - -INPUT_END + blob + mark :4 + data $file4_len + $file4_data + commit refs/heads/notes-test + mark :5 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -blob -mark :1 -data < $GIT_COMMITTER_DATE -data 8 -initial -from refs/heads/master -M 100644 :1 .gitmodules -M 160000 $SUBPREV sub - -commit refs/heads/subuse2 -mark :3 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data 7 -second -from :2 -M 160000 $SUBLAST sub - -INPUT_END + commit refs/heads/notes-test + mark :6 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -commit refs/heads/subuse3 -mark :1 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -blob -mark :1 -data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE + data < $GIT_COMMITTER_DATE + data < $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -blob -mark :2 -data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data <expect <<-EOF && -author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + cat >expect <<-EOF && + author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -first (:3) -EOF -test_expect_success 'Q: verify first commit' ' + first (:3) + EOF git cat-file commit notes-test~2 | sed 1d >actual && test_cmp expect actual ' -cat >expect <<-EOF && -parent $commit1 -author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE - -second (:5) -EOF test_expect_success 'Q: verify second commit' ' + cat >expect <<-EOF && + parent $commit1 + author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + + second (:5) + EOF git cat-file commit notes-test^ | sed 1d >actual && test_cmp expect actual ' -cat >expect <<-EOF && -parent $commit2 -author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE - -third (:6) -EOF test_expect_success 'Q: verify third commit' ' + cat >expect <<-EOF && + parent $commit2 + author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + + third (:6) + EOF git cat-file commit notes-test | sed 1d >actual && test_cmp expect actual ' -cat >expect <<-EOF && -author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE - -notes (:9) -EOF test_expect_success 'Q: verify first notes commit' ' + cat >expect <<-EOF && + author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + + notes (:9) + EOF git cat-file commit refs/notes/foobar~2 | sed 1d >actual && test_cmp expect actual ' -cat >expect.unsorted <<-EOF && -100644 blob $commit1 -100644 blob $commit2 -100644 blob $commit3 -EOF -cat expect.unsorted | sort >expect test_expect_success 'Q: verify first notes tree' ' + cat >expect.unsorted <<-EOF && + 100644 blob $commit1 + 100644 blob $commit2 + 100644 blob $commit3 + EOF + cat expect.unsorted | sort >expect && git cat-file -p refs/notes/foobar~2^{tree} | sed "s/ [0-9a-f]* / /" >actual && test_cmp expect actual ' -echo "$note1_data" >expect test_expect_success 'Q: verify first note for first commit' ' + echo "$note1_data" >expect && git cat-file blob refs/notes/foobar~2:$commit1 >actual && test_cmp expect actual ' -echo "$note2_data" >expect test_expect_success 'Q: verify first note for second commit' ' + echo "$note2_data" >expect && git cat-file blob refs/notes/foobar~2:$commit2 >actual && test_cmp expect actual ' -echo "$note3_data" >expect test_expect_success 'Q: verify first note for third commit' ' + echo "$note3_data" >expect && git cat-file blob refs/notes/foobar~2:$commit3 >actual && test_cmp expect actual ' -cat >expect <<-EOF && -parent `git rev-parse --verify refs/notes/foobar~2` -author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE - -notes (:10) -EOF test_expect_success 'Q: verify second notes commit' ' + cat >expect <<-EOF && + parent `git rev-parse --verify refs/notes/foobar~2` + author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + + notes (:10) + EOF git cat-file commit refs/notes/foobar^ | sed 1d >actual && test_cmp expect actual ' -cat >expect.unsorted <<-EOF && -100644 blob $commit1 -100644 blob $commit2 -100644 blob $commit3 -EOF -cat expect.unsorted | sort >expect test_expect_success 'Q: verify second notes tree' ' + cat >expect.unsorted <<-EOF && + 100644 blob $commit1 + 100644 blob $commit2 + 100644 blob $commit3 + EOF + cat expect.unsorted | sort >expect && git cat-file -p refs/notes/foobar^^{tree} | sed "s/ [0-9a-f]* / /" >actual && test_cmp expect actual ' -echo "$note1b_data" >expect test_expect_success 'Q: verify second note for first commit' ' + echo "$note1b_data" >expect && git cat-file blob refs/notes/foobar^:$commit1 >actual && test_cmp expect actual ' -echo "$note2_data" >expect test_expect_success 'Q: verify first note for second commit' ' + echo "$note2_data" >expect && git cat-file blob refs/notes/foobar^:$commit2 >actual && test_cmp expect actual ' -echo "$note3_data" >expect test_expect_success 'Q: verify first note for third commit' ' + echo "$note3_data" >expect && git cat-file blob refs/notes/foobar^:$commit3 >actual && test_cmp expect actual ' -cat >expect <<-EOF && -author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE - -notes (:11) -EOF test_expect_success 'Q: verify third notes commit' ' + cat >expect <<-EOF && + author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + + notes (:11) + EOF git cat-file commit refs/notes/foobar2 | sed 1d >actual && test_cmp expect actual ' -cat >expect.unsorted <<-EOF && -100644 blob $commit1 -EOF -cat expect.unsorted | sort >expect test_expect_success 'Q: verify third notes tree' ' + cat >expect.unsorted <<-EOF && + 100644 blob $commit1 + EOF + cat expect.unsorted | sort >expect && git cat-file -p refs/notes/foobar2^{tree} | sed "s/ [0-9a-f]* / /" >actual && test_cmp expect actual ' -echo "$note1c_data" >expect test_expect_success 'Q: verify third note for first commit' ' + echo "$note1c_data" >expect && git cat-file blob refs/notes/foobar2:$commit1 >actual && test_cmp expect actual ' -cat >expect <<-EOF && -parent `git rev-parse --verify refs/notes/foobar^` -author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE - -notes (:12) -EOF test_expect_success 'Q: verify fourth notes commit' ' + cat >expect <<-EOF && + parent `git rev-parse --verify refs/notes/foobar^` + author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + + notes (:12) + EOF git cat-file commit refs/notes/foobar | sed 1d >actual && test_cmp expect actual ' -cat >expect.unsorted <<-EOF && -100644 blob $commit2 -EOF -cat expect.unsorted | sort >expect test_expect_success 'Q: verify fourth notes tree' ' + cat >expect.unsorted <<-EOF && + 100644 blob $commit2 + EOF + cat expect.unsorted | sort >expect && git cat-file -p refs/notes/foobar^{tree} | sed "s/ [0-9a-f]* / /" >actual && test_cmp expect actual ' -echo "$note2b_data" >expect test_expect_success 'Q: verify second note for second commit' ' + echo "$note2b_data" >expect && git cat-file blob refs/notes/foobar:$commit2 >actual && test_cmp expect actual ' -cat >input <<-EOF && -reset refs/heads/Q0 +test_expect_success 'Q: deny note on empty branch' ' + cat >input <<-EOF && + reset refs/heads/Q0 -commit refs/heads/note-Q0 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE + data <input <<-EOF && -feature no-such-feature-exists -EOF - test_expect_success 'R: abort on unsupported feature' ' + cat >input <<-EOF && + feature no-such-feature-exists + EOF + test_must_fail git fast-import input <<-EOF && -feature date-format=now -EOF - test_expect_success 'R: supported feature is accepted' ' + cat >input <<-EOF && + feature date-format=now + EOF + git fast-import input <<-EOF && -blob -data 3 -hi -feature date-format=now -EOF - test_expect_success 'R: abort on receiving feature after data command' ' + cat >input <<-EOF && + blob + data 3 + hi + feature date-format=now + EOF + test_must_fail git fast-import input <<-EOF && -feature import-marks=git.marks -feature import-marks=git2.marks -EOF - test_expect_success 'R: only one import-marks feature allowed per stream' ' + cat >input <<-EOF && + feature import-marks=git.marks + feature import-marks=git2.marks + EOF + test_must_fail git fast-import input <<-EOF && -feature export-marks=git.marks -blob -mark :1 -data 3 -hi +test_expect_success 'R: export-marks feature results in a marks file being created' ' + cat >input <<-EOF && + feature export-marks=git.marks + blob + mark :1 + data 3 + hi -EOF + EOF -test_expect_success 'R: export-marks feature results in a marks file being created' ' cat input | git fast-import && grep :1 git.marks ' @@ -2234,60 +2248,60 @@ test_expect_success 'R: feature import-marks-if-exists' ' test_cmp expect io.marks ' -cat >input <<-EOF && -feature import-marks=marks.out -feature export-marks=marks.new -EOF - test_expect_success 'R: import to output marks works without any content' ' + cat >input <<-EOF && + feature import-marks=marks.out + feature export-marks=marks.new + EOF + cat input | git fast-import && test_cmp marks.out marks.new ' -cat >input <<-EOF && -feature import-marks=nonexistent.marks -feature export-marks=marks.new -EOF - test_expect_success 'R: import marks prefers commandline marks file over the stream' ' + cat >input <<-EOF && + feature import-marks=nonexistent.marks + feature export-marks=marks.new + EOF + cat input | git fast-import --import-marks=marks.out && test_cmp marks.out marks.new ' -cat >input <<-EOF && -feature import-marks=nonexistent.marks -feature export-marks=combined.marks -EOF - test_expect_success 'R: multiple --import-marks= should be honoured' ' + cat >input <<-EOF && + feature import-marks=nonexistent.marks + feature export-marks=combined.marks + EOF + head -n2 marks.out > one.marks && tail -n +3 marks.out > two.marks && git fast-import --import-marks=one.marks --import-marks=two.marks input <<-EOF && -feature relative-marks -feature import-marks=relative.in -feature export-marks=relative.out -EOF - test_expect_success 'R: feature relative-marks should be honoured' ' + cat >input <<-EOF && + feature relative-marks + feature import-marks=relative.in + feature export-marks=relative.out + EOF + mkdir -p .git/info/fast-import/ && cp marks.new .git/info/fast-import/relative.in && git fast-import input <<-EOF && -feature relative-marks -feature import-marks=relative.in -feature no-relative-marks -feature export-marks=non-relative.out -EOF - test_expect_success 'R: feature no-relative-marks should be honoured' ' + cat >input <<-EOF && + feature relative-marks + feature import-marks=relative.in + feature no-relative-marks + feature export-marks=non-relative.out + EOF + git fast-import input <<-EOF && -option git quiet -blob -data 3 -hi +test_expect_success 'R: quiet option results in no stats being output' ' + cat >input <<-EOF && + option git quiet + blob + data 3 + hi -EOF + EOF -test_expect_success 'R: quiet option results in no stats being output' ' cat input | git fast-import 2> output && test_must_be_empty output ' @@ -2604,11 +2618,11 @@ test_expect_success 'R: terminating "done" within commit' ' test_cmp expect actual ' -cat >input <<-EOF && -option git non-existing-option -EOF - test_expect_success 'R: die on unknown option' ' + cat >input <<-EOF && + option git non-existing-option + EOF + test_must_fail git fast-import input <<-EOF && -option non-existing-vcs non-existing-option -EOF - test_expect_success 'R: ignore non-git options' ' + cat >input <<-EOF && + option non-existing-vcs non-existing-option + EOF + git fast-import expect -cat >input <<-INPUT_END && -commit refs/heads/big-file -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <>input -cat >>input <<-INPUT_END && -M 644 inline big2 -data $blobsize -INPUT_END -cat expect >>input -echo >>input - test_expect_success 'R: blob bigger than threshold' ' + blobsize=$((2*1024*1024 + 53)) && + test-genrandom bar $blobsize >expect && + cat >input <<-INPUT_END && + commit refs/heads/big-file + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <>input && + cat >>input <<-INPUT_END && + M 644 inline big2 + data $blobsize + INPUT_END + cat expect >>input && + echo >>input && + test_create_repo R && git --git-dir=R/.git fast-import --big-file-threshold=1 input <<-INPUT_END && -commit refs/heads/S -mark :301 -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data < $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/S + mark :301 + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data < $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -commit refs/heads/U -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/U + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <input <<-INPUT_END && -commit refs/heads/U -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/U + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -:100644 000000 2907ebb4bf85d91bf0716bb3bd8a68ef48d6da76 0000000000000000000000000000000000000000 D good/night.txt -EOF +test_expect_success 'U: validate file delete result' ' + cat >expect <<-EOF && + :100644 000000 2907ebb4bf85d91bf0716bb3bd8a68ef48d6da76 0000000000000000000000000000000000000000 D good/night.txt + EOF -git diff-tree -M -r U^1 U >actual + git diff-tree -M -r U^1 U >actual && -test_expect_success 'U: validate file delete result' ' compare_diff_raw expect actual ' -cat >input <<-INPUT_END && -commit refs/heads/U -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/U + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -:100644 000000 69cb75792f55123d8389c156b0b41c2ff00ed507 0000000000000000000000000000000000000000 D good/bye.txt -EOF +test_expect_success 'U: validate directory delete result' ' + cat >expect <<-EOF && + :100644 000000 69cb75792f55123d8389c156b0b41c2ff00ed507 0000000000000000000000000000000000000000 D good/bye.txt + EOF -git diff-tree -M -r U^1 U >actual + git diff-tree -M -r U^1 U >actual && -test_expect_success 'U: validate directory delete result' ' compare_diff_raw expect actual ' -cat >input <<-INPUT_END && -commit refs/heads/U -committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE -data <input <<-INPUT_END && + commit refs/heads/U + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <expect <<-EOF && -:100644 000000 c18147dc648481eeb65dc5e66628429a64843327 0000000000000000000000000000000000000000 D hello.c -EOF +test_expect_success 'U: validate root delete result' ' + cat >expect <<-EOF && + :100644 000000 c18147dc648481eeb65dc5e66628429a64843327 0000000000000000000000000000000000000000 D hello.c + EOF -git diff-tree -M -r U^1 U >actual + git diff-tree -M -r U^1 U >actual && -test_expect_success 'U: validate root delete result' ' compare_diff_raw expect actual ' -- cgit v0.10.2-6-g49f6