git fast-import </dev/null
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
blob
mark :2
data <<EOF
verify_packs
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
test_cmp expect actual
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
100644 blob file2
100644 blob file3
100755 blob file4
test_cmp expect actual
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
object $(git rev-parse refs/heads/master)
type commit
tag series-A
test_cmp expect actual
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
object $(git rev-parse refs/heads/master:file3)
type blob
tag series-A-blob
test_cmp expect actual
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
:2 `git rev-parse --verify master:file2`
:3 `git rev-parse --verify master:file3`
:4 `git rev-parse --verify master:file4`
test_tick
new_blob=$(echo testing | git hash-object --stdin)
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
tag series-A-blob-2
from $(git rev-parse refs/heads/master:file3)
data <<EOF
EOF
INPUT_END
-cat >expect <<EOF
+cat >expect <<-EOF &&
object $(git rev-parse refs/heads/master:file3)
type blob
tag series-A-blob-2
'
test_tick
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/verify--import-marks
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
verify_packs
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
:000000 100755 0000000000000000000000000000000000000000 7123f7f44e39be127c5eb701e5968176ee9d78b1 A copy-of-file2
EOF
git diff-tree -M -r master verify--import-marks >actual
: >marks.exp
: >tree.exp
-cat >input.commit <<EOF
+cat >input.commit <<-EOF &&
commit refs/heads/verify--dump-marks
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
m=6
n=7
while test "$i" -lt 27; do
- cat >>input.blob <<EOF
+ cat >>input.blob <<-EOF &&
blob
mark :$l
data 0
###
test_tick
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/branch
mark :1
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
test_must_fail git fast-import <input
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit TEMP_TAG
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
test `git rev-parse master` = `git rev-parse TEMP_TAG^`
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/empty-committer-1
committer <> $GIT_COMMITTER_DATE
data <<COMMIT
test -z "$out"
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/empty-committer-2
committer <a@b.com> $GIT_COMMITTER_DATE
data <<COMMIT
test -z "$out"
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/invalid-committer
committer Name email> $GIT_COMMITTER_DATE
data <<COMMIT
test_must_fail git fast-import <input
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/invalid-committer
committer Name <e<mail> $GIT_COMMITTER_DATE
data <<COMMIT
test_must_fail git fast-import <input
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/invalid-committer
committer Name <email>> $GIT_COMMITTER_DATE
data <<COMMIT
test_must_fail git fast-import <input
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/invalid-committer
committer Name <email $GIT_COMMITTER_DATE
data <<COMMIT
test_must_fail git fast-import <input
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/invalid-committer
committer Name<email> $GIT_COMMITTER_DATE
data <<COMMIT
newf=`echo hi newf | git hash-object -w --stdin`
oldf=`git rev-parse --verify master:file2`
test_tick
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/branch
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
test $oldf = `git rev-parse --verify branch:file2/oldf`
'
-cat >expect <<EOF
+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
test_cmp expect actual
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
:000000 100755 0000000000000000000000000000000000000000 f1fb5da718392694d0076d677d6d0e364c79b0bc A file2/newf
:100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 R100 file2 file2/oldf
:100644 000000 0d92e9f3374ae2947c23aa477cbc68ce598135f1 0000000000000000000000000000000000000000 D file3
###
test_tick
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/branch
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
verify_packs
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
:000000 100755 0000000000000000000000000000000000000000 e74b7d465e52746be2b4bae983670711e6e66657 A newdir/exec.sh
:000000 100644 0000000000000000000000000000000000000000 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 A newdir/interesting
EOF
### series E
###
-cat >input <<INPUT_END
+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
verify_packs
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
author $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> 1170778938 -0500
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1170783302 -0500
old_branch=`git rev-parse --verify branch^0`
test_tick
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/branch
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
verify_packs
'
-cat >expect <<EOF
+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
old_branch=`git rev-parse --verify branch^0`
test_tick
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/branch
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
###
test_tick
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/H
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
verify_packs
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
:100755 000000 f1fb5da718392694d0076d677d6d0e364c79b0bc 0000000000000000000000000000000000000000 D file2/newf
:100644 000000 7123f7f44e39be127c5eb701e5968176ee9d78b1 0000000000000000000000000000000000000000 D file2/oldf
:100755 000000 85df50785d62d3b05ab03d9cbf7e4a0b49449730 0000000000000000000000000000000000000000 D file4
### series I
###
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/export-boundary
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
git fast-import --export-pack-edges=edges.list <input
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
.git/objects/pack/pack-.pack: `git rev-parse --verify export-boundary`
EOF
test_expect_success 'I: verify edge list' '
### series J
###
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/J
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
test 0 = `git ls-tree J | wc -l`
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
reset refs/heads/J2
tag wrong_tag
### series K
###
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/K
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
### series L
###
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
blob
mark :1
data <<EOF
M 644 :2 ba
INPUT_END
-cat >expect <<EXPECT_END
+cat >expect <<-EXPECT_END &&
:100644 100644 4268632... 55d3a52... M b.
:040000 040000 0ae5cac... 443c768... M b
:100644 100644 4268632... 55d3a52... M ba
test_cmp expect output
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
blob
mark :1
data <<EOF
M 644 :1 g/b/h
INPUT_END
-cat <<EOF >expect
+cat <<-EOF >expect &&
g/b/f
g/b/h
EOF
###
test_tick
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/M1
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
INPUT_END
-cat >expect <<EOF
+cat >expect <<-EOF &&
:100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 file2/newf file2/n.e.w.f
EOF
test_expect_success 'M: rename file in same subdirectory' '
compare_diff_raw expect actual
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/M2
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
INPUT_END
-cat >expect <<EOF
+cat >expect <<-EOF &&
:100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc R100 file2/newf i/am/new/to/you
EOF
test_expect_success 'M: rename file to new subdirectory' '
compare_diff_raw expect actual
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/M3
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
INPUT_END
-cat >expect <<EOF
+cat >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' '
compare_diff_raw expect actual
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/M4
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
INPUT_END
-cat >expect <<EOF
+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
###
test_tick
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/N1
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
INPUT_END
-cat >expect <<EOF
+cat >expect <<-EOF &&
:100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc C100 file2/newf file2/n.e.w.f
EOF
test_expect_success 'N: copy file in same subdirectory' '
compare_diff_raw expect actual
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/N2
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
INPUT_END
-cat >expect <<EOF
+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
compare_diff_raw expect actual
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/N3
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
### series O
###
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
#we will
commit refs/heads/O1
# -- ignore all of this text
test `git rev-parse N3` = `git rev-parse O1`
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/O2
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
git repack -a -d
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/O3
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
from :5
INPUT_END
-cat >expect <<INPUT_END
+cat >expect <<-INPUT_END &&
string
of
empty
test_cmp expect actual
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/O4
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
### series P (gitlinks)
###
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
blob
mark :1
data 10
SUBLAST=$(git rev-parse --verify sub)
SUBPREV=$(git rev-parse --verify sub^)
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
blob
mark :1
data <<DATAEND
'
test_tick
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/subuse3
mark :1
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
'
test_tick
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
blob
mark :1
data <<DATA
note2b_data="The second note for the second commit"
test_tick
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
blob
mark :2
data <<EOF
commit2=$(git rev-parse notes-test^)
commit3=$(git rev-parse notes-test)
-cat >expect <<EOF
+cat >expect <<-EOF &&
author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
test_cmp expect actual
'
-cat >expect <<EOF
+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
test_cmp expect actual
'
-cat >expect <<EOF
+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
test_cmp expect actual
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
test_cmp expect actual
'
-cat >expect.unsorted <<EOF
+cat >expect.unsorted <<-EOF &&
100644 blob $commit1
100644 blob $commit2
100644 blob $commit3
test_cmp expect actual
'
-cat >expect <<EOF
+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
test_cmp expect actual
'
-cat >expect.unsorted <<EOF
+cat >expect.unsorted <<-EOF &&
100644 blob $commit1
100644 blob $commit2
100644 blob $commit3
test_cmp expect actual
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
test_cmp expect actual
'
-cat >expect.unsorted <<EOF
+cat >expect.unsorted <<-EOF &&
100644 blob $commit1
EOF
cat expect.unsorted | sort >expect
test_cmp expect actual
'
-cat >expect <<EOF
+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
test_cmp expect actual
'
-cat >expect.unsorted <<EOF
+cat >expect.unsorted <<-EOF &&
100644 blob $commit2
EOF
cat expect.unsorted | sort >expect
test_cmp expect actual
'
-cat >input <<EOF
+cat >input <<-EOF &&
reset refs/heads/Q0
commit refs/heads/note-Q0
### series R (feature and option)
###
-cat >input <<EOF
+cat >input <<-EOF &&
feature no-such-feature-exists
EOF
test_must_fail git fast-import <input
'
-cat >input <<EOF
+cat >input <<-EOF &&
feature date-format=now
EOF
git fast-import <input
'
-cat >input << EOF
+cat >input <<-EOF &&
blob
data 3
hi
test_must_fail git fast-import <input
'
-cat >input << EOF
+cat >input <<-EOF &&
feature import-marks=git.marks
feature import-marks=git2.marks
EOF
test_must_fail git fast-import <input
'
-cat >input << EOF
+cat >input <<-EOF &&
feature export-marks=git.marks
blob
mark :1
test_cmp expect io.marks
'
-cat >input << EOF
+cat >input <<-EOF &&
feature import-marks=marks.out
feature export-marks=marks.new
EOF
test_cmp marks.out marks.new
'
-cat >input <<EOF
+cat >input <<-EOF &&
feature import-marks=nonexistent.marks
feature export-marks=marks.new
EOF
'
-cat >input <<EOF
+cat >input <<-EOF &&
feature import-marks=nonexistent.marks
feature export-marks=combined.marks
EOF
test_cmp marks.out combined.marks
'
-cat >input <<EOF
+cat >input <<-EOF &&
feature relative-marks
feature import-marks=relative.in
feature export-marks=relative.out
test_cmp marks.new .git/info/fast-import/relative.out
'
-cat >input <<EOF
+cat >input <<-EOF &&
feature relative-marks
feature import-marks=relative.in
feature no-relative-marks
test_cmp expect actual
'
-cat >input << EOF
+cat >input <<-EOF &&
option git quiet
blob
data 3
test_cmp expect actual
'
-cat >input <<EOF
+cat >input <<-EOF &&
option git non-existing-option
EOF
test_must_fail git fast-import --depth="5 elephants" </dev/null
'
-cat >input <<EOF
+cat >input <<-EOF &&
option non-existing-vcs non-existing-option
EOF
##
blobsize=$((2*1024*1024 + 53))
test-genrandom bar $blobsize >expect
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/big-file
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
data $blobsize
INPUT_END
cat expect >>input
-cat >>input <<INPUT_END
+cat >>input <<-INPUT_END &&
M 644 inline big2
data $blobsize
INPUT_END
#
test_tick
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/S
mark :301
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
### series U (filedelete)
###
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/U
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
git fast-import <input
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/U
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
git fast-import <input
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
:100644 000000 2907ebb4bf85d91bf0716bb3bd8a68ef48d6da76 0000000000000000000000000000000000000000 D good/night.txt
EOF
compare_diff_raw expect actual
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/U
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
git fast-import <input
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
:100644 000000 69cb75792f55123d8389c156b0b41c2ff00ed507 0000000000000000000000000000000000000000 D good/bye.txt
EOF
compare_diff_raw expect actual
'
-cat >input <<INPUT_END
+cat >input <<-INPUT_END &&
commit refs/heads/U
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
git fast-import <input
'
-cat >expect <<EOF
+cat >expect <<-EOF &&
:100644 000000 c18147dc648481eeb65dc5e66628429a64843327 0000000000000000000000000000000000000000 D hello.c
EOF