makefile:1537: warning: overriding commands for target `TAGS'
makefile:1533: warning: ignoring old commands for target `TAGS'
    BUILTIN all
    SUBDIR git-gui
    SUBDIR gitk-git
make[1]: Nothing to be done for `all'.
    SUBDIR perl
mkdir -p blib/lib
rm -f blib/lib/Git.pm; cp Git.pm blib/lib/
rm -f blib/lib/Error.pm
    SUBDIR templates
make -C t/ all
make[1]: Entering directory `/d/msvc/git/t'
rm -f -r test-results
make aggregate-results-and-cleanup
make[2]: Entering directory `/d/msvc/git/t'
*** t0000-basic.sh ***
*   ok 1: .git/objects should be empty after git init in an empty repo.
*   ok 2: .git/objects should have 3 subdirectories.
*   ok 3: success is reported like this
*   still broken 4: pretend we have a known breakage
*   FIXED 5: pretend we have fixed a known breakage
*   ok 6: test runs if prerequisite is satisfied
* skip 7: unmet prerequisite causes test to be skipped
*   ok 8: git update-index without --add should fail adding.
*   ok 9: git update-index with --add should succeed.
*   ok 10: writing tree out with git write-tree
*   ok 11: validate object ID of a known tree.
*   ok 12: git update-index without --remove should fail removing.
*   ok 13: git update-index with --remove should be able to remove.
*   ok 14: git write-tree should be able to write an empty tree.
*   ok 15: validate object ID of a known tree.
*   ok 16: adding various types of objects with git update-index --add.
*   ok 17: showing stage with git ls-files --stage
*   ok 18: validate git ls-files output for a known tree.
*   ok 19: writing tree out with git write-tree.
*   ok 20: validate object ID for a known tree.
*   ok 21: showing tree with git ls-tree
* skip 22: git ls-tree output for a known tree.
*   ok 23: showing tree with git ls-tree -r
*   ok 24: git ls-tree -r output for a known tree.
*   ok 25: showing tree with git ls-tree -r -t
* skip 26: git ls-tree -r output for a known tree.
*   ok 27: writing partial tree out with git write-tree --prefix.
*   ok 28: validate object ID for a known tree.
*   ok 29: writing partial tree out with git write-tree --prefix.
*   ok 30: validate object ID for a known tree.
*   ok 31: put invalid objects into the index.
*   ok 32: writing this tree without --missing-ok.
*   ok 33: writing this tree with --missing-ok.
*   ok 34: git read-tree followed by write-tree should be idempotent.
*   ok 35: validate git diff-files output for a know cache/work tree state.
*   ok 36: git update-index --refresh should succeed.
*   ok 37: no diff after checkout and git update-index --refresh.
*   ok 38: git commit-tree records the correct tree in a commit.
*   ok 39: git commit-tree records the correct parent in a commit.
*   ok 40: git commit-tree omits duplicated parent in a commit.
*   ok 41: update-index D/F conflict
* skip 42: absolute path works as expected
*   ok 43: very long name in the index handled sanely
* fixed 1 known breakage(s)
* still have 1 known breakage(s)
* passed all remaining 42 test(s)
*** t0001-init.sh ***
*   ok 1: plain
*   ok 2: plain with GIT_WORK_TREE
*   ok 3: plain bare
*   ok 4: plain bare with GIT_WORK_TREE
*   ok 5: GIT_DIR bare
*   ok 6: init --bare
*   ok 7: GIT_DIR non-bare
*   ok 8: GIT_DIR & GIT_WORK_TREE (1)
*   ok 9: GIT_DIR & GIT_WORK_TREE (2)
*   ok 10: reinit
*   ok 11: init with --template
*   ok 12: init with --template (blank)
*   ok 13: init --bare/--shared overrides system/global config
*   ok 14: init honors global core.sharedRepository
*   ok 15: init rejects insanely long --template
*   ok 16: init creates a new directory
*   ok 17: init creates a new bare directory
*   ok 18: init recreates a directory
*   ok 19: init recreates a new bare directory
*   ok 20: init creates a new deep directory
* skip 21: init creates a new deep directory (umask vs. shared)
*   ok 22: init notices EEXIST (1)
*   ok 23: init notices EEXIST (2)
* skip 24: init notices EPERM
* passed all 24 test(s)
*** t0002-gitfile.sh ***
*   ok 1: initial setup
*   ok 2: bad setup: invalid .git file format
*   ok 3: bad setup: invalid .git file path
*   ok 4: final setup + check rev-parse --git-dir
*   ok 5: check hash-object
*   ok 6: check cat-file
*   ok 7: check update-index
*   ok 8: check write-tree
*   ok 9: check commit-tree
*   ok 10: check rev-list
* passed all 10 test(s)
*** t0003-attributes.sh ***
*   ok 1: setup
*   ok 2: attribute test
*   ok 3: attribute test: read paths from stdin
*   ok 4: root subdir attribute test
*   ok 5: setup bare
*   ok 6: bare repository: check that .gitattribute is ignored
*   ok 7: bare repository: test info/attributes
* passed all 7 test(s)
*** t0004-unwritable.sh ***
*   ok 1: setup
* skip 2: write-tree should notice unwritable repository
* skip 3: commit should notice unwritable repository
* skip 4: update-index should notice unwritable repository
* skip 5: add should notice unwritable repository
* passed all 5 test(s)
*** t0005-signals.sh ***
*   ok 1: sigchain works
* passed all 1 test(s)
*** t0006-date.sh ***
*   ok 1: relative date (5 seconds ago)
*   ok 2: relative date (5 minutes ago)
*   ok 3: relative date (5 hours ago)
*   ok 4: relative date (5 days ago)
*   ok 5: relative date (3 weeks ago)
*   ok 6: relative date (5 months ago)
*   ok 7: relative date (1 year, 2 months ago)
*   ok 8: relative date (1 year, 9 months ago)
*   ok 9: relative date (20 years ago)
*   ok 10: parse date (2008)
*   ok 11: parse date (2008-02)
*   ok 12: parse date (2008-02-14)
*   ok 13: parse date (2008-02-14 20:30:45)
*   ok 14: parse approxidate (now)
*   ok 15: parse approxidate (5 seconds ago)
*   ok 16: parse approxidate (5.seconds.ago)
*   ok 17: parse approxidate (10.minutes.ago)
*   ok 18: parse approxidate (yesterday)
*   ok 19: parse approxidate (3.days.ago)
*   ok 20: parse approxidate (3.weeks.ago)
*   ok 21: parse approxidate (3.months.ago)
*   ok 22: parse approxidate (2.years.3.months.ago)
*   ok 23: parse approxidate (6am yesterday)
*   ok 24: parse approxidate (6pm yesterday)
*   ok 25: parse approxidate (3:00)
*   ok 26: parse approxidate (15:00)
*   ok 27: parse approxidate (noon today)
*   ok 28: parse approxidate (noon yesterday)
*   ok 29: parse approxidate (last tuesday)
*   ok 30: parse approxidate (July 5th)
*   ok 31: parse approxidate (06/05/2009)
*   ok 32: parse approxidate (06.05.2009)
*   ok 33: parse approxidate (Jun 6, 5AM)
*   ok 34: parse approxidate (5AM Jun 6)
*   ok 35: parse approxidate (6AM, June 7, 2009)
* passed all 35 test(s)
*** t0010-racy-git.sh ***
*   ok 1: Racy GIT trial #0 part A
*   ok 2: Racy GIT trial #0 part B
*   ok 3: Racy GIT trial #1 part A
*   ok 4: Racy GIT trial #1 part B
*   ok 5: Racy GIT trial #2 part A
*   ok 6: Racy GIT trial #2 part B
*   ok 7: Racy GIT trial #3 part A
*   ok 8: Racy GIT trial #3 part B
*   ok 9: Racy GIT trial #4 part A
*   ok 10: Racy GIT trial #4 part B
* passed all 10 test(s)
*** t0020-crlf.sh ***
*   ok 1: setup
*   ok 2: safecrlf: autocrlf=input, all CRLF
*   ok 3: safecrlf: autocrlf=input, mixed LF/CRLF
*   ok 4: safecrlf: autocrlf=true, all LF
*   ok 5: safecrlf: autocrlf=true mixed LF/CRLF
*   ok 6: safecrlf: print warning only once
*   ok 7: switch off autocrlf, safecrlf, reset HEAD
*   ok 8: update with autocrlf=input
*   ok 9: update with autocrlf=true
*   ok 10: checkout with autocrlf=true
*   ok 11: checkout with autocrlf=input
*   ok 12: apply patch (autocrlf=input)
*   ok 13: apply patch --cached (autocrlf=input)
*   ok 14: apply patch --index (autocrlf=input)
*   ok 15: apply patch (autocrlf=true)
*   ok 16: apply patch --cached (autocrlf=true)
*   ok 17: apply patch --index (autocrlf=true)
*   ok 18: .gitattributes says two is binary
*   ok 19: .gitattributes says two is input
*   ok 20: .gitattributes says two and three are text
*   ok 21: in-tree .gitattributes (1)
*   ok 22: in-tree .gitattributes (2)
*   ok 23: in-tree .gitattributes (3)
*   ok 24: in-tree .gitattributes (4)
*   ok 25: checkout with existing .gitattributes
*   ok 26: checkout when deleting .gitattributes
*   ok 27: invalid .gitattributes (must not crash)
* passed all 27 test(s)
*** t0021-conversion.sh ***
*   ok 1: setup
*   ok 2: check
*   ok 3: expanded_in_repo
* passed all 3 test(s)
*** t0022-crlf-rename.sh ***
*   ok 1: setup
*   ok 2: diff -M
* passed all 2 test(s)
*** t0023-crlf-am.sh ***
*   ok 1: setup
*   ok 2: am
* passed all 2 test(s)
*** t0024-crlf-archive.sh ***
*   ok 1: setup
*   ok 2: tar archive
* Skipping ZIP test, because unzip was not found
* skip 3: zip archive
* passed all 3 test(s)
*** t0030-stripspace.sh ***
*   ok 1: long lines without spaces should be unchanged
*   ok 2: lines with spaces at the beginning should be unchanged
*   ok 3: lines with intermediate spaces should be unchanged
*   ok 4: consecutive blank lines should be unified
*   ok 5: only consecutive blank lines should be completely removed
*   ok 6: consecutive blank lines at the beginning should be removed
*   ok 7: consecutive blank lines at the end should be removed
*   ok 8: text without newline at end should end with newline
*   ok 9: text plus spaces without newline at end should end with newline
*   ok 10: text plus spaces without newline at end should not show spaces
*   ok 11: text plus spaces without newline should show the correct lines
*   ok 12: text plus spaces at end should not show spaces
*   ok 13: text plus spaces at end should be cleaned and newline must remain
*   ok 14: spaces with newline at end should be replaced with empty string
*   ok 15: spaces without newline at end should not show spaces
*   ok 16: spaces without newline at end should be replaced with empty string
*   ok 17: consecutive text lines should be unchanged
*   ok 18: strip comments, too
* passed all 18 test(s)
*** t0040-parse-options.sh ***
*   ok 1: test help
*   ok 2: short options
*   ok 3: long options
*   ok 4: missing required value
*   ok 5: intermingled arguments
*   ok 6: unambiguously abbreviated option
*   ok 7: unambiguously abbreviated option with "="
*   ok 8: ambiguously abbreviated option
*   ok 9: non ambiguous option (after two options it abbreviates)
*   ok 10: detect possible typos
*   ok 11: keep some options as arguments
*   ok 12: OPT_DATE() and OPT_SET_PTR() work
*   ok 13: OPT_CALLBACK() and OPT_BIT() work
*   ok 14: OPT_CALLBACK() and callback errors work
*   ok 15: OPT_BIT() and OPT_SET_INT() work
*   ok 16: OPT_NEGBIT() and OPT_SET_INT() work
*   ok 17: OPT_BIT() works
*   ok 18: OPT_NEGBIT() works
*   ok 19: OPT_BOOLEAN() with PARSE_OPT_NODASH works
*   ok 20: OPT_NUMBER_CALLBACK() works
* passed all 20 test(s)
*** t0050-filesystem.sh ***
*   ok 1: see what we expect
* will test on a case insensitive filesystem
* will test on a filesystem lacking symbolic links
*   ok 2: detection of case insensitive filesystem during repo init
*   ok 3: detection of filesystem w/o symlink support during repo init
*   ok 4: setup case tests
*   still broken 5: rename (case change)
*   FIXED 6: merge (case change)
*   FIXED 7: add (with different case)
*   ok 8: setup unicode normalization tests
*   ok 9: rename (silent unicode normalization)
*   ok 10: merge (silent unicode normalization)
* fixed 2 known breakage(s)
* still have 1 known breakage(s)
* passed all remaining 9 test(s)
*** t0055-beyond-symlinks.sh ***
* skip 1: setup
* skip 2: update-index --add beyond symlinks
* skip 3: add beyond symlinks
* passed all 3 test(s)
*** t0060-path-utils.sh ***
*   ok 1: normalize path:  => 
*   ok 2: normalize path: . => 
*   ok 3: normalize path: ./ => 
*   ok 4: normalize path: ./. => 
*   ok 5: normalize path: ./.. => ++failed++
*   ok 6: normalize path: ../. => ++failed++
*   ok 7: normalize path: ./../.// => ++failed++
*   ok 8: normalize path: dir/.. => 
*   ok 9: normalize path: dir/sub/../.. => 
*   ok 10: normalize path: dir/sub/../../.. => ++failed++
*   ok 11: normalize path: dir => dir
*   ok 12: normalize path: dir// => dir/
*   ok 13: normalize path: ./dir => dir
*   ok 14: normalize path: dir/. => dir/
*   ok 15: normalize path: dir///./ => dir/
*   ok 16: normalize path: dir//sub/.. => dir/
*   ok 17: normalize path: dir/sub/../ => dir/
*   ok 18: normalize path: dir/sub/../. => dir/
*   ok 19: normalize path: dir/s1/../s2/ => dir/s2/
*   ok 20: normalize path: d1/s1///s2/..//../s3/ => d1/s3/
*   ok 21: normalize path: d1/s1//../s2/../../d2 => d2
*   ok 22: normalize path: d1/.../d2 => d1/.../d2
*   ok 23: normalize path: d1/..././../d2 => d1/d2
* skip 24: normalize path: / => /
* skip 25: normalize path: // => /
* skip 26: normalize path: /// => /
* skip 27: normalize path: /. => /
* skip 28: normalize path: /./ => /
* skip 29: normalize path: /./.. => ++failed++
* skip 30: normalize path: /../. => ++failed++
* skip 31: normalize path: /./../.// => ++failed++
* skip 32: normalize path: /dir/.. => /
* skip 33: normalize path: /dir/sub/../.. => /
* skip 34: normalize path: /dir/sub/../../.. => ++failed++
* skip 35: normalize path: /dir => /dir
* skip 36: normalize path: /dir// => /dir/
* skip 37: normalize path: /./dir => /dir
* skip 38: normalize path: /dir/. => /dir/
* skip 39: normalize path: /dir///./ => /dir/
* skip 40: normalize path: /dir//sub/.. => /dir/
* skip 41: normalize path: /dir/sub/../ => /dir/
* skip 42: normalize path: //dir/sub/../. => /dir/
* skip 43: normalize path: /dir/s1/../s2/ => /dir/s2/
* skip 44: normalize path: /d1/s1///s2/..//../s3/ => /d1/s3/
* skip 45: normalize path: /d1/s1//../s2/../../d2 => /d2
* skip 46: normalize path: /d1/.../d2 => /d1/.../d2
* skip 47: normalize path: /d1/..././../d2 => /d1/d2
*   ok 48: longest ancestor: /  => -1
*   ok 49: longest ancestor: / / => -1
*   ok 50: longest ancestor: /foo  => -1
*   ok 51: longest ancestor: /foo : => -1
*   ok 52: longest ancestor: /foo ::. => -1
*   ok 53: longest ancestor: /foo ::..:: => -1
*   ok 54: longest ancestor: /foo / => 10
*   ok 55: longest ancestor: /foo /fo => -1
*   ok 56: longest ancestor: /foo /foo => -1
*   ok 57: longest ancestor: /foo /foo/ => -1
*   ok 58: longest ancestor: /foo /bar => -1
*   ok 59: longest ancestor: /foo /bar/ => -1
*   ok 60: longest ancestor: /foo /foo/bar => -1
*   ok 61: longest ancestor: /foo /foo:/bar/ => -1
*   ok 62: longest ancestor: /foo /foo/:/bar/ => -1
*   ok 63: longest ancestor: /foo /foo::/bar/ => -1
*   ok 64: longest ancestor: /foo /:/foo:/bar/ => 10
*   ok 65: longest ancestor: /foo /foo:/:/bar/ => 10
*   ok 66: longest ancestor: /foo /:/bar/:/foo => 10
*   ok 67: longest ancestor: /foo/bar  => -1
*   ok 68: longest ancestor: /foo/bar / => 10
*   ok 69: longest ancestor: /foo/bar /fo => -1
*   ok 70: longest ancestor: /foo/bar foo => -1
*   ok 71: longest ancestor: /foo/bar /foo => 14
*   ok 72: longest ancestor: /foo/bar /foo/ => 14
*   ok 73: longest ancestor: /foo/bar /foo/ba => -1
*   ok 74: longest ancestor: /foo/bar /:/fo => 10
*   ok 75: longest ancestor: /foo/bar /foo:/foo/ba => 14
*   ok 76: longest ancestor: /foo/bar /bar => -1
*   ok 77: longest ancestor: /foo/bar /bar/ => -1
*   ok 78: longest ancestor: /foo/bar /fo: => -1
*   ok 79: longest ancestor: /foo/bar :/fo => -1
*   ok 80: longest ancestor: /foo/bar /foo:/bar/ => 14
*   ok 81: longest ancestor: /foo/bar /:/foo:/bar/ => 14
*   ok 82: longest ancestor: /foo/bar /foo:/:/bar/ => 14
*   ok 83: longest ancestor: /foo/bar /:/bar/:/fo => 10
*   ok 84: longest ancestor: /foo/bar /:/bar/ => 10
*   ok 85: longest ancestor: /foo/bar .:/foo/. => 14
*   ok 86: longest ancestor: /foo/bar .:/foo/.:.: => 14
*   ok 87: longest ancestor: /foo/bar /foo/./:.:/bar => 14
*   ok 88: longest ancestor: /foo/bar .:/bar => -1
*   ok 89: strip_path_suffix
* passed all 89 test(s)
*** t0070-fundamental.sh ***
*   ok 1: character classes (isspace, isalpha etc.)
* passed all 1 test(s)
*** t0100-previous.sh ***
*   ok 1: branch -d @{-1}
*   ok 2: branch -d @{-12} when there is not enough switches yet
*   ok 3: merge @{-1}
*   ok 4: merge @{-1} when there is not enough switches yet
* passed all 4 test(s)
*** t1000-read-tree-m-3way.sh ***
*   ok 1: adding test file NN and Z/NN
*   ok 2: adding test file ND and Z/ND
*   ok 3: adding test file NM and Z/NM
*   ok 4: adding test file DN and Z/DN
*   ok 5: adding test file DD and Z/DD
*   ok 6: adding test file DM and Z/DM
*   ok 7: adding test file MN and Z/MN
*   ok 8: adding test file MD and Z/MD
*   ok 9: adding test file MM and Z/MM
*   ok 10: adding test file SS
*   ok 11: adding test file TT
*   ok 12: prepare initial tree
*   ok 13: change in branch A (removal)
*   ok 14: change in branch A (modification)
*   ok 15: change in branch A (modification)
*   ok 16: change in branch A (modification)
*   ok 17: change in branch A (modification)
*   ok 18: change in branch A (modification)
*   ok 19: change in branch A (modification)
*   ok 20: change in branch A (addition)
*   ok 21: change in branch A (addition)
*   ok 22: change in branch A (addition)
*   ok 23: change in branch A (addition)
*   ok 24: change in branch A (addition)
*   ok 25: change in branch A (edit)
*   ok 26: change in branch A (change file to directory)
*   ok 27: recording branch A tree
*   ok 28: reading original tree and checking out
*   ok 29: change in branch B (removal)
*   ok 30: change in branch B (modification)
*   ok 31: change in branch B (modification)
*   ok 32: change in branch B (modification)
*   ok 33: change in branch B (modification)
*   ok 34: change in branch B (modification)
*   ok 35: change in branch B (modification)
*   ok 36: change in branch B (addition)
*   ok 37: change in branch B (addition)
*   ok 38: change in branch B (addition)
*   ok 39: change in branch B (addition)
*   ok 40: change in branch B (addition and modification)
*   ok 41: change in branch B (modification)
*   ok 42: change in branch B (addition of a file to conflict with directory)
*   ok 43: recording branch B tree
*   ok 44: keep contents of 3 trees for easy access
*   ok 45: 3-way merge with git read-tree -m, empty cache
*   ok 46: 3-way merge with git read-tree -m, match H
*   ok 47: 1 - must not have an entry not in A.
*   ok 48: 2 - must match B in !O && !A && B case.
*   ok 49: 2 - matching B alone is OK in !O && !A && B case.
*   ok 50: 3 - must match A in !O && A && !B case.
*   ok 51: 3 - matching A alone is OK in !O && A && !B case.
*   ok 52: 3 (fail) - must match A in !O && A && !B case.
*   ok 53: 4 - must match and be up-to-date in !O && A && B && A!=B case.
*   ok 54: 4 (fail) - must match and be up-to-date in !O && A && B && A!=B case.
*   ok 55: 4 (fail) - must match and be up-to-date in !O && A && B && A!=B case.
*   ok 56: 5 - must match in !O && A && B && A==B case.
*   ok 57: 5 - must match in !O && A && B && A==B case.
*   ok 58: 5 (fail) - must match A in !O && A && B && A==B case.
*   ok 59: 6 - must not exist in O && !A && !B case
*   ok 60: 7 - must not exist in O && !A && B && O!=B case
*   ok 61: 8 - must not exist in O && !A && B && O==B case
*   ok 62: 9 - must match and be up-to-date in O && A && !B && O!=A case
*   ok 63: 9 (fail) - must match and be up-to-date in O && A && !B && O!=A case
*   ok 64: 9 (fail) - must match and be up-to-date in O && A && !B && O!=A case
*   ok 65: 10 - must match and be up-to-date in O && A && !B && O==A case
*   ok 66: 10 (fail) - must match and be up-to-date in O && A && !B && O==A case
*   ok 67: 10 (fail) - must match and be up-to-date in O && A && !B && O==A case
*   ok 68: 11 - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case
*   ok 69: 11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case
*   ok 70: 11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case
*   ok 71: 12 - must match A in O && A && B && O!=A && A==B case
*   ok 72: 12 - must match A in O && A && B && O!=A && A==B case
*   ok 73: 12 (fail) - must match A in O && A && B && O!=A && A==B case
*   ok 74: 13 - must match A in O && A && B && O!=A && O==B case
*   ok 75: 13 - must match A in O && A && B && O!=A && O==B case
*   ok 76: 14 - must match and be up-to-date in O && A && B && O==A && O!=B case
*   ok 77: 14 - may match B in O && A && B && O==A && O!=B case
*   ok 78: 14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case
*   ok 79: 14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case
*   ok 80: 15 - must match A in O && A && B && O==A && O==B case
*   ok 81: 15 - must match A in O && A && B && O==A && O==B case
*   ok 82: 15 (fail) - must match A in O && A && B && O==A && O==B case
*   ok 83: 16 - A matches in one and B matches in another.
* passed all 83 test(s)
*** t1001-read-tree-m-2way.sh ***
*   ok 1: setup
*   ok 2: 1, 2, 3 - no carry forward
*   ok 3: 4 - carry forward local addition.
*   ok 4: 5 - carry forward local addition.
*   ok 5: 6 - local addition already has the same.
*   ok 6: 7 - local addition already has the same.
*   ok 7: 8 - conflicting addition.
*   ok 8: 9 - conflicting addition.
*   ok 9: 10 - path removed.
*   ok 10: 11 - dirty path removed.
*   ok 11: 12 - unmatching local changes being removed.
*   ok 12: 13 - unmatching local changes being removed.
*   ok 13: 14 - unchanged in two heads.
*   ok 14: 15 - unchanged in two heads.
*   ok 15: 16 - conflicting local change.
*   ok 16: 17 - conflicting local change.
*   ok 17: 18 - local change already having a good result.
*   ok 18: 19 - local change already having a good result, further modified.
*   ok 19: 20 - no local change, use new tree.
*   ok 20: 21 - no local change, dirty cache.
*   ok 21: 22 - local change cache updated.
*   ok 22: DF vs DF/DF case setup.
*   ok 23: DF vs DF/DF case test.
*   ok 24: a/b (untracked) vs a case setup.
*   ok 25: a/b (untracked) vs a, plus c/d case test.
*   ok 26: a/b vs a, plus c/d case setup.
*   ok 27: a/b vs a, plus c/d case test.
* passed all 27 test(s)
*** t1002-read-tree-m-u-2way.sh ***
*   ok 1: setup
*   ok 2: 1, 2, 3 - no carry forward
*   ok 3: 4 - carry forward local addition.
*   ok 4: 5 - carry forward local addition.
*   ok 5: 6 - local addition already has the same.
*   ok 6: 7 - local addition already has the same.
*   ok 7: 8 - conflicting addition.
*   ok 8: 9 - conflicting addition.
*   ok 9: 10 - path removed.
*   ok 10: 11 - dirty path removed.
*   ok 11: 12 - unmatching local changes being removed.
*   ok 12: 13 - unmatching local changes being removed.
*   ok 13: 14 - unchanged in two heads.
*   ok 14: 15 - unchanged in two heads.
*   ok 15: 16 - conflicting local change.
*   ok 16: 17 - conflicting local change.
*   ok 17: 18 - local change already having a good result.
*   ok 18: 19 - local change already having a good result, further modified.
*   ok 19: 20 - no local change, use new tree.
*   ok 20: 21 - no local change, dirty cache.
*   ok 21: DF vs DF/DF case setup.
*   ok 22: DF vs DF/DF case test.
* passed all 22 test(s)
*** t1003-read-tree-prefix.sh ***
*   ok 1: setup
*   ok 2: read-tree --prefix
* passed all 2 test(s)
*** t1004-read-tree-m-u-wf.sh ***
*   ok 1: two-way setup
*   ok 2: two-way not clobbering
*   ok 3: two-way with incorrect --exclude-per-directory (1)
*   ok 4: two-way with incorrect --exclude-per-directory (2)
*   ok 5: two-way clobbering a ignored file
*   ok 6: three-way not complaining on an untracked path in both
*   ok 7: three-way not clobbering a working tree file
*   ok 8: three-way not complaining on an untracked file
*   ok 9: 3-way not overwriting local changes (setup)
*   ok 10: 3-way not overwriting local changes (our side)
*   ok 11: 3-way not overwriting local changes (their side)
* skip 12: funny symlink in work tree
* skip 13: funny symlink in work tree, un-unlink-able
*   ok 14: D/F setup
*   ok 15: D/F
*   ok 16: D/F resolve
*   ok 17: D/F recursive
* passed all 17 test(s)
*** t1005-read-tree-reset.sh ***
*   ok 1: setup
*   ok 2: reset should work
*   ok 3: reset should remove remnants from a failed merge
*   ok 4: Porcelain reset should remove remnants too
*   ok 5: Porcelain checkout -f should remove remnants too
*   ok 6: Porcelain checkout -f HEAD should remove remnants too
* passed all 6 test(s)
*** t1006-cat-file.sh ***
*   ok 1: setup
*   ok 2: blob exists
*   ok 3: Type of blob is correct
*   ok 4: Size of blob is correct
*   ok 5: Content of blob is correct
*   ok 6: Pretty content of blob is correct
*   ok 7: --batch output of blob is correct
*   ok 8: --batch-check output of blob is correct
*   ok 9: tree exists
*   ok 10: Type of tree is correct
*   ok 11: Size of tree is correct
*   ok 12: Pretty content of tree is correct
*   ok 13: --batch-check output of tree is correct
*   ok 14: commit exists
*   ok 15: Type of commit is correct
*   ok 16: Size of commit is correct
*   ok 17: Content of commit is correct
*   ok 18: Pretty content of commit is correct
*   ok 19: --batch output of commit is correct
*   ok 20: --batch-check output of commit is correct
*   ok 21: tag exists
*   ok 22: Type of tag is correct
*   ok 23: Size of tag is correct
*   ok 24: Content of tag is correct
*   ok 25: Pretty content of tag is correct
*   ok 26: --batch output of tag is correct
*   ok 27: --batch-check output of tag is correct
*   ok 28: Reach a blob from a tag pointing to it
*   ok 29: Passing -t with --batch fails
*   ok 30: Passing --batch with -t fails
*   ok 31: Passing -s with --batch fails
*   ok 32: Passing --batch with -s fails
*   ok 33: Passing -e with --batch fails
*   ok 34: Passing --batch with -e fails
*   ok 35: Passing -p with --batch fails
*   ok 36: Passing --batch with -p fails
*   ok 37: Passing <type> with --batch fails
*   ok 38: Passing --batch with <type> fails
*   ok 39: Passing sha1 with --batch fails
*   ok 40: Passing -t with --batch-check fails
*   ok 41: Passing --batch-check with -t fails
*   ok 42: Passing -s with --batch-check fails
*   ok 43: Passing --batch-check with -s fails
*   ok 44: Passing -e with --batch-check fails
*   ok 45: Passing --batch-check with -e fails
*   ok 46: Passing -p with --batch-check fails
*   ok 47: Passing --batch-check with -p fails
*   ok 48: Passing <type> with --batch-check fails
*   ok 49: Passing --batch-check with <type> fails
*   ok 50: Passing sha1 with --batch-check fails
*   ok 51: --batch-check for a non-existent named object
*   ok 52: --batch-check for a non-existent hash
*   ok 53: --batch for an existent and a non-existent hash
*   ok 54: --batch-check for an emtpy line
*   ok 55: --batch with multiple sha1s gives correct format
*   ok 56: --batch-check with multiple sha1s gives correct format
* passed all 56 test(s)
*** t1007-hash-object.sh ***
*   ok 1: multiple '--stdin's are rejected
*   ok 2: Can't use --stdin and --stdin-paths together
*   ok 3: Can't pass filenames as arguments with --stdin-paths
*   ok 4: Can't use --path with --stdin-paths
*   ok 5: Can't use --stdin-paths with --no-filters
*   ok 6: Can't use --path with --no-filters
*   ok 7: hash a file
*   ok 8: blob does not exist in database
*   ok 9: hash from stdin
*   ok 10: blob does not exist in database
*   ok 11: hash a file and write to database
*   ok 12: blob exists in database
*   ok 13: git hash-object --stdin file1 <file0 first operates on file0, then file1
*   ok 14: check that appropriate filter is invoke when --path is used
*   ok 15: check that --no-filters option works
*   ok 16: hash from stdin and write to database (-w --stdin)
*   ok 17: blob exists in database
*   ok 18: hash from stdin and write to database (--stdin -w)
*   ok 19: blob exists in database
*   ok 20: hash two files with names on stdin
*   ok 21: hash two files with names on stdin and write to database (-w --stdin-paths)
*   ok 22: blob exists in database
*   ok 23: blob exists in database
*   ok 24: hash two files with names on stdin and write to database (--stdin-paths -w)
*   ok 25: blob exists in database
*   ok 26: blob exists in database
* passed all 26 test(s)
*** t1008-read-tree-overlay.sh ***
*   ok 1: setup
*   ok 2: multi-read
* passed all 2 test(s)
*** t1009-read-tree-new-index.sh ***
*   ok 1: setup
*   ok 2: non-existent index file
*   ok 3: empty index file
* passed all 3 test(s)
*** t1010-mktree.sh ***
*   ok 1: setup
*   ok 2: ls-tree piped to mktree (1)
*   ok 3: ls-tree piped to mktree (2)
*   ok 4: ls-tree output in wrong order given to mktree (1)
*   ok 5: ls-tree output in wrong order given to mktree (2)
*   ok 6: allow missing object with --missing
*   still broken 7: mktree reads ls-tree -r output (1)
*   still broken 8: mktree reads ls-tree -r output (2)
* still have 2 known breakage(s)
* passed all remaining 6 test(s)
*** t1020-subdirectory.sh ***
*   ok 1: setup
*   ok 2: update-index and ls-files
*   ok 3: cat-file
*   ok 4: diff-files
*   ok 5: write-tree
*   ok 6: checkout-index
*   ok 7: read-tree
*   ok 8: no file/rev ambiguity check inside .git
*   ok 9: no file/rev ambiguity check inside a bare repo
* skip 10: detection should not be fooled by a symlink
* passed all 10 test(s)
*** t1100-commit-tree-options.sh ***
*   ok 1: test preparation: write empty tree
*   ok 2: construct commit
*   ok 3: read commit
*   ok 4: compare commit
* passed all 4 test(s)
*** t1200-tutorial.sh ***
*   ok 1: blob
*   ok 2: blob 557db03
*   ok 3: git diff-files -p
*   ok 4: git diff
*   ok 5: tree
*   ok 6: git diff-index -p HEAD
*   ok 7: git diff HEAD
*   ok 8: git whatchanged -p --root
*   ok 9: git tag my-first-tag
M	hello
Switched to a new branch 'mybranch'
*   ok 10: git checkout -b mybranch
*   ok 11: git branch
M	hello
Already on 'mybranch'
[mybranch 68f797a] Some work.
 1 files changed, 2 insertions(+), 0 deletions(-)
Switched to branch 'master'
[master 068df49] Some fun.
 2 files changed, 2 insertions(+), 0 deletions(-)
*   ok 12: git resolve now fails
[master c60f060] Merged "mybranch" changes.
* passed all 12 test(s)
*** t1300-repo-config.sh ***
*   ok 1: initial
*   ok 2: mixed case
*   ok 3: similar section
*   ok 4: similar section
*   ok 5: replace with non-match
*   ok 6: replace with non-match (actually matching)
*   ok 7: non-match result
*   ok 8: unset with cont. lines
*   ok 9: unset with cont. lines is correct
*   ok 10: multiple unset
*   ok 11: multiple unset is correct
*   ok 12: --replace-all missing value
*   ok 13: --replace-all
*   ok 14: all replaced
*   ok 15: really mean test
*   ok 16: really really mean test
*   ok 17: get value
*   ok 18: unset
*   ok 19: multivar
*   ok 20: non-match
*   ok 21: non-match value
*   ok 22: ambiguous get
*   ok 23: get multivar
*   ok 24: multivar replace
*   ok 25: ambiguous value
*   ok 26: ambiguous unset
*   ok 27: invalid unset
*   ok 28: multivar unset
*   ok 29: invalid key
*   ok 30: correct key
*   ok 31: hierarchical section
*   ok 32: hierarchical section value
*   ok 33: working --list
*   ok 34: --get-regexp
*   ok 35: --add
*   ok 36: get variable with no value
*   ok 37: get variable with empty value
*   ok 38: get-regexp variable with no value
*   ok 39: get-regexp variable with empty value
*   ok 40: get bool variable with no value
*   ok 41: get bool variable with empty value
*   ok 42: no arguments, but no crash
*   ok 43: new section is partial match of another
*   ok 44: new variable inserts into proper section
*   ok 45: alternative GIT_CONFIG (non-existing file should fail)
*   ok 46: alternative GIT_CONFIG
*   ok 47: alternative GIT_CONFIG (--file)
*   ok 48: --set in alternative GIT_CONFIG
*   ok 49: rename section
*   ok 50: rename succeeded
*   ok 51: rename non-existing section
*   ok 52: rename succeeded
*   ok 53: rename another section
*   ok 54: rename succeeded
*   ok 55: rename a section with a var on the same line
*   ok 56: rename succeeded
*   ok 57: remove section
*   ok 58: section was removed properly
*   ok 59: section ending
*   ok 60: numbers
*   ok 61: invalid unit
*   ok 62: bool
*   ok 63: invalid bool (--get)
*   ok 64: invalid bool (set)
*   ok 65: set --bool
*   ok 66: set --int
*   ok 67: get --bool-or-int
*   ok 68: set --bool-or-int
*   ok 69: quoting
*   ok 70: key with newline
*   ok 71: value with newline
*   ok 72: value continued on next line
*   ok 73: --null --list
*   ok 74: --null --get-regexp
*   ok 75: inner whitespace kept verbatim
* skip 76: symlinked configuration
*   ok 77: check split_cmdline return
* passed all 77 test(s)
*** t1301-shared-repo.sh ***
*   ok 1: shared = 0400 (faulty permission u-w)
* skip 2: shared=1 does not clear bits preset by umask 002
* skip 3: shared=1 does not clear bits preset by umask 022
*   ok 4: shared=all
* skip 5: update-server-info honors core.sharedRepository
* skip 6: shared = 0660 (r--r-----) ro
* skip 7: shared = 0660 (rw-rw----) rw
* skip 8: shared = 0640 (r--r-----) ro
* skip 9: shared = 0640 (rw-r-----) rw
* skip 10: shared = 0600 (r--------) ro
* skip 11: shared = 0600 (rw-------) rw
* skip 12: shared = 0666 (r--r--r--) ro
* skip 13: shared = 0666 (rw-rw-rw-) rw
* skip 14: shared = 0664 (r--r--r--) ro
* skip 15: shared = 0664 (rw-rw-r--) rw
* skip 16: git reflog expire honors core.sharedRepository
* skip 17: forced modes
* passed all 17 test(s)
*** t1302-repo-version.sh ***
*   ok 1: gitdir selection on normal repos
*   ok 2: gitdir selection on unsupported repo
*   ok 3: gitdir not required mode
*   ok 4: gitdir required mode on normal repos
*   ok 5: gitdir required mode on unsupported repo
* passed all 5 test(s)
*** t1303-wacky-config.sh ***
*   ok 1: modify same key
*   ok 2: add key in same section
*   ok 3: add key in different section
*   ok 4: make sure git config escapes section names properly
*   ok 5: do not crash on special long config line
* passed all 5 test(s)
*** t1400-update-ref.sh ***
*   ok 1: setup
*   ok 2: create refs/heads/master
*   ok 3: create refs/heads/master
*   ok 4: fail to delete refs/heads/master with stale ref
*   ok 5: delete refs/heads/master
*   ok 6: delete refs/heads/master without oldvalue verification
*   ok 7: fail to create refs/heads/gu/fixes
*   ok 8: create refs/heads/master (by HEAD)
*   ok 9: create refs/heads/master (by HEAD)
*   ok 10: fail to delete refs/heads/master (by HEAD) with stale ref
*   ok 11: delete refs/heads/master (by HEAD)
*   ok 12: delete symref without dereference
*   ok 13: delete symref without dereference when the referred ref is packed
*   ok 14: (not) create HEAD with old sha1
*   ok 15: (not) prior created .git/refs/heads/master
*   ok 16: create HEAD
*   ok 17: (not) change HEAD with wrong SHA1
*   ok 18: (not) changed .git/refs/heads/master
*   ok 19: create refs/heads/master (logged by touch)
*   ok 20: update refs/heads/master (logged by touch)
*   ok 21: set refs/heads/master (logged by touch)
*   ok 22: verifying refs/heads/master's log
*   ok 23: enable core.logAllRefUpdates
*   ok 24: create refs/heads/master (logged by config)
*   ok 25: update refs/heads/master (logged by config)
*   ok 26: set refs/heads/master (logged by config)
*   ok 27: verifying refs/heads/master's log
*   ok 28: Query "master@{May 25 2005}" (before history)
*   ok 29: Query master@{2005-05-25} (before history)
*   ok 30: Query "master@{May 26 2005 23:31:59}" (1 second before history)
*   ok 31: Query "master@{May 26 2005 23:32:00}" (exactly history start)
*   ok 32: Query "master@{May 26 2005 23:32:30}" (first non-creation change)
*   ok 33: Query "master@{2005-05-26 23:33:01}" (middle of history with gap)
*   ok 34: Query "master@{2005-05-26 23:38:00}" (middle of history)
*   ok 35: Query "master@{2005-05-26 23:43:00}" (exact end of history)
*   ok 36: Query "master@{2005-05-28}" (past end of history)
*   ok 37: creating initial files
*   ok 38: git commit logged updates
*   ok 39: git cat-file blob master:F (expect OTHER)
*   ok 40: git cat-file blob master@{2005-05-26 23:30}:F (expect TEST)
*   ok 41: git cat-file blob master@{2005-05-26 23:42}:F (expect OTHER)
* passed all 41 test(s)
*** t1401-symbolic-ref.sh ***
*   ok 1: symbolic-ref writes HEAD
*   ok 2: symbolic-ref reads HEAD
*   ok 3: symbolic-ref refuses non-ref for HEAD
*   ok 4: symbolic-ref refuses bare sha1
* passed all 4 test(s)
*** t1410-reflog.sh ***
*   ok 1: setup
*   ok 2: rewind
*   ok 3: corrupt and check
*   ok 4: reflog expire --dry-run should not touch reflog
*   ok 5: reflog expire
*   ok 6: prune and fsck
*   ok 7: recover and check
*   ok 8: delete
* passed all 8 test(s)
*** t1411-reflog-show.sh ***
*   ok 1: setup
*   ok 2: log -g shows reflog headers
*   ok 3: oneline reflog format
*   ok 4: using @{now} syntax shows reflog date (multiline)
*   ok 5: using @{now} syntax shows reflog date (oneline)
*   ok 6: using --date= shows reflog date (multiline)
*   ok 7: using --date= shows reflog date (oneline)
* passed all 7 test(s)
*** t1420-lost-found.sh ***
*   ok 1: setup
*   ok 2: lost and found something
* passed all 2 test(s)
*** t1450-fsck.sh ***
*   ok 1: setup
*   ok 2: HEAD is part of refs
*   ok 3: loose objects borrowed from alternate are not missing
*   ok 4: object with bad sha1
*   ok 5: branch pointing to non-commit
*   still broken 6: tag pointing to nonexistent
*   still broken 7: tag pointing to something else than its type
* still have 2 known breakage(s)
* passed all remaining 5 test(s)
*** t1500-rev-parse.sh ***
*   ok 1: toplevel: is-bare-repository
*   ok 2: toplevel: is-inside-git-dir
*   ok 3: toplevel: is-inside-work-tree
*   ok 4: toplevel: prefix
*   ok 5: toplevel: git-dir
*   ok 6: .git/: is-bare-repository
*   ok 7: .git/: is-inside-git-dir
*   ok 8: .git/: is-inside-work-tree
*   ok 9: .git/: prefix
*   ok 10: .git/: git-dir
*   ok 11: .git/objects/: is-bare-repository
*   ok 12: .git/objects/: is-inside-git-dir
*   ok 13: .git/objects/: is-inside-work-tree
*   ok 14: .git/objects/: prefix
*   ok 15: .git/objects/: git-dir
*   ok 16: subdirectory: is-bare-repository
*   ok 17: subdirectory: is-inside-git-dir
*   ok 18: subdirectory: is-inside-work-tree
*   ok 19: subdirectory: prefix
*   ok 20: subdirectory: git-dir
*   ok 21: core.bare = true: is-bare-repository
*   ok 22: core.bare = true: is-inside-git-dir
*   ok 23: core.bare = true: is-inside-work-tree
*   ok 24: core.bare undefined: is-bare-repository
*   ok 25: core.bare undefined: is-inside-git-dir
*   ok 26: core.bare undefined: is-inside-work-tree
*   ok 27: GIT_DIR=../.git, core.bare = false: is-bare-repository
*   ok 28: GIT_DIR=../.git, core.bare = false: is-inside-git-dir
*   ok 29: GIT_DIR=../.git, core.bare = false: is-inside-work-tree
*   ok 30: GIT_DIR=../.git, core.bare = false: prefix
*   ok 31: GIT_DIR=../.git, core.bare = true: is-bare-repository
*   ok 32: GIT_DIR=../.git, core.bare = true: is-inside-git-dir
*   ok 33: GIT_DIR=../.git, core.bare = true: is-inside-work-tree
*   ok 34: GIT_DIR=../.git, core.bare = true: prefix
*   ok 35: GIT_DIR=../.git, core.bare undefined: is-bare-repository
*   ok 36: GIT_DIR=../.git, core.bare undefined: is-inside-git-dir
*   ok 37: GIT_DIR=../.git, core.bare undefined: is-inside-work-tree
*   ok 38: GIT_DIR=../.git, core.bare undefined: prefix
*   ok 39: GIT_DIR=../repo.git, core.bare = false: is-bare-repository
*   ok 40: GIT_DIR=../repo.git, core.bare = false: is-inside-git-dir
*   ok 41: GIT_DIR=../repo.git, core.bare = false: is-inside-work-tree
*   ok 42: GIT_DIR=../repo.git, core.bare = false: prefix
*   ok 43: GIT_DIR=../repo.git, core.bare = true: is-bare-repository
*   ok 44: GIT_DIR=../repo.git, core.bare = true: is-inside-git-dir
*   ok 45: GIT_DIR=../repo.git, core.bare = true: is-inside-work-tree
*   ok 46: GIT_DIR=../repo.git, core.bare = true: prefix
*   ok 47: GIT_DIR=../repo.git, core.bare undefined: is-bare-repository
*   ok 48: GIT_DIR=../repo.git, core.bare undefined: is-inside-git-dir
*   ok 49: GIT_DIR=../repo.git, core.bare undefined: is-inside-work-tree
*   ok 50: GIT_DIR=../repo.git, core.bare undefined: prefix
* passed all 50 test(s)
*** t1501-worktree.sh ***
* core.worktree = relative path
*   ok 1: outside: is-bare-repository
*   ok 2: outside: is-inside-git-dir
*   ok 3: outside: is-inside-work-tree
*   ok 4: inside: is-bare-repository
*   ok 5: inside: is-inside-git-dir
*   ok 6: inside: is-inside-work-tree
*   ok 7: inside: prefix
*   ok 8: subdirectory: is-bare-repository
*   ok 9: subdirectory: is-inside-git-dir
*   ok 10: subdirectory: is-inside-work-tree
*   ok 11: subdirectory: prefix
* core.worktree = absolute path
*   ok 12: outside: is-bare-repository
*   ok 13: outside: is-inside-git-dir
*   ok 14: outside: is-inside-work-tree
*   ok 15: inside: is-bare-repository
*   ok 16: inside: is-inside-git-dir
*   ok 17: inside: is-inside-work-tree
*   ok 18: inside: prefix
*   ok 19: subdirectory: is-bare-repository
*   ok 20: subdirectory: is-inside-git-dir
*   ok 21: subdirectory: is-inside-work-tree
*   ok 22: subdirectory: prefix
* GIT_WORK_TREE=relative path (override core.worktree)
*   ok 23: outside: is-bare-repository
*   ok 24: outside: is-inside-git-dir
*   ok 25: outside: is-inside-work-tree
*   ok 26: inside: is-bare-repository
*   ok 27: inside: is-inside-git-dir
*   ok 28: inside: is-inside-work-tree
*   ok 29: inside: prefix
*   ok 30: subdirectory: is-bare-repository
*   ok 31: subdirectory: is-inside-git-dir
*   ok 32: subdirectory: is-inside-work-tree
*   ok 33: subdirectory: prefix
* GIT_WORK_TREE=absolute path, work tree below git dir
*   ok 34: outside: is-bare-repository
*   ok 35: outside: is-inside-git-dir
*   ok 36: outside: is-inside-work-tree
*   ok 37: in repo.git: is-bare-repository
*   ok 38: in repo.git: is-inside-git-dir
*   ok 39: in repo.git: is-inside-work-tree
*   ok 40: in repo.git/objects: is-bare-repository
*   ok 41: in repo.git/objects: is-inside-git-dir
*   ok 42: in repo.git/objects: is-inside-work-tree
*   ok 43: in repo.git/work: is-bare-repository
*   ok 44: in repo.git/work: is-inside-git-dir
*   ok 45: in repo.git/work: is-inside-work-tree
*   ok 46: in repo.git/work: prefix
*   ok 47: in repo.git/sub/dir: is-bare-repository
*   ok 48: in repo.git/sub/dir: is-inside-git-dir
*   ok 49: in repo.git/sub/dir: is-inside-work-tree
*   ok 50: in repo.git/sub/dir: prefix
*   ok 51: repo finds its work tree
*   ok 52: repo finds its work tree from work tree, too
*   ok 53: _gently() groks relative GIT_DIR & GIT_WORK_TREE
*   ok 54: git diff-index
*   ok 55: git diff-files
*   ok 56: git diff
*   ok 57: git grep
* passed all 57 test(s)
*** t1502-rev-parse-parseopt.sh ***
*   ok 1: test --parseopt help output
*   ok 2: test --parseopt
*   ok 3: test --parseopt with mixed options and arguments
*   ok 4: test --parseopt with --
*   ok 5: test --parseopt --stop-at-non-option
*   ok 6: test --parseopt --keep-dashdash
* passed all 6 test(s)
*** t1503-rev-parse-verify.sh ***
*   ok 1: set up basic repo with 1 file (hello) and 4 commits
*   ok 2: works with one good rev
*   ok 3: fails with any bad rev or many good revs
*   ok 4: fails silently when using -q
*   ok 5: no stdout output on error
*   ok 6: use --default
* passed all 6 test(s)
*** t1504-ceiling-dirs.sh ***
*   ok 1: no_ceil
*   ok 2: ceil_empty
*   ok 3: ceil_at_parent
*   ok 4: ceil_at_parent_slash
*   ok 5: ceil_at_trash
*   ok 6: ceil_at_trash_slash
*   ok 7: ceil_at_sub
*   ok 8: ceil_at_sub_slash
*   ok 9: subdir_no_ceil
*   ok 10: subdir_ceil_empty
*   ok 11: subdir_ceil_at_trash: prefix
*   ok 12: subdir_ceil_at_trash_slash: prefix
*   ok 13: subdir_ceil_at_sub: prefix
*   ok 14: subdir_ceil_at_sub_slash: prefix
*   ok 15: subdir_ceil_at_subdir
*   ok 16: subdir_ceil_at_subdir_slash
*   ok 17: subdir_ceil_at_su
*   ok 18: subdir_ceil_at_su_slash
*   ok 19: subdir_ceil_at_sub_di
*   ok 20: subdir_ceil_at_sub_di_slash
*   ok 21: subdir_ceil_at_subdi
*   ok 22: subdir_ceil_at_subdi_slash
*   ok 23: second_of_two: prefix
*   ok 24: first_of_two: prefix
*   ok 25: second_of_three: prefix
*   ok 26: git_dir_specified
*   ok 27: sd_no_ceil
*   ok 28: sd_ceil_empty
*   ok 29: sd_ceil_at_trash: prefix
*   ok 30: sd_ceil_at_trash_slash: prefix
*   ok 31: sd_ceil_at_s: prefix
*   ok 32: sd_ceil_at_s_slash: prefix
*   ok 33: sd_ceil_at_sd
*   ok 34: sd_ceil_at_sd_slash
*   ok 35: sd_ceil_at_su
*   ok 36: sd_ceil_at_su_slash
*   ok 37: sd_ceil_at_s_di
*   ok 38: sd_ceil_at_s_di_slash
*   ok 39: sd_ceil_at_sdi
*   ok 40: sd_ceil_at_sdi_slash
* passed all 40 test(s)
*** t1505-rev-parse-last.sh ***
*   ok 1: setup
*   ok 2: @{-1} works
*   ok 3: @{-1}~2 works
*   ok 4: @{-1}^2 works
*   ok 5: @{-1}@{1} works
*   ok 6: @{-2} works
*   ok 7: @{-3} fails
* passed all 7 test(s)
*** t2000-checkout-cache-clash.sh ***
*   ok 1: git update-index --add various paths.
*   ok 2: git checkout-index without -f should fail on conflicting work tree.
*   ok 3: git checkout-index with -f should succeed.
*   ok 4: git checkout-index conflicting paths.
* skip 5: checkout-index -f twice with --prefix
* passed all 5 test(s)
*** t2001-checkout-cache-clash.sh ***
*   ok 1: git update-index --add path0/file0
*   ok 2: writing tree out with git write-tree
*   ok 3: git update-index --add path1/file1
*   ok 4: writing tree out with git write-tree
*   ok 5: read previously written tree and checkout.
* skip 6: git update-index --add a symlink.
*   ok 7: writing tree out with git write-tree
*   ok 8: read previously written tree and checkout.
*   ok 9: checking out conflicting path with -f
* passed all 9 test(s)
*** t2002-checkout-cache-u.sh ***
*   ok 1: preparation
*   ok 2: without -u, git checkout-index smudges stat information.
*   ok 3: with -u, git checkout-index picks up stat information from new files.
* passed all 3 test(s)
*** t2003-checkout-cache-mkdir.sh ***
*   ok 1: setup
* skip 2: have symlink in place where dir is expected.
*   ok 3: use --prefix=path2/
*   ok 4: use --prefix=tmp-
*   ok 5: use --prefix=tmp- but with a conflicting file and dir
* skip 6: use --prefix=tmp/orary/ where tmp is a symlink
* skip 7: use --prefix=tmp/orary- where tmp is a symlink
* skip 8: use --prefix=tmp- where tmp-path1 is a symlink
* passed all 8 test(s)
*** t2004-checkout-cache-temp.sh ***
*   ok 1: preparation
*   ok 2: checkout one stage 0 to temporary file
*   ok 3: checkout all stage 0 to temporary files
*   ok 4: prepare 3-way merge
*   ok 5: checkout one stage 2 to temporary file
*   ok 6: checkout all stage 2 to temporary files
*   ok 7: checkout all stages/one file to nothing
*   ok 8: checkout all stages/one file to temporary files
*   ok 9: checkout some stages/one file to temporary files
*   ok 10: checkout all stages/all files to temporary files
*   ok 11: -- path0: no entry
*   ok 12: -- path1: all 3 stages
*   ok 13: -- path2: no stage 1, have stage 2 and 3
*   ok 14: -- path3: no stage 2, have stage 1 and 3
*   ok 15: -- path4: no stage 3, have stage 1 and 3
*   ok 16: -- asubdir/path5: no stage 2 and 3 have stage 1
*   ok 17: checkout --temp within subdir
* skip 18: checkout --temp symlink
* passed all 18 test(s)
*** t2005-checkout-index-symlinks.sh ***
*   ok 1: preparation
*   ok 2: the checked-out symlink must be a file
*   ok 3: the file must be the blob we added during the setup
* passed all 3 test(s)
*** t2007-checkout-symlink.sh ***
* symbolic links not supported - skipping tests
* passed all 0 test(s)
*** t2008-checkout-subdir.sh ***
*   ok 1: setup
*   ok 2: remove and restore with relative path
*   ok 3: checkout with empty prefix
*   ok 4: checkout with simple prefix
*   ok 5: relative path outside tree should fail
*   ok 6: incorrect relative path to file should fail (1)
*   ok 7: incorrect relative path should fail (2)
*   ok 8: incorrect relative path should fail (3)
* passed all 8 test(s)
*** t2009-checkout-statinfo.sh ***
*   ok 1: setup
*   ok 2: branch switching
*   ok 3: path checkout
* passed all 3 test(s)
*** t2010-checkout-ambiguous.sh ***
*   ok 1: setup
*   ok 2: reference must be a tree
*   ok 3: branch switching
*   ok 4: checkout world from the index
*   ok 5: non ambiguous call
*   ok 6: allow the most common case
*   ok 7: check ambiguity
*   ok 8: disambiguate checking out from a tree-ish
* passed all 8 test(s)
*** t2011-checkout-invalid-head.sh ***
*   ok 1: setup
*   ok 2: checkout should not start branch from a tree
*   ok 3: checkout master from invalid HEAD
* passed all 3 test(s)
*** t2012-checkout-last.sh ***
*   ok 1: setup
*   ok 2: "checkout -" does not work initially
*   ok 3: first branch switch
*   ok 4: "checkout -" switches back
*   ok 5: "checkout -" switches forth
*   ok 6: detach HEAD
*   ok 7: "checkout -" attaches again
*   ok 8: "checkout -" detaches again
*   ok 9: more switches
*   ok 10: switch to the last
*   ok 11: switch to second from the last
*   ok 12: switch to third from the last
*   ok 13: switch to fourth from the last
*   ok 14: switch to twelfth from the last
* passed all 14 test(s)
*** t2013-checkout-submodule.sh ***
*   ok 1: setup
*   ok 2: "reset <submodule>" updates the index
*   ok 3: "checkout <submodule>" updates the index only
* passed all 3 test(s)
*** t2014-switch.sh ***
*   ok 1: setup
*   ok 2: check all changes are staged
*   ok 3: second commit
*   ok 4: check
* passed all 4 test(s)
*** t2015-checkout-unborn.sh ***
*   ok 1: setup
*   ok 2: checkout from unborn preserves untracked files
*   ok 3: checkout from unborn preserves index contents
*   ok 4: checkout from unborn merges identical index contents
* passed all 4 test(s)
*** t2016-checkout-patch.sh ***
*   ok 1: setup
*   ok 2: saying "n" does nothing
*   ok 3: git checkout -p
*   ok 4: git checkout -p with staged changes
*   ok 5: git checkout -p HEAD with NO staged changes: abort
*   ok 6: git checkout -p HEAD with NO staged changes: apply
*   ok 7: git checkout -p HEAD with change already staged
*   ok 8: git checkout -p HEAD^
*   ok 9: path limiting works: dir
*   ok 10: path limiting works: -- dir
*   ok 11: path limiting works: HEAD^ -- dir
*   ok 12: path limiting works: foo inside dir
*   ok 13: none of this moved HEAD
* passed all 13 test(s)
*** t2050-git-dir-relative.sh ***
*   ok 1: Setting up post-commit hook
*   ok 2: post-commit hook used ordinarily
*   ok 3: post-commit-hook created and used from top dir
*   ok 4: post-commit-hook from sub dir
* passed all 4 test(s)
*** t2100-update-cache-badpath.sh ***
*   ok 1: git update-index --add to add various paths.
*   ok 2: git update-index to add conflicting path path0/file0 should fail.
*   ok 3: git update-index to add conflicting path path1/file1 should fail.
*   ok 4: git update-index to add conflicting path path2 should fail.
*   ok 5: git update-index to add conflicting path path3 should fail.
* passed all 5 test(s)
*** t2101-update-index-reupdate.sh ***
*   ok 1: update-index --add
*   ok 2: update-index --again
*   ok 3: update-index --remove --again
*   ok 4: first commit
*   ok 5: update-index again
*   ok 6: update-index --update from subdir
*   ok 7: update-index --update with pathspec
* passed all 7 test(s)
*** t2102-update-index-symlinks.sh ***
*   ok 1: preparation
*   ok 2: modify the symbolic link
*   ok 3: the index entry must still be a symbolic link
* passed all 3 test(s)
*** t2103-update-index-ignore-missing.sh ***
*   ok 1: basics
*   ok 2: --ignore-missing --refresh
*   ok 3: --unmerged --refresh
*   ok 4: --ignore-submodules --refresh (1)
*   ok 5: --ignore-submodules --refresh (2)
* passed all 5 test(s)
*** t2200-add-update.sh ***
*   ok 1: setup
*   ok 2: update
*   ok 3: update noticed a removal
*   ok 4: update touched correct path
*   ok 5: update did not touch other tracked files
*   ok 6: update did not touch untracked files
*   ok 7: cache tree has not been corrupted
*   ok 8: update from a subdirectory
*   ok 9: change gets noticed
* skip 10: replace a file with a symlink
*   ok 11: add everything changed
*   ok 12: touch and then add -u
*   ok 13: touch and then add explicitly
*   ok 14: add -n -u should not add but just report
*   ok 15: add -u resolves unmerged paths
* passed all 15 test(s)
*** t2201-add-update-typechange.sh ***
*   ok 1: setup
*   ok 2: modify
*   ok 3: diff-files
*   ok 4: diff-index
*   ok 5: add -u
*   ok 6: commit -a
* passed all 6 test(s)
*** t2202-add-addremove.sh ***
*   ok 1: setup
*   ok 2: git add --all
* passed all 2 test(s)
*** t2203-add-intent.sh ***
*   ok 1: intent to add
*   ok 2: check result of "add -N"
*   ok 3: intent to add is just an ordinary empty blob
*   ok 4: intent to add does not clobber existing paths
*   ok 5: cannot commit with i-t-a entry
*   ok 6: can commit with an unrelated i-t-a entry in index
*   ok 7: can "commit -a" with an i-t-a entry
* passed all 7 test(s)
*** t2300-cd-to-toplevel.sh ***
*   ok 1: at physical root
*   ok 2: at physical subdir
* skip 3: at symbolic root
* skip 4: at symbolic subdir
* skip 5: at internal symbolic subdir
* passed all 5 test(s)
*** t3000-ls-files-others.sh ***
*   ok 1: git ls-files --others to show output.
*   ok 2: git ls-files --others should pick up symlinks.
*   ok 3: git ls-files --others --directory to show output.
*   ok 4: git ls-files --others --directory should not get confused.
*   ok 5: git ls-files --others --directory --no-empty-directory to show output.
*   ok 6: --no-empty-directory hides empty directory
* passed all 6 test(s)
*** t3001-ls-files-others-exclude.sh ***
*   ok 1: git ls-files --others with various exclude options.
*   ok 2: git ls-files --others with \r\n line endings.
*   ok 3: git status honors core.excludesfile
*   ok 4: trailing slash in exclude allows directory match(1)
*   ok 5: trailing slash in exclude allows directory match (2)
*   ok 6: trailing slash in exclude forces directory match (1)
*   ok 7: trailing slash in exclude forces directory match (2)
*   ok 8: negated exclude matches can override previous ones
* passed all 8 test(s)
*** t3002-ls-files-dashpath.sh ***
*   ok 1: setup
*   ok 2: git ls-files without path restriction.
*   ok 3: git ls-files with path restriction.
*   ok 4: git ls-files with path restriction with --.
*   ok 5: git ls-files with path restriction with -- --.
*   ok 6: git ls-files with no path restriction.
* passed all 6 test(s)
*** t3010-ls-files-killed-modified.sh ***
*   ok 1: git update-index --add to add various paths.
*   ok 2: git ls-files -k to show killed files.
*   ok 3: validate git ls-files -k output.
*   ok 4: git ls-files -m to show modified files.
*   ok 5: validate git ls-files -m output.
* passed all 5 test(s)
*** t3020-ls-files-error-unmatch.sh ***
[master (root-commit) 9e92461] add foo bar
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 bar
 create mode 100644 foo
*   ok 1: git ls-files --error-unmatch should fail with unmatched path.
*   ok 2: git ls-files --error-unmatch should succeed eith matched paths.
* passed all 2 test(s)
*** t3030-merge-recursive.sh ***
*   ok 1: setup 1
*   ok 2: setup 2
*   ok 3: setup 3
*   ok 4: setup 4
*   ok 5: setup 5
*   ok 6: setup 6
*   ok 7: merge-recursive simple
*   ok 8: merge-recursive result
*   ok 9: fail if the index has unresolved entries
*   ok 10: merge-recursive remove conflict
*   ok 11: merge-recursive remove conflict
*   ok 12: merge-recursive d/f simple
*   ok 13: merge-recursive result
*   ok 14: merge-recursive d/f conflict
*   ok 15: merge-recursive d/f conflict result
*   ok 16: merge-recursive d/f conflict the other way
*   ok 17: merge-recursive d/f conflict result the other way
*   ok 18: merge-recursive d/f conflict
*   ok 19: merge-recursive d/f conflict result
*   ok 20: merge-recursive d/f conflict
*   ok 21: merge-recursive d/f conflict result
*   ok 22: reset and 3-way merge
*   ok 23: reset and bind merge
*   ok 24: merge removes empty directories
* passed all 24 test(s)
*** t3031-merge-criscross.sh ***
*   ok 1: setup repo with criss-cross history
*   ok 2: recursive merge between F and G, causes segfault
* passed all 2 test(s)
*** t3040-subprojects-basic.sh ***
*   ok 1: Super project creation
*   ok 2: create subprojects
*   ok 3: check if fsck ignores the subprojects
*   ok 4: check if commit in a subproject detected
*   ok 5: check if a changed subproject HEAD can be committed
*   ok 6: check if diff-index works for subproject elements
*   ok 7: check if diff-tree works for subproject elements
*   ok 8: check if git diff works for subproject elements
*   ok 9: check if clone works
*   ok 10: removing and adding subproject
*   ok 11: checkout in superproject
* passed all 11 test(s)
*** t3050-subprojects-fetch.sh ***
*   ok 1: setup
*   ok 2: clone
*   ok 3: advance
*   ok 4: fetch
* passed all 4 test(s)
*** t3060-ls-files-with-tree.sh ***
*   ok 1: setup
*   ok 2: git -ls-files --with-tree should succeed from subdir
*   ok 3: git -ls-files --with-tree should add entries from named tree.
* passed all 3 test(s)
*** t3100-ls-tree-restrict.sh ***
*   ok 1: setup
*   ok 2: ls-tree plain
*   ok 3: ls-tree recursive
*   ok 4: ls-tree recursive with -t
*   ok 5: ls-tree recursive with -d
*   ok 6: ls-tree filtered with path
*   ok 7: ls-tree filtered with path1 path0
*   ok 8: ls-tree filtered with path0/
*   ok 9: ls-tree filtered with path2
*   ok 10: ls-tree filtered with path2/
*   ok 11: ls-tree filtered with path2/baz
*   ok 12: ls-tree filtered with path2/bak
*   ok 13: ls-tree -t filtered with path2/bak
* passed all 13 test(s)
*** t3101-ls-tree-dirname.sh ***
*   ok 1: setup
*   ok 2: ls-tree plain
*   ok 3: ls-tree recursive
*   ok 4: ls-tree filter 1.txt
*   ok 5: ls-tree filter path1/b/c/1.txt
*   ok 6: ls-tree filter all 1.txt files
*   ok 7: ls-tree filter directories
*   ok 8: ls-tree filter odd names
*   ok 9: ls-tree filter missing files and extra slashes
*   ok 10: ls-tree filter is leading path match
* passed all 10 test(s)
*** t3200-branch.sh ***
*   ok 1: prepare a trivial repository
*   ok 2: git branch --help should not have created a bogus branch
*   ok 3: git branch abc should create a branch
*   ok 4: git branch a/b/c should create a branch
*   ok 5: git branch -l d/e/f should create a branch and a log
*   ok 6: git branch -d d/e/f should delete a branch and a log
*   ok 7: git branch j/k should work after branch j has been deleted
*   ok 8: git branch l should work after branch l/m has been deleted
*   ok 9: git branch -m m m/m should work
*   ok 10: git branch -m n/n n should work
*   ok 11: git branch -m o/o o should fail when o/p exists
*   ok 12: git branch -m q r/q should fail when r exists
*   ok 13: git branch -m q q2 without config should succeed
*   ok 14: git branch -m s/s s should work when s/t is deleted
*   ok 15: config information was renamed, too
*   ok 16: renaming a symref is not allowed
* skip 17: git branch -m u v should fail when the reflog for u is a symlink
*   ok 18: test tracking setup via --track
*   ok 19: test tracking setup (non-wildcard, matching)
*   ok 20: test tracking setup (non-wildcard, not matching)
*   ok 21: test tracking setup via config
*   ok 22: test overriding tracking setup via --no-track
*   ok 23: no tracking without .fetch entries
*   ok 24: test tracking setup via --track but deeper
*   ok 25: test deleting branch deletes branch config
*   ok 26: test deleting branch without config
*   ok 27: test --track without .fetch entries
*   ok 28: branch from non-branch HEAD w/autosetupmerge=always
*   ok 29: branch from non-branch HEAD w/--track causes failure
*   ok 30: git checkout -b g/h/i -l should create a branch and a log
*   ok 31: avoid ambiguous track
*   ok 32: autosetuprebase local on a tracked local branch
*   ok 33: autosetuprebase always on a tracked local branch
*   ok 34: autosetuprebase remote on a tracked local branch
*   ok 35: autosetuprebase never on a tracked local branch
*   ok 36: autosetuprebase local on a tracked remote branch
*   ok 37: autosetuprebase never on a tracked remote branch
*   ok 38: autosetuprebase remote on a tracked remote branch
*   ok 39: autosetuprebase always on a tracked remote branch
*   ok 40: autosetuprebase unconfigured on a tracked remote branch
*   ok 41: autosetuprebase unconfigured on a tracked local branch
*   ok 42: autosetuprebase unconfigured on untracked local branch
*   ok 43: autosetuprebase unconfigured on untracked remote branch
*   ok 44: autosetuprebase never on an untracked local branch
*   ok 45: autosetuprebase local on an untracked local branch
*   ok 46: autosetuprebase remote on an untracked local branch
*   ok 47: autosetuprebase always on an untracked local branch
*   ok 48: autosetuprebase never on an untracked remote branch
*   ok 49: autosetuprebase local on an untracked remote branch
*   ok 50: autosetuprebase remote on an untracked remote branch
*   ok 51: autosetuprebase always on an untracked remote branch
*   ok 52: detect misconfigured autosetuprebase (bad value)
*   ok 53: detect misconfigured autosetuprebase (no value)
* passed all 53 test(s)
*** t3201-branch-contains.sh ***
*   ok 1: setup
*   ok 2: branch --contains=master
*   ok 3: branch --contains master
*   ok 4: branch --contains=side
*   ok 5: side: branch --merged
*   ok 6: side: branch --no-merged
*   ok 7: master: branch --merged
*   ok 8: master: branch --no-merged
* passed all 8 test(s)
*** t3202-show-branch-octopus.sh ***
*   ok 1: setup
*   ok 2: show-branch with more than 8 branches
* passed all 2 test(s)
*** t3203-branch-output.sh ***
*   ok 1: make commits
*   ok 2: make branches
*   ok 3: make remote branches
*   ok 4: git branch shows local branches
*   ok 5: git branch -r shows remote branches
*   ok 6: git branch -a shows local and remote branches
*   ok 7: git branch -v shows branch summaries
*   ok 8: git branch shows detached HEAD properly
* passed all 8 test(s)
*** t3210-pack-refs.sh ***
*   ok 1: prepare a trivial repository
*   ok 2: see if git show-ref works as expected
*   ok 3: see if a branch still exists when packed
*   ok 4: git branch c/d should barf if branch c exists
*   ok 5: see if a branch still exists after git pack-refs --prune
*   ok 6: see if git pack-refs --prune remove ref files
*   ok 7: git branch g should work when git branch g/h has been deleted
*   ok 8: git branch i/j/k should barf if branch i exists
*   ok 9: test git branch k after branch k/l/m and k/lm have been deleted
*   ok 10: test git branch n after some branch deletion and pruning
*   ok 11: see if up-to-date packed refs are preserved
*   ok 12: pack, prune and repack
* passed all 12 test(s)
*** t3300-funny-names.sh ***
* Your filesystem does not allow tabs in filenames, test skipped.
* passed all 0 test(s)
*** t3400-rebase.sh ***
*   ok 1: prepare repository with topic branches
*   ok 2: rebase on dirty worktree
*   ok 3: rebase on dirty cache
*   ok 4: rebase against master
*   ok 5: rebase against master twice
*   ok 6: rebase against master twice with --force
*   ok 7: rebase against master twice from another branch
*   ok 8: rebase fast-forward to master
*   ok 9: the rebase operation should not have destroyed author information
*   ok 10: HEAD was detached during rebase
*   ok 11: rebase after merge master
*   ok 12: rebase of history with merges is linearized
*   ok 13: rebase of history with merges after upstream merge is linearized
*   ok 14: rebase a single mode change
*   ok 15: Show verbose error when HEAD could not be detached
*   ok 16: rebase -q is quiet
*   ok 17: Rebase a commit that sprinkles CRs in
* passed all 17 test(s)
*** t3401-rebase-partial.sh ***
*   ok 1: prepare repository with topic branch
*   ok 2: pick top patch from topic branch into master
*   ok 3: rebase topic branch against new master and check git am did not get halted
*   ok 4: rebase --merge topic branch that was partially merged upstream
* passed all 4 test(s)
*** t3402-rebase-merge.sh ***
*   ok 1: setup
*   ok 2: reference merge
*   ok 3: rebase
*   ok 4: test-rebase@{1} is pre rebase
*   ok 5: merge and rebase should match
*   ok 6: rebase the other way
*   ok 7: merge and rebase should match
*   ok 8: picking rebase
* passed all 8 test(s)
*** t3403-rebase-skip.sh ***
*   ok 1: setup
*   ok 2: rebase with git am -3 (default)
*   ok 3: rebase --skip with am -3
*   ok 4: rebase moves back to skip-reference
*   ok 5: checkout skip-merge
*   ok 6: rebase with --merge
*   ok 7: rebase --skip with --merge
*   ok 8: merge and reference trees equal
*   ok 9: moved back to branch correctly
* passed all 9 test(s)
*** t3404-rebase-interactive.sh ***
*   ok 1: setup
*   ok 2: no changes are a nop
*   ok 3: test the [branch] option
*   ok 4: test --onto <branch>
*   ok 5: rebase on top of a non-conflicting commit
*   ok 6: reflog for the branch shows state before rebase
*   ok 7: exchange two commits
*   ok 8: stop on conflicting pick
*   ok 9: abort
*   ok 10: retain authorship
*   ok 11: squash
*   ok 12: retain authorship when squashing
*   ok 13: -p handles "no changes" gracefully
*   ok 14: preserve merges with -p
*   ok 15: edit ancestor with -p
*   ok 16: --continue tries to commit
*   ok 17: verbose flag is heeded, even after --continue
*   ok 18: multi-squash only fires up editor once
*   ok 19: squash works as expected
*   ok 20: interrupted squash works as expected
*   ok 21: interrupted squash works as expected (case 2)
*   ok 22: ignore patch if in upstream
*   ok 23: --continue tries to commit, even for "edit"
*   ok 24: aborted --continue does not squash commits after "edit"
*   ok 25: auto-amend only edited commits after "edit"
*   ok 26: rebase a detached HEAD
*   ok 27: rebase a commit violating pre-commit
*   ok 28: rebase with a file named HEAD in worktree
*   ok 29: do "noop" when there is nothing to cherry-pick
*   ok 30: submodule rebase setup
*   ok 31: submodule rebase -i
*   ok 32: avoid unnecessary reset
* passed all 32 test(s)
*** t3405-rebase-malformed.sh ***
*   ok 1: setup
*   ok 2: rebase
* passed all 2 test(s)
*** t3406-rebase-message.sh ***
*   ok 1: setup
*   ok 2: rebase -m
*   ok 3: rebase --stat
*   ok 4: rebase w/config rebase.stat
*   ok 5: rebase -n overrides config rebase.stat config
* passed all 5 test(s)
*** t3407-rebase-abort.sh ***
*   ok 1: setup
*   ok 2: rebase --abort
*   ok 3: rebase --abort after --skip
*   ok 4: rebase --abort after --continue
*   ok 5: rebase --merge --abort
*   ok 6: rebase --merge --abort after --skip
*   ok 7: rebase --merge --abort after --continue
* passed all 7 test(s)
*** t3408-rebase-multi-line.sh ***
*   ok 1: setup
*   ok 2: rebase
* passed all 2 test(s)
*** t3409-rebase-preserve-merges.sh ***
*   ok 1: setup for merge-preserving rebase
*   ok 2: rebase -p fakes interactive rebase
*   ok 3: --continue works after a conflict
* passed all 3 test(s)
*** t3410-rebase-preserve-dropped-merges.sh ***
*   ok 1: setup
*   ok 2: skip same-resolution merges with -p
*   ok 3: keep different-resolution merges with -p
* passed all 3 test(s)
*** t3411-rebase-preserve-around-merges.sh ***
*   ok 1: setup
*   ok 2: squash F1 into D1
*   ok 3: rebase two levels of merge
* passed all 3 test(s)
*** t3412-rebase-root.sh ***
*   ok 1: prepare repository
*   ok 2: rebase --root expects --onto
*   ok 3: setup pre-rebase hook
*   ok 4: rebase --root --onto <newbase>
*   ok 5: pre-rebase got correct input (1)
*   ok 6: rebase --root --onto <newbase> <branch>
*   ok 7: pre-rebase got correct input (2)
*   ok 8: rebase -i --root --onto <newbase>
*   ok 9: pre-rebase got correct input (3)
*   ok 10: rebase -i --root --onto <newbase> <branch>
*   ok 11: pre-rebase got correct input (4)
*   ok 12: rebase -i -p with linear history
*   ok 13: pre-rebase got correct input (5)
*   ok 14: set up merge history
*   ok 15: rebase -i -p with merge
*   ok 16: set up second root and merge
*   ok 17: rebase -i -p with two roots
*   ok 18: setup pre-rebase hook that fails
*   ok 19: pre-rebase hook stops rebase
*   ok 20: pre-rebase hook stops rebase -i
*   ok 21: remove pre-rebase hook
*   ok 22: set up a conflict
*   ok 23: rebase --root with conflict (first part)
*   ok 24: fix the conflict
*   ok 25: rebase --root with conflict (second part)
*   ok 26: rebase -i --root with conflict (first part)
*   ok 27: fix the conflict
*   ok 28: rebase -i --root with conflict (second part)
*   ok 29: rebase -i -p --root with conflict (first part)
*   ok 30: fix the conflict
*   ok 31: rebase -i -p --root with conflict (second part)
* passed all 31 test(s)
*** t3413-rebase-hook.sh ***
*   ok 1: setup
*   ok 2: rebase
*   ok 3: rebase -i
*   ok 4: setup pre-rebase hook
*   ok 5: pre-rebase hook gets correct input (1)
*   ok 6: pre-rebase hook gets correct input (2)
*   ok 7: pre-rebase hook gets correct input (3)
*   ok 8: pre-rebase hook gets correct input (4)
*   ok 9: pre-rebase hook gets correct input (5)
*   ok 10: pre-rebase hook gets correct input (6)
*   ok 11: setup pre-rebase hook that fails
*   ok 12: pre-rebase hook stops rebase (1)
*   ok 13: pre-rebase hook stops rebase (2)
*   ok 14: rebase --no-verify overrides pre-rebase (1)
*   ok 15: rebase --no-verify overrides pre-rebase (2)
* passed all 15 test(s)
*** t3414-rebase-preserve-onto.sh ***
*   ok 1: setup
*   ok 2: rebase from B1 onto H1
*   ok 3: rebase from E1 onto H1
*   ok 4: rebase from C1 onto H1
* passed all 4 test(s)
*** t3500-cherry.sh ***
*   ok 1: prepare repository with topic branch, and check cherry finds the 2 patches from there
*   ok 2: check that cherry with limit returns only the top patch
*   ok 3: cherry-pick one of the 2 patches, and check cherry recognized one and only one as new
* passed all 3 test(s)
*** t3501-revert-cherry-pick.sh ***
*   ok 1: setup
*   ok 2: cherry-pick after renaming branch
*   ok 3: revert after renaming branch
*   ok 4: revert forbidden on dirty working tree
* passed all 4 test(s)
*** t3502-cherry-pick-merge.sh ***
*   ok 1: setup
*   ok 2: cherry-pick a non-merge with -m should fail
*   ok 3: cherry pick a merge without -m should fail
*   ok 4: cherry pick a merge (1)
*   ok 5: cherry pick a merge (2)
*   ok 6: cherry pick a merge relative to nonexistent parent should fail
*   ok 7: revert a non-merge with -m should fail
*   ok 8: revert a merge without -m should fail
*   ok 9: revert a merge (1)
*   ok 10: revert a merge (2)
*   ok 11: revert a merge relative to nonexistent parent should fail
* passed all 11 test(s)
*** t3503-cherry-pick-root.sh ***
*   ok 1: setup
*   ok 2: cherry-pick a root commit
* passed all 2 test(s)
*** t3504-cherry-pick-rerere.sh ***
*   ok 1: setup
*   ok 2: conflicting merge
*   ok 3: fixup
*   ok 4: cherry-pick conflict
*   ok 5: reconfigure
*   ok 6: cherry-pick conflict without rerere
* passed all 6 test(s)
*** t3505-cherry-pick-empty.sh ***
*   ok 1: setup
*   ok 2: cherry-pick an empty commit
*   ok 3: index lockfile was removed
* passed all 3 test(s)
*** t3600-rm.sh ***
*   ok 1: Initialize test directory
* Your filesystem does not allow tabs in filenames.
* skip 2: add files with funny names
* skipping removal failure test (perhaps running as root?)
*   ok 3: Pre-check that foo exists and is in index before git rm foo
*   ok 4: Test that git rm foo succeeds
*   ok 5: Test that git rm --cached foo succeeds if the index matches the file
*   ok 6: Test that git rm --cached foo succeeds if the index matches the file
*   ok 7: Test that git rm --cached foo fails if the index matches neither the file nor HEAD
*   ok 8: Test that git rm --cached -f foo works in case where --cached only did not
*   ok 9: Post-check that foo exists but is not in index after git rm foo
*   ok 10: Pre-check that bar exists and is in index before "git rm bar"
*   ok 11: Test that "git rm bar" succeeds
*   ok 12: Post-check that bar does not exist and is not in index after "git rm -f bar"
*   ok 13: Test that "git rm -- -q" succeeds (remove a file that looks like an option)
* skip 14: Test that "git rm -f" succeeds with embedded space, tab, or newline characters.
* skip 15: Test that "git rm -f" fails if its rm fails
*   ok 16: When the rm in "git rm -f" fails, it should not remove the file from the index
*   ok 17: Remove nonexistent file with --ignore-unmatch
*   ok 18: "rm" command printed
*   ok 19: "rm" command suppressed with --quiet
*   ok 20: Re-add foo and baz
*   ok 21: Modify foo -- rm should refuse
*   ok 22: Modified foo -- rm -f should work
*   ok 23: Re-add foo and baz for HEAD tests
*   ok 24: foo is different in index from HEAD -- rm should refuse
*   ok 25: but with -f it should work.
*   ok 26: refuse to remove cached empty file with modifications
*   ok 27: remove intent-to-add file without --force
*   ok 28: Recursive test setup
*   ok 29: Recursive without -r fails
*   ok 30: Recursive with -r but dirty
*   ok 31: Recursive with -r -f
*   ok 32: Remove nonexistent file returns nonzero exit status
*   ok 33: Call "rm" from outside the work tree
*   ok 34: refresh index before checking if it is up-to-date
*   ok 35: choking "git rm" should not let it die with cruft
* passed all 35 test(s)
*** t3700-add.sh ***
*   ok 1: Test of git add
*   ok 2: Post-check that foo is in the index
*   ok 3: Test that "git add -- -q" works
*   ok 4: git add: Test that executable bit is not used if core.filemode=0
* skip 5: git add: filemode=0 should not get confused by symlink
*   ok 6: git update-index --add: Test that executable bit is not used...
* skip 7: git add: filemode=0 should not get confused by symlink
* skip 8: git update-index --add: Test that executable bit is not used...
*   ok 9: .gitignore test setup
*   ok 10: .gitignore is honored
*   ok 11: error out when attempting to add ignored ones without -f
*   ok 12: error out when attempting to add ignored ones without -f
*   ok 13: add ignored ones with -f
*   ok 14: add ignored ones with -f
*   ok 15: add ignored ones with -f
*   ok 16: .gitignore with subdirectory
*   ok 17: check correct prefix detection
*   ok 18: git add with filemode=0, symlinks=0, and unmerged entries
*   ok 19: git add with filemode=0, symlinks=0 prefers stage 2 over stage 1
*   ok 20: git add --refresh
* skip 21: git add should fail atomically upon an unreadable file
* skip 22: git add --ignore-errors
* skip 23: git add (add.ignore-errors)
* skip 24: git add (add.ignore-errors = false)
* skip 25: --no-ignore-errors overrides config
* skip 26: git add 'fo\[ou\]bar' ignores foobar
*   ok 27: git add to resolve conflicts on otherwise ignored path
* passed all 27 test(s)
*** t3701-add-interactive.sh ***
*   ok 1: setup (initial)
*   ok 2: status works (initial)
*   ok 3: diff works (initial)
*   ok 4: revert works (initial)
*   ok 5: setup (commit)
*   ok 6: status works (commit)
*   ok 7: diff works (commit)
*   ok 8: revert works (commit)
*   ok 9: dummy edit works
*   ok 10: bad edit rejected
*   ok 11: garbage edit rejected
*   ok 12: real edit works
* skipping filemode tests (filesystem does not properly support modes)
* skip 13: patch does not affect mode
* skip 14: stage mode but not hunk
* skip 15: stage mode and hunk
*   ok 16: setup again
*   ok 17: add first line works
* passed all 17 test(s)
*** t3702-add-edit.sh ***
*   ok 1: setup
*   ok 2: add -e
* passed all 2 test(s)
*** t3800-mktag.sh ***
[master (root-commit) 6c480b0] Initial commit
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 A
*   ok 1: Tag object length check
*   ok 2: "object" line label check
*   ok 3: "object" line SHA1 check
*   ok 4: "type" line label check
*   ok 5: "type" line eol check
*   ok 6: "tag" line label check #1
*   ok 7: "tag" line label check #2
*   ok 8: "type" line type-name length check
*   ok 9: verify object (SHA1/type) check
*   ok 10: verify tag-name check
*   ok 11: "tagger" line label check #1
*   ok 12: "tagger" line label check #2
*   ok 13: disallow missing tag author name
*   ok 14: disallow malformed tagger
*   ok 15: allow empty tag email
*   ok 16: disallow spaces in tag email
*   ok 17: disallow missing tag timestamp
*   ok 18: detect invalid tag timestamp1
*   ok 19: detect invalid tag timestamp2
*   ok 20: detect invalid tag timezone1
*   ok 21: detect invalid tag timezone2
*   ok 22: detect invalid tag timezone3
*   ok 23: detect invalid header entry
*   ok 24: create valid tag
*   ok 25: check mytag
* passed all 25 test(s)
*** t3900-i18n-commit.sh ***
*   ok 1: setup
*   ok 2: no encoding header for base case
*   ok 3: ISO8859-1 setup
*   ok 4: eucJP setup
*   ok 5: ISO-2022-JP setup
*   ok 6: check encoding header for ISO8859-1
*   ok 7: check encoding header for eucJP
*   ok 8: check encoding header for ISO-2022-JP
*   ok 9: config to remove customization
* FAIL 10: ISO8859-1 should be shown in UTF-8 now
	
		compare_with ISO8859-1 "$TEST_DIRECTORY"/t3900/1-UTF-8.txt
	
* FAIL 11: eucJP should be shown in UTF-8 now
	
			compare_with eucJP "$TEST_DIRECTORY"/t3900/2-UTF-8.txt
		
* FAIL 12: ISO-2022-JP should be shown in UTF-8 now
	
			compare_with ISO-2022-JP "$TEST_DIRECTORY"/t3900/2-UTF-8.txt
		
*   ok 13: config to add customization
* FAIL 14: ISO8859-1 should be shown in itself now
	
			git config i18n.commitencoding ISO8859-1 &&
			compare_with ISO8859-1 "$TEST_DIRECTORY"/t3900/ISO8859-1.txt
		
* FAIL 15: eucJP should be shown in itself now
	
			git config i18n.commitencoding eucJP &&
			compare_with eucJP "$TEST_DIRECTORY"/t3900/eucJP.txt
		
* FAIL 16: ISO-2022-JP should be shown in itself now
	
			git config i18n.commitencoding ISO-2022-JP &&
			compare_with ISO-2022-JP "$TEST_DIRECTORY"/t3900/ISO-2022-JP.txt
		
*   ok 17: config to tweak customization
* FAIL 18: ISO8859-1 should be shown in UTF-8 now
	
		compare_with ISO8859-1 "$TEST_DIRECTORY"/t3900/1-UTF-8.txt
	
* FAIL 19: eucJP should be shown in UTF-8 now
	
			compare_with eucJP "$TEST_DIRECTORY"/t3900/2-UTF-8.txt
		
* FAIL 20: ISO-2022-JP should be shown in UTF-8 now
	
			compare_with ISO-2022-JP "$TEST_DIRECTORY"/t3900/2-UTF-8.txt
		
* FAIL 21: eucJP should be shown in eucJP now
	
				compare_with eucJP "$TEST_DIRECTORY"/t3900/eucJP.txt $ICONV
			
* FAIL 22: ISO-2022-JP should be shown in eucJP now
	
				compare_with ISO-2022-JP "$TEST_DIRECTORY"/t3900/eucJP.txt $ICONV
			
* FAIL 23: eucJP should be shown in ISO-2022-JP now
	
				compare_with eucJP "$TEST_DIRECTORY"/t3900/ISO-2022-JP.txt $ICONV
			
* FAIL 24: ISO-2022-JP should be shown in ISO-2022-JP now
	
				compare_with ISO-2022-JP "$TEST_DIRECTORY"/t3900/ISO-2022-JP.txt $ICONV
			
* FAIL 25: No conversion with ISO8859-1
	
			compare_with "--encoding=none ISO8859-1" "$TEST_DIRECTORY"/t3900/ISO8859-1.txt
		
* FAIL 26: No conversion with eucJP
	
			compare_with "--encoding=none eucJP" "$TEST_DIRECTORY"/t3900/eucJP.txt
		
* FAIL 27: No conversion with ISO-2022-JP
	
			compare_with "--encoding=none ISO-2022-JP" "$TEST_DIRECTORY"/t3900/ISO-2022-JP.txt
		
* failed 16 among 27 test(s)
make[2]: *** [t3900-i18n-commit.sh] Error 1
*** t3901-i18n-patch.sh ***
*   ok 1: setup
*   ok 2: format-patch output (ISO-8859-1)
*   ok 3: format-patch output (UTF-8)
*   ok 4: rebase (U/U)
*   ok 5: rebase (U/L)
*   ok 6: rebase (L/L)
*   ok 7: rebase (L/U)
*   ok 8: cherry-pick(U/U)
*   ok 9: cherry-pick(L/L)
*   ok 10: cherry-pick(U/L)
*   ok 11: cherry-pick(L/U)
*   ok 12: rebase --merge (U/U)
*   ok 13: rebase --merge (U/L)
*   ok 14: rebase --merge (L/L)
*   ok 15: rebase --merge (L/U)
* passed all 15 test(s)
*** t3902-quoted.sh ***
* Your filesystem does not allow tabs in filenames, test skipped.
* passed all 0 test(s)
*** t3903-stash.sh ***
*   ok 1: stash some dirty working directory
*   ok 2: parents of stash
*   ok 3: apply needs clean working directory
*   ok 4: apply stashed changes
*   ok 5: apply stashed changes (including index)
*   ok 6: unstashing in a subdirectory
*   ok 7: drop top stash
* FAIL 8: drop middle stash
	
		git reset --hard &&
		echo 8 > file &&
		git stash &&
		echo 9 > file &&
		git stash &&
		git stash drop stash@{1} &&
		test 2 = $(git stash list | wc -l) &&
		git stash apply &&
		test 9 = $(cat file) &&
		test 1 = $(git show :file) &&
		test 1 = $(git show HEAD:file) &&
		git reset --hard &&
		git stash drop &&
		git stash apply &&
		test 3 = $(cat file) &&
		test 1 = $(git show :file) &&
		test 1 = $(git show HEAD:file)
	
* FAIL 9: stash pop
	
		git reset --hard &&
		git stash pop &&
		test 3 = $(cat file) &&
		test 1 = $(git show :file) &&
		test 1 = $(git show HEAD:file) &&
		test 0 = $(git stash list | wc -l)
	
*   ok 10: stash branch
*   ok 11: apply -q is quiet
*   ok 12: save -q is quiet
*   ok 13: pop -q is quiet
*   ok 14: drop -q is quiet
*   ok 15: stash -k
*   ok 16: stash --invalid-option
* failed 2 among 16 test(s)
make[2]: *** [t3903-stash.sh] Error 1
*** t3904-stash-patch.sh ***
*   ok 1: setup
*   ok 2: saying "n" does nothing
*   ok 3: git stash -p
*   ok 4: git stash -p --no-keep-index
*   ok 5: none of this moved HEAD
* passed all 5 test(s)
*** t4000-diff-format.sh ***
*   ok 1: update-index --add two files with and without +x.
*   ok 2: git diff-files -p after editing work tree.
* filemode disabled on the filesystem
* passed all 2 test(s)
*** t4001-diff-rename.sh ***
*   ok 1: update-index --add a file.
*   ok 2: write that tree.
*   ok 3: renamed and edited the file.
*   ok 4: git diff-index -p -M after rename and editing.
*   ok 5: validate the output.
*   ok 6: favour same basenames over different ones
*   ok 7: favour same basenames even with minor differences
* passed all 7 test(s)
*** t4002-diff-basic.sh ***
*   ok 1: adding test file NN and Z/NN
*   ok 2: adding test file ND and Z/ND
*   ok 3: adding test file NM and Z/NM
*   ok 4: adding test file DN and Z/DN
*   ok 5: adding test file DD and Z/DD
*   ok 6: adding test file DM and Z/DM
*   ok 7: adding test file MN and Z/MN
*   ok 8: adding test file MD and Z/MD
*   ok 9: adding test file MM and Z/MM
*   ok 10: adding test file SS
*   ok 11: adding test file TT
*   ok 12: prepare initial tree
*   ok 13: change in branch A (removal)
*   ok 14: change in branch A (modification)
*   ok 15: change in branch A (modification)
*   ok 16: change in branch A (modification)
*   ok 17: change in branch A (modification)
*   ok 18: change in branch A (modification)
*   ok 19: change in branch A (modification)
*   ok 20: change in branch A (addition)
*   ok 21: change in branch A (addition)
*   ok 22: change in branch A (addition)
*   ok 23: change in branch A (addition)
*   ok 24: change in branch A (addition)
*   ok 25: change in branch A (edit)
*   ok 26: change in branch A (change file to directory)
*   ok 27: recording branch A tree
*   ok 28: reading original tree and checking out
*   ok 29: change in branch B (removal)
*   ok 30: change in branch B (modification)
*   ok 31: change in branch B (modification)
*   ok 32: change in branch B (modification)
*   ok 33: change in branch B (modification)
*   ok 34: change in branch B (modification)
*   ok 35: change in branch B (modification)
*   ok 36: change in branch B (addition)
*   ok 37: change in branch B (addition)
*   ok 38: change in branch B (addition)
*   ok 39: change in branch B (addition)
*   ok 40: change in branch B (addition and modification)
*   ok 41: change in branch B (modification)
*   ok 42: change in branch B (addition of a file to conflict with directory)
*   ok 43: recording branch B tree
*   ok 44: keep contents of 3 trees for easy access
*   ok 45: diff-tree of known trees.
*   ok 46: diff-tree of known trees.
*   ok 47: diff-tree of known trees.
*   ok 48: diff-tree of known trees.
*   ok 49: diff-tree of known trees.
*   ok 50: diff-tree of known trees.
*   ok 51: diff-tree --stdin of known trees.
*   ok 52: diff-tree --stdin of known trees.
*   ok 53: diff-cache O with A in cache
*   ok 54: diff-cache O with B in cache
*   ok 55: diff-cache A with B in cache
*   ok 56: diff-files with O in cache and A checked out
*   ok 57: diff-files with O in cache and B checked out
*   ok 58: diff-files with A in cache and B checked out
*   ok 59: diff-tree O A == diff-tree -R A O
*   ok 60: diff-tree -r O A == diff-tree -r -R A O
*   ok 61: diff-tree B A == diff-tree -R A B
*   ok 62: diff-tree -r B A == diff-tree -r -R A B
*   ok 63: diff can read from stdin
* passed all 63 test(s)
*** t4003-diff-rename-1.sh ***
*   ok 1: prepare reference tree
*   ok 2: prepare work tree
* FAIL 3: validate output from rename/copy detection (#1)
	compare_diff_patch current expected
*   ok 4: prepare work tree again
* FAIL 5: validate output from rename/copy detection (#2)
	compare_diff_patch current expected
*   ok 6: prepare work tree once again
* FAIL 7: validate output from rename/copy detection (#3)
	compare_diff_patch current expected
* failed 3 among 7 test(s)
make[2]: *** [t4003-diff-rename-1.sh] Error 1
*** t4004-diff-rename-symlink.sh ***
* Symbolic links not supported, skipping tests.
* passed all 0 test(s)
*** t4005-diff-rename-2.sh ***
*   ok 1: prepare reference tree
*   ok 2: prepare work tree
*   ok 3: validate output from rename/copy detection (#1)
*   ok 4: prepare work tree again
*   ok 5: validate output from rename/copy detection (#2)
*   ok 6: prepare work tree once again
*   ok 7: validate output from rename/copy detection (#3)
* passed all 7 test(s)
*** t4006-diff-mode.sh ***
*   ok 1: setup
*   ok 2: chmod
*   ok 3: verify
* passed all 3 test(s)
*** t4007-rename-3.sh ***
*   ok 1: prepare reference tree
*   ok 2: prepare work tree
*   ok 3: copy detection
*   ok 4: copy detection, cached
*   ok 5: copy, limited to a subtree
*   ok 6: tweak work tree
*   ok 7: rename detection
*   ok 8: rename, limited to a subtree
* passed all 8 test(s)
*** t4008-diff-break-rewrite.sh ***
*   ok 1: setup
*   ok 2: change file1 with copy-edit of file0 and remove file0
*   ok 3: run diff with -B
*   ok 4: validate result of -B (#1)
*   ok 5: run diff with -B and -M
*   ok 6: validate result of -B -M (#2)
*   ok 7: swap file0 and file1
*   ok 8: run diff with -B
*   ok 9: validate result of -B (#3)
*   ok 10: run diff with -B and -M
*   ok 11: validate result of -B -M (#4)
* skip 12: make file0 into something completely different
*   ok 13: run diff with -B
* skip 14: validate result of -B (#5)
*   ok 15: run diff with -B -M
* skip 16: validate result of -B -M (#6)
*   ok 17: run diff with -M
* skip 18: validate result of -M (#7)
*   ok 19: file1 edited to look like file0 and file0 rename-edited to file2
*   ok 20: run diff with -B
*   ok 21: validate result of -B (#8)
*   ok 22: run diff with -B -M
*   ok 23: validate result of -B -M (#9)
* passed all 23 test(s)
*** t4009-diff-rename-4.sh ***
*   ok 1: prepare reference tree
*   ok 2: prepare work tree
*   ok 3: validate output from rename/copy detection (#1)
*   ok 4: prepare work tree again
*   ok 5: validate output from rename/copy detection (#2)
*   ok 6: prepare work tree once again
*   ok 7: validate output from rename/copy detection (#3)
* passed all 7 test(s)
*** t4010-diff-pathspec.sh ***
*   ok 1: setup
*   ok 2: limit to path should show nothing
*   ok 3: limit to path1 should show path1/file1
*   ok 4: limit to path1/ should show path1/file1
*   ok 5: limit to file0 should show file0
*   ok 6: limit to file0/ should emit nothing.
*   ok 7: diff-tree pathspec
* passed all 7 test(s)
*** t4011-diff-symlink.sh ***
* Symbolic links not supported, skipping tests.
* passed all 0 test(s)
*** t4012-diff-binary.sh ***
*   ok 1: prepare repository
*   ok 2: diff without --binary
*   ok 3: diff with --binary
*   ok 4: apply detecting corrupt patch correctly
*   ok 5: apply detecting corrupt patch correctly
*   ok 6: initial commit
*   ok 7: diff-index with --binary
*   ok 8: apply binary patch
*   ok 9: diff --no-index with binary creation
* passed all 9 test(s)
*** t4013-diff-various.sh ***
*   ok 1: setup
* FAIL 2: git diff-tree initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 3: git diff-tree -r initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 4: git diff-tree -r --abbrev initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 5: git diff-tree -r --abbrev=4 initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 6: git diff-tree --root initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 7: git diff-tree --root --abbrev initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 8: git diff-tree --root -r initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 9: git diff-tree --root -r --abbrev initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 10: git diff-tree --root -r --abbrev=4 initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 11: git diff-tree -p initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 12: git diff-tree --root -p initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 13: git diff-tree --patch-with-stat initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 14: git diff-tree --root --patch-with-stat initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 15: git diff-tree --patch-with-raw initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 16: git diff-tree --root --patch-with-raw initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 17: git diff-tree --pretty initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 18: git diff-tree --pretty --root initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 19: git diff-tree --pretty -p initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 20: git diff-tree --pretty --stat initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 21: git diff-tree --pretty --summary initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 22: git diff-tree --pretty --stat --summary initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 23: git diff-tree --pretty --root -p initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 24: git diff-tree --pretty --root --stat initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 25: git diff-tree --pretty --root --summary initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 26: git diff-tree --pretty --root --summary -r initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 27: git diff-tree --pretty --root --stat --summary initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 28: git diff-tree --pretty --patch-with-stat initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 29: git diff-tree --pretty --root --patch-with-stat initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 30: git diff-tree --pretty --patch-with-raw initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 31: git diff-tree --pretty --root --patch-with-raw initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 32: git diff-tree --pretty=oneline initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 33: git diff-tree --pretty=oneline --root initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 34: git diff-tree --pretty=oneline -p initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 35: git diff-tree --pretty=oneline --root -p initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 36: git diff-tree --pretty=oneline --patch-with-stat initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 37: git diff-tree --pretty=oneline --root --patch-with-stat initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 38: git diff-tree --pretty=oneline --patch-with-raw initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 39: git diff-tree --pretty=oneline --root --patch-with-raw initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 40: git diff-tree --pretty side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 41: git diff-tree --pretty -p side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 42: git diff-tree --pretty --patch-with-stat side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 43: git diff-tree master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 44: git diff-tree -p master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 45: git diff-tree -p -m master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 46: git diff-tree -c master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 47: git diff-tree -c --abbrev master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 48: git diff-tree --cc master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 49: git diff-tree -c --stat master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 50: git diff-tree --cc --stat master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 51: git diff-tree -c --stat --summary master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 52: git diff-tree --cc --stat --summary master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 53: git diff-tree -c --stat --summary side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 54: git diff-tree --cc --stat --summary side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 55: git diff-tree --cc --patch-with-stat master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 56: git diff-tree --cc --patch-with-stat --summary master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 57: git diff-tree --cc --patch-with-stat --summary side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 58: git log master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 59: git log -p master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 60: git log --root master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 61: git log --root -p master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 62: git log --patch-with-stat master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 63: git log --root --patch-with-stat master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 64: git log --root --patch-with-stat --summary master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 65: git log --root -c --patch-with-stat --summary master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 66: git log --root --cc --patch-with-stat --summary master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 67: git log -SF master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 68: git log -SF -p master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 69: git log --decorate --all
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 70: git log --decorate=full --all
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 71: git rev-list --parents HEAD
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 72: git rev-list --children HEAD
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 73: git whatchanged master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 74: git whatchanged -p master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 75: git whatchanged --root master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 76: git whatchanged --root -p master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 77: git whatchanged --patch-with-stat master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 78: git whatchanged --root --patch-with-stat master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 79: git whatchanged --root --patch-with-stat --summary master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 80: git whatchanged --root -c --patch-with-stat --summary master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 81: git whatchanged --root --cc --patch-with-stat --summary master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 82: git whatchanged -SF master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 83: git whatchanged -SF -p master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 84: git log --patch-with-stat master -- dir/
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 85: git whatchanged --patch-with-stat master -- dir/
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 86: git log --patch-with-stat --summary master -- dir/
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 87: git whatchanged --patch-with-stat --summary master -- dir/
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 88: git show initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 89: git show --root initial
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 90: git show side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 91: git show master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 92: git show --stat side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 93: git show --stat --summary side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 94: git show --patch-with-stat side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 95: git show --patch-with-raw side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 96: git show --patch-with-stat --summary side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 97: git format-patch --stdout initial..side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 98: git format-patch --stdout initial..master^
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 99: git format-patch --stdout initial..master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 100: git format-patch --stdout --no-numbered initial..master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 101: git format-patch --stdout --numbered initial..master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 102: git format-patch --attach --stdout initial..side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 103: git format-patch --attach --stdout --suffix=.diff initial..side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 104: git format-patch --attach --stdout initial..master^
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 105: git format-patch --attach --stdout initial..master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 106: git format-patch --inline --stdout initial..side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 107: git format-patch --inline --stdout initial..master^
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 108: git format-patch --inline --stdout --numbered-files initial..master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 109: git format-patch --inline --stdout initial..master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 110: git format-patch --inline --stdout --subject-prefix=TESTCASE initial..master
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 111: git config format.subjectprefix DIFFERENT_PREFIX
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 112: git format-patch --inline --stdout initial..master^^
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 113: git format-patch --stdout --cover-letter -n initial..master^
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 114: git diff --abbrev initial..side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 115: git diff -r initial..side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 116: git diff --stat initial..side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 117: git diff -r --stat initial..side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 118: git diff initial..side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 119: git diff --patch-with-stat initial..side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 120: git diff --patch-with-raw initial..side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 121: git diff --patch-with-stat -r initial..side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 122: git diff --patch-with-raw -r initial..side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 123: git diff --name-status dir2 dir
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 124: git diff --no-index --name-status dir2 dir
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 125: git diff --no-index --name-status -- dir2 dir
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 126: git diff --no-index dir dir3
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 127: git diff master master^ side
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* FAIL 128: git diff --dirstat master~1 master~2
	
			{
				echo "\$ git $cmd"
				git $cmd |
				sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
				    -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
				echo "\$"
			} >"$actual" &&
			if test -f "$expect"
			then
				test_cmp "$expect" "$actual" &&
				rm -f "$actual"
			else
				# this is to help developing new tests.
				cp "$actual" "$expect"
				false
			fi
		
* failed 127 among 128 test(s)
make[2]: *** [t4013-diff-various.sh] Error 1
*** t4014-format-patch.sh ***
*   ok 1: setup
*   ok 2: format-patch --ignore-if-in-upstream
*   ok 3: format-patch --ignore-if-in-upstream
*   ok 4: format-patch result applies
*   ok 5: format-patch --ignore-if-in-upstream result applies
*   ok 6: commit did not screw up the log message
*   ok 7: format-patch did not screw up the log message
*   ok 8: replay did not screw up the log message
*   ok 9: extra headers
*   ok 10: extra headers without newlines
*   ok 11: extra headers with multiple To:s
*   ok 12: additional command line cc
*   ok 13: command line headers
*   ok 14: configuration headers and command line headers
*   ok 15: multiple files
*   ok 16: no threading
*   ok 17: thread
*   ok 18: thread in-reply-to
*   ok 19: thread cover-letter
*   ok 20: thread cover-letter in-reply-to
*   ok 21: thread explicit shallow
*   ok 22: thread deep
*   ok 23: thread deep in-reply-to
*   ok 24: thread deep cover-letter
*   ok 25: thread deep cover-letter in-reply-to
*   ok 26: thread via config
*   ok 27: thread deep via config
*   ok 28: thread config + override
*   ok 29: thread config + --no-thread
*   ok 30: excessive subject
*   ok 31: cover-letter inherits diff options
*   ok 32: shortlog of cover-letter wraps overly-long onelines
*   ok 33: format-patch respects -U
*   ok 34: format-patch from a subdirectory (1)
*   ok 35: format-patch from a subdirectory (2)
*   ok 36: format-patch from a subdirectory (3)
*   ok 37: format-patch --in-reply-to
*   ok 38: format-patch --signoff
* passed all 38 test(s)
*** t4015-diff-whitespace.sh ***
*   ok 1: Ray's example without options
*   ok 2: Ray's example with -w
*   ok 3: Ray's example with -b
*   ok 4: another test, without options
*   ok 5: another test, with -w
*   ok 6: another test, with -w -b
*   ok 7: another test, with -w --ignore-space-at-eol
*   ok 8: another test, with -w -b --ignore-space-at-eol
*   ok 9: another test, with -b
*   ok 10: another test, with -b --ignore-space-at-eol
*   ok 11: another test, with --ignore-space-at-eol
*   ok 12: check mixed spaces and tabs in indent
*   ok 13: check mixed tabs and spaces in indent
*   ok 14: check with no whitespace errors
*   ok 15: check with trailing whitespace
*   ok 16: check with space before tab in indent
*   ok 17: --check and --exit-code are not exclusive
*   ok 18: --check and --quiet are not exclusive
*   ok 19: check staged with no whitespace errors
*   ok 20: check staged with trailing whitespace
*   ok 21: check staged with space before tab in indent
*   ok 22: check with no whitespace errors (diff-index)
*   ok 23: check with trailing whitespace (diff-index)
*   ok 24: check with space before tab in indent (diff-index)
*   ok 25: check staged with no whitespace errors (diff-index)
*   ok 26: check staged with trailing whitespace (diff-index)
*   ok 27: check staged with space before tab in indent (diff-index)
*   ok 28: check with no whitespace errors (diff-tree)
*   ok 29: check with trailing whitespace (diff-tree)
*   ok 30: check with space before tab in indent (diff-tree)
*   ok 31: check trailing whitespace (trailing-space: off)
*   ok 32: check trailing whitespace (trailing-space: on)
*   ok 33: check space before tab in indent (space-before-tab: off)
*   ok 34: check space before tab in indent (space-before-tab: on)
*   ok 35: check spaces as indentation (indent-with-non-tab: off)
*   ok 36: check spaces as indentation (indent-with-non-tab: on)
*   ok 37: check tabs and spaces as indentation (indent-with-non-tab: on)
*   ok 38: line numbers in --check output are correct
*   ok 39: checkdiff detects new trailing blank lines (1)
*   ok 40: checkdiff detects new trailing blank lines (2)
*   ok 41: checkdiff allows new blank lines
*   ok 42: combined diff with autocrlf conversion
* passed all 42 test(s)
*** t4016-diff-quote.sh ***
* Your filesystem does not allow tabs in filenames, test skipped.
* passed all 0 test(s)
*** t4017-diff-retval.sh ***
*   ok 1: setup
*   ok 2: git diff-tree HEAD^ HEAD
*   ok 3: git diff-tree HEAD^ HEAD -- a
*   ok 4: git diff-tree HEAD^ HEAD -- b
*   ok 5: echo HEAD | git diff-tree --stdin
*   ok 6: git diff-tree HEAD HEAD
*   ok 7: git diff-files
*   ok 8: git diff-index --cached HEAD
*   ok 9: git diff-index --cached HEAD^
*   ok 10: git diff-index --cached HEAD^
*   ok 11: git diff-tree -Stext HEAD^ HEAD -- b
*   ok 12: git diff-tree -Snot-found HEAD^ HEAD -- b
*   ok 13: git diff-files
*   ok 14: git diff-index --cached HEAD
*   ok 15: --check --exit-code returns 0 for no difference
*   ok 16: --check --exit-code returns 1 for a clean difference
*   ok 17: --check --exit-code returns 3 for a dirty difference
*   ok 18: --check with --no-pager returns 2 for dirty difference
*   ok 19: check should test not just the last line
*   ok 20: check detects leftover conflict markers
* passed all 20 test(s)
*** t4018-diff-funcname.sh ***
*   ok 1: builtin bibtex pattern compiles
*   ok 2: builtin cpp pattern compiles
*   ok 3: builtin html pattern compiles
*   ok 4: builtin java pattern compiles
*   ok 5: builtin objc pattern compiles
*   ok 6: builtin pascal pattern compiles
*   ok 7: builtin php pattern compiles
*   ok 8: builtin python pattern compiles
*   ok 9: builtin ruby pattern compiles
*   ok 10: builtin tex pattern compiles
*   ok 11: default behaviour
*   ok 12: preset java pattern
*   ok 13: custom pattern
*   ok 14: last regexp must not be negated
*   ok 15: pattern which matches to end of line
*   ok 16: alternation in pattern
* passed all 16 test(s)
*** t4019-diff-wserror.sh ***
*   ok 1: setup
*   ok 2: default
*   ok 3: without -trail
*   ok 4: without -trail (attribute)
*   ok 5: without -space
*   ok 6: without -space (attribute)
*   ok 7: with indent-non-tab only
*   ok 8: with indent-non-tab only (attribute)
*   ok 9: with cr-at-eol
*   ok 10: with cr-at-eol (attribute)
*   ok 11: trailing empty lines (1)
*   ok 12: trailing empty lines (2)
*   ok 13: do not color trailing cr in context
*   ok 14: color new trailing blank lines
* passed all 14 test(s)
*** t4020-diff-external.sh ***
*   ok 1: setup
*   ok 2: GIT_EXTERNAL_DIFF environment
*   ok 3: GIT_EXTERNAL_DIFF environment should apply only to diff
*   ok 4: GIT_EXTERNAL_DIFF environment and --no-ext-diff
*   ok 5: diff attribute
*   ok 6: diff attribute should apply only to diff
*   ok 7: diff attribute and --no-ext-diff
*   ok 8: diff attribute
*   ok 9: diff attribute should apply only to diff
*   ok 10: diff attribute and --no-ext-diff
*   ok 11: no diff with -diff
*   ok 12: force diff with "diff"
*   ok 13: GIT_EXTERNAL_DIFF with more than one changed files
*   ok 14: GIT_EXTERNAL_DIFF generates pretty paths
*   ok 15: external diff with autocrlf = true
*   ok 16: diff --cached
* passed all 16 test(s)
*** t4021-format-patch-numbered.sh ***
*   ok 1: setup
*   ok 2: single patch defaults to no numbers
*   ok 3: multiple patch defaults to numbered
*   ok 4: Use --numbered
*   ok 5: format.numbered = true
*   ok 6: format.numbered && single patch
*   ok 7: format.numbered && --no-numbered
*   ok 8: format.numbered && --keep-subject
*   ok 9: format.numbered = auto
*   ok 10: format.numbered = auto && single patch
*   ok 11: format.numbered = auto && --no-numbered
*   ok 12: --start-number && --numbered
* passed all 12 test(s)
*** t4022-diff-rewrite.sh ***
*   ok 1: setup
*   ok 2: detect rewrite
* passed all 2 test(s)
*** t4023-diff-rename-typechange.sh ***
* Symbolic links not supported, skipping tests.
* passed all 0 test(s)
*** t4024-diff-optimize-common.sh ***
*   ok 1: setup
*   ok 2: diff -U0
* passed all 2 test(s)
*** t4025-hunk-header.sh ***
*   ok 1: setup
*   ok 2: hunk header truncation with an overly long line
* passed all 2 test(s)
*** t4026-color.sh ***
*   ok 1: reset
*   ok 2: attribute before color name
*   ok 3: color name before attribute
*   ok 4: attr fg bg
*   ok 5: fg attr bg
*   ok 6: fg bg attr
*   ok 7: 256 colors
*   ok 8: color too small
*   ok 9: color too big
*   ok 10: extra character after color number
*   ok 11: extra character after color name
*   ok 12: extra character after attribute
* passed all 12 test(s)
*** t4027-diff-submodule.sh ***
*   ok 1: setup
*   ok 2: git diff --raw HEAD
*   ok 3: git diff-index --raw HEAD
*   ok 4: git diff-files --raw
*   ok 5: git diff (empty submodule dir)
*   ok 6: conflicted submodule setup
*   ok 7: combined (empty submodule)
*   ok 8: combined (with submodule)
* passed all 8 test(s)
*** t4028-format-patch-mime-headers.sh ***
*   ok 1: create commit with utf-8 body
*   ok 2: patch has mime headers
*   ok 3: patch has mime and extra headers
* passed all 3 test(s)
*** t4029-diff-trailing-space.sh ***
*   ok 1: diff honors config option, diff.suppressBlankEmpty
* passed all 1 test(s)
*** t4030-diff-textconv.sh ***
*   ok 1: setup binary file with history
*   ok 2: file is considered binary by porcelain
*   ok 3: file is considered binary by plumbing
*   ok 4: setup textconv filters
*   ok 5: diff produces text
*   ok 6: diff-tree produces binary
*   ok 7: log produces text
*   ok 8: format-patch produces binary
*   ok 9: status -v produces text
*   ok 10: diffstat does not run textconv
*   ok 11: textconv does not act on symlinks
* passed all 11 test(s)
*** t4031-diff-rewrite-binary.sh ***
*   ok 1: create binary file with changes
*   ok 2: vanilla diff is binary
*   ok 3: rewrite diff is binary
*   ok 4: rewrite diff can show binary patch
*   ok 5: setup textconv
*   ok 6: rewrite diff respects textconv
* passed all 6 test(s)
*** t4032-diff-inter-hunk-context.sh ***
*   ok 1: diff -U0, 1 common line: count hunks (2)
*   ok 2: diff -U0, 1 common line: check output
*   ok 3: diff -U0 --inter-hunk-context=0, 1 common line: count hunks (2)
*   ok 4: diff -U0 --inter-hunk-context=0, 1 common line: check output
*   ok 5: diff -U0 --inter-hunk-context=1, 1 common line: count hunks (1)
*   ok 6: diff -U0 --inter-hunk-context=1, 1 common line: check output
*   ok 7: diff -U0 --inter-hunk-context=2, 1 common line: count hunks (1)
*   ok 8: diff -U0 --inter-hunk-context=2, 1 common line: check output
*   ok 9: diff -U1, 1 common line: count hunks (1)
*   ok 10: diff -U0, 2 common lines: count hunks (2)
*   ok 11: diff -U0 --inter-hunk-context=0, 2 common lines: count hunks (2)
*   ok 12: diff -U0 --inter-hunk-context=1, 2 common lines: count hunks (2)
*   ok 13: diff -U0 --inter-hunk-context=2, 2 common lines: count hunks (1)
*   ok 14: diff -U1, 2 common lines: count hunks (1)
*   ok 15: diff -U1, 3 common lines: count hunks (2)
*   ok 16: diff -U1 --inter-hunk-context=0, 3 common lines: count hunks (2)
*   ok 17: diff -U1 --inter-hunk-context=1, 3 common lines: count hunks (1)
*   ok 18: diff -U1 --inter-hunk-context=2, 3 common lines: count hunks (1)
*   ok 19: diff -U3, 9 common lines: count hunks (2)
*   ok 20: diff -U3 --inter-hunk-context=2, 9 common lines: count hunks (2)
*   ok 21: diff -U3 --inter-hunk-context=3, 9 common lines: count hunks (1)
* passed all 21 test(s)
*** t4033-diff-patience.sh ***
*   ok 1: patience diff
*   ok 2: patience diff output is valid
*   ok 3: completely different files
* passed all 3 test(s)
*** t4034-diff-words.sh ***
*   ok 1: setup
*   ok 2: word diff with runs of whitespace
*   ok 3: word diff with a regular expression
*   ok 4: set a diff driver
*   ok 5: option overrides .gitattributes
*   ok 6: use regex supplied by driver
*   ok 7: set diff.wordRegex option
*   ok 8: command-line overrides config
*   ok 9: .gitattributes override config
*   ok 10: remove diff driver regex
*   ok 11: use configured regex
*   ok 12: test parsing words for newline
*   ok 13: test when words are only removed at the end
* passed all 13 test(s)
*** t4035-diff-quiet.sh ***
*   ok 1: setup
*   ok 2: git diff-tree HEAD^ HEAD
*   ok 3: git diff-tree HEAD^ HEAD -- a
*   ok 4: git diff-tree HEAD^ HEAD -- b
*   ok 5: echo HEAD | git diff-tree --stdin
*   ok 6: git diff-tree HEAD HEAD
*   ok 7: git diff-files
*   ok 8: git diff-index --cached HEAD
*   ok 9: git diff-index --cached HEAD^
*   ok 10: git diff-index --cached HEAD^
*   ok 11: git diff-tree -Stext HEAD^ HEAD -- b
*   ok 12: git diff-tree -Snot-found HEAD^ HEAD -- b
*   ok 13: git diff-files
*   ok 14: git diff-index --cached HEAD
* passed all 14 test(s)
*** t4036-format-patch-signer-mime.sh ***
*   ok 1: setup
*   ok 2: format normally
*   ok 3: format with signoff without funny signer name
*   ok 4: format with non ASCII signer name
*   ok 5: attach and signoff do not duplicate mime headers
* passed all 5 test(s)
*** t4037-diff-r-t-dirs.sh ***
*   ok 1: setup
*   ok 2: verify
* passed all 2 test(s)
*** t4038-diff-combined.sh ***
*   ok 1: setup
*   ok 2: check combined output (1)
*   FIXED 3: check combined output (2)
* fixed 1 known breakage(s)
* passed all 3 test(s)
*** t4039-diff-assume-unchanged.sh ***
*   ok 1: setup
*   ok 2: diff-index does not examine assume-unchanged entries
*   ok 3: diff-files does not examine assume-unchanged entries
* passed all 3 test(s)
*** t4040-whitespace-status.sh ***
*   ok 1: setup
*   ok 2: diff-tree --exit-code
*   ok 3: diff-tree -b --exit-code
*   ok 4: diff-index --cached --exit-code
*   ok 5: diff-index -b -p --cached --exit-code
*   ok 6: diff-index --exit-code
*   ok 7: diff-index -b -p --exit-code
*   ok 8: diff-files --exit-code
*   ok 9: diff-files -b -p --exit-code
* passed all 9 test(s)
*** t4100-apply-stat.sh ***
* FAIL 1: rename
	
			git apply --stat --summary \
				<"$TEST_DIRECTORY/t4100/t-apply-$num.patch" >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 2: rename with recount
	
			sed -e "$UNC" <"$TEST_DIRECTORY/t4100/t-apply-$num.patch" |
			git apply --recount --stat --summary >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 3: copy
	
			git apply --stat --summary \
				<"$TEST_DIRECTORY/t4100/t-apply-$num.patch" >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 4: copy with recount
	
			sed -e "$UNC" <"$TEST_DIRECTORY/t4100/t-apply-$num.patch" |
			git apply --recount --stat --summary >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 5: rewrite
	
			git apply --stat --summary \
				<"$TEST_DIRECTORY/t4100/t-apply-$num.patch" >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 6: rewrite with recount
	
			sed -e "$UNC" <"$TEST_DIRECTORY/t4100/t-apply-$num.patch" |
			git apply --recount --stat --summary >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 7: mode
	
			git apply --stat --summary \
				<"$TEST_DIRECTORY/t4100/t-apply-$num.patch" >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 8: mode with recount
	
			sed -e "$UNC" <"$TEST_DIRECTORY/t4100/t-apply-$num.patch" |
			git apply --recount --stat --summary >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 9: non git (1)
	
			git apply --stat --summary \
				<"$TEST_DIRECTORY/t4100/t-apply-$num.patch" >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 10: non git (1) with recount
	
			sed -e "$UNC" <"$TEST_DIRECTORY/t4100/t-apply-$num.patch" |
			git apply --recount --stat --summary >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 11: non git (2)
	
			git apply --stat --summary \
				<"$TEST_DIRECTORY/t4100/t-apply-$num.patch" >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 12: non git (2) with recount
	
			sed -e "$UNC" <"$TEST_DIRECTORY/t4100/t-apply-$num.patch" |
			git apply --recount --stat --summary >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 13: non git (3)
	
			git apply --stat --summary \
				<"$TEST_DIRECTORY/t4100/t-apply-$num.patch" >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 14: non git (3) with recount
	
			sed -e "$UNC" <"$TEST_DIRECTORY/t4100/t-apply-$num.patch" |
			git apply --recount --stat --summary >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 15: incomplete (1)
	
			git apply --stat --summary \
				<"$TEST_DIRECTORY/t4100/t-apply-$num.patch" >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 16: incomplete (1) with recount
	
			sed -e "$UNC" <"$TEST_DIRECTORY/t4100/t-apply-$num.patch" |
			git apply --recount --stat --summary >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 17: incomplete (2)
	
			git apply --stat --summary \
				<"$TEST_DIRECTORY/t4100/t-apply-$num.patch" >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* FAIL 18: incomplete (2) with recount
	
			sed -e "$UNC" <"$TEST_DIRECTORY/t4100/t-apply-$num.patch" |
			git apply --recount --stat --summary >current &&
			test_cmp "$TEST_DIRECTORY"/t4100/t-apply-$num.expect current
		
* failed 18 among 18 test(s)
make[2]: *** [t4100-apply-stat.sh] Error 1
*** t4101-apply-nonl.sh ***
* FAIL 1: apply diff between 0 and 1
	
		git apply <"$TEST_DIRECTORY"/t4101/diff.$i-$j &&
		test_cmp frotz.$j frotz
	    
* FAIL 2: apply diff between 0 and 2
	
		git apply <"$TEST_DIRECTORY"/t4101/diff.$i-$j &&
		test_cmp frotz.$j frotz
	    
* FAIL 3: apply diff between 0 and 3
	
		git apply <"$TEST_DIRECTORY"/t4101/diff.$i-$j &&
		test_cmp frotz.$j frotz
	    
* FAIL 4: apply diff between 1 and 0
	
		git apply <"$TEST_DIRECTORY"/t4101/diff.$i-$j &&
		test_cmp frotz.$j frotz
	    
* FAIL 5: apply diff between 1 and 2
	
		git apply <"$TEST_DIRECTORY"/t4101/diff.$i-$j &&
		test_cmp frotz.$j frotz
	    
* FAIL 6: apply diff between 1 and 3
	
		git apply <"$TEST_DIRECTORY"/t4101/diff.$i-$j &&
		test_cmp frotz.$j frotz
	    
* FAIL 7: apply diff between 2 and 0
	
		git apply <"$TEST_DIRECTORY"/t4101/diff.$i-$j &&
		test_cmp frotz.$j frotz
	    
* FAIL 8: apply diff between 2 and 1
	
		git apply <"$TEST_DIRECTORY"/t4101/diff.$i-$j &&
		test_cmp frotz.$j frotz
	    
* FAIL 9: apply diff between 2 and 3
	
		git apply <"$TEST_DIRECTORY"/t4101/diff.$i-$j &&
		test_cmp frotz.$j frotz
	    
* FAIL 10: apply diff between 3 and 0
	
		git apply <"$TEST_DIRECTORY"/t4101/diff.$i-$j &&
		test_cmp frotz.$j frotz
	    
* FAIL 11: apply diff between 3 and 1
	
		git apply <"$TEST_DIRECTORY"/t4101/diff.$i-$j &&
		test_cmp frotz.$j frotz
	    
* FAIL 12: apply diff between 3 and 2
	
		git apply <"$TEST_DIRECTORY"/t4101/diff.$i-$j &&
		test_cmp frotz.$j frotz
	    
* failed 12 among 12 test(s)
make[2]: *** [t4101-apply-nonl.sh] Error 1
*** t4102-apply-rename.sh ***
*   ok 1: setup
*   ok 2: apply
* filemode disabled on the filesystem
* skip 3: validate
*   ok 4: apply reverse
*   ok 5: apply copy
* passed all 5 test(s)
*** t4103-apply-binary.sh ***
[master (root-commit) fc34cbc] Initial Version
 3 files changed, 15 insertions(+), 0 deletions(-)
 create mode 100644 file1
 create mode 100644 file2
 create mode 100644 file4
Switched to a new branch 'binary'
[binary cbf52d6] Second Version
 3 files changed, 2 insertions(+), 2 deletions(-)
 rename file2 => file3 (57%)
*   ok 1: stat binary diff -- should not fail.
*   ok 2: stat binary diff (copy) -- should not fail.
*   ok 3: check binary diff -- should fail.
*   ok 4: check binary diff (copy) -- should fail.
*   ok 5: check incomplete binary diff with replacement -- should fail.
*   ok 6: check incomplete binary diff with replacement (copy) -- should fail.
*   ok 7: check binary diff with replacement.
*   ok 8: check binary diff with replacement (copy).
*   ok 9: apply binary diff -- should fail.
*   ok 10: apply binary diff -- should fail.
*   ok 11: apply binary diff (copy) -- should fail.
*   ok 12: apply binary diff (copy) -- should fail.
*   ok 13: apply binary diff without replacement.
*   ok 14: apply binary diff without replacement (copy).
*   ok 15: apply binary diff.
*   ok 16: apply binary diff (copy).
* passed all 16 test(s)
*** t4104-apply-boundary.sh ***
*   ok 1: setup
*   ok 2: apply add-a-patch with context
*   ok 3: apply add-z-patch with context
*   ok 4: apply insert-a-patch with context
*   ok 5: apply mod-a-patch with context
*   ok 6: apply mod-z-patch with context
*   ok 7: apply del-a-patch with context
*   ok 8: apply del-z-patch with context
*   ok 9: apply add-a-patch without context
*   ok 10: apply add-z-patch without context
*   ok 11: apply insert-a-patch without context
*   ok 12: apply mod-a-patch without context
*   ok 13: apply mod-z-patch without context
*   ok 14: apply del-a-patch without context
*   ok 15: apply del-z-patch without context
*   ok 16: apply non-git add-a-patch without context
*   ok 17: apply non-git add-z-patch without context
*   ok 18: apply non-git insert-a-patch without context
*   ok 19: apply non-git mod-a-patch without context
*   ok 20: apply non-git mod-z-patch without context
*   ok 21: apply non-git del-a-patch without context
*   ok 22: apply non-git del-z-patch without context
*   ok 23: two lines
* passed all 23 test(s)
*** t4105-apply-fuzz.sh ***
*   ok 1: setup
*   ok 2: unmodified patch
*   ok 3: minus offset
*   ok 4: plus offset
*   ok 5: big offset
*   ok 6: fuzz with no offset
*   ok 7: fuzz with minus offset
*   ok 8: fuzz with plus offset
*   ok 9: fuzz with big offset
* passed all 9 test(s)
*** t4106-apply-stdin.sh ***
*   ok 1: setup
*   ok 2: git apply --numstat - < patch
*   ok 3: git apply --numstat - < patch patch
* passed all 3 test(s)
*** t4107-apply-ignore-whitespace.sh ***
*   ok 1: file creation
*   ok 2: patch2 fails (retab)
*   ok 3: patch2 applies with --ignore-whitespace
*   ok 4: patch2 reverse applies with --ignore-space-change
*   ok 5: patch2 applies (apply.ignorewhitespace = change)
*   ok 6: patch3 fails (missing string at EOL)
*   ok 7: patch4 fails (missing EOL at EOF)
*   ok 8: patch5 applies (leading whitespace)
*   ok 9: patches do not mangle whitespace
*   ok 10: re-create file (with --ignore-whitespace)
*   ok 11: patch5 fails (--no-ignore-whitespace)
* passed all 11 test(s)
*** t4109-apply-multifrag.sh ***
* FAIL 1: git apply (1)
	
		git apply patch1.patch patch2.patch &&
		test_cmp "$TEST_DIRECTORY/t4109/expect-1" main.c
	
* FAIL 2: git apply (2)
	
		git apply patch1.patch patch2.patch patch3.patch &&
		test_cmp "$TEST_DIRECTORY/t4109/expect-2" main.c
	
* FAIL 3: git apply (3)
	
		git apply patch1.patch patch4.patch &&
		test_cmp "$TEST_DIRECTORY/t4109/expect-3" main.c
	
mv: cannot stat `main.c': No such file or directory
* failed 3 among 3 test(s)
make[2]: *** [t4109-apply-multifrag.sh] Error 1
*** t4110-apply-scan.sh ***
* FAIL 1: git apply scan
	
		git apply \
			"$TEST_DIRECTORY/t4110/patch1.patch" \
			"$TEST_DIRECTORY/t4110/patch2.patch" \
			"$TEST_DIRECTORY/t4110/patch3.patch" \
			"$TEST_DIRECTORY/t4110/patch4.patch" \
			"$TEST_DIRECTORY/t4110/patch5.patch" &&
		test_cmp new.txt "$TEST_DIRECTORY/t4110/expect"
	
* failed 1 among 1 test(s)
make[2]: *** [t4110-apply-scan.sh] Error 1
*** t4112-apply-renames.sh ***
*   ok 1: check rename/copy patch
*   ok 2: apply rename/copy patch
* passed all 2 test(s)
*** t4113-apply-ending.sh ***
*   ok 1: setup
*   ok 2: apply at the end
*   ok 3: apply at the beginning
* passed all 3 test(s)
*** t4114-apply-typechange.sh ***
* Symbolic links not supported, skipping tests.
* passed all 0 test(s)
*** t4115-apply-symlink.sh ***
* Symbolic links not supported, skipping tests.
* passed all 0 test(s)
*** t4116-apply-reverse.sh ***
*   ok 1: setup
*   ok 2: apply in forward
*   ok 3: apply in reverse
*   ok 4: setup separate repository lacking postimage
*   ok 5: apply in forward without postimage
*   ok 6: apply in reverse without postimage
*   ok 7: reversing a whitespace introduction
* passed all 7 test(s)
*** t4117-apply-reject.sh ***
*   ok 1: setup
*   ok 2: apply without --reject should fail
*   ok 3: apply without --reject should fail
*   ok 4: apply with --reject should fail but update the file
*   ok 5: apply with --reject should fail but update the file
*   ok 6: the same test with --verbose
*   ok 7: apply cleanly with --verbose
* passed all 7 test(s)
*** t4118-apply-empty-context.sh ***
*   ok 1: setup
*   ok 2: apply --numstat
*   ok 3: apply --apply
* passed all 3 test(s)
*** t4119-apply-config.sh ***
*   ok 1: setup
*   ok 2: apply --whitespace=strip
*   ok 3: apply --whitespace=strip from config
*   ok 4: apply --whitespace=strip in subdir
*   ok 5: apply --whitespace=strip from config in subdir
*   ok 6: same in subdir but with traditional patch input
*   ok 7: same but with traditional patch input of depth 1
*   ok 8: same but with traditional patch input of depth 2
*   ok 9: same but with traditional patch input of depth 1
*   ok 10: same but with traditional patch input of depth 2
* passed all 10 test(s)
*** t4120-apply-popt.sh ***
*   ok 1: setup
*   ok 2: apply git diff with -p2
* passed all 2 test(s)
*** t4121-apply-diffs.sh ***
*   ok 1: setup
*   ok 2: check if contextually independent diffs for the same file apply
* passed all 2 test(s)
*** t4122-apply-symlink-inside.sh ***
* Symbolic links not supported, skipping tests.
* passed all 0 test(s)
*** t4123-apply-shrink.sh ***
*   ok 1: setup
*   ok 2: apply should fail gracefully
* passed all 2 test(s)
*** t4124-apply-ws-rule.sh ***
*   ok 1: setup
*   ok 2: whitespace=nowarn, default rule
*   ok 3: whitespace=warn, default rule
*   ok 4: whitespace=error-all, default rule
*   ok 5: whitespace=error-all, no rule
*   ok 6: whitespace=error-all, no rule (attribute)
*   ok 7: rule=-trailing,-space,-indent
*   ok 8: rule=-trailing,-space,-indent (attributes)
*   ok 9: rule=-trailing,-space,indent
*   ok 10: rule=-trailing,-space,indent (attributes)
*   ok 11: rule=-trailing,space,-indent
*   ok 12: rule=-trailing,space,-indent (attributes)
*   ok 13: rule=-trailing,space,indent
*   ok 14: rule=-trailing,space,indent (attributes)
*   ok 15: rule=trailing,-space,-indent
*   ok 16: rule=trailing,-space,-indent (attributes)
*   ok 17: rule=trailing,-space,indent
*   ok 18: rule=trailing,-space,indent (attributes)
*   ok 19: rule=trailing,space,-indent
*   ok 20: rule=trailing,space,-indent (attributes)
*   ok 21: rule=trailing,space,indent
*   ok 22: rule=trailing,space,indent (attributes)
*   ok 23: trailing whitespace & no newline at the end of file
*   ok 24: blank at EOF with --whitespace=fix (1)
*   ok 25: blank at EOF with --whitespace=fix (2)
*   ok 26: blank at EOF with --whitespace=fix (3)
*   ok 27: blank at end of hunk, not at EOF with --whitespace=fix
*   ok 28: blank at EOF with --whitespace=warn
*   ok 29: blank at EOF with --whitespace=error
*   ok 30: blank but not empty at EOF
* passed all 30 test(s)
*** t4125-apply-ws-fuzz.sh ***
*   ok 1: setup
*   ok 2: nofix
*   ok 3: withfix (forward)
*   ok 4: withfix (backward)
* passed all 4 test(s)
*** t4126-apply-empty.sh ***
*   ok 1: setup
*   ok 2: apply empty
*   ok 3: apply --index empty
*   ok 4: apply create
*   ok 5: apply --index create
* passed all 5 test(s)
*** t4127-apply-same-fn.sh ***
*   ok 1: setup
*   ok 2: apply same filename with independent changes
*   ok 3: apply same filename with overlapping changes
*   ok 4: apply same new filename after rename
*   ok 5: apply same old filename after rename -- should fail.
*   ok 6: apply A->B (rename), C->A (rename), A->A -- should pass.
* passed all 6 test(s)
*** t4128-apply-root.sh ***
*   ok 1: setup
*   ok 2: apply --directory -p (1)
*   ok 3: apply --directory -p (2) 
*   ok 4: apply --directory (new file)
*   ok 5: apply --directory (delete file)
*   ok 6: apply --directory (quoted filename)
* passed all 6 test(s)
*** t4129-apply-samemode.sh ***
* filemode disabled on the filesystem
*   ok 1: setup
* skip 2: same mode (no index)
* skip 3: same mode (with index)
* skip 4: same mode (index only)
* skip 5: mode update (no index)
* skip 6: mode update (with index)
* skip 7: mode update (index only)
* passed all 7 test(s)
*** t4130-apply-criss-cross-rename.sh ***
*   ok 1: setup
*   ok 2: criss-cross rename
*   ok 3: diff -M -B
*   ok 4: apply
*   ok 5: criss-cross rename
*   ok 6: diff -M -B
*   ok 7: apply
* passed all 7 test(s)
*** t4131-apply-fake-ancestor.sh ***
*   ok 1: setup
*   ok 2: apply --build-fake-ancestor
*   ok 3: apply --build-fake-ancestor in a subdirectory
* passed all 3 test(s)
*** t4132-apply-removal.sh ***
*   ok 1: setup
*   ok 2: test addEast.patch
*   ok 3: test addGMT.patch
*   ok 4: test addWest.patch
*   ok 5: test createEast.patch
*   ok 6: test createGMT.patch
*   ok 7: test createWest.patch
*   ok 8: test emptyEast.patch
*   ok 9: test emptyGMT.patch
*   ok 10: test emptyWest.patch
*   ok 11: test removeEast.patch
*   ok 12: test removeGMT.patch
*   ok 13: test removeWest.patch
* passed all 13 test(s)
*** t4150-am.sh ***
*   ok 1: setup
*   ok 2: am applies patch correctly
*   ok 3: am applies patch e-mail not in a mbox
*   ok 4: am changes committer and keeps author
*   ok 5: am --signoff adds Signed-off-by: line
*   ok 6: am stays in branch
*   ok 7: am --signoff does not add Signed-off-by: line if already there
*   ok 8: am without --keep removes Re: and [PATCH] stuff
*   ok 9: am --keep really keeps the subject
*   ok 10: am -3 falls back to 3-way merge
*   ok 11: am -3 -q is quiet
*   ok 12: am pauses on conflict
*   ok 13: am --skip works
*   ok 14: am --resolved works
*   ok 15: am takes patches from a Pine mailbox
*   ok 16: am fails on mail without patch
*   ok 17: am fails on empty patch
*   ok 18: am works from stdin in subdirectory
*   ok 19: am works from file (relative path given) in subdirectory
* FAIL 20: am works from file (absolute path given) in subdirectory
	
		rm -fr subdir &&
		git checkout first &&
		P=$(pwd) &&
		(
			mkdir -p subdir &&
			cd subdir &&
			git am "$P/patch1"
		) &&
		test -z "$(git diff second)"
	
*   ok 21: am --committer-date-is-author-date
*   ok 22: am without --committer-date-is-author-date
*   ok 23: am --ignore-date
*   ok 24: am into an unborn branch
*   ok 25: am newline in subject
*   ok 26: am -q is quiet
* failed 1 among 26 test(s)
make[2]: *** [t4150-am.sh] Error 1
*** t4151-am-abort.sh ***
*   ok 1: setup
*   ok 2: am stops at a patch that does not apply
*   ok 3: am --skip continue after failed am
*   ok 4: am --abort goes back after failed am
*   ok 5: am -3 stops at a patch that does not apply
*   ok 6: am -3 --skip continue after failed am -3
*   ok 7: am --abort goes back after failed am -3
* passed all 7 test(s)
*** t4200-rerere.sh ***
Switched to a new branch 'first'
Switched to a new branch 'second'
*   ok 1: nothing recorded without rerere
*   ok 2: conflicting merge
*   ok 3: recorded preimage
*   ok 4: rerere.enabled works, too
*   ok 5: no postimage or thisimage yet
*   ok 6: preimage has right number of lines
*   ok 7: rerere diff
*   ok 8: rerere status
*   ok 9: commit succeeds
*   ok 10: recorded postimage
*   ok 11: another conflicting merge
*   ok 12: rerere kicked in
*   ok 13: rerere prefers first change
*   ok 14: rerere clear
*   ok 15: clear removed the directory
*   ok 16: garbage collection (part1)
*   ok 17: young records still live
*   ok 18: garbage collection (part2)
*   ok 19: old records rest in peace
*   ok 20: file2 added differently in two branches
*   ok 21: resolution was recorded properly
*   ok 22: rerere.autoupdate
* passed all 22 test(s)
*** t4201-shortlog.sh ***
*   ok 1: shortlog wrapping
*   ok 2: shortlog from non-git directory
* passed all 2 test(s)
*** t4202-log.sh ***
*   ok 1: setup
*   ok 2: pretty
*   ok 3: pretty (tformat)
*   ok 4: pretty (shortcut)
*   ok 5: format
*   ok 6: oneline
*   ok 7: diff-filter=A
*   ok 8: diff-filter=M
*   ok 9: diff-filter=D
*   ok 10: diff-filter=R
*   ok 11: diff-filter=C
*   ok 12: git log --follow
*   ok 13: git log --no-walk <commits> sorts by commit time
*   ok 14: git show <commits> leaves list of commits as given
*   ok 15: setup case sensitivity tests
*   ok 16: log --grep
*   ok 17: log -i --grep
*   ok 18: log --grep -i
*   ok 19: simple log --graph
*   ok 20: set up merge history
*   ok 21: log --graph with merge
*   ok 22: log --graph with full output
*   ok 23: set up more tangled history
*   ok 24: log --graph with merge
* passed all 24 test(s)
*** t4203-mailmap.sh ***
*   ok 1: setup
*   ok 2: No mailmap
*   ok 3: default .mailmap
*   ok 4: mailmap.file set
*   ok 5: mailmap.file override
*   ok 6: mailmap.file non-existant
*   ok 7: No mailmap files, but configured
*   ok 8: Shortlog output (complex mapping)
*   ok 9: Log output (complex mapping)
*   ok 10: Blame output (complex mapping)
* passed all 10 test(s)
*** t4204-patch-id.sh ***
*   ok 1: setup
*   ok 2: patch-id output is well-formed
*   ok 3: patch-id detects equality
*   ok 4: patch-id detects inequality
* passed all 4 test(s)
*** t4252-am-options.sh ***
*   ok 1: setup
*   ok 2: interrupted am --whitespace=fix
* FAIL 3: interrupted am -C1
	
		rm -rf .git/rebase-apply &&
		git reset --hard initial &&
		test_must_fail git am -C1 "$tm"/am-test-2-? &&
		git am --skip &&
		grep 3 file-1 &&
		grep "^Three$" file-2
	
* FAIL 4: interrupted am -p2
	
		rm -rf .git/rebase-apply &&
		git reset --hard initial &&
		test_must_fail git am -p2 "$tm"/am-test-3-? &&
		git am --skip &&
		grep 3 file-1 &&
		grep "^Three$" file-2
	
* FAIL 5: interrupted am -C1 -p2
	
		rm -rf .git/rebase-apply &&
		git reset --hard initial &&
		test_must_fail git am -p2 -C1 "$tm"/am-test-4-? &&
		git am --skip &&
		grep 3 file-1 &&
		grep "^Three$" file-2
	
*   ok 6: interrupted am --directory="frotz nitfol"
*   ok 7: apply to a funny path
*   ok 8: am --reject
* failed 3 among 8 test(s)
make[2]: *** [t4252-am-options.sh] Error 1
*** t5000-tar-tree.sh ***
*   ok 1: populate workdir
*   ok 2: add ignored file
*   ok 3: add files to repository
*   ok 4: create bare clone
*   ok 5: remove ignored file
*   ok 6: git archive
*   ok 7: git tar-tree
*   ok 8: git archive vs. git tar-tree
*   ok 9: git archive in a bare repo
*   ok 10: git archive vs. the same in a bare repo
*   ok 11: git archive with --output
* FAIL 12: git archive --remote
	git archive --remote=. HEAD >b5.tar &&
	    test_cmp b.tar b5.tar
*   ok 13: validate file modification time
*   ok 14: git get-tar-commit-id
* FAIL 15: extract tar archive
	(cd b && "$TAR" xf -) <b.tar
* FAIL 16: validate filenames
	(cd b/a && find .) | sort >b.lst &&
	     test_cmp a.lst b.lst
* FAIL 17: validate file contents
	diff -r a b/a
*   ok 18: git tar-tree with prefix
*   ok 19: extract tar archive with prefix
*   ok 20: validate filenames with prefix
*   ok 21: validate file contents with prefix
*   ok 22: create archives with substfiles
* FAIL 23: extract substfiles
	(mkdir f && cd f && "$TAR" xf -) <f.tar
* FAIL 24: validate substfile contents
	git log --max-count=1 "--pretty=format:A${SUBSTFORMAT}O" HEAD \
	      >f/a/substfile1.expected &&
	      test_cmp f/a/substfile1.expected f/a/substfile1 &&
	      test_cmp a/substfile2 f/a/substfile2
	
*   ok 25: extract substfiles from archive with prefix
*   ok 26: validate substfile contents from archive with prefix
*   ok 27: git archive --format=zip
*   ok 28: git archive --format=zip in a bare repo
*   ok 29: git archive --format=zip vs. the same in a bare repo
*   ok 30: git archive --format=zip with --output
* Skipping ZIP tests, because unzip was not found
* skip 31: extract ZIP archive
* skip 32: validate filenames
* skip 33: validate file contents
*   ok 34: git archive --format=zip with prefix
* skip 35: extract ZIP archive with prefix
* skip 36: validate filenames with prefix
* skip 37: validate file contents with prefix
*   ok 38: git archive --list outside of a git repo
* failed 6 among 38 test(s)
make[2]: *** [t5000-tar-tree.sh] Error 1
*** t5001-archive-attr.sh ***
*   ok 1: setup
*   ok 2: git archive
*   ok 3:  archive/ignored does not exist
*   ok 4:  archive/ignored-by-tree does not exist
*   ok 5:  archive/ignored-by-worktree exists
*   ok 6: git archive with worktree attributes
*   ok 7:  worktree/ignored does not exist
*   ok 8:  worktree/ignored-by-tree exists
*   ok 9:  worktree/ignored-by-worktree does not exist
*   ok 10: git archive vs. bare
*   ok 11: git archive with worktree attributes, bare
*   ok 12:  bare-worktree/ignored does not exist
*   ok 13:  bare-worktree/ignored-by-tree exists
*   ok 14:  bare-worktree/ignored-by-worktree exists
*   ok 15: export-subst
*   ok 16: git tar-tree vs. git archive with worktree attributes
*   ok 17: git tar-tree vs. git archive with worktree attrs, bare
* passed all 17 test(s)
*** t5100-mailinfo.sh ***
*   ok 1: split sample box
* FAIL 2: mailinfo 0001
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
* FAIL 3: mailinfo 0002
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
* FAIL 4: mailinfo 0003
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
* FAIL 5: mailinfo 0004
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
* FAIL 6: mailinfo 0005
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
* FAIL 7: mailinfo 0006
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
* FAIL 8: mailinfo 0007
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
* FAIL 9: mailinfo 0008
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
* FAIL 10: mailinfo 0009
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
* FAIL 11: mailinfo 0010
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
* FAIL 12: mailinfo 0011
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
* FAIL 13: mailinfo 0012
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
* FAIL 14: mailinfo 0013
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
* FAIL 15: mailinfo 0014
	
			check_mailinfo $mail "" &&
			if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
			then
				check_mailinfo $mail --scissors
			fi
		
*   ok 16: split box with rfc2047 samples
* FAIL 17: mailinfo rfc2047/0001
	
			git mailinfo -u $mail-msg $mail-patch <$mail >$mail-info &&
			echo msg &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-msg &&
			echo patch &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-patch &&
			echo info &&
			test_cmp "$TEST_DIRECTORY"/t5100/rfc2047-info-$(basename $mail) $mail-info
		
* FAIL 18: mailinfo rfc2047/0002
	
			git mailinfo -u $mail-msg $mail-patch <$mail >$mail-info &&
			echo msg &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-msg &&
			echo patch &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-patch &&
			echo info &&
			test_cmp "$TEST_DIRECTORY"/t5100/rfc2047-info-$(basename $mail) $mail-info
		
* FAIL 19: mailinfo rfc2047/0003
	
			git mailinfo -u $mail-msg $mail-patch <$mail >$mail-info &&
			echo msg &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-msg &&
			echo patch &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-patch &&
			echo info &&
			test_cmp "$TEST_DIRECTORY"/t5100/rfc2047-info-$(basename $mail) $mail-info
		
* FAIL 20: mailinfo rfc2047/0004
	
			git mailinfo -u $mail-msg $mail-patch <$mail >$mail-info &&
			echo msg &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-msg &&
			echo patch &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-patch &&
			echo info &&
			test_cmp "$TEST_DIRECTORY"/t5100/rfc2047-info-$(basename $mail) $mail-info
		
* FAIL 21: mailinfo rfc2047/0005
	
			git mailinfo -u $mail-msg $mail-patch <$mail >$mail-info &&
			echo msg &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-msg &&
			echo patch &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-patch &&
			echo info &&
			test_cmp "$TEST_DIRECTORY"/t5100/rfc2047-info-$(basename $mail) $mail-info
		
* FAIL 22: mailinfo rfc2047/0006
	
			git mailinfo -u $mail-msg $mail-patch <$mail >$mail-info &&
			echo msg &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-msg &&
			echo patch &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-patch &&
			echo info &&
			test_cmp "$TEST_DIRECTORY"/t5100/rfc2047-info-$(basename $mail) $mail-info
		
* FAIL 23: mailinfo rfc2047/0007
	
			git mailinfo -u $mail-msg $mail-patch <$mail >$mail-info &&
			echo msg &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-msg &&
			echo patch &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-patch &&
			echo info &&
			test_cmp "$TEST_DIRECTORY"/t5100/rfc2047-info-$(basename $mail) $mail-info
		
* FAIL 24: mailinfo rfc2047/0008
	
			git mailinfo -u $mail-msg $mail-patch <$mail >$mail-info &&
			echo msg &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-msg &&
			echo patch &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-patch &&
			echo info &&
			test_cmp "$TEST_DIRECTORY"/t5100/rfc2047-info-$(basename $mail) $mail-info
		
* FAIL 25: mailinfo rfc2047/0009
	
			git mailinfo -u $mail-msg $mail-patch <$mail >$mail-info &&
			echo msg &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-msg &&
			echo patch &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-patch &&
			echo info &&
			test_cmp "$TEST_DIRECTORY"/t5100/rfc2047-info-$(basename $mail) $mail-info
		
* FAIL 26: mailinfo rfc2047/0010
	
			git mailinfo -u $mail-msg $mail-patch <$mail >$mail-info &&
			echo msg &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-msg &&
			echo patch &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-patch &&
			echo info &&
			test_cmp "$TEST_DIRECTORY"/t5100/rfc2047-info-$(basename $mail) $mail-info
		
* FAIL 27: mailinfo rfc2047/0011
	
			git mailinfo -u $mail-msg $mail-patch <$mail >$mail-info &&
			echo msg &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-msg &&
			echo patch &&
			test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-patch &&
			echo info &&
			test_cmp "$TEST_DIRECTORY"/t5100/rfc2047-info-$(basename $mail) $mail-info
		
*   ok 28: respect NULs
* FAIL 29: Preserve NULs out of MIME encoded message
	
	
		git mailsplit -d5 -o. "$TEST_DIRECTORY"/t5100/nul-b64.in &&
		test_cmp "$TEST_DIRECTORY"/t5100/nul-b64.in 00001 &&
		git mailinfo msg patch <00001 &&
		test_cmp "$TEST_DIRECTORY"/t5100/nul-b64.expect patch
	
	
* FAIL 30: mailinfo on from header without name works
	
	
		mkdir info-from &&
		git mailsplit -oinfo-from "$TEST_DIRECTORY"/t5100/info-from.in &&
		test_cmp "$TEST_DIRECTORY"/t5100/info-from.in info-from/0001 &&
		git mailinfo info-from/msg info-from/patch \
		  <info-from/0001 >info-from/out &&
		test_cmp "$TEST_DIRECTORY"/t5100/info-from.expect info-from/out
	
	
* failed 27 among 30 test(s)
make[2]: *** [t5100-mailinfo.sh] Error 1
*** t5300-pack-object.sh ***
*   ok 1: setup
*   ok 2: pack without delta
*   ok 3: unpack without delta
*   ok 4: check unpack without delta
*   ok 5: pack with REF_DELTA
*   ok 6: unpack with REF_DELTA
*   ok 7: check unpack with REF_DELTA
*   ok 8: pack with OFS_DELTA
*   ok 9: unpack with OFS_DELTA
*   ok 10: check unpack with OFS_DELTA
*   ok 11: compare delta flavors
*   ok 12: use packed objects
*   ok 13: use packed deltified (REF_DELTA) objects
*   ok 14: use packed deltified (OFS_DELTA) objects
*   ok 15: survive missing objects/pack directory
*   ok 16: verify pack
*   ok 17: verify pack -v
*   ok 18: verify-pack catches mismatched .idx and .pack files
*   ok 19: verify-pack catches a corrupted pack signature
*   ok 20: verify-pack catches a corrupted pack version
*   ok 21: verify-pack catches a corrupted type/size of the 1st packed object data
*   ok 22: verify-pack catches a corrupted sum of the index file itself
*   ok 23: build pack index for an existing pack
*   ok 24: fake a SHA1 hash collision
*   ok 25: make sure index-pack detects the SHA1 collision
*   ok 26: honor pack.packSizeLimit
*   ok 27: unpacking with --strict
*   ok 28: index-pack with --strict
*   ok 29: tolerate absurdly small packsizelimit
* passed all 29 test(s)
*** t5301-sliding-window.sh ***
*   ok 1: setup
*   ok 2: verify-pack -v, defaults
*   ok 3: verify-pack -v, packedGitWindowSize == 1 page
*   ok 4: verify-pack -v, packedGit{WindowSize,Limit} == 1 page
*   ok 5: repack -a -d, packedGit{WindowSize,Limit} == 1 page
*   ok 6: verify-pack -v, defaults
* passed all 6 test(s)
*** t5302-pack-index.sh ***
*   ok 1: setup
*   ok 2: pack-objects with index version 1
*   ok 3: pack-objects with index version 2
*   ok 4: both packs should be identical
*   ok 5: index v1 and index v2 should be different
*   ok 6: index-pack with index version 1
*   ok 7: index-pack with index version 2
*   ok 8: index-pack results should match pack-objects ones
*   ok 9: index v2: force some 64-bit offsets with pack-objects
*   ok 10: index v2: verify a pack with some 64-bit offsets
*   ok 11: 64-bit offsets: should be different from previous index v2 results
*   ok 12: index v2: force some 64-bit offsets with index-pack
*   ok 13: 64-bit offsets: index-pack result should match pack-objects one
*   ok 14: [index v1] 1) stream pack to repository
*   ok 15: [index v1] 2) create a stealth corruption in a delta base reference
*   ok 16: [index v1] 3) corrupted delta happily returned wrong data
*   ok 17: [index v1] 4) confirm that the pack is actually corrupted
*   ok 18: [index v1] 5) pack-objects happily reuses corrupted data
*   ok 19: [index v1] 6) newly created pack is BAD !
*   ok 20: [index v2] 1) stream pack to repository
*   ok 21: [index v2] 2) create a stealth corruption in a delta base reference
*   ok 22: [index v2] 3) corrupted delta happily returned wrong data
*   ok 23: [index v2] 4) confirm that the pack is actually corrupted
*   ok 24: [index v2] 5) pack-objects refuses to reuse corrupted data
*   ok 25: [index v2] 6) verify-pack detects CRC mismatch
*   ok 26: running index-pack in the object store
* passed all 26 test(s)
*** t5303-pack-corruption-resilience.sh ***
*   ok 1: initial setup validation
*   ok 2: create corruption in header of first object
*   ok 3: ... but having a loose copy allows for full recovery
*   ok 4: ... and loose copy of first delta allows for partial recovery
*   ok 5: create corruption in data of first object
*   ok 6: ... but having a loose copy allows for full recovery
*   ok 7: ... and loose copy of second object allows for partial recovery
*   ok 8: create corruption in header of first delta
*   ok 9: ... but having a loose copy allows for full recovery
*   ok 10: ... and then a repack "clears" the corruption
*   ok 11: create corruption in data of first delta
*   ok 12: ... but having a loose copy allows for full recovery
*   ok 13: ... and then a repack "clears" the corruption
*   ok 14: corruption in delta base reference of first delta (OBJ_REF_DELTA)
*   ok 15: ... but having a loose copy allows for full recovery
*   ok 16: ... and then a repack "clears" the corruption
*   ok 17: corruption #0 in delta base reference of first delta (OBJ_OFS_DELTA)
*   ok 18: ... but having a loose copy allows for full recovery
*   ok 19: ... and then a repack "clears" the corruption
*   ok 20: corruption #1 in delta base reference of first delta (OBJ_OFS_DELTA)
*   ok 21: ... but having a loose copy allows for full recovery
*   ok 22: ... and then a repack "clears" the corruption
*   ok 23: ... and a redundant pack allows for full recovery too
* passed all 23 test(s)
*** t5304-prune.sh ***
*   ok 1: setup
*   ok 2: prune stale packs
*   ok 3: prune --expire
*   ok 4: gc: implicit prune --expire
*   ok 5: gc: refuse to start with invalid gc.pruneExpire
*   ok 6: gc: start with ok gc.pruneExpire
*   ok 7: prune: prune nonsense parameters
*   ok 8: prune: prune unreachable heads
*   ok 9: prune: do not prune heads listed as an argument
*   ok 10: gc --no-prune
*   ok 11: gc respects gc.pruneExpire
*   ok 12: gc --prune=<date>
* passed all 12 test(s)
*** t5305-include-tag.sh ***
*   ok 1: setup
*   ok 2: pack without --include-tag
*   ok 3: unpack objects
*   ok 4: check unpacked result (have commit, no tag)
*   ok 5: pack with --include-tag
*   ok 6: unpack objects
*   ok 7: check unpacked result (have commit, have tag)
* passed all 7 test(s)
*** t5306-pack-nobase.sh ***
*   ok 1: setup base
*   ok 2: setup patch_clone
*   ok 3: indirectly clone patch_clone
*   ok 4: clone of patch_clone is incomplete
* passed all 4 test(s)
*** t5307-pack-missing-commit.sh ***
*   ok 1: setup
*   ok 2: check corruption
*   ok 3: rev-list notices corruption (1)
*   ok 4: rev-list notices corruption (2)
*   ok 5: pack-objects notices corruption
* passed all 5 test(s)
*** t5400-send-pack.sh ***
*   ok 1: setup
*   ok 2: pack the source repository
*   ok 3: pack the destination repository
*   ok 4: refuse pushing rewound head without --force
*   ok 5: push can be used to delete a ref
*   ok 6: refuse deleting push with denyDeletes
*   ok 7: denyNonFastforwards trumps --force
*   ok 8: push --all excludes remote tracking hierarchy
*   ok 9: pushing explicit refspecs respects forcing
*   ok 10: pushing wildcard refspecs respects forcing
*   ok 11: deny pushing to delete current branch
* passed all 11 test(s)
*** t5401-update-hooks.sh ***
*   ok 1: setup
*   ok 2: push
*   ok 3: updated as expected
*   ok 4: hooks ran
*   ok 5: pre-receive hook input
*   ok 6: update hook arguments
*   ok 7: post-receive hook input
*   ok 8: post-update hook arguments
*   ok 9: all hook stdin is /dev/null
*   ok 10: all *-receive hook args are empty
*   ok 11: send-pack produced no output
*   ok 12: send-pack stderr contains hook messages
* passed all 12 test(s)
*** t5402-post-merge-hook.sh ***
*   ok 1: setup
*   ok 2: post-merge does not run for up-to-date 
*   ok 3: post-merge runs as expected 
*   ok 4: post-merge from normal merge receives the right argument 
*   ok 5: post-merge from squash merge runs as expected 
*   ok 6: post-merge from squash merge receives the right argument 
* passed all 6 test(s)
*** t5403-post-checkout-hook.sh ***
*   ok 1: setup
*   ok 2: post-checkout runs as expected 
*   ok 3: post-checkout receives the right arguments with HEAD unchanged 
*   ok 4: post-checkout runs as expected 
*   ok 5: post-checkout args are correct with git checkout -b 
*   ok 6: post-checkout receives the right args with HEAD changed 
*   ok 7: post-checkout receives the right args when not switching branches 
* passed all 7 test(s)
*** t5404-tracking-branches.sh ***
*   ok 1: setup
*   ok 2: prepare pushable branches
*   ok 3: mixed-success push returns error
*   ok 4: check tracking branches updated correctly after push
*   ok 5: check tracking branches not updated for failed refs
*   ok 6: deleted branches have their tracking branches removed
*   ok 7: already deleted tracking branches ignored
* passed all 7 test(s)
*** t5405-send-pack-rewind.sh ***
*   ok 1: setup
*   ok 2: non forced push should die not segfault
*   ok 3: forced push should succeed
* passed all 3 test(s)
*** t5406-remote-rejects.sh ***
*   ok 1: setup
*   ok 2: push reports error
*   ok 3: individual ref reports error
* passed all 3 test(s)
*** t5500-fetch-pack.sh ***
*   ok 1: setup
*   ok 2: 1st pull
*   ok 3: post 1st pull setup
*   ok 4: 2nd pull
*   ok 5: 3rd pull
*   ok 6: clone shallow
*   ok 7: clone shallow object count
*   ok 8: clone shallow object count (part 2)
*   ok 9: fsck in shallow repo
*   ok 10: simple fetch in shallow repo
*   ok 11: no changes expected
*   ok 12: fetch same depth in shallow repo
*   ok 13: no changes expected
*   ok 14: add two more
*   ok 15: pull in shallow repo
*   ok 16: clone shallow object count
*   ok 17: add two more (part 2)
*   ok 18: deepening pull in shallow repo
*   ok 19: clone shallow object count
*   ok 20: deepening fetch in shallow repo
*   ok 21: clone shallow object count
*   ok 22: pull in shallow repo with missing merge base
*   ok 23: additional simple shallow deepenings
*   ok 24: clone shallow object count
* passed all 24 test(s)
*** t5501-post-upload-pack.sh ***
*   ok 1: setup
*   ok 2: initial
*   ok 3: second
*   ok 4: all
* passed all 4 test(s)
*** t5502-quickfetch.sh ***
*   ok 1: setup
*   ok 2: clone without alternate
*   ok 3: further commits in the original
*   ok 4: copy commit and tree but not blob by hand
*   ok 5: quickfetch should not leave a corrupted repository
*   ok 6: quickfetch should not copy from alternate
*   ok 7: quickfetch should handle ~1000 refs (on Windows)
* passed all 7 test(s)
*** t5503-tagfollow.sh ***
* GIT_DEBUG_SEND_PACK not supported - skipping tests
* passed all 0 test(s)
*** t5505-remote.sh ***
*   ok 1: setup
*   ok 2: remote information for the origin
*   ok 3: add another remote
*   ok 4: remote forces tracking branches
*   ok 5: remove remote
*   ok 6: remove remote
*   ok 7: remove remote protects non-remote branches
*   ok 8: show
*   ok 9: show -n
*   ok 10: prune
*   ok 11: set-head --delete
*   ok 12: set-head --auto
*   ok 13: set-head --auto fails w/multiple HEADs
*   ok 14: set-head explicit
*   ok 15: prune --dry-run
*   ok 16: add --mirror && prune
*   ok 17: add alt && prune
*   ok 18: update
*   ok 19: update with arguments
*   ok 20: update default
*   ok 21: update default (overridden, with funny whitespace)
*   ok 22: "remote show" does not show symbolic refs
*   ok 23: reject adding remote with an invalid name
*   ok 24: rename a remote
*   ok 25: migrate a remote from named file in $GIT_DIR/remotes
*   ok 26: migrate a remote from named file in $GIT_DIR/branches
*   ok 27: remote prune to cause a dangling symref
*   ok 28: show empty remote
* passed all 28 test(s)
*** t5506-remote-groups.sh ***
*   ok 1: setup
*   ok 2: no group updates all
*   ok 3: nonexistant group produces error
*   ok 4: updating group updates all members
*   ok 5: updating group does not update non-members
*   ok 6: updating remote name updates that remote
* passed all 6 test(s)
*** t5510-fetch.sh ***
*   ok 1: setup
*   ok 2: clone and setup child repos
*   ok 3: fetch test
*   ok 4: fetch test for-merge
*   ok 5: fetch tags when there is no tags
*   ok 6: fetch following tags
*   ok 7: fetch must not resolve short tag name
*   ok 8: fetch must not resolve short remote name
*   ok 9: create bundle 1
*   ok 10: header of bundle looks right
*   ok 11: create bundle 2
*   ok 12: unbundle 1
*   ok 13: bundle 1 has only 3 files 
*   ok 14: unbundle 2
*   ok 15: bundle does not prerequisite objects
*   ok 16: bundle should be able to create a full history
* Skipping rsync tests because rsync was not found
*   ok 17: fetch with a non-applying branch.<name>.merge
*   ok 18: quoting of a strangely named repo
*   ok 19: bundle should record HEAD correctly
*   ok 20: explicit fetch should not update tracking
*   ok 21: explicit pull should not update tracking
*   ok 22: configured fetch updates tracking
*   ok 23: pushing nonexistent branch by mistake should not segv
*   ok 24: auto tag following fetches minimum
*   ok 25: refuse to fetch into the current branch
*   ok 26: fetch into the current branch with --update-head-ok
* passed all 26 test(s)
*** t5511-refspec.sh ***
*   ok 1: push  (invalid)
*   ok 2: push :
*   ok 3: push :: (invalid)
*   ok 4: push +:
*   ok 5: fetch 
*   ok 6: fetch :
*   ok 7: fetch :: (invalid)
*   ok 8: push refs/heads/*:refs/remotes/frotz/*
*   ok 9: push refs/heads/*:refs/remotes/frotz (invalid)
*   ok 10: push refs/heads:refs/remotes/frotz/* (invalid)
*   ok 11: push refs/heads/master:refs/remotes/frotz/xyzzy
*   ok 12: fetch refs/heads/*:refs/remotes/frotz/*
*   ok 13: fetch refs/heads/*:refs/remotes/frotz (invalid)
*   ok 14: fetch refs/heads:refs/remotes/frotz/* (invalid)
*   ok 15: fetch refs/heads/master:refs/remotes/frotz/xyzzy
*   ok 16: fetch refs/heads/master::refs/remotes/frotz/xyzzy (invalid)
*   ok 17: fetch refs/heads/maste :refs/remotes/frotz/xyzzy (invalid)
*   ok 18: push master~1:refs/remotes/frotz/backup
*   ok 19: fetch master~1:refs/remotes/frotz/backup (invalid)
*   ok 20: push HEAD~4:refs/remotes/frotz/new
*   ok 21: fetch HEAD~4:refs/remotes/frotz/new (invalid)
*   ok 22: push HEAD
*   ok 23: fetch HEAD
*   ok 24: push refs/heads/ nitfol (invalid)
*   ok 25: fetch refs/heads/ nitfol (invalid)
*   ok 26: push HEAD: (invalid)
*   ok 27: fetch HEAD:
*   ok 28: push refs/heads/ nitfol: (invalid)
*   ok 29: fetch refs/heads/ nitfol: (invalid)
*   ok 30: push :refs/remotes/frotz/deleteme
*   ok 31: fetch :refs/remotes/frotz/HEAD-to-me
*   ok 32: push :refs/remotes/frotz/delete me (invalid)
*   ok 33: fetch :refs/remotes/frotz/HEAD to me (invalid)
*   ok 34: fetch refs/heads/*/for-linus:refs/remotes/mine/*-blah (invalid)
*   ok 35: push refs/heads/*/for-linus:refs/remotes/mine/*-blah (invalid)
*   ok 36: fetch refs/heads*/for-linus:refs/remotes/mine/* (invalid)
*   ok 37: push refs/heads*/for-linus:refs/remotes/mine/* (invalid)
*   ok 38: fetch refs/heads/*/*/for-linus:refs/remotes/mine/* (invalid)
*   ok 39: push refs/heads/*/*/for-linus:refs/remotes/mine/* (invalid)
*   ok 40: fetch refs/heads/*/for-linus:refs/remotes/mine/*
*   ok 41: push refs/heads/*/for-linus:refs/remotes/mine/*
* passed all 41 test(s)
*** t5512-ls-remote.sh ***
*   ok 1: setup
*   ok 2: ls-remote --tags .git
*   ok 3: ls-remote .git
*   ok 4: ls-remote --tags self
*   ok 5: ls-remote self
* passed all 5 test(s)
*** t5513-fetch-track.sh ***
*   ok 1: setup
*   ok 2: fetch
* passed all 2 test(s)
*** t5515-fetch-merge-logic.sh ***
*   ok 1: setup
* FAIL 2: br-config-explicit
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 3: br-config-explicit config-explicit
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 4: br-config-explicit-merge
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 5: br-config-explicit-merge config-explicit
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 6: br-config-explicit-octopus
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 7: br-config-explicit-octopus config-explicit
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 8: br-config-glob
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 9: br-config-glob config-glob
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 10: br-config-glob-merge
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 11: br-config-glob-merge config-glob
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 12: br-config-glob-octopus
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 13: br-config-glob-octopus config-glob
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 14: br-remote-explicit
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 15: br-remote-explicit remote-explicit
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 16: br-remote-explicit-merge
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 17: br-remote-explicit-merge remote-explicit
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 18: br-remote-explicit-octopus
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 19: br-remote-explicit-octopus remote-explicit
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 20: br-remote-glob
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 21: br-remote-glob remote-glob
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 22: br-remote-glob-merge
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 23: br-remote-glob-merge remote-glob
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 24: br-remote-glob-octopus
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 25: br-remote-glob-octopus remote-glob
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 26: br-branches-default
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 27: br-branches-default branches-default
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 28: br-branches-default-merge
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 29: br-branches-default-merge branches-default
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 30: br-branches-default-octopus
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 31: br-branches-default-octopus branches-default
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 32: br-branches-one
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 33: br-branches-one branches-one
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 34: br-branches-one-merge
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 35: br-branches-one-merge branches-one
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 36: br-branches-one-octopus
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 37: br-branches-one-octopus branches-one
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 38: master
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 39: master config-explicit
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 40: master config-glob
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 41: master remote-explicit
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 42: master remote-glob
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 43: master branches-default
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 44: master branches-one
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 45: br-unconfig
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 46: br-unconfig config-explicit
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 47: br-unconfig config-glob
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 48: br-unconfig remote-explicit
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 49: br-unconfig remote-glob
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 50: br-unconfig branches-default
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 51: br-unconfig branches-one
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 52: master ../.git
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 53: master ../.git one
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 54: master ../.git one two
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 55: master --tags ../.git
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 56: master ../.git tag tag-one tag tag-three
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 57: master ../.git tag tag-one-tree tag tag-three-file
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 58: master ../.git one tag tag-one tag tag-three-file
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 59: br-unconfig ../.git
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 60: br-unconfig ../.git one
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 61: br-unconfig ../.git one two
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 62: br-unconfig --tags ../.git
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 63: br-unconfig ../.git tag tag-one tag tag-three
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 64: br-unconfig ../.git tag tag-one-tree tag tag-three-file
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* FAIL 65: br-unconfig ../.git one tag tag-one tag tag-three-file
	
			{
				echo "# $cmd"
				set x $cmd; shift
				git symbolic-ref HEAD refs/heads/$1 ; shift
				rm -f .git/FETCH_HEAD
				git for-each-ref \
					refs/heads refs/remotes/rem refs/tags |
				while read val type refname
				do
					git update-ref -d "$refname" "$val"
				done
				git fetch "$@" >/dev/null
				cat .git/FETCH_HEAD
			} >"$actual_f" &&
			git show-ref >"$actual_r" &&
			if test -f "$expect_f"
			then
				test_cmp "$expect_f" "$actual_f" &&
				rm -f "$actual_f"
			else
				# this is to help developing new tests.
				cp "$actual_f" "$expect_f"
				false
			fi &&
			if test -f "$expect_r"
			then
				test_cmp "$expect_r" "$actual_r" &&
				rm -f "$actual_r"
			else
				# this is to help developing new tests.
				cp "$actual_r" "$expect_r"
				false
			fi
		
* failed 64 among 65 test(s)
make[2]: *** [t5515-fetch-merge-logic.sh] Error 1
*** t5516-fetch-push.sh ***
*   ok 1: setup
*   ok 2: fetch without wildcard
*   ok 3: fetch with wildcard
*   ok 4: fetch with insteadOf
*   ok 5: fetch with pushInsteadOf (should not rewrite)
*   ok 6: push without wildcard
*   ok 7: push with wildcard
*   ok 8: push with insteadOf
*   ok 9: push with pushInsteadOf
*   ok 10: push with pushInsteadOf and explicit pushurl (pushInsteadOf should not rewrite)
*   ok 11: push with matching heads
*   ok 12: push with matching heads on the command line
*   ok 13: failed (non-fast-forward) push with matching heads
*   ok 14: push --force with matching heads
*   ok 15: push with matching heads and forced update
*   ok 16: push with no ambiguity (1)
*   ok 17: push with no ambiguity (2)
*   ok 18: push with colon-less refspec, no ambiguity
*   ok 19: push with weak ambiguity (1)
*   ok 20: push with weak ambiguity (2)
*   ok 21: push with ambiguity
*   ok 22: push with colon-less refspec (1)
*   ok 23: push with colon-less refspec (2)
*   ok 24: push with colon-less refspec (3)
*   ok 25: push with colon-less refspec (4)
*   ok 26: push head with non-existant, incomplete dest
*   ok 27: push tag with non-existant, incomplete dest
*   ok 28: push sha1 with non-existant, incomplete dest
*   ok 29: push ref expression with non-existant, incomplete dest
*   ok 30: push with HEAD
*   ok 31: push with HEAD nonexisting at remote
*   ok 32: push with +HEAD
*   ok 33: push HEAD with non-existant, incomplete dest
*   ok 34: push with config remote.*.push = HEAD
*   ok 35: push with config remote.*.pushurl
*   ok 36: push with dry-run
*   ok 37: push updates local refs
*   ok 38: push updates up-to-date local refs
*   ok 39: push preserves up-to-date packed refs
*   ok 40: push does not update local refs on failure
*   ok 41: allow deleting an invalid remote ref
*   ok 42: warn on push to HEAD of non-bare repository
*   ok 43: deny push to HEAD of non-bare repository
*   ok 44: allow push to HEAD of bare repository (bare)
*   ok 45: allow push to HEAD of non-bare repository (config)
*   ok 46: fetch with branches
*   ok 47: fetch with branches containing #
*   ok 48: push with branches
*   ok 49: push with branches containing #
* passed all 49 test(s)
*** t5517-push-mirror.sh ***
*   ok 1: push mirror creates new branches
*   ok 2: push mirror updates existing branches
*   ok 3: push mirror force updates existing branches
*   ok 4: push mirror removes branches
*   ok 5: push mirror adds, updates and removes branches together
*   ok 6: push mirror creates new tags
*   ok 7: push mirror updates existing tags
*   ok 8: push mirror force updates existing tags
*   ok 9: push mirror removes tags
*   ok 10: push mirror adds, updates and removes tags together
*   ok 11: remote.foo.mirror adds and removes branches
*   ok 12: remote.foo.mirror=no has no effect
* passed all 12 test(s)
*** t5518-fetch-exit-status.sh ***
*   ok 1: setup
*   ok 2: non fast forward fetch
*   ok 3: forced update
* passed all 3 test(s)
*** t5519-push-alternates.sh ***
*   ok 1: setup
*   ok 2: alice works and pushes
*   ok 3: bob fetches from alice, works and pushes
*   ok 4: clean-up in case the previous failed
*   ok 5: alice works and pushes again
*   ok 6: bob works and pushes
*   ok 7: alice works and pushes yet again
*   ok 8: bob works and pushes again
* passed all 8 test(s)
*** t5520-pull.sh ***
*   ok 1: setup
*   ok 2: pulling into void
*   ok 3: checking the results
*   ok 4: pulling into void using master:master
*   ok 5: test . as a remote
*   ok 6: the default remote . should not break explicit pull
*   ok 7: --rebase
*   ok 8: branch.to-rebase.rebase
*   ok 9: --rebase with rebased upstream
*   ok 10: --rebase with rebased default upstream
*   ok 11: rebased upstream + fetch + pull --rebase
*   ok 12: pull --rebase dies early with dirty working directory
*   ok 13: pull --rebase works on branch yet to be born
* passed all 13 test(s)
*** t5521-pull-options.sh ***
*   ok 1: setup
*   ok 2: git pull -q
*   ok 3: git pull
*   ok 4: git pull -v
*   ok 5: git pull -v -q
*   ok 6: git pull -q -v
* passed all 6 test(s)
*** t5522-pull-symlink.sh ***
* Symbolic links not supported, skipping tests.
* passed all 0 test(s)
*** t5530-upload-pack-error.sh ***
*   ok 1: setup and corrupt repository
*   ok 2: fsck fails
*   ok 3: upload-pack fails due to error in pack-objects packing
*   ok 4: corrupt repo differently
*   ok 5: fsck fails
* FAIL 6: upload-pack fails due to error in rev-list
	
	
		! echo "0032want $(git rev-parse HEAD)
	0034shallow $(git rev-parse HEAD^)00000009done
	0000" | git upload-pack . > /dev/null 2> output.err &&
		# pack-objects survived
		grep "Total.*, reused" output.err &&
		# but there was an error, which must have been in rev-list
		grep "bad tree object" output.err
	
*   ok 7: upload-pack fails due to error in pack-objects enumeration
*   ok 8: create empty repository
*   ok 9: fetch fails
* failed 1 among 9 test(s)
make[2]: *** [t5530-upload-pack-error.sh] Error 1
*** t5531-deep-submodule-push.sh ***
*   ok 1: setup
*   ok 2: push
* passed all 2 test(s)
*** t5540-http-push.sh ***
* skipping test, network testing disabled by default
* (define GIT_TEST_HTTPD to enable)
* passed all 0 test(s)
*** t5550-http-fetch.sh ***
* skipping test, git built without http support
* passed all 0 test(s)
*** t5600-clone-fail-cleanup.sh ***
*   ok 1: clone of non-existent source should fail
*   ok 2: failed clone should not leave a directory
*   ok 3: clone of non-existent (relative to $PWD) source should fail
*   ok 4: clone should work now that source exists
*   ok 5: successful clone must leave the directory
* passed all 5 test(s)
*** t5601-clone.sh ***
*   ok 1: setup
*   ok 2: clone with excess parameters (1)
*   ok 3: clone with excess parameters (2)
*   ok 4: output from clone
*   ok 5: clone does not keep pack
*   ok 6: clone checks out files
*   ok 7: clone respects GIT_WORK_TREE
*   ok 8: clone creates intermediate directories
*   ok 9: clone creates intermediate directories for bare repo
*   ok 10: clone --mirror
*   ok 11: clone --bare names the local repository <name>.git
*   ok 12: clone --mirror does not repeat tags
*   ok 13: clone to destination with trailing /
*   ok 14: clone to destination with extra trailing /
*   ok 15: clone to an existing empty directory
*   ok 16: clone to an existing non-empty directory
*   ok 17: clone to an existing path
*   ok 18: clone a void
*   ok 19: clone respects global branch.autosetuprebase
* passed all 19 test(s)
*** t5602-clone-remote-exec.sh ***
*   ok 1: setup
*   ok 2: clone calls git upload-pack unqualified with no -u option
*   ok 3: clone calls specified git upload-pack with -u option
* passed all 3 test(s)
*** t5700-clone-reference.sh ***
*   ok 1: preparing first repository
*   ok 2: preparing second repository
*   ok 3: cloning with reference (-l -s)
*   ok 4: existence of info/alternates
*   ok 5: pulling from reference
*   ok 6: that reference gets used
*   ok 7: cloning with reference (no -l -s)
*   ok 8: fetched no objects
*   ok 9: existence of info/alternates
*   ok 10: pulling from reference
*   ok 11: that reference gets used
*   ok 12: updating origin
*   ok 13: pulling changes from origin
*   ok 14: that alternate to origin gets used
*   ok 15: pulling changes from origin
*   ok 16: check objects expected to exist locally
*   ok 17: preparing alternate repository #1
*   ok 18: cloning alternate repo #2 and adding changes to repo #1
*   ok 19: cloning alternate repo #1, using #2 as reference
*   ok 20: cloning with reference being subset of source (-l -s)
* passed all 20 test(s)
*** t5701-clone-local.sh ***
*   ok 1: preparing origin repository
*   ok 2: local clone without .git suffix
*   ok 3: local clone with .git suffix
*   ok 4: local clone from x
*   ok 5: local clone from x.git that does not exist
*   ok 6: With -no-hardlinks, local will make a copy
*   ok 7: Even without -l, local will make a hardlink
*   ok 8: local clone of repo with nonexistent ref in HEAD
*   ok 9: bundle clone without .bundle suffix
*   ok 10: bundle clone with .bundle suffix
*   ok 11: bundle clone from b4
*   ok 12: bundle clone from b4.bundle that does not exist
*   ok 13: bundle clone with nonexistent HEAD
*   ok 14: clone empty repository
*   ok 15: clone empty repository, and then push should not segfault.
* passed all 15 test(s)
*** t5702-clone-options.sh ***
*   ok 1: setup
*   ok 2: clone -o
*   ok 3: redirected clone
*   ok 4: redirected clone -v
* passed all 4 test(s)
*** t5704-bundle.sh ***
*   ok 1: setup
*   ok 2: tags can be excluded by rev-list options
* passed all 2 test(s)
*** t5705-clone-2gb.sh ***
* Skipping expensive 2GB clone test; enable it with GIT_TEST_CLONE_2GB=t
* passed all 0 test(s)
*** t5706-clone-branch.sh ***
*   ok 1: setup
*   ok 2: vanilla clone chooses HEAD
*   ok 3: clone -b chooses specified branch
*   ok 4: clone -b sets up tracking
*   ok 5: clone -b does not munge remotes/origin/HEAD
*   ok 6: clone -b with bogus branch chooses HEAD
* passed all 6 test(s)
*** t5710-info-alternate.sh ***
*   ok 1: preparing first repository
*   ok 2: preparing second repository
*   ok 3: preparing third repository
*   ok 4: creating too deep nesting
*   ok 5: invalidity of deepest repository
*   ok 6: validity of third repository
*   ok 7: validity of fourth repository
*   ok 8: breaking of loops
*   ok 9: that info/alternates is necessary
*   ok 10: that relative alternate is possible for current dir
*   ok 11: that relative alternate is only possible for current dir
* passed all 11 test(s)
*** t6001-rev-list-graft.sh ***
*   ok 1: setup
*   ok 2: without grafts
*   ok 3: with grafts
*   ok 4: without grafts, with pathlimit
*   ok 5: with grafts, with pathlimit
*   ok 6: without grafts
*   ok 7: with grafts
*   ok 8: without grafts, with pathlimit
*   ok 9: with grafts, with pathlimit
*   ok 10: without grafts
*   ok 11: with grafts
*   ok 12: without grafts, with pathlimit
*   ok 13: with grafts, with pathlimit
* passed all 13 test(s)
*** t6002-rev-list-bisect.sh ***
*   ok 1: bisection diff --bisect l0 ^root <= 0
*   ok 2: bisection diff --bisect l1 ^root <= 0
*   ok 3: bisection diff --bisect l2 ^root <= 0
*   ok 4: bisection diff --bisect a0 ^root <= 0
*   ok 5: bisection diff --bisect a1 ^root <= 0
*   ok 6: bisection diff --bisect a2 ^root <= 0
*   ok 7: bisection diff --bisect a3 ^root <= 0
*   ok 8: bisection diff --bisect b1 ^root <= 0
*   ok 9: bisection diff --bisect b2 ^root <= 0
*   ok 10: bisection diff --bisect b3 ^root <= 0
*   ok 11: bisection diff --bisect c1 ^root <= 0
*   ok 12: bisection diff --bisect c2 ^root <= 0
*   ok 13: bisection diff --bisect c3 ^root <= 0
*   ok 14: bisection diff --bisect E ^F <= 0
*   ok 15: bisection diff --bisect e1 ^F <= 0
*   ok 16: bisection diff --bisect e2 ^F <= 0
*   ok 17: bisection diff --bisect e3 ^F <= 0
*   ok 18: bisection diff --bisect e4 ^F <= 0
*   ok 19: bisection diff --bisect e5 ^F <= 0
*   ok 20: bisection diff --bisect e6 ^F <= 0
*   ok 21: bisection diff --bisect e7 ^F <= 0
*   ok 22: bisection diff --bisect f1 ^F <= 0
*   ok 23: bisection diff --bisect f2 ^F <= 0
*   ok 24: bisection diff --bisect f3 ^F <= 0
*   ok 25: bisection diff --bisect f4 ^F <= 0
*   ok 26: bisection diff --bisect E ^F <= 0
*   ok 27: bisection diff --bisect V ^U <= 1
*   ok 28: bisection diff --bisect V ^U ^u1 ^u2 ^u3 <= 0
*   ok 29: bisection diff --bisect u1 ^U <= 0
*   ok 30: bisection diff --bisect u2 ^U <= 0
*   ok 31: bisection diff --bisect u3 ^U <= 0
*   ok 32: bisection diff --bisect u4 ^U <= 0
*   ok 33: bisection diff --bisect u5 ^U <= 0
*   ok 34: --bisect l5 ^root
*   ok 35: --bisect l5 ^root ^c3
*   ok 36: --bisect l5 ^root ^c3 ^b4
*   ok 37: --bisect l3 ^root ^c3 ^b4
*   ok 38: --bisect l5 ^b3 ^a3 ^b4 ^a4
*   ok 39: --bisect l4 ^a2 ^a3 ^b ^a4
*   ok 40: --bisect l3 ^a2 ^a3 ^b ^a4
*   ok 41: --bisect a4 ^a2 ^a3 ^b4
*   ok 42: --bisect a4 ^a2 ^a3 ^b4 ^c2
*   ok 43: --bisect a4 ^a2 ^a3 ^b4 ^c2 ^c3
*   ok 44: --bisect a4 ^a2 ^a3 ^b4
*   ok 45: --bisect c3 ^a2 ^a3 ^b4 ^c2
* passed all 45 test(s)
*** t6003-rev-list-topo-order.sh ***
*   ok 1: rev-list has correct number of entries
*   ok 2: simple topo order
*   ok 3: two diamonds topo order (g6)
*   ok 4: multiple heads
*   ok 5: multiple heads, prune at a1
*   ok 6: multiple heads, prune at l1
*   ok 7: cross-epoch, head at l5, prune at l1
*   ok 8: duplicated head arguments
*   ok 9: prune near topo
*   ok 10: head has no parent
*   ok 11: two nodes - one head, one base
*   ok 12: three nodes one head, one internal, one base
*   ok 13: linear prune l2 ^root
*   ok 14: linear prune l2 ^l0
*   ok 15: linear prune l2 ^l1
*   ok 16: linear prune l5 ^a4
*   ok 17: linear prune l5 ^l3
*   ok 18: linear prune l5 ^l4
*   ok 19: max-count 10 - topo order
*   ok 20: max-count 10 - non topo order
*   ok 21: --max-age=c3, no --topo-order
*   ok 22: one specified head reachable from another a4, c3, --topo-order
*   ok 23: one specified head reachable from another c3, a4, --topo-order
*   ok 24: one specified head reachable from another a4, c3, no --topo-order
*   ok 25: one specified head reachable from another c3, a4, no --topo-order
*   ok 26: graph with c3 and a4 parents of head
*   ok 27: graph with a4 and c3 parents of head
*   ok 28: head ^head --topo-order
*   ok 29: head ^head no --topo-order
*   ok 30: simple topo order (l5r1)
*   ok 31: simple topo order (r1l5)
*   ok 32: don't print things unreachable from one branch
*   ok 33: --topo-order a4 l3
* passed all 33 test(s)
*** t6004-rev-list-path-optim.sh ***
*   ok 1: setup
*   ok 2: path-optimization
*   ok 3: further setup
*   ok 4: path optimization 2
* passed all 4 test(s)
*** t6005-rev-list-count.sh ***
*   ok 1: setup
*   ok 2: no options
*   ok 3: --max-count
*   ok 4: --max-count all forms
*   ok 5: --skip
*   ok 6: --skip --max-count
* passed all 6 test(s)
*** t6006-rev-list-format.sh ***
*   ok 1: setup
*   ok 2: format hash
*   ok 3: format tree
*   ok 4: format parents
*   ok 5: format author
*   ok 6: format committer
*   ok 7: format encoding
*   ok 8: format subject
*   ok 9: format body
*   ok 10: format colors
*   ok 11: format advanced-colors
*   ok 12: setup complex body
*   ok 13: format complex-encoding
*   ok 14: format complex-subject
*   ok 15: format complex-body
*   ok 16: %ad respects --date=
*   ok 17: empty email
* passed all 17 test(s)
*** t6007-rev-list-cherry-pick-file.sh ***
*   ok 1: setup
*   ok 2: --cherry-pick foo comes up empty
*   ok 3: --cherry-pick bar does not come up empty
*   ok 4: --cherry-pick with independent, but identical branches
* passed all 4 test(s)
*** t6008-rev-list-submodule.sh ***
*   ok 1: setup
*   ok 2: Ilari's test
* passed all 2 test(s)
*** t6009-rev-list-parent.sh ***
*   ok 1: setup
*   ok 2: one is ancestor of others and should not be shown
* passed all 2 test(s)
*** t6010-merge-base.sh ***
*   ok 1: compute merge-base (single)
*   ok 2: compute merge-base (all)
*   ok 3: compute merge-base with show-branch
*   ok 4: compute merge-base (single)
*   ok 5: compute merge-base (all)
*   ok 6: merge-base for octopus-step (setup)
*   ok 7: merge-base A B C
*   ok 8: merge-base A B C using show-branch
*   ok 9: criss-cross merge-base for octopus-step (setup)
*   ok 10: merge-base B A^^ A^^2
* passed all 10 test(s)
*** t6011-rev-list-with-bad-commit.sh ***
*   ok 1: setup
*   ok 2: verify number of revisions
*   ok 3: corrupt second commit object
*   ok 4: rev-list should fail
*   ok 5: git repack _MUST_ fail
*   ok 6: first commit is still available
* passed all 6 test(s)
*** t6012-rev-list-simplify.sh ***
*   ok 1: setup
*   ok 2: log --full-history
*   ok 3: log --full-history -- file
*   ok 4: log --full-history --topo-order -- file
*   ok 5: log --full-history --date-order -- file
*   ok 6: log --simplify-merges -- file
*   ok 7: log -- file
*   ok 8: log --topo-order -- file
* passed all 8 test(s)
*** t6013-rev-list-reverse-parents.sh ***
*   ok 1: set up --reverse example
*   ok 2: --reverse --parents --full-history combines correctly
*   ok 3: --boundary does too
* passed all 3 test(s)
*** t6014-rev-list-all.sh ***
*   ok 1: setup
*   ok 2: rev-list --all lists detached HEAD
*   ok 3: repack does not lose detached HEAD
* passed all 3 test(s)
*** t6015-rev-list-show-all-parents.sh ***
*   ok 1: set up --show-all --parents test
*   ok 2: --parents rewrites TREESAME parents correctly
*   ok 3: --parents --show-all does not rewrites TREESAME parents
* passed all 3 test(s)
*** t6016-rev-list-graph-simplify-history.sh ***
*   ok 1: set up rev-list --graph test
*   ok 2: --graph --all
*   ok 3: --graph --simplify-by-decoration
*   ok 4: --graph --simplify-by-decoration prune branch B
*   ok 5: --graph --full-history -- bar.txt
*   ok 6: --graph --full-history --simplify-merges -- bar.txt
*   ok 7: --graph -- bar.txt
*   ok 8: --graph --sparse -- bar.txt
*   ok 9: --graph ^C4
*   ok 10: --graph ^C3
*   ok 11: --graph --boundary ^C3
* passed all 11 test(s)
*** t6020-merge-df.sh ***
*   ok 1: prepare repository
*   ok 2: Merge with d/f conflicts
*   still broken 3: F/D conflict
* still have 1 known breakage(s)
* passed all remaining 2 test(s)
*** t6021-merge-criss-cross.sh ***
*   ok 1: prepare repository
*   ok 2: Criss-cross merge
*   ok 3: Criss-cross merge result
*   ok 4: Criss-cross merge fails (-s resolve)
* passed all 4 test(s)
*** t6022-merge-rename.sh ***
*   ok 1: setup
*   ok 2: pull renaming branch into unrenaming one
*   ok 3: pull renaming branch into another renaming one
*   ok 4: pull unrenaming branch into renaming one
*   ok 5: pull conflicting renames
*   ok 6: interference with untracked working tree file
*   ok 7: interference with untracked working tree file
*   ok 8: interference with untracked working tree file
*   ok 9: updated working tree file should prevent the merge
*   ok 10: updated working tree file should prevent the merge
*   ok 11: interference with untracked working tree file
*   ok 12: merge of identical changes in a renamed file
* passed all 12 test(s)
*** t6023-merge-file.sh ***
*   ok 1: merge with no changes
*   ok 2: merge without conflict
*   ok 3: merge without conflict (missing LF at EOF)
*   ok 4: merge result added missing LF
*   ok 5: merge with conflicts
*   ok 6: expected conflict markers
*   ok 7: merge with conflicts, using -L
*   ok 8: expected conflict markers, with -L
*   ok 9: conflict in removed tail
*   ok 10: expected conflict markers
*   ok 11: binary files cannot be merged
*   ok 12: MERGE_ZEALOUS simplifies non-conflicts
*   ok 13: ZEALOUS_ALNUM
*   ok 14: "diff3 -m" style output (1)
*   ok 15: "diff3 -m" style output (2)
* passed all 15 test(s)
*** t6024-recursive-merge.sh ***
*   ok 1: setup tests
*   ok 2: combined merge conflicts
*   ok 3: result contains a conflict
*   ok 4: virtual trees were processed
*   ok 5: refuse to merge binary files
*   ok 6: mark rename/delete as unmerged
* passed all 6 test(s)
*** t6025-merge-symlinks.sh ***
*   ok 1: setup
*   ok 2: merge master into b-symlink, which has a different symbolic link
*   ok 3: the merge result must be a file
*   ok 4: merge master into b-file, which has a file instead of a symbolic link
*   ok 5: the merge result must be a file
*   ok 6: merge b-file, which has a file instead of a symbolic link, into master
*   ok 7: the merge result must be a file
* passed all 7 test(s)
*** t6026-merge-attr.sh ***
*   ok 1: setup
*   ok 2: merge
*   ok 3: check merge result in index
*   ok 4: check merge result in working tree
*   ok 5: custom merge backend
*   ok 6: custom merge backend
*   ok 7: up-to-date merge without common ancestor
* passed all 7 test(s)
*** t6027-merge-binary.sh ***
*   ok 1: setup
*   ok 2: resolve
*   ok 3: recursive
* passed all 3 test(s)
*** t6028-merge-up-to-date.sh ***
*   ok 1: setup
*   ok 2: merge -s recursive up-to-date
*   ok 3: merge -s recursive fast-forward
*   ok 4: merge -s ours up-to-date
*   ok 5: merge -s ours fast-forward
*   ok 6: merge -s subtree up-to-date
* passed all 6 test(s)
*** t6029-merge-subtree.sh ***
*   ok 1: setup
*   ok 2: subtree available and works like recursive
*   ok 3: setup
*   ok 4: initial merge
*   ok 5: merge update
* passed all 5 test(s)
*** t6030-bisect-porcelain.sh ***
*   ok 1: set up basic repo with 1 file (hello) and 4 commits
*   ok 2: bisect starts with only one bad
*   ok 3: bisect does not start with only one good
*   ok 4: bisect start with one bad and good
*   ok 5: bisect fails if given any junk instead of revs
*   ok 6: bisect reset: back in the master branch
*   ok 7: bisect reset: back in another branch
*   ok 8: bisect reset when not bisecting
*   ok 9: bisect reset removes packed refs
*   ok 10: bisect start: back in good branch
*   ok 11: bisect start: no ".git/BISECT_START" if junk rev
*   ok 12: bisect start: no ".git/BISECT_START" if mistaken rev
*   ok 13: bisect start: no ".git/BISECT_START" if checkout error
*   ok 14: bisect skip: successfull result
*   ok 15: bisect skip: cannot tell between 3 commits
*   ok 16: bisect skip: cannot tell between 2 commits
*   ok 17: bisect skip: with commit both bad and skipped
*   ok 18: "git bisect run" simple case
*   ok 19: "git bisect run" with more complex "git bisect start"
*   ok 20: bisect skip: add line and then a new test
*   ok 21: bisect skip and bisect replay
*   ok 22: bisect run & skip: cannot tell between 2
*   ok 23: bisect run & skip: find first bad
*   ok 24: bisect skip only one range
*   ok 25: bisect skip many ranges
*   ok 26: bisect starting with a detached HEAD
*   ok 27: bisect errors out if bad and good are mistaken
*   ok 28: bisect does not create a "bisect" branch
*   ok 29: side branch creation
*   ok 30: good merge base when good and bad are siblings
*   ok 31: skipped merge base when good and bad are siblings
*   ok 32: bad merge base when good and bad are siblings
*   ok 33: many merge bases creation
*   ok 34: good merge bases when good and bad are siblings
*   ok 35: optimized merge base checks
*   ok 36: "parallel" side branch creation
*   ok 37: restricting bisection on one dir
*   ok 38: restricting bisection on one dir and a file
*   ok 39: skipping away from skipped commit
* passed all 39 test(s)
*** t6031-merge-recursive.sh ***
*   ok 1: mode change in one branch: keep changed version
* skip 2: verify executable bit on file
*   ok 3: mode change in both branches: expect conflict
* skip 4: verify executable bit on file
* passed all 4 test(s)
*** t6032-merge-large-rename.sh ***
*   ok 1: setup (initial)
*   ok 2: rename (5, ok)
*   ok 3: set diff.renamelimit to 4
*   ok 4: rename (4, ok)
*   ok 5: rename (5, fail)
*   ok 6: set merge.renamelimit to 5
*   ok 7: rename (5, ok)
*   ok 8: rename (6, fail)
* passed all 8 test(s)
*** t6033-merge-crlf.sh ***
*   ok 1: setup
*   ok 2: Check "ours" is CRLF
*   ok 3: Check that conflict file is CRLF
* passed all 3 test(s)
*** t6034-merge-rename-nocruft.sh ***
*   ok 1: setup
*   ok 2: merge white into red (A->B,M->N)
*   ok 3: merge blue into white (A->B, mod A, A untracked)
* passed all 3 test(s)
*** t6035-merge-dir-to-symlink.sh ***
* Symbolic links not supported, skipping tests.
* passed all 0 test(s)
*** t6036-recursive-corner-cases.sh ***
*   ok 1: setup
*   ok 2: merge
* passed all 2 test(s)
*** t6040-tracking-info.sh ***
*   ok 1: setup
*   ok 2: branch -v
*   ok 3: checkout
*   ok 4: checkout with local tracked branch
*   ok 5: status
*   ok 6: status when tracking lightweight tags
*   ok 7: status when tracking annotated tags
* passed all 7 test(s)
*** t6050-replace.sh ***
*   ok 1: set up buggy branch
*   ok 2: replace the author
*   ok 3: tag replaced commit
*   ok 4: "git fsck" works
*   ok 5: repack, clone and fetch work
*   ok 6: "git replace" listing and deleting
*   ok 7: "git replace" replacing
*   ok 8: create parallel branch without the bug
*   ok 9: push to cloned repo
*   ok 10: push branch with replacement
*   ok 11: fetch branch with replacement
* passed all 11 test(s)
*** t6101-rev-parse-parents.sh ***
*   ok 1: start is valid
*   ok 2: start^0
*   ok 3: start^1 not valid
*   ok 4: second^1 = second^
*   ok 5: final^1^1^1
*   ok 6: final^1^1^1 = final^^^
*   ok 7: final^1^2
*   ok 8: final^1^2 != final^1^1
*   ok 9: final^1^3 not valid
*   ok 10: --verify start2^1
*   ok 11: --verify start2^0
*   ok 12: final^1^@ = final^1^1 final^1^2
*   ok 13: final^1^! = final^1 ^final^1^1 ^final^1^2
*   ok 14: repack for next test
*   ok 15: short SHA-1 works
* passed all 15 test(s)
*** t6120-describe.sh ***
*   ok 1: setup
*   ok 2: describe HEAD
*   ok 3: describe HEAD^
*   ok 4: describe HEAD^^
*   ok 5: describe HEAD^^2
*   ok 6: describe HEAD^^2^
*   ok 7: describe --tags HEAD
*   ok 8: describe --tags HEAD^
*   ok 9: describe --tags HEAD^^
*   ok 10: describe --tags HEAD^^2
*   ok 11: describe --tags HEAD^^2^
*   ok 12: describe --long HEAD^^2^
*   ok 13: describe --long HEAD^^2
*   ok 14: describe --all A^0
*   ok 15: no warning was displayed for A
*   ok 16: rename tag A to Q locally
*   ok 17: describe HEAD
*   ok 18: warning was displayed for Q
*   ok 19: rename tag Q back to A
*   ok 20: pack tag refs
*   ok 21: describe HEAD
*   ok 22: set-up matching pattern tests
*   ok 23: describe --match=test-*
*   ok 24: describe --tags --match=test1-*
*   ok 25: describe --tags --match=test2-*
*   ok 26: describe --long --tags --match=test2-* HEAD^
* passed all 26 test(s)
*** t6200-fmt-merge-msg.sh ***
*   ok 1: setup
*   ok 2: merge-msg test #1
*   ok 3: merge-msg test #2
*   ok 4: merge-msg test #3-1
*   ok 5: merge-msg test #3-2
*   ok 6: merge-msg test #4-1
*   ok 7: merge-msg test #4-2
*   ok 8: merge-msg test #5-1
*   ok 9: merge-msg test #5-2
*   ok 10: merge-msg -F
*   ok 11: merge-msg -F in subdirectory
* passed all 11 test(s)
*** t6300-for-each-ref.sh ***
*   ok 1: Create sample commit with known timestamp
*   ok 2: Create upstream config
*   ok 3: basic atom: head refname
*   ok 4: basic atom: head upstream
*   ok 5: basic atom: head objecttype
*   ok 6: basic atom: head objectsize
*   ok 7: basic atom: head objectname
*   ok 8: basic atom: head tree
*   ok 9: basic atom: head parent
*   ok 10: basic atom: head numparent
*   ok 11: basic atom: head object
*   ok 12: basic atom: head type
*   ok 13: basic atom: head author
*   ok 14: basic atom: head authorname
*   ok 15: basic atom: head authoremail
*   ok 16: basic atom: head authordate
*   ok 17: basic atom: head committer
*   ok 18: basic atom: head committername
*   ok 19: basic atom: head committeremail
*   ok 20: basic atom: head committerdate
*   ok 21: basic atom: head tag
*   ok 22: basic atom: head tagger
*   ok 23: basic atom: head taggername
*   ok 24: basic atom: head taggeremail
*   ok 25: basic atom: head taggerdate
*   ok 26: basic atom: head creator
*   ok 27: basic atom: head creatordate
*   ok 28: basic atom: head subject
*   ok 29: basic atom: head body
*   ok 30: basic atom: head contents
*   ok 31: basic atom: tag refname
*   ok 32: basic atom: tag upstream
*   ok 33: basic atom: tag objecttype
*   ok 34: basic atom: tag objectsize
*   ok 35: basic atom: tag objectname
*   ok 36: basic atom: tag tree
*   ok 37: basic atom: tag parent
*   ok 38: basic atom: tag numparent
*   ok 39: basic atom: tag object
*   ok 40: basic atom: tag type
*   ok 41: basic atom: tag author
*   ok 42: basic atom: tag authorname
*   ok 43: basic atom: tag authoremail
*   ok 44: basic atom: tag authordate
*   ok 45: basic atom: tag committer
*   ok 46: basic atom: tag committername
*   ok 47: basic atom: tag committeremail
*   ok 48: basic atom: tag committerdate
*   ok 49: basic atom: tag tag
*   ok 50: basic atom: tag tagger
*   ok 51: basic atom: tag taggername
*   ok 52: basic atom: tag taggeremail
*   ok 53: basic atom: tag taggerdate
*   ok 54: basic atom: tag creator
*   ok 55: basic atom: tag creatordate
*   ok 56: basic atom: tag subject
*   ok 57: basic atom: tag body
*   ok 58: basic atom: tag contents
*   ok 59: Check invalid atoms names are errors
*   ok 60: Check format specifiers are ignored in naming date atoms
*   ok 61: Check valid format specifiers for date fields
*   ok 62: Check invalid format specifiers are errors
*   ok 63: Check unformatted date fields output
*   ok 64: Check format "default" formatted date fields output
*   ok 65: Check format "relative" date fields output
*   ok 66: Check format "short" date fields output
*   ok 67: Check format "local" date fields output
*   ok 68: Check format "iso8601" date fields output
*   ok 69: Check format "rfc2822" date fields output
*   ok 70: Verify ascending sort
*   ok 71: Verify descending sort
*   ok 72: Quoting style: shell
*   ok 73: Quoting style: perl
*   ok 74: Quoting style: python
*   ok 75: Quoting style: tcl
*   ok 76: more than one quoting style: --perl --shell
*   ok 77: more than one quoting style: -s --python
*   ok 78: more than one quoting style: --python --tcl
*   ok 79: more than one quoting style: --tcl --perl
*   ok 80: Check short refname format
*   ok 81: Check short upstream format
*   ok 82: Check for invalid refname format
*   ok 83: Check ambiguous head and tag refs (strict)
*   ok 84: Check ambiguous head and tag refs (loose)
*   ok 85: Check ambiguous head and tag refs II (loose)
*   ok 86: an unusual tag with an incomplete line
* passed all 86 test(s)
*** t7001-mv.sh ***
*   ok 1: prepare reference tree
*   ok 2: moving the file out of subdirectory
*   ok 3: commiting the change
*   ok 4: checking the commit
*   ok 5: moving the file back into subdirectory
*   ok 6: commiting the change
*   ok 7: checking the commit
*   ok 8: checking -k on non-existing file
*   ok 9: checking -k on untracked file
*   ok 10: checking -k on multiple untracked files
*   ok 11: checking -f on untracked file with existing target
*   ok 12: adding another file
*   ok 13: moving whole subdirectory
*   ok 14: commiting the change
*   ok 15: checking the commit
*   ok 16: succeed when source is a prefix of destination
*   ok 17: moving whole subdirectory into subdirectory
*   ok 18: commiting the change
*   ok 19: checking the commit
*   ok 20: do not move directory over existing directory
*   ok 21: move into "."
*   ok 22: Michael Cassar's test case
*   ok 23: Sergey Vlasov's test case
*   ok 24: absolute pathname
*   ok 25: absolute pathname outside should fail
*   ok 26: git mv should not change sha1 of moved cache entry
* skip 27: git mv should overwrite symlink to a file
* skip 28: git mv should overwrite file with a symlink
* passed all 28 test(s)
*** t7002-grep.sh ***
*   ok 1: setup
*   ok 2: grep should not segfault with a bad input
*   ok 3: grep -w HEAD
*   ok 4: grep -w HEAD (w)
*   ok 5: grep -w HEAD (x)
*   ok 6: grep -w HEAD (y-1)
*   ok 7: grep -w HEAD (y-2)
*   ok 8: grep -w HEAD (z)
*   ok 9: grep HEAD (t-1)
*   ok 10: grep HEAD (t-2)
*   ok 11: grep HEAD (t-3)
*   ok 12: grep -c HEAD (no /dev/null)
*   ok 13: grep --max-depth -1 HEAD
*   ok 14: grep --max-depth 0 HEAD
* FAIL 15: grep --max-depth 0 -- '*' HEAD
	
			{
				echo ${HC}t/a/v:1:vvv
				echo ${HC}t/v:1:vvv
				echo ${HC}v:1:vvv
			} >expected &&
			git grep --max-depth 0 -n -e vvv $H -- "*" >actual &&
			test_cmp expected actual
		
*   ok 16: grep --max-depth 1 HEAD
*   ok 17: grep --max-depth 0 -- t HEAD
*   ok 18: grep -w in working tree
*   ok 19: grep -w in working tree (w)
*   ok 20: grep -w in working tree (x)
*   ok 21: grep -w in working tree (y-1)
*   ok 22: grep -w in working tree (y-2)
*   ok 23: grep -w in working tree (z)
*   ok 24: grep in working tree (t-1)
*   ok 25: grep in working tree (t-2)
*   ok 26: grep in working tree (t-3)
*   ok 27: grep -c in working tree (no /dev/null)
*   ok 28: grep --max-depth -1 in working tree
*   ok 29: grep --max-depth 0 in working tree
* FAIL 30: grep --max-depth 0 -- '*' in working tree
	
			{
				echo ${HC}t/a/v:1:vvv
				echo ${HC}t/v:1:vvv
				echo ${HC}v:1:vvv
			} >expected &&
			git grep --max-depth 0 -n -e vvv $H -- "*" >actual &&
			test_cmp expected actual
		
*   ok 31: grep --max-depth 1 in working tree
*   ok 32: grep --max-depth 0 -- t in working tree
*   ok 33: grep -e A --and -e B
*   ok 34: grep ( -e A --or -e B ) --and -e B
*   ok 35: grep -e A --and --not -e B
*   ok 36: grep -C1, hunk mark between files
*   ok 37: grep -C1 --no-ext-grep, hunk mark between files
*   ok 38: log grep setup
*   ok 39: log grep (1)
*   ok 40: log grep (2)
*   ok 41: log grep (3)
*   ok 42: log grep (4)
*   ok 43: log grep (5)
*   ok 44: log grep (6)
*   ok 45: grep with CE_VALID file
*   ok 46: grep -p with userdiff
*   ok 47: grep -p
*   ok 48: grep -p -B5
*   ok 49: grep from a subdirectory to search wider area (1)
*   ok 50: grep from a subdirectory to search wider area (2)
* failed 2 among 50 test(s)
make[2]: *** [t7002-grep.sh] Error 1
*** t7003-filter-branch.sh ***
*   ok 1: setup
*   ok 2: rewrite identically
*   ok 3: result is really identical
*   ok 4: rewrite bare repository identically
*   ok 5: result is really identical
*   ok 6: correct GIT_DIR while using -d
*   ok 7: Fail if commit filter fails
*   ok 8: rewrite, renaming a specific file
*   ok 9: test that the file was renamed
*   ok 10: rewrite, renaming a specific directory
*   ok 11: test that the directory was renamed
*   ok 12: rewrite one branch, keeping a side branch
*   ok 13: common ancestor is still common (unchanged)
*   ok 14: filter subdirectory only
*   ok 15: subdirectory filter result looks okay
*   ok 16: more setup
*   ok 17: use index-filter to move into a subdirectory
*   ok 18: stops when msg filter fails
*   ok 19: author information is preserved
*   ok 20: remove a certain author's commits
*   ok 21: barf on invalid name
*   ok 22: "map" works in commit filter
*   ok 23: Name needing quotes
*   ok 24: Subdirectory filter with disappearing trees
*   ok 25: Tag name filtering retains tag message
*   ok 26: Tag name filtering strips gpg signature
*   ok 27: Tag name filtering allows slashes in tag names
*   ok 28: Prune empty commits
* passed all 28 test(s)
*** t7004-tag.sh ***
*   ok 1: listing all tags in an empty tree should succeed
*   ok 2: listing all tags in an empty tree should output nothing
*   ok 3: looking for a tag in an empty tree should fail
*   ok 4: creating a tag in an empty tree should fail
*   ok 5: creating a tag for HEAD in an empty tree should fail
*   ok 6: creating a tag for an unknown revision should fail
*   ok 7: creating a tag using default HEAD should succeed
*   ok 8: listing all tags if one exists should succeed
*   ok 9: listing all tags if one exists should output that tag
*   ok 10: listing a tag using a matching pattern should succeed
*   ok 11: listing a tag using a matching pattern should output that tag
*   ok 12: listing tags using a non-matching pattern should suceed
*   ok 13: listing tags using a non-matching pattern should output nothing
*   ok 14: trying to create a tag with the name of one existing should fail
*   ok 15: trying to create a tag with a non-valid name should fail
*   ok 16: creating a tag using HEAD directly should succeed
*   ok 17: trying to delete an unknown tag should fail
*   ok 18: trying to delete tags without params should succeed and do nothing
*   ok 19: deleting two existing tags in one command should succeed
*   ok 20: creating a tag with the name of another deleted one should succeed
*   ok 21: trying to delete two tags, existing and not, should fail in the 2nd
*   ok 22: trying to delete an already deleted tag should fail
*   ok 23: listing all tags should print them ordered
*   ok 24: listing tags with substring as pattern must print those matching
*   ok 25: listing tags with a suffix as pattern must print those matching
*   ok 26: listing tags with a prefix as pattern must print those matching
*   ok 27: listing tags using a name as pattern must print that one matching
*   ok 28: listing tags using a name as pattern must print that one matching
*   ok 29: listing tags with ? in the pattern should print those matching
*   ok 30: listing tags using v.* should print nothing because none have v.
*   ok 31: listing tags using v* should print only those having v
*   ok 32: a non-annotated tag created without parameters should point to HEAD
*   ok 33: trying to verify an unknown tag should fail
*   ok 34: trying to verify a non-annotated and non-signed tag should fail
*   ok 35: trying to verify many non-annotated or unknown tags, should fail
*   ok 36: creating an annotated tag with -m message should succeed
*   ok 37: creating an annotated tag with -F messagefile should succeed
*   ok 38: creating an annotated tag with -F - should succeed
*   ok 39: trying to create a tag with a non-existing -F file should fail
*   ok 40: trying to create tags giving both -m or -F options should fail
*   ok 41: creating a tag with an empty -m message should succeed
*   ok 42: creating a tag with an empty -F messagefile should succeed
*   ok 43: extra blanks in the message for an annotated tag should be removed
*   ok 44: creating a tag with blank -m message with spaces should succeed
*   ok 45: creating a tag with blank -F messagefile with spaces should succeed
*   ok 46: creating a tag with -F file of spaces and no newline should succeed
*   ok 47: creating a tag using a -F messagefile with #comments should succeed
*   ok 48: creating a tag with a #comment in the -m message should succeed
*   ok 49: creating a tag with #comments in the -F messagefile should succeed
*   ok 50: creating a tag with a file of #comment and no newline should succeed
*   ok 51: listing the one-line message of a non-signed tag should succeed
*   ok 52: listing the zero-lines message of a non-signed tag should succeed
*   ok 53: listing many message lines of a non-signed tag should succeed
gpg: error loading `iconv.dll': The specified module could not be found.

gpg: please see http://www.gnupg.org/download/iconv.html for more information
*   ok 54: trying to verify an annotated non-signed tag should fail
*   ok 55: trying to verify a file-annotated non-signed tag should fail
*   ok 56: trying to verify two annotated non-signed tags should fail
*   ok 57: creating a signed tag with -m message should succeed
*   ok 58: sign with a given key id
*   ok 59: sign with an unknown id (1)
*   ok 60: sign with an unknown id (2)
*   ok 61: -u implies signed tag
*   ok 62: creating a signed tag with -F messagefile should succeed
*   ok 63: creating a signed tag with -F - should succeed
*   ok 64: -s implies annotated tag
*   ok 65: trying to create a signed tag with non-existing -F file should fail
*   ok 66: verifying a signed tag should succeed
*   ok 67: verifying two signed tags in one command should succeed
*   ok 68: verifying many signed and non-signed tags should fail
*   ok 69: verifying a forged tag should fail
*   ok 70: creating a signed tag with an empty -m message should succeed
*   ok 71: creating a signed tag with an empty -F messagefile should succeed
*   ok 72: extra blanks in the message for a signed tag should be removed
*   ok 73: creating a signed tag with a blank -m message should succeed
*   ok 74: creating a signed tag with blank -F file with spaces should succeed
*   ok 75: creating a signed tag with spaces and no newline should succeed
*   ok 76: creating a signed tag with a -F file with #comments should succeed
*   ok 77: creating a signed tag with #commented -m message should succeed
*   ok 78: creating a signed tag with #commented -F messagefile should succeed
*   ok 79: creating a signed tag with a #comment and no newline should succeed
*   ok 80: listing the one-line message of a signed tag should succeed
*   ok 81: listing the zero-lines message of a signed tag should succeed
*   ok 82: listing many message lines of a signed tag should succeed
*   ok 83: creating a signed tag pointing to a tree should succeed
*   ok 84: creating a signed tag pointing to a blob should succeed
*   ok 85: creating a signed tag pointing to another tag should succeed
*   ok 86: git tag -s fails if gpg is misconfigured
*   ok 87: verify signed tag fails when public key is not present
*   ok 88: git tag -a fails if tag annotation is empty
*   ok 89: message in editor has initial comment
*   ok 90: overwriting an annoted tag should use its previous body
*   ok 91: filename for the message is relative to cwd
*   ok 92: filename for the message is relative to cwd
*   ok 93: creating second commit and tag
*   ok 94: creating third commit without tag
*   ok 95: checking that first commit is in all tags (hash)
*   ok 96: checking that first commit is in all tags (tag)
*   ok 97: checking that first commit is in all tags (relative)
*   ok 98: checking that second commit only has one tag
*   ok 99: checking that third commit has no tags
*   ok 100: creating simple branch
*   ok 101: checking that branch head only has one tag
*   ok 102: merging original branch into this branch
*   ok 103: checking that original branch head has one tag now
*   ok 104: checking that initial commit is in all tags
*   ok 105: mixing incompatibles modes and options is forbidden
* passed all 105 test(s)
*** t7005-editor.sh ***
*   ok 1: setup
*   ok 2: dumb should error out when falling back on vi
*   ok 3: Using vi
*   ok 4: Using EDITOR
*   ok 5: Using VISUAL
*   ok 6: Using core_editor
*   ok 7: Using GIT_EDITOR
*   ok 8: Using vi (override)
*   ok 9: Using EDITOR (override)
*   ok 10: Using VISUAL (override)
*   ok 11: Using core_editor (override)
*   ok 12: Using GIT_EDITOR (override)
*   ok 13: editor with a space
*   ok 14: core.editor with a space
* passed all 14 test(s)
*** t7007-show.sh ***
*   ok 1: setup
*   ok 2: showing a tag that point at a missing object
* passed all 2 test(s)
*** t7010-setup.sh ***
*   ok 1: setup
*   ok 2: git add (absolute)
*   ok 3: git add (funny relative)
*   ok 4: git rm (absolute)
*   ok 5: git rm (funny relative)
*   ok 6: git ls-files (absolute)
*   ok 7: git ls-files (relative #1)
*   ok 8: git ls-files (relative #2)
*   ok 9: git ls-files (relative #3)
*   ok 10: commit using absolute path names
*   ok 11: log using absolute path names
*   ok 12: blame using absolute path names
*   ok 13: setup deeper work tree
*   ok 14: add a directory outside the work tree
*   ok 15: add a file outside the work tree, nasty case 1
*   ok 16: add a file outside the work tree, nasty case 2
* passed all 16 test(s)
*** t7060-wtstatus.sh ***
*   ok 1: setup
*   ok 2: A/A conflict
*   ok 3: Report path with conflict
*   ok 4: Report new path with conflict
*   ok 5: M/D conflict does not segfault
* passed all 5 test(s)
*** t7101-reset.sh ***
*   ok 1: creating initial files
*   ok 2: creating second files
*   ok 3: resetting tree HEAD^
*   ok 4: checking initial files exist after rewind
*   ok 5: checking lack of path1/path2/COPYING
*   ok 6: checking lack of path1/COPYING
*   ok 7: checking lack of COPYING
*   ok 8: checking checking lack of path1/COPYING-TOO
*   ok 9: checking lack of path1/path2
*   ok 10: checking lack of path1
* passed all 10 test(s)
*** t7102-reset.sh ***
*   ok 1: creating initial files and commits
*   ok 2: giving a non existing revision should fail
*   ok 3: reset --soft with unmerged index should fail
*   ok 4: giving paths with options different than --mixed should fail
*   ok 5: giving unrecognized options should fail
*   ok 6: trying to do reset --soft with pending merge should fail
*   ok 7: trying to do reset --soft with pending checkout merge should fail
*   ok 8: resetting to HEAD with no changes should succeed and do nothing
*   ok 9: --soft reset only should show changes in diff --cached
*   ok 10: changing files and redo the last commit should succeed
*   ok 11: --hard reset should change the files and undo commits permanently
*   ok 12: redoing changes adding them without commit them should succeed
*   ok 13: --mixed reset to HEAD should unadd the files
*   ok 14: redoing the last two commits should succeed
*   ok 15: --hard reset to HEAD should clear a failed merge
*   ok 16: --hard reset to ORIG_HEAD should clear a fast-forward merge
*   ok 17: test --mixed <paths>
*   ok 18: test resetting the index at give paths
*   ok 19: resetting an unmodified path is a no-op
*   ok 20: --mixed refreshes the index
*   ok 21: disambiguation (1)
*   ok 22: disambiguation (2)
*   ok 23: disambiguation (3)
*   ok 24: disambiguation (4)
* passed all 24 test(s)
*** t7103-reset-bare.sh ***
*   ok 1: setup non-bare
*   ok 2: setup bare
*   ok 3: hard reset is not allowed
*   ok 4: soft reset is allowed
* passed all 4 test(s)
*** t7104-reset.sh ***
*   ok 1: setup
*   ok 2: reset --hard should restore unmerged ones
*   ok 3: reset --hard did not corrupt index nor cached-tree
* passed all 3 test(s)
*** t7105-reset-patch.sh ***
*   ok 1: setup
*   ok 2: saying "n" does nothing
*   ok 3: git reset -p
*   ok 4: git reset -p HEAD^
*   ok 5: git reset -p dir
*   ok 6: git reset -p -- foo (inside dir)
*   ok 7: git reset -p HEAD^ -- dir
*   ok 8: none of this moved HEAD
* passed all 8 test(s)
*** t7201-co.sh ***
*   ok 1: setup
*   ok 2: checkout from non-existing branch
*   ok 3: checkout with dirty tree without -m
*   ok 4: checkout with unrelated dirty tree without -m
*   ok 5: checkout -m with dirty tree
*   ok 6: checkout -m with dirty tree, renamed
*   ok 7: checkout -m with merge conflict
*   ok 8: checkout to detach HEAD
*   ok 9: checkout to detach HEAD with branchname^
*   ok 10: checkout to detach HEAD with :/message
*   ok 11: checkout to detach HEAD with HEAD^0
*   ok 12: checkout with ambiguous tag/branch names
*   ok 13: checkout with ambiguous tag/branch names
*   ok 14: switch branches while in subdirectory
*   ok 15: checkout specific path while in subdirectory
*   ok 16: checkout w/--track sets up tracking
*   ok 17: checkout w/autosetupmerge=always sets up tracking
*   ok 18: checkout w/--track from non-branch HEAD fails
*   ok 19: detach a symbolic link HEAD
*   ok 20: checkout with --track fakes a sensible -b <name>
*   ok 21: checkout with --track, but without -b, fails with too short tracked name
*   ok 22: checkout an unmerged path should fail
*   ok 23: checkout with an unmerged path can be ignored
*   ok 24: checkout unmerged stage
*   ok 25: checkout with --merge
*   ok 26: checkout with --merge, in diff3 -m style
*   ok 27: checkout --conflict=merge, overriding config
*   ok 28: checkout --conflict=diff3
*   ok 29: failing checkout -b should not break working tree
*   ok 30: switch out of non-branch
* passed all 30 test(s)
*** t7300-clean.sh ***
*   ok 1: setup
*   ok 2: git clean
*   ok 3: git clean src/
*   ok 4: git clean src/ src/
*   ok 5: git clean with prefix
*   ok 6: git clean with relative prefix
*   ok 7: git clean with absolute path
*   ok 8: git clean with out of work tree relative path
*   ok 9: git clean with out of work tree absolute path
*   ok 10: git clean -d with prefix and path
*   ok 11: git clean symbolic link
*   ok 12: git clean with wildcard
*   ok 13: git clean -n
*   ok 14: git clean -d
*   ok 15: git clean -d src/ examples/
*   ok 16: git clean -x
*   ok 17: git clean -d -x
*   ok 18: git clean -X
*   ok 19: git clean -d -X
*   ok 20: clean.requireForce defaults to true
*   ok 21: clean.requireForce
*   ok 22: clean.requireForce and -n
*   ok 23: clean.requireForce and -f
*   ok 24: core.excludesfile
*   ok 25: removal failure
*   ok 26: nested git work tree
*   ok 27: force removal of nested git work tree
* passed all 27 test(s)
*** t7400-submodule-basic.sh ***
*   ok 1: Prepare submodule testing
*   ok 2: Prepare submodule add testing
*   ok 3: submodule add
*   ok 4: submodule add --branch
*   ok 5: submodule add with ./ in path
*   ok 6: submodule add with // in path
*   ok 7: submodule add with /.. in path
*   ok 8: submodule add with ./, /.. and // in path
*   ok 9: status should fail for unmapped paths
*   ok 10: status should only print one line
*   ok 11: status should initially be "missing"
*   ok 12: init should register submodule url in .git/config
*   ok 13: update should fail when path is used by a file
*   ok 14: update should fail when path is used by a nonempty directory
*   ok 15: update should work when path is an empty dir
*   ok 16: status should be "up-to-date" after update
*   ok 17: status should be "modified" after submodule commit
*   ok 18: the --cached sha1 should be rev1
*   ok 19: git diff should report the SHA1 of the new submodule commit
*   ok 20: update should checkout rev1
*   ok 21: status should be "up-to-date" after update
*   ok 22: checkout superproject with subproject already present
*   ok 23: apply submodule diff
*   ok 24: update --init
*   ok 25: do not add files from a submodule
*   ok 26: gracefully add submodule with a trailing slash
*   ok 27: ls-files gracefully handles trailing slash
*   ok 28: submodule <invalid-path> warns
* passed all 28 test(s)
*** t7401-submodule-summary.sh ***
*   ok 1: added submodule
*   ok 2: modified submodule(forward)
*   ok 3: modified submodule(forward), --files
*   ok 4: modified submodule(backward)
*   ok 5: modified submodule(backward and forward)
*   ok 6: --summary-limit
*   ok 7: typechanged submodule(submodule->blob), --cached
*   ok 8: typechanged submodule(submodule->blob), --files
*   ok 9: typechanged submodule(submodule->blob)
*   ok 10: nonexistent commit
*   ok 11: typechanged submodule(blob->submodule)
*   ok 12: deleted submodule
*   ok 13: multiple submodules
*   ok 14: path filter
*   ok 15: given commit
* FAIL 16: --for-status
	
	    git submodule summary --for-status HEAD^ >actual &&
	    test_cmp actual - <<EOF
	# Modified submodules:
	#
	# * sm1 6858906...0000000:
	#
	# * sm2 0000000...fa9eeaf (2):
	#   > Add foo9
	#
	EOF
	
*   ok 17: fail when using --files together with --cached
* failed 1 among 17 test(s)
make[2]: *** [t7401-submodule-summary.sh] Error 1
*** t7402-submodule-rebase.sh ***
*   ok 1: setup
*   ok 2: rebase with a dirty submodule
*   ok 3: interactive rebase with a dirty submodule
*   ok 4: rebase with dirty file and submodule fails
*   ok 5: stash with a dirty submodule
* passed all 5 test(s)
*** t7403-submodule-sync.sh ***
*   ok 1: setup
*   ok 2: change submodule
*   ok 3: change submodule url
*   ok 4: "git submodule sync" should update submodule URLs
* passed all 4 test(s)
*** t7405-submodule-merge.sh ***
*   ok 1: setup
*   ok 2: merging with modify/modify conflict
*   ok 3: merging with a modify/modify conflict between merge bases
* passed all 3 test(s)
*** t7406-submodule-update.sh ***
*   ok 1: setup a submodule tree
*   ok 2: submodule update detaching the HEAD 
*   ok 3: submodule update --rebase staying on master
*   ok 4: submodule update --merge staying on master
*   ok 5: submodule update - rebase in .git/config
*   ok 6: submodule update - checkout in .git/config but --rebase given
*   ok 7: submodule update - merge in .git/config
*   ok 8: submodule update - checkout in .git/config but --merge given
*   ok 9: submodule update - checkout in .git/config
*   ok 10: submodule init picks up rebase
*   ok 11: submodule init picks up merge
* passed all 11 test(s)
*** t7407-submodule-foreach.sh ***
*   ok 1: setup a submodule tree
* FAIL 2: test basic "submodule foreach" usage
	
		git clone super clone &&
		(
			cd clone &&
			git submodule update --init -- sub1 sub3 &&
			git submodule foreach "echo \$name-\$path-\$sha1" > ../actual
		) &&
		test_cmp expect actual
	
*   ok 3: setup nested submodules
*   ok 4: use "submodule foreach" to checkout 2nd level submodule
*   ok 5: use "foreach --recursive" to checkout all submodules
* FAIL 6: test messages from "foreach --recursive"
	
		(
			cd clone2 &&
			git submodule foreach --recursive "true" > ../actual
		) &&
		test_cmp expect actual
	
* FAIL 7: test "foreach --quiet --recursive"
	
		(
			cd clone2 &&
			git submodule foreach -q --recursive "echo \$name-\$path" > ../actual
		) &&
		test_cmp expect actual
	
*   ok 8: use "update --recursive" to checkout all submodules
* FAIL 9: test "status --recursive"
	
		(
			cd clone3 &&
			git submodule status --recursive > ../actual
		) &&
		test_cmp expect actual
	
*   ok 10: use "git clone --recursive" to checkout all submodules
* failed 4 among 10 test(s)
make[2]: *** [t7407-submodule-foreach.sh] Error 1
*** t7408-submodule-reference.sh ***
*   ok 1: preparing first repository
*   ok 2: preparing second repository
*   ok 3: preparing supermodule
*   ok 4: submodule add --reference
*   ok 5: after add: existence of info/alternates
*   ok 6: that reference gets used with add
*   ok 7: cloning supermodule
*   ok 8: update with reference
*   ok 9: after update: existence of info/alternates
*   ok 10: that reference gets used with update
* passed all 10 test(s)
*** t7500-commit.sh ***
*   ok 1: a basic commit in an empty tree should succeed
*   ok 2: nonexistent template file should return error
*   ok 3: nonexistent template file in config should return error
*   ok 4: unedited template should not commit
*   ok 5: unedited template with comments should not commit
*   ok 6: a Signed-off-by line by itself should not commit
*   ok 7: adding comments to a template should not commit
*   ok 8: adding real content to a template should commit
*   ok 9: -t option should be short for --template
*   ok 10: config-specified template should commit
*   ok 11: explicit commit message should override template
*   ok 12: commit message from file should override template
*   ok 13: using alternate GIT_INDEX_FILE (1)
*   ok 14: using alternate GIT_INDEX_FILE (2)
*   ok 15: --signoff
*   ok 16: commit message from file (1)
*   ok 17: commit message from file (2)
*   ok 18: commit message from stdin
*   ok 19: commit -F overrides -t
* passed all 19 test(s)
*** t7501-commit.sh ***
*   ok 1: initial status
*   ok 2: fail initial amend
*   ok 3: initial commit
*   ok 4: invalid options 1
*   ok 5: invalid options 2
*   ok 6: using paths with -a
*   ok 7: using paths with --interactive
*   ok 8: using invalid commit with -C
*   ok 9: testing nothing to commit
*   ok 10: next commit
*   ok 11: commit message from non-existing file
*   ok 12: empty commit message
*   ok 13: commit message from file
*   ok 14: amend commit
*   ok 15: passing -m and -F
*   ok 16: using message from other commit
*   ok 17: editing message from other commit
*   ok 18: message from stdin
*   ok 19: overriding author from command line
*   ok 20: interactive add
*   ok 21: showing committed revisions
*   ok 22: editor not invoked if -F is given
*   ok 23: validate git rev-list output.
*   ok 24: partial commit that involves removal (1)
*   ok 25: partial commit that involves removal (2)
*   ok 26: partial commit that involves removal (3)
*   ok 27: amend commit to fix author
*   ok 28: sign off (1)
*   ok 29: sign off (2)
*   ok 30: multiple -m
*   ok 31: amend commit to fix author
*   ok 32: git commit <file> with dirty index
*   ok 33: same tree (single parent)
*   ok 34: same tree (single parent) --allow-empty
*   ok 35: same tree (merge and amend merge)
*   ok 36: amend using the message from another commit
*   ok 37: amend using the message from a commit named with tag
* passed all 37 test(s)
*** t7502-commit.sh ***
*   ok 1: the basics
*   ok 2: partial
*   ok 3: partial modification in a subdirecotry
*   ok 4: partial removal
*   ok 5: sign off
*   ok 6: multiple -m
*   ok 7: verbose
*   ok 8: verbose respects diff config
*   ok 9: cleanup commit messages (verbatim,-t)
*   ok 10: cleanup commit messages (verbatim,-F)
*   ok 11: cleanup commit messages (verbatim,-m)
*   ok 12: cleanup commit messages (whitespace,-F)
*   ok 13: cleanup commit messages (strip,-F)
*   ok 14: cleanup commit messages (strip,-F,-e)
*   ok 15: author different from committer
*   ok 16: committer is automatic
*   ok 17: do not fire editor in the presence of conflicts
* skip 18: a SIGTERM should break locks
*   ok 19: Hand committing of a redundant merge removes dups
* passed all 19 test(s)
*** t7503-pre-commit-hook.sh ***
*   ok 1: with no hook
*   ok 2: --no-verify with no hook
*   ok 3: with succeeding hook
*   ok 4: --no-verify with succeeding hook
*   ok 5: with failing hook
*   ok 6: --no-verify with failing hook
* skip 7: with non-executable hook
* skip 8: --no-verify with non-executable hook
* passed all 8 test(s)
*** t7504-commit-msg-hook.sh ***
*   ok 1: with no hook
*   ok 2: with no hook (editor)
*   ok 3: --no-verify with no hook
*   ok 4: --no-verify with no hook (editor)
*   ok 5: with succeeding hook
*   ok 6: with succeeding hook (editor)
*   ok 7: --no-verify with succeeding hook
*   ok 8: --no-verify with succeeding hook (editor)
*   ok 9: with failing hook
*   ok 10: with failing hook (editor)
*   ok 11: --no-verify with failing hook
*   ok 12: --no-verify with failing hook (editor)
* skip 13: with non-executable hook
* skip 14: with non-executable hook (editor)
* skip 15: --no-verify with non-executable hook
* skip 16: --no-verify with non-executable hook (editor)
*   ok 17: hook edits commit message
*   ok 18: hook edits commit message (editor)
*   ok 19: hook doesn't edit commit message
*   ok 20: hook doesn't edit commit message (editor)
* passed all 20 test(s)
*** t7505-prepare-commit-msg-hook.sh ***
*   ok 1: with no hook
*   ok 2: with hook (-m)
*   ok 3: with hook (-m editor)
*   ok 4: with hook (-t)
*   ok 5: with hook (-F)
*   ok 6: with hook (-F editor)
*   ok 7: with hook (-C)
*   ok 8: with hook (editor)
*   ok 9: with hook (--amend)
*   ok 10: with hook (-c)
*   ok 11: with failing hook
*   ok 12: with failing hook (--no-verify)
* passed all 12 test(s)
*** t7506-status-submodule.sh ***
*   ok 1: setup
*   ok 2: status clean
*   ok 3: commit --dry-run -a clean
*   ok 4: rm submodule contents
*   ok 5: status clean (empty submodule dir)
*   ok 6: status -a clean (empty submodule dir)
* passed all 6 test(s)
*** t7507-commit-verbose.sh ***
*   ok 1: setup
*   ok 2: initial commit shows verbose diff
*   ok 3: second commit
*   ok 4: verbose diff is stripped out
*   ok 5: verbose diff is stripped out (mnemonicprefix)
*   ok 6: diff in message is retained without -v
*   still broken 7: diff in message is retained with -v
* still have 1 known breakage(s)
* passed all remaining 6 test(s)
*** t7508-status.sh ***
*   ok 1: setup
*   ok 2: status (1)
*   ok 3: status (2)
*   ok 4: status -uno
*   ok 5: status (status.showUntrackedFiles no)
*   ok 6: status -unormal
*   ok 7: status (status.showUntrackedFiles normal)
*   ok 8: status -uall
*   ok 9: status (status.showUntrackedFiles all)
*   ok 10: status with relative paths
*   ok 11: status without relative paths
*   ok 12: dry-run of partial commit excluding new file in index
*   ok 13: setup status submodule summary
*   ok 14: status submodule summary is disabled by default
*   ok 15: status --untracked-files=all does not show submodule
* FAIL 16: status submodule summary
	
		git config status.submodulesummary 10 &&
		git status >output &&
		test_cmp expect output
	
*   ok 17: status submodule summary (clean submodule)
* FAIL 18: commit --dry-run submodule summary (--amend)
	
		git config status.submodulesummary 10 &&
		git commit --dry-run --amend >output &&
		test_cmp expect output
	
* failed 2 among 18 test(s)
make[2]: *** [t7508-status.sh] Error 1
*** t7600-merge.sh ***
*   ok 1: setup
*   ok 2: test option parsing
*   ok 3: reject non-strategy with a git-merge-foo name
*   ok 4: merge c0 with c1
*   ok 5: merge c1 with c2
*   ok 6: merge c1 with c2 and c3
*   ok 7: merge c0 with c1 (no-commit)
*   ok 8: merge c1 with c2 (no-commit)
*   ok 9: merge c1 with c2 and c3 (no-commit)
*   ok 10: merge c0 with c1 (squash)
*   ok 11: merge c1 with c2 (squash)
*   ok 12: merge c1 with c2 and c3 (squash)
*   ok 13: merge c1 with c2 (no-commit in config)
*   ok 14: merge c1 with c2 (squash in config)
*   ok 15: override config option -n with --summary
*   ok 16: override config option -n with --stat
*   ok 17: override config option --stat
*   ok 18: merge c1 with c2 (override --no-commit)
*   ok 19: merge c1 with c2 (override --squash)
*   ok 20: merge c0 with c1 (no-ff)
*   ok 21: combining --squash and --no-ff is refused
*   ok 22: merge c0 with c1 (ff overrides no-ff)
*   ok 23: merge log message
*   ok 24: merge c1 with c0, c2, c0, and c1
*   ok 25: merge c1 with c0, c2, c0, and c1
*   ok 26: merge c1 with c1 and c2
*   ok 27: merge fast-forward in a dirty tree
*   ok 28: in-index merge
*   ok 29: refresh the index before merging
*   ok 30: merge early part of c2
*   ok 31: merge --no-ff --no-commit && commit
*   ok 32: amending no-ff merge commit
* passed all 32 test(s)
*** t7601-merge-pull-config.sh ***
*   ok 1: setup
*   ok 2: merge c1 with c2
*   ok 3: merge c1 with c2 (ours in pull.twohead)
*   ok 4: merge c1 with c2 and c3 (recursive in pull.octopus)
*   ok 5: merge c1 with c2 and c3 (recursive and octopus in pull.octopus)
*   ok 6: setup conflicted merge
*   ok 7: merge picks up the best result
*   ok 8: merge picks up the best result (from config)
*   ok 9: merge errors out on invalid strategy
*   ok 10: merge errors out on invalid strategy
* passed all 10 test(s)
*** t7602-merge-octopus-many.sh ***
*   ok 1: setup
*   ok 2: merge c1 with c2, c3, c4, ... c29
* passed all 2 test(s)
*** t7603-merge-reduce-heads.sh ***
*   ok 1: setup
*   ok 2: merge c1 with c2, c3, c4, c5
*   ok 3: setup
*   ok 4: merge E and I
*   ok 5: verify merge result
*   ok 6: add conflicts
*   ok 7: merge E2 and I2, causing a conflict and resolve it
*   ok 8: verify merge result
* passed all 8 test(s)
*** t7604-merge-custom-message.sh ***
*   ok 1: setup
*   ok 2: merge c2 with a custom message
* passed all 2 test(s)
*** t7605-merge-resolve.sh ***
*   ok 1: setup
*   ok 2: merge c1 to c2
*   ok 3: merge c2 to c3 (fails)
* passed all 3 test(s)
*** t7606-merge-custom.sh ***
*   ok 1: setup
*   ok 2: merge c2 with a custom strategy
* passed all 2 test(s)
*** t7607-merge-overwrite.sh ***
*   ok 1: setup
*   ok 2: will not overwrite untracked file
*   ok 3: will not overwrite new file
*   ok 4: will not overwrite staged changes
*   ok 5: will not overwrite removed file
*   ok 6: will not overwrite re-added file
*   ok 7: will not overwrite removed file with staged changes
* passed all 7 test(s)
*** t7608-merge-messages.sh ***
*   ok 1: merge local branch
*   ok 2: merge octopus branches
*   ok 3: merge tag
*   ok 4: ambiguous tag
*   ok 5: remote branch
* passed all 5 test(s)
*** t7610-mergetool.sh ***
*   ok 1: setup
*   ok 2: custom mergetool
*   ok 3: mergetool crlf
*   ok 4: mergetool in subdir
* passed all 4 test(s)
*** t7700-repack.sh ***
*   ok 1: objects in packs marked .keep are not repacked
*   ok 2: loose objects in alternate ODB are not repacked
*   ok 3: packed obs in alt ODB are repacked even when local repo is packless
*   ok 4: packed obs in alt ODB are repacked when local repo has packs
*   ok 5: packed obs in alternate ODB kept pack are repacked
*   ok 6: packed unreachable obs in alternate ODB are not loosened
*   ok 7: local packed unreachable obs that exist in alternate ODB are not loosened
*   ok 8: objects made unreachable by grafts only are kept
* passed all 8 test(s)
*** t7701-repack-unpack-unreachable.sh ***
*   ok 1: -A with -d option leaves unreachable objects unpacked
*   ok 2: -A without -d option leaves unreachable objects packed
*   ok 3: unpacked objects receive timestamp of pack file
* passed all 3 test(s)
*** t7800-difftool.sh ***
*   ok 1: setup
*   ok 2: custom commands
*   ok 3: difftool ignores bad --tool values
*   ok 4: GIT_DIFF_TOOL variable
*   ok 5: GIT_DIFF_TOOL overrides
*   ok 6: GIT_DIFFTOOL_NO_PROMPT variable
*   ok 7: GIT_DIFFTOOL_PROMPT variable
*   ok 8: difftool.prompt config variable is false
*   ok 9: difftool.prompt can overridden with -y
*   ok 10: difftool.prompt can overridden with --prompt
*   ok 11: difftool last flag wins
*   ok 12: difftool + mergetool config variables
*   ok 13: difftool.<tool>.path
* passed all 13 test(s)
*** t8001-annotate.sh ***
*   ok 1: prepare reference tree
*   ok 2: check all lines blamed on A
*   ok 3: Setup new lines blamed on B
*   ok 4: Two lines blamed on A, two on B
*   ok 5: merge-setup part 1
*   ok 6: Two lines blamed on A, two on B, two on B1
*   ok 7: merge-setup part 2
*   ok 8: Two lines blamed on A, one on B, one on B2
*   ok 9: merge-setup part 3
*   ok 10: Two lines blamed on A, one on B, two on B1, one on B2
*   ok 11: Annotating an old revision works
*   ok 12: Annotating an old revision works
*   ok 13: merge-setup part 4
*   ok 14: Two lines blamed on A, one on B, two on B1, one on B2, one on A U Thor
*   ok 15: an incomplete line added
*   ok 16: With incomplete lines.
*   ok 17: some edit
*   ok 18: some edit
*   ok 19: Annotating an old revision works
* passed all 19 test(s)
*** t8002-blame.sh ***
*   ok 1: prepare reference tree
*   ok 2: check all lines blamed on A
*   ok 3: Setup new lines blamed on B
*   ok 4: Two lines blamed on A, two on B
*   ok 5: merge-setup part 1
*   ok 6: Two lines blamed on A, two on B, two on B1
*   ok 7: merge-setup part 2
*   ok 8: Two lines blamed on A, one on B, one on B2
*   ok 9: merge-setup part 3
*   ok 10: Two lines blamed on A, one on B, two on B1, one on B2
*   ok 11: Annotating an old revision works
*   ok 12: Annotating an old revision works
*   ok 13: merge-setup part 4
*   ok 14: Two lines blamed on A, one on B, two on B1, one on B2, one on A U Thor
*   ok 15: an incomplete line added
*   ok 16: With incomplete lines.
*   ok 17: some edit
*   ok 18: some edit
* passed all 18 test(s)
*** t8003-blame.sh ***
*   ok 1: setup
*   ok 2: straight copy without -C
*   ok 3: straight move without -C
*   ok 4: straight copy with -C
*   ok 5: straight move with -C
*   ok 6: straight copy with -C -C
*   ok 7: straight move with -C -C
*   ok 8: append without -C
*   ok 9: append with -C
*   ok 10: append with -C -C
*   ok 11: append with -C -C -C
*   ok 12: blame wholesale copy
*   ok 13: blame wholesale copy and more
*   ok 14: blame path that used to be a directory
* passed all 14 test(s)
*** t8004-blame.sh ***
*   ok 1: setup first case
*   ok 2: blame runs on unconflicted file while other file has conflicts
*   ok 3: blame runs on conflicted file in stages 1,3
* passed all 3 test(s)
*** t8005-blame-i18n.sh ***
*   ok 1: setup the repository
*   ok 2: blame respects i18n.commitencoding
*   ok 3: blame respects i18n.logoutputencoding
*   ok 4: blame respects --encoding=UTF-8
*   ok 5: blame respects --encoding=none
* passed all 5 test(s)
*** t9001-send-email.sh ***
*   ok 1: prepare reference tree
*   ok 2: Setup helper tool
*   ok 3: Extract patches
* FAIL 4: No confirm with --suppress-cc
	
		test_no_confirm --suppress-cc=sob
	
* No confirm test failed; skipping remaining tests to prevent hanging
* failed 1 among 4 test(s)
make[2]: *** [t9001-send-email.sh] Error 1
*** t9100-git-svn-basic.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9101-git-svn-props.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9102-git-svn-deep-rmdir.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9103-git-svn-tracked-directory-removed.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9104-git-svn-follow-parent.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9105-git-svn-commit-diff.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9106-git-svn-commit-diff-clobber.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9107-git-svn-migrate.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9108-git-svn-glob.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9109-git-svn-multi-glob.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9110-git-svn-use-svm-props.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9111-git-svn-use-svnsync-props.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9112-git-svn-md5less-file.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9113-git-svn-dcommit-new-file.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9114-git-svn-dcommit-merge.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9115-git-svn-dcommit-funky-renames.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9116-git-svn-log.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9117-git-svn-init-clone.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9118-git-svn-funky-branch-names.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9119-git-svn-info.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9120-git-svn-clone-with-percent-escapes.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9121-git-svn-fetch-renamed-dir.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9122-git-svn-author.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9123-git-svn-rebuild-with-rewriteroot.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9124-git-svn-dcommit-auto-props.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9125-git-svn-multi-glob-branch-names.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9126-git-svn-follow-deleted-readded-directory.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9127-git-svn-partial-rebuild.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9128-git-svn-cmd-branch.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9129-git-svn-i18n-commitencoding.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9130-git-svn-authors-file.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9131-git-svn-empty-symlink.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9132-git-svn-broken-symlink.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9133-git-svn-nested-git-repo.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9134-git-svn-ignore-paths.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9135-git-svn-moved-branch-empty-file.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9136-git-svn-recreated-branch-empty-file.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9137-git-svn-dcommit-clobber-series.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9138-git-svn-authors-prog.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9139-git-svn-non-utf8-commitencoding.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9140-git-svn-reset.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9141-git-svn-multiple-branches.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9142-git-svn-shallow-clone.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9143-git-svn-gc.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9144-git-svn-old-rev_map.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9145-git-svn-master-branch.sh ***
* skipping git svn tests, NO_SVN_TESTS defined
* passed all 0 test(s)
*** t9200-git-cvsexportcommit.sh ***
d: Unknown Host
rsh.exe: can't establish connection
cvs [init aborted]: end of file from server (consult above messages if any)
FATAL: Unexpected exit with code 1
make[2]: *** [t9200-git-cvsexportcommit.sh] Error 1
*** t9300-fast-import.sh ***
*   ok 1: A: create pack from stdin
*   ok 2: A: verify pack
*   ok 3: A: verify commit
*   ok 4: A: verify tree
*   ok 5: A: verify file2
*   ok 6: A: verify file3
*   ok 7: A: verify file4
*   ok 8: A: verify tag/series-A
*   ok 9: A: verify marks output
*   ok 10: A: verify marks import
*   ok 11: A: verify marks import does not crash
*   ok 12: A: verify pack
*   ok 13: A: verify diff
*   ok 14: B: fail on invalid blob sha1
*   ok 15: B: fail on invalid branch name ".badbranchname"
*   ok 16: B: fail on invalid branch name "bad[branch]name"
*   ok 17: B: accept branch name "TEMP_TAG"
*   ok 18: C: incremental import create pack from stdin
*   ok 19: C: verify pack
*   ok 20: C: validate reuse existing blob
*   ok 21: C: verify commit
*   ok 22: C: validate rename result
*   ok 23: D: inline data in commit
*   ok 24: D: verify pack
*   ok 25: D: validate new files added
*   ok 26: D: verify file5
*   ok 27: D: verify file6
*   ok 28: E: rfc2822 date, --date-format=raw
*   ok 29: E: rfc2822 date, --date-format=rfc2822
*   ok 30: E: verify pack
*   ok 31: E: verify commit
*   ok 32: F: non-fast-forward update skips
*   ok 33: F: verify pack
*   ok 34: F: verify other commit
*   ok 35: G: non-fast-forward update forced
*   ok 36: G: verify pack
*   ok 37: G: branch changed, but logged
*   ok 38: H: deletall, add 1
*   ok 39: H: verify pack
*   ok 40: H: validate old files removed, new files added
*   ok 41: H: verify file
*   ok 42: I: export-pack-edges
*   ok 43: I: verify edge list
*   ok 44: J: reset existing branch creates empty commit
*   ok 45: J: branch has 1 commit, empty tree
*   ok 46: K: reinit branch with from
*   ok 47: K: verify K^1 = branch^1
*   ok 48: L: verify internal tree sorting
*   ok 49: M: rename file in same subdirectory
*   ok 50: M: rename file to new subdirectory
*   ok 51: M: rename subdirectory to new subdirectory
*   ok 52: N: copy file in same subdirectory
*   ok 53: N: copy then modify subdirectory
*   ok 54: N: copy dirty subdirectory
*   ok 55: O: comments are all skipped
*   ok 56: O: blank lines not necessary after data commands
*   ok 57: O: repack before next test
*   ok 58: O: blank lines not necessary after other commands
*   ok 59: O: progress outputs as requested by input
*   ok 60: P: supermodule & submodule mix
*   ok 61: P: verbatim SHA gitlinks
*   ok 62: P: fail on inline gitlink
*   ok 63: P: fail on blob mark in gitlink
*   ok 64: R: abort on unsupported feature
*   ok 65: R: supported feature is accepted
*   ok 66: R: quiet option results in no stats being output
*   ok 67: R: export-marks option results in a marks file being created
*   ok 68: R: export-marks options can be overriden by commandline options
*   ok 69: R: import to output marks works without any content
*   ok 70: R: import marks prefers commandline marks file over the stream
*   ok 71: R: feature option is accepted and ignores unknown options
*   ok 72: R: unknown commandline options are rejected
*   ok 73: R: option without preceeding feature command is rejected
*   ok 74: R: ignore non-git options
* passed all 74 test(s)
*** t9301-fast-export.sh ***
*   ok 1: setup
*   ok 2: fast-export | fast-import
*   ok 3: fast-export master~2..master
*   ok 4: iso-8859-1
*   ok 5: import/export-marks
*   ok 6: set up faked signed tag
*   ok 7: signed-tags=abort
*   ok 8: signed-tags=verbatim
*   ok 9: signed-tags=strip
*   ok 10: setup submodule
*   ok 11: submodule fast-export | fast-import
*   ok 12: setup copies
*   ok 13: fast-export -C -C | fast-import
*   ok 14: fast-export | fast-import when master is tagged
*   ok 15: cope with tagger-less tags
*   ok 16: setup for limiting exports by PATH
*   ok 17: dropping tag of filtered out object
*   ok 18: rewriting tag of filtered out object
*   still broken 19: no exact-ref revisions included
*   ok 20: set-up a few more tags for tag export tests
*   ok 21: tree_tag
*   ok 22: tree_tag-obj
*   ok 23: tag-obj_tag
*   ok 24: tag-obj_tag-obj
* still have 1 known breakage(s)
* passed all remaining 23 test(s)
*** t9400-git-cvsserver-server.sh ***
* skipping git-cvsserver tests, Perl SQLite interface unavailable
* passed all 0 test(s)
*** t9401-git-cvsserver-crlf.sh ***
* skipping git-cvsserver tests, Perl SQLite interface unavailable
* passed all 0 test(s)
*** t9500-gitweb-standalone-no-errors.sh ***
* FAIL 1: no commits: projects_list (implicit)
	gitweb_run
* FAIL 2: no commits: projects_index
	gitweb_run "a=project_index"
* FAIL 3: no commits: .git summary (implicit)
	gitweb_run "p=.git"
* FAIL 4: no commits: .git commit (implicit HEAD)
	gitweb_run "p=.git;a=commit"
* FAIL 5: no commits: .git commitdiff (implicit HEAD)
	gitweb_run "p=.git;a=commitdiff"
* FAIL 6: no commits: .git tree (implicit HEAD)
	gitweb_run "p=.git;a=tree"
* FAIL 7: no commits: .git heads
	gitweb_run "p=.git;a=heads"
* FAIL 8: no commits: .git tags
	gitweb_run "p=.git;a=tags"
*   ok 9: Make initial commit
* FAIL 10: projects_list (implicit)
	gitweb_run
* FAIL 11: projects_index
	gitweb_run "a=project_index"
* FAIL 12: .git summary (implicit)
	gitweb_run "p=.git"
* FAIL 13: .git commit (implicit HEAD)
	gitweb_run "p=.git;a=commit"
* FAIL 14: .git commitdiff (implicit HEAD, root commit)
	gitweb_run "p=.git;a=commitdiff"
* FAIL 15: .git commitdiff_plain (implicit HEAD, root commit)
	gitweb_run "p=.git;a=commitdiff_plain"
* FAIL 16: .git commit (HEAD)
	gitweb_run "p=.git;a=commit;h=HEAD"
* FAIL 17: .git tree (implicit HEAD)
	gitweb_run "p=.git;a=tree"
* FAIL 18: .git blob (file)
	gitweb_run "p=.git;a=blob;f=file"
* FAIL 19: .git blob_plain (file)
	gitweb_run "p=.git;a=blob_plain;f=file"
* FAIL 20: .git commit (non-existent)
	gitweb_run "p=.git;a=commit;h=non-existent"
* FAIL 21: .git commitdiff (non-existent)
	gitweb_run "p=.git;a=commitdiff;h=non-existent"
* FAIL 22: .git commitdiff (non-existent vs HEAD)
	gitweb_run "p=.git;a=commitdiff;hp=non-existent;h=HEAD"
* FAIL 23: .git tree (0000000000000000000000000000000000000000)
	gitweb_run "p=.git;a=tree;h=0000000000000000000000000000000000000000"
* FAIL 24: .git tag (0000000000000000000000000000000000000000)
	gitweb_run "p=.git;a=tag;h=0000000000000000000000000000000000000000"
* FAIL 25: .git blob (non-existent)
	gitweb_run "p=.git;a=blob;f=non-existent"
* FAIL 26: .git blob_plain (non-existent)
	gitweb_run "p=.git;a=blob_plain;f=non-existent"
* FAIL 27: commitdiff(0): root
	gitweb_run "p=.git;a=commitdiff"
* FAIL 28: commitdiff(0): file added
	echo "New file" > new_file &&
		 git add new_file &&
		 git commit -a -m "File added." &&
		 gitweb_run "p=.git;a=commitdiff"
* FAIL 29: commitdiff(0): mode change
	test_chmod +x new_file &&
		 git commit -a -m "Mode changed." &&
		 gitweb_run "p=.git;a=commitdiff"
* FAIL 30: commitdiff(0): file renamed
	git mv new_file renamed_file &&
		 git commit -a -m "File renamed." &&
		 gitweb_run "p=.git;a=commitdiff"
* skip 31: commitdiff(0): file to symlink
* FAIL 32: commitdiff(0): file deleted
	git rm renamed_file &&
		 rm -f renamed_file &&
		 git commit -a -m "File removed." &&
		 gitweb_run "p=.git;a=commitdiff"
* FAIL 33: commitdiff(0): file copied / new file
	cp file file2 &&
		 git add file2 &&
		 git commit -a -m "File copied." &&
		 gitweb_run "p=.git;a=commitdiff"
* FAIL 34: commitdiff(0): mode change and modified
	echo "New line" >> file2 &&
		 test_chmod +x file2 &&
		 git commit -a -m "Mode change and modification." &&
		 gitweb_run "p=.git;a=commitdiff"
* FAIL 35: commitdiff(0): renamed and modified
	cat >file2<<EOF &&
	Dominus regit me,
	et nihil mihi deerit.
	In loco pascuae ibi me collocavit,
	super aquam refectionis educavit me;
	animam meam convertit,
	deduxit me super semitas jusitiae,
	propter nomen suum.
	EOF
		 git commit -a -m "File added." &&
		 git mv file2 file3 &&
		 echo "Propter nomen suum." >> file3 &&
		 git commit -a -m "File rename and modification." &&
		 gitweb_run "p=.git;a=commitdiff"
* FAIL 36: commitdiff(0): renamed, mode change and modified
	git mv file3 file2 &&
		 echo "Propter nomen suum." >> file2 &&
		 test_chmod +x file2 &&
		 git commit -a -m "File rename, mode change and modification." &&
		 gitweb_run "p=.git;a=commitdiff"
* skip 37: setup typechange commits
* FAIL 38: commitdiff(2): file renamed from foo to foo/baz
	gitweb_run "p=.git;a=commitdiff;hp=initial;h=foo-baz-renamed-from-foo"
* FAIL 39: commitdiff(2): file renamed from foo/baz to foo
	gitweb_run "p=.git;a=commitdiff;hp=foo-baz-renamed-from-foo;h=initial"
* FAIL 40: commitdiff(2): directory becomes file
	gitweb_run "p=.git;a=commitdiff;hp=foo-becomes-a-directory;h=initial"
* FAIL 41: commitdiff(2): file becomes directory
	gitweb_run "p=.git;a=commitdiff;hp=initial;h=foo-becomes-a-directory"
* FAIL 42: commitdiff(2): file becomes symlink
	gitweb_run "p=.git;a=commitdiff;hp=initial;h=foo-symlinked-to-bar"
* FAIL 43: commitdiff(2): symlink becomes file
	gitweb_run "p=.git;a=commitdiff;hp=foo-symlinked-to-bar;h=foo-back-to-file"
* FAIL 44: commitdiff(2): symlink becomes directory
	gitweb_run "p=.git;a=commitdiff;hp=foo-symlinked-to-bar;h=foo-becomes-a-directory"
* FAIL 45: commitdiff(2): directory becomes symlink
	gitweb_run "p=.git;a=commitdiff;hp=foo-becomes-a-directory;h=foo-symlinked-to-bar"
*   ok 46: Create a merge
* FAIL 47: commit(0): merge commit
	gitweb_run "p=.git;a=commit"
* FAIL 48: commitdiff(0): merge commit
	gitweb_run "p=.git;a=commitdiff"
*   ok 49: Prepare large commit
* FAIL 50: commit(1): large commit
	gitweb_run "p=.git;a=commit;h=b"
* FAIL 51: commitdiff(1): large commit
	gitweb_run "p=.git;a=commitdiff;h=b"
* FAIL 52: tags: list of different types of tags
	git checkout master &&
		 git tag -a -m "Tag commit object" tag-commit HEAD &&
		 git tag -a -m "" tag-commit-nomessage HEAD &&
		 git tag -a -m "Tag tag object" tag-tag tag-commit &&
		 git tag -a -m "Tag tree object" tag-tree HEAD^{tree} &&
		 git tag -a -m "Tag blob object" tag-blob HEAD:file &&
		 git tag lightweight/tag-commit HEAD &&
		 git tag lightweight/tag-tag tag-commit &&
		 git tag lightweight/tag-tree HEAD^{tree} &&
		 git tag lightweight/tag-blob HEAD:file &&
		 gitweb_run "p=.git;a=tags"
* FAIL 53: tag: Tag to commit object
	gitweb_run "p=.git;a=tag;h=tag-commit"
* FAIL 54: tag: on lightweight tag (invalid)
	gitweb_run "p=.git;a=tag;h=lightweight/tag-commit"
* FAIL 55: logs: log (implicit HEAD)
	gitweb_run "p=.git;a=log"
* FAIL 56: logs: shortlog (implicit HEAD)
	gitweb_run "p=.git;a=shortlog"
* FAIL 57: logs: history (implicit HEAD, file)
	gitweb_run "p=.git;a=history;f=file"
* FAIL 58: logs: history (implicit HEAD, non-existent file)
	gitweb_run "p=.git;a=history;f=non-existent"
* FAIL 59: logs: history (implicit HEAD, deleted file)
	git checkout master &&
		 echo "to be deleted" > deleted_file &&
		 git add deleted_file &&
		 git commit -m "Add file to be deleted" &&
		 git rm deleted_file &&
		 git commit -m "Delete file" &&
		 gitweb_run "p=.git;a=history;f=deleted_file"
* FAIL 60: path_info: project
	gitweb_run "" "/.git"
* FAIL 61: path_info: project/branch
	gitweb_run "" "/.git/b"
* FAIL 62: path_info: project/branch:file
	gitweb_run "" "/.git/master:file"
* FAIL 63: path_info: project/branch:dir/
	gitweb_run "" "/.git/master:foo/"
* FAIL 64: path_info: project/branch:file (non-existent)
	gitweb_run "" "/.git/master:non-existent"
* FAIL 65: path_info: project/branch:dir/ (non-existent)
	gitweb_run "" "/.git/master:non-existent/"
* FAIL 66: path_info: project/branch:/file
	gitweb_run "" "/.git/master:/file"
* FAIL 67: path_info: project/:/file (implicit HEAD)
	gitweb_run "" "/.git/:/file"
* FAIL 68: path_info: project/:/ (implicit HEAD, top tree)
	gitweb_run "" "/.git/:/"
* FAIL 69: feeds: OPML
	gitweb_run "a=opml"
* FAIL 70: feed: RSS
	gitweb_run "p=.git;a=rss"
* FAIL 71: feed: Atom
	gitweb_run "p=.git;a=atom"
* FAIL 72: encode(commit): utf8
	. "$TEST_DIRECTORY"/t3901-utf8.txt &&
		 echo "UTF-8" >> file &&
		 git add file &&
		 git commit -F "$TEST_DIRECTORY"/t3900/1-UTF-8.txt &&
		 gitweb_run "p=.git;a=commit"
* FAIL 73: encode(commit): iso-8859-1
	. "$TEST_DIRECTORY"/t3901-8859-1.txt &&
		 echo "ISO-8859-1" >> file &&
		 git add file &&
		 git config i18n.commitencoding ISO-8859-1 &&
		 git commit -F "$TEST_DIRECTORY"/t3900/ISO8859-1.txt &&
		 git config --unset i18n.commitencoding &&
		 gitweb_run "p=.git;a=commit"
* FAIL 74: encode(log): utf-8 and iso-8859-1
	gitweb_run "p=.git;a=log"
* FAIL 75: opt: log --no-merges
	gitweb_run "p=.git;a=log;opt=--no-merges"
* FAIL 76: opt: atom --no-merges
	gitweb_run "p=.git;a=log;opt=--no-merges"
* FAIL 77: opt: "file" history --no-merges
	gitweb_run "p=.git;a=history;f=file;opt=--no-merges"
* FAIL 78: opt: log --no-such-option (invalid option)
	gitweb_run "p=.git;a=log;opt=--no-such-option"
* FAIL 79: opt: tree --no-merges (invalid option for action)
	gitweb_run "p=.git;a=tree;opt=--no-merges"
* FAIL 80: URL: no project URLs, no base URL
	gitweb_run "p=.git;a=summary"
* FAIL 81: URL: project URLs via gitweb.url
	git config --add gitweb.url git://example.com/git/trash.git &&
	        git config --add gitweb.url http://example.com/git/trash.git &&
	        gitweb_run "p=.git;a=summary"
* FAIL 82: URL: project URLs via cloneurl file
	gitweb_run "p=.git;a=summary"
* FAIL 83: config override: tree view, features not overridden in repo config
	gitweb_run "p=.git;a=tree"
* FAIL 84: config override: tree view, features disabled in repo config
	git config gitweb.blame no &&
		 git config gitweb.snapshot none &&
		 git config gitweb.avatar gravatar &&
		 gitweb_run "p=.git;a=tree"
* FAIL 85: config override: tree view, features enabled in repo config (1)
	git config gitweb.blame yes &&
		 git config gitweb.snapshot "zip,tgz, tbz2" &&
		 gitweb_run "p=.git;a=tree"
* FAIL 86: config override: tree view, features enabled in repo config (2)
	gitweb_run "p=.git;a=tree"
* FAIL 87: README.html with non-ASCII characters (utf-8)
	echo "<b>UTF-8 example:</b><br />" > .git/README.html &&
		 cat "$TEST_DIRECTORY"/t3900/1-UTF-8.txt >> .git/README.html &&
		 gitweb_run "p=.git;a=summary"
* failed 82 among 87 test(s)
make[2]: *** [t9500-gitweb-standalone-no-errors.sh] Error 1
*** t9501-gitweb-standalone-http-status.sh ***
./test-lib.sh: line 235: i can has snapshot?: No such file or directory
* FAIL 1: snapshots: tgz only default format enabled
	gitweb_run "p=.git;a=snapshot;h=HEAD;sf=tgz" &&
	    grep "Status: 200 OK" gitweb.output &&
	    gitweb_run "p=.git;a=snapshot;h=HEAD;sf=tbz2" &&
	    grep "403 - Unsupported snapshot format" gitweb.output &&
	    gitweb_run "p=.git;a=snapshot;h=HEAD;sf=txz" &&
	    grep "403 - Snapshot format not allowed" gitweb.output &&
	    gitweb_run "p=.git;a=snapshot;h=HEAD;sf=zip" &&
	    grep "403 - Unsupported snapshot format" gitweb.output
* FAIL 2: snapshots: all enabled in default, use default disabled value
	gitweb_run "p=.git;a=snapshot;h=HEAD;sf=tgz" &&
	    grep "Status: 200 OK" gitweb.output &&
	    gitweb_run "p=.git;a=snapshot;h=HEAD;sf=tbz2" &&
	    grep "Status: 200 OK" gitweb.output &&
	    gitweb_run "p=.git;a=snapshot;h=HEAD;sf=txz" &&
	    grep "403 - Snapshot format not allowed" gitweb.output &&
	    gitweb_run "p=.git;a=snapshot;h=HEAD;sf=zip" &&
	    grep "Status: 200 OK" gitweb.output
* FAIL 3: snapshots: zip explicitly disabled
	gitweb_run "p=.git;a=snapshot;h=HEAD;sf=zip" &&
	    grep "403 - Snapshot format not allowed" gitweb.output
* FAIL 4: snapshots: tgz explicitly enabled
	gitweb_run "p=.git;a=snapshot;h=HEAD;sf=tgz" &&
	    grep "Status: 200 OK" gitweb.output
* failed 4 among 4 test(s)
make[2]: *** [t9501-gitweb-standalone-http-status.sh] Error 1
*** t9600-cvsimport.sh ***
* skipping cvsimport tests, cvsps not found
* passed all 0 test(s)
*** t9601-cvsimport-vendor-branch.sh ***
* skipping cvsimport tests, cvsps not found
* passed all 0 test(s)
*** t9602-cvsimport-branches-tags.sh ***
* skipping cvsimport tests, cvsps not found
* passed all 0 test(s)
*** t9603-cvsimport-patchsets.sh ***
* skipping cvsimport tests, cvsps not found
* passed all 0 test(s)
*** t9700-perl-git.sh ***
* Perl Test::More unavailable, skipping test
* passed all 0 test(s)
make[2]: Target `aggregate-results-and-cleanup' not remade because of errors.
make[2]: Leaving directory `/d/msvc/git/t'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/d/msvc/git/t'
make: *** [test] Error 2

fixed   4
success 4017
failed  380
broken  9
total   4524
