components/git/test/results-64.master
author Craig Mohrman <craig.mohrman@oracle.com>
Fri, 03 Apr 2015 10:20:02 -0700
changeset 4050 253de46fd78c
child 4944 2efba29a3b65
permissions -rw-r--r--
20761309 problem in UTILITY/GIT 20460364 GIT should have some master test results to compare against

make[1]: Entering directory `$(@D)'
    SUBDIR gitweb
    SUBDIR ../
make[3]: `GIT-VERSION-FILE' is up to date.
    GEN git-instaweb
    SUBDIR git-gui
    SUBDIR gitk-git
make[2]: 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
cp private-Error.pm blib/lib/Error.pm
    SUBDIR git_remote_helpers
    SUBDIR templates
/usr/gnu/bin/make -C t/ all
make[2]: Entering directory `$(@D)/t'
rm -f -r test-results
/usr/gnu/bin/make aggregate-results-and-cleanup
make[3]: Entering directory `$(@D)/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
not ok 4 - pretend we have a known breakage # TODO known breakage
ok 5 - pretend we have fixed a known breakage (run in sub test-lib)
ok 6 - test runs if prerequisite is satisfied
ok 7 # skip unmet prerequisite causes test to be skipped (missing DONTHAVEIT)
ok 8 - test runs if prerequisites are satisfied
ok 9 # skip unmet prerequisites causes test to be skipped (missing DONTHAVEIT of HAVEIT,DONTHAVEIT)
ok 10 # skip unmet prerequisites causes test to be skipped (missing DONTHAVEIT of DONTHAVEIT,HAVEIT)
ok 11 - tests clean up after themselves
ok 12 - tests clean up even on failures
ok 13 - git update-index without --add should fail adding.
ok 14 - git update-index with --add should succeed.
ok 15 - writing tree out with git write-tree
ok 16 - validate object ID of a known tree.
ok 17 - git update-index without --remove should fail removing.
ok 18 - git update-index with --remove should be able to remove.
ok 19 - git write-tree should be able to write an empty tree.
ok 20 - validate object ID of a known tree.
ok 21 - adding various types of objects with git update-index --add.
ok 22 - showing stage with git ls-files --stage
ok 23 - validate git ls-files output for a known tree.
ok 24 - writing tree out with git write-tree.
ok 25 - validate object ID for a known tree.
ok 26 - showing tree with git ls-tree
ok 27 - git ls-tree output for a known tree.
ok 28 - showing tree with git ls-tree -r
ok 29 - git ls-tree -r output for a known tree.
ok 30 - showing tree with git ls-tree -r -t
ok 31 - git ls-tree -r output for a known tree.
ok 32 - writing partial tree out with git write-tree --prefix.
ok 33 - validate object ID for a known tree.
ok 34 - writing partial tree out with git write-tree --prefix.
ok 35 - validate object ID for a known tree.
ok 36 - put invalid objects into the index.
ok 37 - writing this tree without --missing-ok.
ok 38 - writing this tree with --missing-ok.
ok 39 - git read-tree followed by write-tree should be idempotent.
ok 40 - validate git diff-files output for a know cache/work tree state.
ok 41 - git update-index --refresh should succeed.
ok 42 - no diff after checkout and git update-index --refresh.
ok 43 - git commit-tree records the correct tree in a commit.
ok 44 - git commit-tree records the correct parent in a commit.
ok 45 - git commit-tree omits duplicated parent in a commit.
ok 46 - update-index D/F conflict
ok 47 - real path works as expected
ok 48 - very long name in the index handled sanely
# still have 1 known breakage(s)
# passed all remaining 47 test(s)
1..48
*** t0001-init.sh ***
ok 1 - plain
ok 2 - plain nested in bare
ok 3 - plain through aliased command, outside any git repo
not ok 4 - plain nested through aliased command # TODO known breakage
not ok 5 - plain nested in bare through aliased command # TODO known breakage
ok 6 - plain with GIT_WORK_TREE
ok 7 - plain bare
ok 8 - plain bare with GIT_WORK_TREE
ok 9 - GIT_DIR bare
ok 10 - init --bare
ok 11 - GIT_DIR non-bare
ok 12 - GIT_DIR & GIT_WORK_TREE (1)
ok 13 - GIT_DIR & GIT_WORK_TREE (2)
ok 14 - reinit
ok 15 - init with --template
ok 16 - init with --template (blank)
ok 17 - init with init.templatedir set
ok 18 - init --bare/--shared overrides system/global config
ok 19 - init honors global core.sharedRepository
ok 20 - init rejects insanely long --template
ok 21 - init creates a new directory
ok 22 - init creates a new bare directory
ok 23 - init recreates a directory
ok 24 - init recreates a new bare directory
ok 25 - init creates a new deep directory
ok 26 - init creates a new deep directory (umask vs. shared)
ok 27 - init notices EEXIST (1)
ok 28 - init notices EEXIST (2)
ok 29 - init notices EPERM
ok 30 - init creates a new bare directory with global --bare
ok 31 - init prefers command line to GIT_DIR
ok 32 - init with separate gitdir
ok 33 - re-init to update git link
ok 34 - re-init to move gitdir
ok 35 - re-init to move gitdir symlink
# still have 2 known breakage(s)
# passed all remaining 33 test(s)
1..35
*** 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)
1..10
*** t0003-attributes.sh ***
ok 1 - setup
ok 2 - command line checks
ok 3 - attribute test
ok 4 - attribute matching is case sensitive when core.ignorecase=0
ok 5 - attribute matching is case insensitive when core.ignorecase=1
ok 6 - check whether FS is case-insensitive
ok 7 # skip additional case insensitivity tests (missing CASE_INSENSITIVE_FS)
ok 8 - unnormalized paths
ok 9 - relative paths
ok 10 - prefixes are not confused with leading directories
ok 11 - core.attributesfile
ok 12 - attribute test: read paths from stdin
ok 13 - attribute test: --all option
ok 14 - attribute test: --cached option
ok 15 - root subdir attribute test
ok 16 - setup bare
ok 17 - bare repository: check that .gitattribute is ignored
ok 18 - bare repository: check that --cached honors index
ok 19 - bare repository: test info/attributes
# passed all 19 test(s)
1..19
*** t0004-unwritable.sh ***
ok 1 - setup
ok 2 - write-tree should notice unwritable repository
ok 3 - commit should notice unwritable repository
ok 4 - update-index should notice unwritable repository
ok 5 - add should notice unwritable repository
# passed all 5 test(s)
1..5
*** t0005-signals.sh ***
ok 1 - sigchain works
# passed all 1 test(s)
1..1
*** 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 - relative date (12 months ago)
ok 11 - relative date (2 years ago)
ok 12 - parse date (2008)
ok 13 - parse date (2008-02)
ok 14 - parse date (2008-02-14)
ok 15 - parse date (2008-02-14 20:30:45)
ok 16 - parse date (2008-02-14 20:30:45 -0500)
ok 17 - parse date (2008-02-14 20:30:45 -0015)
ok 18 - parse date (2008-02-14 20:30:45 -5)
ok 19 - parse date (2008-02-14 20:30:45 -5:)
ok 20 - parse date (2008-02-14 20:30:45 -05)
ok 21 - parse date (2008-02-14 20:30:45 -:30)
ok 22 - parse date (2008-02-14 20:30:45 -05:00)
ok 23 - parse date (2008-02-14 20:30:45 TZ=EST5)
ok 24 - parse approxidate (now)
ok 25 - parse approxidate (5 seconds ago)
ok 26 - parse approxidate (5.seconds.ago)
ok 27 - parse approxidate (10.minutes.ago)
ok 28 - parse approxidate (yesterday)
ok 29 - parse approxidate (3.days.ago)
ok 30 - parse approxidate (3.weeks.ago)
ok 31 - parse approxidate (3.months.ago)
ok 32 - parse approxidate (2.years.3.months.ago)
ok 33 - parse approxidate (6am yesterday)
ok 34 - parse approxidate (6pm yesterday)
ok 35 - parse approxidate (3:00)
ok 36 - parse approxidate (15:00)
ok 37 - parse approxidate (noon today)
ok 38 - parse approxidate (noon yesterday)
ok 39 - parse approxidate (last tuesday)
ok 40 - parse approxidate (July 5th)
ok 41 - parse approxidate (06/05/2009)
ok 42 - parse approxidate (06.05.2009)
ok 43 - parse approxidate (Jun 6, 5AM)
ok 44 - parse approxidate (5AM Jun 6)
ok 45 - parse approxidate (6AM, June 7, 2009)
# passed all 45 test(s)
1..45
*** 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)
1..10
*** 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)
ok 28 - setting up for new autocrlf tests
ok 29 - report no change after setting autocrlf
ok 30 - files are clean after checkout
ok 31 - LF only file gets CRLF with autocrlf
ok 32 - Mixed file is still mixed with autocrlf
ok 33 - CRLF only file has CRLF with autocrlf
ok 34 - New CRLF file gets LF in repo
# passed all 34 test(s)
1..34
*** t0021-conversion.sh ***
ok 1 - setup
ok 2 - check
ok 3 - expanded_in_repo
ok 4 - filter shell-escaped filenames
# passed all 4 test(s)
1..4
*** t0022-crlf-rename.sh ***
ok 1 - setup
ok 2 - diff -M
# passed all 2 test(s)
1..2
*** t0023-crlf-am.sh ***
ok 1 - setup
ok 2 - am
# passed all 2 test(s)
1..2
*** t0024-crlf-archive.sh ***
ok 1 - setup
ok 2 - tar archive
ok 3 - zip archive
# passed all 3 test(s)
1..3
*** t0025-crlf-auto.sh ***
ok 1 - setup
ok 2 - default settings cause no changes
ok 3 - crlf=true causes a CRLF file to be normalized
ok 4 - text=true causes a CRLF file to be normalized
ok 5 - eol=crlf gives a normalized file CRLFs with autocrlf=false
ok 6 - eol=crlf gives a normalized file CRLFs with autocrlf=input
ok 7 - eol=lf gives a normalized file LFs with autocrlf=true
ok 8 - autocrlf=true does not normalize CRLF files
ok 9 - text=auto, autocrlf=true _does_ normalize CRLF files
ok 10 - text=auto, autocrlf=true does not normalize binary files
ok 11 - eol=crlf _does_ normalize binary files
# passed all 11 test(s)
1..11
*** t0026-eol-config.sh ***
ok 1 - setup
ok 2 - eol=lf puts LFs in normalized file
ok 3 - eol=crlf puts CRLFs in normalized file
ok 4 - autocrlf=true overrides eol=lf
ok 5 - autocrlf=true overrides unset eol
# passed all 5 test(s)
1..5
*** 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)
1..18
*** 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
ok 21 - negation of OPT_NONEG flags is not ambiguous
ok 22 - --list keeps list of strings
ok 23 - --no-list resets list
# passed all 23 test(s)
1..23
*** t0050-filesystem.sh ***
ok 1 - see what we expect
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
ok 5 - rename (case change)
ok 6 - merge (case change)
not ok 7 - add (with different case) # TODO known breakage
ok 8 - setup unicode normalization tests
ok 9 - rename (silent unicode normalization)
ok 10 - merge (silent unicode normalization)
# still have 1 known breakage(s)
# passed all remaining 9 test(s)
1..10
*** t0055-beyond-symlinks.sh ***
ok 1 - setup
ok 2 - update-index --add beyond symlinks
ok 3 - add beyond symlinks
# passed all 3 test(s)
1..3
*** 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
ok 24 - normalize path: / => /
ok 25 - normalize path: // => /
ok 26 - normalize path: /// => /
ok 27 - normalize path: /. => /
ok 28 - normalize path: /./ => /
ok 29 - normalize path: /./.. => ++failed++
ok 30 - normalize path: /../. => ++failed++
ok 31 - normalize path: /./../.// => ++failed++
ok 32 - normalize path: /dir/.. => /
ok 33 - normalize path: /dir/sub/../.. => /
ok 34 - normalize path: /dir/sub/../../.. => ++failed++
ok 35 - normalize path: /dir => /dir
ok 36 - normalize path: /dir// => /dir/
ok 37 - normalize path: /./dir => /dir
ok 38 - normalize path: /dir/. => /dir/
ok 39 - normalize path: /dir///./ => /dir/
ok 40 - normalize path: /dir//sub/.. => /dir/
ok 41 - normalize path: /dir/sub/../ => /dir/
ok 42 - normalize path: //dir/sub/../. => /dir/
ok 43 - normalize path: /dir/s1/../s2/ => /dir/s2/
ok 44 - normalize path: /d1/s1///s2/..//../s3/ => /d1/s3/
ok 45 - normalize path: /d1/s1//../s2/../../d2 => /d2
ok 46 - normalize path: /d1/.../d2 => /d1/.../d2
ok 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 / => 0
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/ => 0
ok 65 - longest ancestor: /foo /foo:/:/bar/ => 0
ok 66 - longest ancestor: /foo /:/bar/:/foo => 0
ok 67 - longest ancestor: /foo/bar  => -1
ok 68 - longest ancestor: /foo/bar / => 0
ok 69 - longest ancestor: /foo/bar /fo => -1
ok 70 - longest ancestor: /foo/bar foo => -1
ok 71 - longest ancestor: /foo/bar /foo => 4
ok 72 - longest ancestor: /foo/bar /foo/ => 4
ok 73 - longest ancestor: /foo/bar /foo/ba => -1
ok 74 - longest ancestor: /foo/bar /:/fo => 0
ok 75 - longest ancestor: /foo/bar /foo:/foo/ba => 4
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/ => 4
ok 81 - longest ancestor: /foo/bar /:/foo:/bar/ => 4
ok 82 - longest ancestor: /foo/bar /foo:/:/bar/ => 4
ok 83 - longest ancestor: /foo/bar /:/bar/:/fo => 0
ok 84 - longest ancestor: /foo/bar /:/bar/ => 0
ok 85 - longest ancestor: /foo/bar .:/foo/. => 4
ok 86 - longest ancestor: /foo/bar .:/foo/.:.: => 4
ok 87 - longest ancestor: /foo/bar /foo/./:.:/bar => 4
ok 88 - longest ancestor: /foo/bar .:/bar => -1
ok 89 - strip_path_suffix
# passed all 89 test(s)
1..89
*** t0061-run-command.sh ***
ok 1 - start_command reports ENOENT
ok 2 - run_command can run a command
ok 3 - run_command reports EACCES
# passed all 3 test(s)
1..3
*** t0070-fundamental.sh ***
ok 1 - character classes (isspace, isalpha etc.)
ok 2 - mktemp to nonexistent directory prints filename
ok 3 - mktemp to unwritable directory prints filename
# passed all 3 test(s)
1..3
*** t0080-vcs-svn.sh ***
ok 1 - obj pool: store data
ok 2 - obj pool: NULL is offset ~0
ok 3 - obj pool: out-of-bounds access
ok 4 - obj pool: high-water mark
ok 5 - string pool
ok 6 - treap sort
# passed all 6 test(s)
1..6
*** t0081-line-buffer.sh ***
ok 1 - hello world
ok 2 - 0-length read, send along greeting
ok 3 - read from file descriptor
ok 4 - skip, copy null byte
ok 5 - read null byte
ok 6 - long reads are truncated
ok 7 - long copies are truncated
ok 8 - long binary reads are truncated
# passed all 8 test(s)
1..8
*** t0090-cache-tree.sh ***
not ok 1 - initial commit has cache-tree # TODO known breakage
ok 2 - read-tree HEAD establishes cache-tree
ok 3 - git-add invalidates cache-tree
ok 4 - update-index invalidates cache-tree
ok 5 - write-tree establishes cache-tree
ok 6 - test-scrap-cache-tree works
ok 7 - second commit has cache-tree
ok 8 - reset --hard gives cache-tree
ok 9 - reset --hard without index gives cache-tree
not ok 10 - checkout gives cache-tree # TODO known breakage
# still have 2 known breakage(s)
# passed all remaining 8 test(s)
1..10
*** 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)
1..4
*** t0101-at-syntax.sh ***
ok 1 - setup
ok 2 - @{0} shows current
ok 3 - @{1} shows old
ok 4 - @{now} shows current
ok 5 - @{2001-09-17} (before the first commit) shows old
ok 6 - silly approxidates work
ok 7 - notice misspelled upstream
ok 8 - complain about total nonsense
# passed all 8 test(s)
1..8
*** t0200-gettext-basic.sh ***
# lib-gettext: Found 'is_IS.UTF-8' as an is_IS UTF-8 locale
# lib-gettext: Found 'is_IS.ISO8859-1' as an is_IS ISO-8859-1 locale
ok 1 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to gnu)
ok 2 - sanity: $TEXTDOMAIN is git
ok 3 - xgettext sanity: Perl _() strings are not extracted
ok 4 - xgettext sanity: Comment extraction with --add-comments
ok 5 - xgettext sanity: Comment extraction with --add-comments stops at statements
ok 6 - sanity: $TEXTDOMAINDIR exists without NO_GETTEXT=YesPlease
ok 7 - sanity: Icelandic locale was compiled
ok 8 - sanity: gettext("") metadata is OK
ok 9 - sanity: gettext(unknown) is passed through
ok 10 - xgettext: C extraction of _() and N_() strings
ok 11 - xgettext: C extraction with %s
ok 12 - xgettext: Shell extraction
ok 13 - xgettext: Shell extraction with $variable
ok 14 - xgettext: Perl extraction
ok 15 - xgettext: Perl extraction with %s
ok 16 - sanity: Some gettext("") data for real locale
# passed all 16 test(s)
1..16
*** t0201-gettext-fallbacks.sh ***
# lib-gettext: No is_IS UTF-8 locale available
# lib-gettext: No is_IS ISO-8859-1 locale available
ok 1 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to fallthrough)
ok 2 - sanity: $GIT_INTERNAL_GETTEXT_TEST_FALLBACKS is set
ok 3 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is fallthrough
ok 4 - gettext: our gettext() fallback has pass-through semantics
ok 5 - eval_gettext: our eval_gettext() fallback has pass-through semantics
ok 6 - eval_gettext: our eval_gettext() fallback can interpolate variables
ok 7 - eval_gettext: our eval_gettext() fallback can interpolate variables with spaces
ok 8 - eval_gettext: our eval_gettext() fallback can interpolate variables with spaces and quotes
# passed all 8 test(s)
1..8
*** t0202-gettext-perl.sh ***
# lib-gettext: Found 'is_IS.UTF-8' as an is_IS UTF-8 locale
# lib-gettext: Found 'is_IS.ISO8859-1' as an is_IS ISO-8859-1 locale
# run 1: Perl Git::I18N API ($(PERL) $(@D)/t/t0202/test.pl)
1..8
# test_external test Perl Git::I18N API failed: $(PERL) $(@D)/t/t0202/test.pl
# test_external_without_stderr test no stderr: Perl Git::I18N API failed: $(PERL) $(@D)/t/t0202/test.pl: 
make[3]: [t0202-gettext-perl.sh] Error 1 (ignored)
*** t0203-gettext-setlocale-sanity.sh ***
# lib-gettext: Found 'is_IS.UTF-8' as an is_IS UTF-8 locale
# lib-gettext: Found 'is_IS.ISO8859-1' as an is_IS ISO-8859-1 locale
ok 1 - git show a ISO-8859-1 commit under C locale
ok 2 - git show a ISO-8859-1 commit under a UTF-8 locale
# passed all 2 test(s)
1..2
*** t0204-gettext-reencode-sanity.sh ***
# lib-gettext: Found 'is_IS.UTF-8' as an is_IS UTF-8 locale
# lib-gettext: Found 'is_IS.ISO8859-1' as an is_IS ISO-8859-1 locale
ok 1 - gettext: Emitting UTF-8 from our UTF-8 *.mo files / Icelandic
ok 2 - gettext: Emitting UTF-8 from our UTF-8 *.mo files / Runes
ok 3 - gettext: Emitting ISO-8859-1 from our UTF-8 *.mo files / Icelandic
ok 4 - gettext: Emitting ISO-8859-1 from our UTF-8 *.mo files / Runes
not ok - 5 gettext: Fetching a UTF-8 msgid -> UTF-8
#	
#	    printf "TILRAUN: ‚einfaldar‘ og „tvöfaldar“ gæsalappir" >expect &&
#	    LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: ‘single’ and “double” quotes" >actual &&
#	    test_cmp expect actual
#	
not ok - 6 gettext: Fetching a UTF-8 msgid -> ISO-8859-1
#	
#	    LANGUAGE=is LC_ALL="$is_IS_iso_locale" gettext "TEST: ‘single’ and “double” quotes" >actual &&
#	    grep "einfaldar" actual &&
#	    grep "$(echo tvöfaldar | iconv -f UTF-8 -t ISO8859-1)" actual
#	
ok 7 - gettext.c: git init UTF-8 -> UTF-8
ok 8 - gettext.c: git init UTF-8 -> ISO-8859-1
# failed 2 among 8 test(s)
1..8
make[3]: [t0204-gettext-reencode-sanity.sh] Error 1 (ignored)
*** t0205-gettext-poison.sh ***
# lib-gettext: Found 'is_IS.UTF-8' as an is_IS UTF-8 locale
# lib-gettext: Found 'is_IS.ISO8859-1' as an is_IS ISO-8859-1 locale
ok 1 # skip sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to gnu) (missing GETTEXT_POISON)
ok 2 # skip sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is poison (missing GETTEXT_POISON)
ok 3 # skip gettext: our gettext() fallback has poison semantics (missing GETTEXT_POISON)
ok 4 # skip eval_gettext: our eval_gettext() fallback has poison semantics (missing GETTEXT_POISON)
# passed all 4 test(s)
1..4
*** t0300-credentials.sh ***
ok 1 - setup helper scripts
ok 2 - credential_fill invokes helper
ok 3 - credential_fill invokes multiple helpers
ok 4 - credential_fill stops when we get a full response
ok 5 - credential_fill continues through partial response
ok 6 - credential_fill passes along metadata
ok 7 - credential_approve calls all helpers
ok 8 - do not bother storing password-less credential
ok 9 - credential_reject calls all helpers
ok 10 - usernames can be preserved
ok 11 - usernames can be overridden
ok 12 - do not bother completing already-full credential
ok 13 - empty helper list falls back to internal getpass
ok 14 - internal getpass does not ask for known username
ok 15 - respect configured credentials
ok 16 - match configured credential
ok 17 - do not match configured credential
ok 18 - pull username from config
ok 19 - http paths can be part of context
# passed all 19 test(s)
1..19
*** t0301-credential-cache.sh ***
ok 1 - helper (cache) has no existing data
ok 2 - helper (cache) stores password
ok 3 - helper (cache) can retrieve password
ok 4 - helper (cache) requires matching protocol
ok 5 - helper (cache) requires matching host
ok 6 - helper (cache) requires matching username
ok 7 - helper (cache) requires matching path
ok 8 - helper (cache) can forget host
ok 9 - helper (cache) can store multiple users
ok 10 - helper (cache) can forget user
ok 11 - helper (cache) remembers other user
ok 12 - helper (cache --timeout=1) times out
# passed all 12 test(s)
1..12
*** t0302-credential-store.sh ***
ok 1 - helper (store) has no existing data
ok 2 - helper (store) stores password
ok 3 - helper (store) can retrieve password
ok 4 - helper (store) requires matching protocol
ok 5 - helper (store) requires matching host
ok 6 - helper (store) requires matching username
ok 7 - helper (store) requires matching path
ok 8 - helper (store) can forget host
ok 9 - helper (store) can store multiple users
ok 10 - helper (store) can forget user
ok 11 - helper (store) remembers other user
# passed all 11 test(s)
1..11
*** t0303-credential-external.sh ***
# skipping external helper tests (set GIT_TEST_CREDENTIAL_HELPER)
# skipping external helper timeout tests
# passed all 0 test(s)
1..0
*** 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)
1..83
*** 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.
ok 28 - -m references the correct modified tree
# passed all 28 test(s)
1..28
*** 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)
1..22
*** t1003-read-tree-prefix.sh ***
ok 1 - setup
ok 2 - read-tree --prefix
# passed all 2 test(s)
1..2
*** 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)
ok 12 - funny symlink in work tree
ok 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)
1..17
*** 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)
1..6
*** 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)
1..56
*** 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 --path with --no-filters
ok 6 - hash a file
ok 7 - blob does not exist in database
ok 8 - hash from stdin
ok 9 - blob does not exist in database
ok 10 - hash a file and write to database
ok 11 - blob exists in database
ok 12 - git hash-object --stdin file1 <file0 first operates on file0, then file1
ok 13 - check that appropriate filter is invoke when --path is used
ok 14 - check that --no-filters option works
ok 15 - check that --no-filters option works with --stdin-paths
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
ok 27 - corrupt tree
ok 28 - corrupt commit
ok 29 - corrupt tag
# passed all 29 test(s)
1..29
*** t1008-read-tree-overlay.sh ***
ok 1 - setup
ok 2 - multi-read
# passed all 2 test(s)
1..2
*** 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)
1..3
*** 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
ok 7 - mktree refuses to read ls-tree -r output (1)
ok 8 - mktree refuses to read ls-tree -r output (2)
# passed all 8 test(s)
1..8
*** t1011-read-tree-sparse-checkout.sh ***
ok 1 - setup
ok 2 - read-tree without .git/info/sparse-checkout
ok 3 - read-tree with .git/info/sparse-checkout but disabled
ok 4 - read-tree --no-sparse-checkout with empty .git/info/sparse-checkout and enabled
ok 5 - read-tree with empty .git/info/sparse-checkout
ok 6 - match directories with trailing slash
ok 7 - match directories without trailing slash
ok 8 - match directories with negated patterns
ok 9 - match directories with negated patterns (2)
ok 10 - match directory pattern
ok 11 - checkout area changes
ok 12 - read-tree updates worktree, absent case
ok 13 - read-tree updates worktree, dirty case
ok 14 - read-tree removes worktree, dirty case
ok 15 - read-tree adds to worktree, absent case
ok 16 - read-tree adds to worktree, dirty case
ok 17 - index removal and worktree narrowing at the same time
ok 18 - read-tree --reset removes outside worktree
ok 19 - print errors when failed to update worktree
# passed all 19 test(s)
1..19
*** t1012-read-tree-df.sh ***
ok 1 - setup
ok 2 - 3-way (1)
ok 3 - 3-way (2)
ok 4 - 3-way (3)
ok 5 - 2-way (1)
# passed all 5 test(s)
1..5
*** t1013-loose-object-format.sh ***
ok 1 - setup
ok 2 - read standard-format loose objects
ok 3 - read experimental-format loose objects
ok 4 - read standard-format objects deflated with smaller window buffer
# passed all 4 test(s)
1..4
*** 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 - alias expansion
ok 9 - !alias expansion
ok 10 - GIT_PREFIX for !alias
ok 11 - GIT_PREFIX for built-ins
ok 12 - no file/rev ambiguity check inside .git
ok 13 - no file/rev ambiguity check inside a bare repo
ok 14 - detection should not be fooled by a symlink
# passed all 14 test(s)
1..14
*** t1021-rerere-in-workdir.sh ***
ok 1 - setup
ok 2 - rerere in workdir
not ok 3 - rerere in workdir (relative) # TODO known breakage
# still have 1 known breakage(s)
# passed all remaining 2 test(s)
1..3
*** t1050-large.sh ***
ok 1 - setup
ok 2 - add a large file or two
ok 3 - checkout a large file
ok 4 - packsize limit
# passed all 4 test(s)
1..4
*** 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)
1..4
*** 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
ok 10 - git checkout -b mybranch
ok 11 - git branch
ok 12 - git resolve now fails
ok 13 - git show-branch
ok 14 - git resolve
ok 15 - git resolve output
ok 16 - git show-branch (part 2)
ok 17 - git show-branch (part 3)
ok 18 - rewind to "Some fun." and "Some work."
ok 19 - git show-branch (part 4)
ok 20 - manual merge
ok 21 - git ls-files --stage
ok 22 - git ls-files --unmerged
ok 23 - git-merge-index
ok 24 - git ls-files --stage (part 2)
ok 25 - git repack
ok 26 - git prune-packed
ok 27 - -> only packed objects
# passed all 27 test(s)
1..27
*** t1300-repo-config.sh ***
ok 1 - clear default config
ok 2 - initial
ok 3 - mixed case
ok 4 - similar section
ok 5 - uppercase section
ok 6 - replace with non-match
ok 7 - replace with non-match (actually matching)
ok 8 - non-match result
ok 9 - find mixed-case key by canonical name
ok 10 - find mixed-case key by non-canonical name
ok 11 - subsections are not canonicalized by git-config
ok 12 - unset with cont. lines
ok 13 - unset with cont. lines is correct
ok 14 - multiple unset
ok 15 - multiple unset is correct
ok 16 - --replace-all missing value
ok 17 - --replace-all
ok 18 - all replaced
ok 19 - really mean test
ok 20 - really really mean test
ok 21 - get value
ok 22 - unset
ok 23 - multivar
ok 24 - non-match
ok 25 - non-match value
ok 26 - ambiguous get
ok 27 - get multivar
ok 28 - multivar replace
ok 29 - ambiguous value
ok 30 - ambiguous unset
ok 31 - invalid unset
ok 32 - multivar unset
ok 33 - invalid key
ok 34 - correct key
ok 35 - hierarchical section
ok 36 - hierarchical section value
ok 37 - working --list
ok 38 - --list without repo produces empty output
ok 39 - --get-regexp
ok 40 - --add
ok 41 - get variable with no value
ok 42 - get variable with empty value
ok 43 - get-regexp variable with no value
ok 44 - get-regexp --bool variable with no value
ok 45 - get-regexp variable with empty value
ok 46 - get bool variable with no value
ok 47 - get bool variable with empty value
ok 48 - no arguments, but no crash
ok 49 - new section is partial match of another
ok 50 - new variable inserts into proper section
ok 51 - alternative GIT_CONFIG (non-existing file should fail)
ok 52 - alternative GIT_CONFIG
ok 53 - alternative GIT_CONFIG (--file)
ok 54 - refer config from subdirectory
ok 55 - --set in alternative GIT_CONFIG
ok 56 - rename section
ok 57 - rename succeeded
ok 58 - rename non-existing section
ok 59 - rename succeeded
ok 60 - rename another section
ok 61 - rename succeeded
ok 62 - rename a section with a var on the same line
ok 63 - rename succeeded
ok 64 - remove section
ok 65 - section was removed properly
ok 66 - section ending
ok 67 - numbers
ok 68 - invalid unit
ok 69 - bool
ok 70 - invalid bool (--get)
ok 71 - invalid bool (set)
ok 72 - set --bool
ok 73 - set --int
ok 74 - get --bool-or-int
ok 75 - set --bool-or-int
ok 76 - set --path
ok 77 - get --path
ok 78 - get --path copes with unset $HOME
ok 79 - quoting
ok 80 - key with newline
ok 81 - value with newline
ok 82 - value continued on next line
ok 83 - --null --list
ok 84 - --null --get-regexp
ok 85 - inner whitespace kept verbatim
ok 86 - symlinked configuration
ok 87 - nonexistent configuration
ok 88 - symlink to nonexistent configuration
ok 89 - check split_cmdline return
ok 90 - git -c "key=value" support
ok 91 - key sanity-checking
ok 92 - git -c works with aliases of builtins
ok 93 - git -c does not split values on equals
ok 94 - git -c dies on bogus config
ok 95 - git -c complains about empty key
ok 96 - git -c complains about empty key and value
# passed all 96 test(s)
1..96
*** t1301-shared-repo.sh ***
ok 1 - shared = 0400 (faulty permission u-w)
ok 2 - shared=1 does not clear bits preset by umask 002
ok 3 - shared=1 does not clear bits preset by umask 022
ok 4 - shared=all
ok 5 - update-server-info honors core.sharedRepository
ok 6 - shared = 0660 (r--r-----) ro
ok 7 - shared = 0660 (rw-rw----) rw
ok 8 - shared = 0640 (r--r-----) ro
ok 9 - shared = 0640 (rw-r-----) rw
ok 10 - shared = 0600 (r--------) ro
ok 11 - shared = 0600 (rw-------) rw
ok 12 - shared = 0666 (r--r--r--) ro
ok 13 - shared = 0666 (rw-rw-rw-) rw
ok 14 - shared = 0664 (r--r--r--) ro
ok 15 - shared = 0664 (rw-rw-r--) rw
ok 16 - git reflog expire honors core.sharedRepository
ok 17 - forced modes
# passed all 17 test(s)
1..17
*** t1302-repo-version.sh ***
ok 1 - setup
ok 2 - gitdir selection on normal repos
ok 3 - gitdir selection on unsupported repo
ok 4 - gitdir not required mode
ok 5 - gitdir required mode
# passed all 5 test(s)
1..5
*** 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)
1..5
*** t1304-default-acl.sh ***
Unable to use setfacl (output: 'File system doesn't support aclent_t style ACL's.
See acl(5) for more information on ACL styles support by Solaris.'; return code: '2')
ok 1 # skip Setup test repo (missing SETFACL)
ok 2 # skip Objects creation does not break ACLs with restrictive umask (missing SETFACL)
ok 3 # skip git gc does not break ACLs with restrictive umask (missing SETFACL)
# passed all 3 test(s)
1..3
*** 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)
1..41
*** 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)
1..4
*** t1402-check-ref-format.sh ***
ok 1 - ref name '' is invalid
ok 2 - ref name '/' is invalid
ok 3 - ref name '/' is invalid with options --allow-onelevel
ok 4 - ref name '/' is invalid with options --normalize
ok 5 - ref name '/' is invalid with options --allow-onelevel --normalize
ok 6 - ref name 'foo/bar/baz' is valid
ok 7 - ref name 'foo/bar/baz' is valid with options --normalize
ok 8 - ref name 'refs///heads/foo' is invalid
ok 9 - ref name 'refs///heads/foo' is valid with options --normalize
ok 10 - ref name 'heads/foo/' is invalid
ok 11 - ref name '/heads/foo' is invalid
ok 12 - ref name '/heads/foo' is valid with options --normalize
ok 13 - ref name '///heads/foo' is invalid
ok 14 - ref name '///heads/foo' is valid with options --normalize
ok 15 - ref name './foo' is invalid
ok 16 - ref name './foo/bar' is invalid
ok 17 - ref name 'foo/./bar' is invalid
ok 18 - ref name 'foo/bar/.' is invalid
ok 19 - ref name '.refs/foo' is invalid
ok 20 - ref name 'heads/foo..bar' is invalid
ok 21 - ref name 'heads/foo?bar' is invalid
ok 22 - ref name 'foo./bar' is valid
ok 23 - ref name 'heads/foo.lock' is invalid
ok 24 - ref name 'heads///foo.lock' is invalid
ok 25 - ref name 'foo.lock/bar' is invalid
ok 26 - ref name 'foo.lock///bar' is invalid
ok 27 - ref name 'heads/foo@bar' is valid
ok 28 - ref name 'heads/v@{ation' is invalid
ok 29 - ref name 'heads/fooar' is invalid
ok 30 - ref name 'heads/foo	' is invalid
ok 31 - ref name 'heads/foo' is invalid
ok 32 - ref name 'heads/fuß' is valid
ok 33 - ref name 'heads/*foo/bar' is invalid with options --refspec-pattern
ok 34 - ref name 'heads/foo*/bar' is invalid with options --refspec-pattern
ok 35 - ref name 'heads/f*o/bar' is invalid with options --refspec-pattern
ok 36 - ref name 'foo' is invalid
ok 37 - ref name 'foo' is valid with options --allow-onelevel
ok 38 - ref name 'foo' is invalid with options --refspec-pattern
ok 39 - ref name 'foo' is valid with options --refspec-pattern --allow-onelevel
ok 40 - ref name 'foo' is invalid with options --normalize
ok 41 - ref name 'foo' is valid with options --allow-onelevel --normalize
ok 42 - ref name 'foo/bar' is valid
ok 43 - ref name 'foo/bar' is valid with options --allow-onelevel
ok 44 - ref name 'foo/bar' is valid with options --refspec-pattern
ok 45 - ref name 'foo/bar' is valid with options --refspec-pattern --allow-onelevel
ok 46 - ref name 'foo/bar' is valid with options --normalize
ok 47 - ref name 'foo/*' is invalid
ok 48 - ref name 'foo/*' is invalid with options --allow-onelevel
ok 49 - ref name 'foo/*' is valid with options --refspec-pattern
ok 50 - ref name 'foo/*' is valid with options --refspec-pattern --allow-onelevel
ok 51 - ref name '*/foo' is invalid
ok 52 - ref name '*/foo' is invalid with options --allow-onelevel
ok 53 - ref name '*/foo' is valid with options --refspec-pattern
ok 54 - ref name '*/foo' is valid with options --refspec-pattern --allow-onelevel
ok 55 - ref name '*/foo' is invalid with options --normalize
ok 56 - ref name '*/foo' is valid with options --refspec-pattern --normalize
ok 57 - ref name 'foo/*/bar' is invalid
ok 58 - ref name 'foo/*/bar' is invalid with options --allow-onelevel
ok 59 - ref name 'foo/*/bar' is valid with options --refspec-pattern
ok 60 - ref name 'foo/*/bar' is valid with options --refspec-pattern --allow-onelevel
ok 61 - ref name '*' is invalid
ok 62 - ref name '*' is invalid with options --allow-onelevel
ok 63 - ref name '*' is invalid with options --refspec-pattern
ok 64 - ref name '*' is valid with options --refspec-pattern --allow-onelevel
ok 65 - ref name 'foo/*/*' is invalid with options --refspec-pattern
ok 66 - ref name 'foo/*/*' is invalid with options --refspec-pattern --allow-onelevel
ok 67 - ref name '*/foo/*' is invalid with options --refspec-pattern
ok 68 - ref name '*/foo/*' is invalid with options --refspec-pattern --allow-onelevel
ok 69 - ref name '*/*/foo' is invalid with options --refspec-pattern
ok 70 - ref name '*/*/foo' is invalid with options --refspec-pattern --allow-onelevel
ok 71 - ref name '/foo' is invalid
ok 72 - ref name '/foo' is invalid with options --allow-onelevel
ok 73 - ref name '/foo' is invalid with options --refspec-pattern
ok 74 - ref name '/foo' is invalid with options --refspec-pattern --allow-onelevel
ok 75 - ref name '/foo' is invalid with options --normalize
ok 76 - ref name '/foo' is valid with options --allow-onelevel --normalize
ok 77 - ref name '/foo' is invalid with options --refspec-pattern --normalize
ok 78 - ref name '/foo' is valid with options --refspec-pattern --allow-onelevel --normalize
ok 79 - check-ref-format --branch @{-1}
ok 80 - check-ref-format --branch from subdir
ok 81 - ref name 'heads/foo' simplifies to 'heads/foo'
ok 82 - ref name 'refs///heads/foo' simplifies to 'refs/heads/foo'
ok 83 - ref name '/heads/foo' simplifies to 'heads/foo'
ok 84 - ref name '///heads/foo' simplifies to 'heads/foo'
ok 85 - check-ref-format --normalize rejects 'foo'
ok 86 - check-ref-format --normalize rejects '/foo'
ok 87 - check-ref-format --normalize rejects 'heads/foo/../bar'
ok 88 - check-ref-format --normalize rejects 'heads/./foo'
ok 89 - check-ref-format --normalize rejects 'headsoo'
ok 90 - check-ref-format --normalize rejects 'heads/foo.lock'
ok 91 - check-ref-format --normalize rejects 'heads///foo.lock'
ok 92 - check-ref-format --normalize rejects 'foo.lock/bar'
ok 93 - check-ref-format --normalize rejects 'foo.lock///bar'
# passed all 93 test(s)
1..93
*** 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
ok 9 - rewind2
ok 10 - --expire=never
ok 11 - gc.reflogexpire=never
ok 12 - gc.reflogexpire=false
# passed all 12 test(s)
1..12
*** t1411-reflog-show.sh ***
ok 1 - setup
ok 2 - log -g shows reflog headers
ok 3 - oneline reflog format
ok 4 - reflog default format
ok 5 - override reflog default format
ok 6 - using @{now} syntax shows reflog date (multiline)
ok 7 - using @{now} syntax shows reflog date (oneline)
ok 8 - using --date= shows reflog date (multiline)
ok 9 - using --date= shows reflog date (oneline)
ok 10 - empty reflog file
# passed all 10 test(s)
1..10
*** t1412-reflog-loop.sh ***
ok 1 - setup commits
ok 2 - setup reflog with alternating commits
ok 3 - reflog shows all entries
# passed all 3 test(s)
1..3
*** t1420-lost-found.sh ***
ok 1 - setup
ok 2 - lost and found something
# passed all 2 test(s)
1..2
*** t1450-fsck.sh ***
ok 1 - setup
ok 2 - loose objects borrowed from alternate are not missing
ok 3 - HEAD is part of refs, valid objects appear valid
ok 4 - setup: helpers for corruption tests
ok 5 - object with bad sha1
ok 6 - branch pointing to non-commit
ok 7 - email without @ is okay
ok 8 - email with embedded > is not okay
ok 9 - missing < email delimiter is reported nicely
ok 10 - missing email is reported nicely
ok 11 - > in name is reported
ok 12 - tag pointing to nonexistent
ok 13 - tag pointing to something else than its type
ok 14 - cleaned up
ok 15 - rev-list --verify-objects
ok 16 - rev-list --verify-objects with bad sha1
# passed all 16 test(s)
1..16
*** 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)
1..50
*** t1501-worktree.sh ***
ok 1 - setup
ok 2 - setup: helper for testing rev-parse
ok 3 - setup: core.worktree = relative path
ok 4 - outside
ok 5 - inside work tree
not ok 6 - empty prefix is actually written out # TODO known breakage
ok 7 - subdir of work tree
ok 8 - setup: core.worktree = absolute path
ok 9 - outside
ok 10 - inside work tree
ok 11 - subdir of work tree
ok 12 - setup: GIT_WORK_TREE=relative (override core.worktree)
ok 13 - outside
ok 14 - inside work tree
ok 15 - subdir of work tree
ok 16 - setup: GIT_WORK_TREE=absolute, below git dir
ok 17 - outside
ok 18 - in repo.git
ok 19 - inside work tree
ok 20 - subdir of work tree
ok 21 - find work tree from repo
ok 22 - find work tree from work tree
ok 23 - _gently() groks relative GIT_DIR & GIT_WORK_TREE
ok 24 - diff-index respects work tree under .git dir
ok 25 - diff-files respects work tree under .git dir
ok 26 - git diff respects work tree under .git dir
ok 27 - git grep
ok 28 - git commit
ok 29 - absolute pathspec should fail gracefully
ok 30 - make_relative_path handles double slashes in GIT_DIR
ok 31 - relative $GIT_WORK_TREE and git subprocesses
# still have 1 known breakage(s)
# passed all remaining 30 test(s)
1..31
*** 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
ok 7 - test --parseopt --keep-dashdash --stop-at-non-option with --
ok 8 - test --parseopt --keep-dashdash --stop-at-non-option without --
# passed all 8 test(s)
1..8
*** 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
ok 7 - master@{n} for various n
# passed all 7 test(s)
1..7
*** 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)
1..40
*** 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)
1..7
*** t1506-rev-parse-diagnosis.sh ***
ok 1 - set up basic repo
ok 2 - correct file objects
ok 3 - correct relative file objects (0)
ok 4 - correct relative file objects (1)
ok 5 - correct relative file objects (2)
ok 6 - correct relative file objects (3)
ok 7 - correct relative file objects (4)
ok 8 - correct relative file objects (5)
ok 9 - correct relative file objects (6)
ok 10 - incorrect revision id
ok 11 - incorrect file in sha1:path
ok 12 - incorrect file in :path and :N:path
ok 13 - invalid @{n} reference
ok 14 - relative path not found
ok 15 - relative path outside worktree
ok 16 - relative path when cwd is outside worktree
ok 17 - relative path when startup_info is NULL
# passed all 17 test(s)
1..17
*** t1507-rev-parse-upstream.sh ***
ok 1 - setup
ok 2 - @{upstream} resolves to correct full name
ok 3 - @{u} resolves to correct full name
ok 4 - my-side@{upstream} resolves to correct full name
ok 5 - my-side@{u} resolves to correct commit
ok 6 - not-tracking@{u} fails
ok 7 - <branch>@{u}@{1} resolves correctly
ok 8 - @{u} without specifying branch fails on a detached HEAD
ok 9 - checkout -b new my-side@{u} forks from the same
ok 10 - merge my-side@{u} records the correct name
ok 11 - branch -d other@{u}
ok 12 - checkout other@{u}
ok 13 - log -g other@{u}
ok 14 - log -g other@{u}@{now}
# passed all 14 test(s)
1..14
*** t1508-at-combinations.sh ***
ok 1 - setup
ok 2 - HEAD = new-two
ok 3 - @{1} = new-one
ok 4 - @{-1} = old-two
ok 5 - @{-1}@{1} = old-one
ok 6 - @{u} = upstream-two
ok 7 - @{u}@{1} = upstream-one
ok 8 - @{-1}@{u} = master-two
ok 9 - @{-1}@{u}@{1} = master-one
ok 10 - @{u}@{-1} is nonsensical
ok 11 - @{1}@{u} is nonsensical
# passed all 11 test(s)
1..11
*** t1509-root-worktree.sh ***
# passed all 0 test(s)
1..0 # SKIP Dangerous test skipped. Read this test if you want to execute it
*** t1510-repo-setup.sh ***
ok 1 - #0: nonbare repo, no explicit configuration
ok 2 - #1: GIT_WORK_TREE without explicit GIT_DIR is accepted
ok 3 - #2: worktree defaults to cwd with explicit GIT_DIR
ok 4 - #2b: relative GIT_DIR
ok 5 - #3: setup
ok 6 - #3: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 7 - #3: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 8 - #3: explicit GIT_WORK_TREE from parent of worktree
ok 9 - #3: explicit GIT_WORK_TREE from nephew of worktree
ok 10 - #3: chdir_to_toplevel uses worktree, not git dir
ok 11 - #3: chdir_to_toplevel uses worktree (from subdir)
ok 12 - #4: core.worktree without GIT_DIR set is accepted
ok 13 - #5: core.worktree + GIT_WORK_TREE is accepted
ok 14 - #6: setting GIT_DIR brings core.worktree to life
ok 15 - #6b: GIT_DIR set, core.worktree relative
ok 16 - #6c: GIT_DIR set, core.worktree=../wt (absolute)
ok 17 - #6d: GIT_DIR set, core.worktree=../wt (relative)
ok 18 - #6e: GIT_DIR set, core.worktree=../.. (absolute)
ok 19 - #6f: GIT_DIR set, core.worktree=../.. (relative)
ok 20 - #7: setup
ok 21 - #7: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 22 - #7: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 23 - #7: explicit GIT_WORK_TREE from parent of worktree
ok 24 - #7: explicit GIT_WORK_TREE from nephew of worktree
ok 25 - #7: chdir_to_toplevel uses worktree, not git dir
ok 26 - #7: chdir_to_toplevel uses worktree (from subdir)
ok 27 - #8: gitfile, easy case
ok 28 - #9: GIT_WORK_TREE accepted with gitfile
ok 29 - #10: GIT_DIR can point to gitfile
ok 30 - #10b: relative GIT_DIR can point to gitfile
ok 31 - #11: setup
ok 32 - #11: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 33 - #11: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 34 - #11: explicit GIT_WORK_TREE from parent of worktree
ok 35 - #11: explicit GIT_WORK_TREE from nephew of worktree
ok 36 - #11: chdir_to_toplevel uses worktree, not git dir
ok 37 - #11: chdir_to_toplevel uses worktree (from subdir)
ok 38 - #12: core.worktree with gitfile is accepted
ok 39 - #13: core.worktree+GIT_WORK_TREE accepted (with gitfile)
ok 40 - #14: core.worktree with GIT_DIR pointing to gitfile
ok 41 - #14b: core.worktree is relative to actual git dir
ok 42 - #15: setup
ok 43 - #15: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 44 - #15: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 45 - #15: explicit GIT_WORK_TREE from parent of worktree
ok 46 - #15: explicit GIT_WORK_TREE from nephew of worktree
ok 47 - #15: chdir_to_toplevel uses worktree, not git dir
ok 48 - #15: chdir_to_toplevel uses worktree (from subdir)
ok 49 - #16a: implicitly bare repo (cwd inside .git dir)
ok 50 - #16b: bare .git (cwd inside .git dir)
ok 51 - #16c: bare .git has no worktree
ok 52 - #17: GIT_WORK_TREE without explicit GIT_DIR is accepted (bare case)
ok 53 - #18: bare .git named by GIT_DIR has no worktree
ok 54 - #19: setup
ok 55 - #19: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 56 - #19: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 57 - #19: explicit GIT_WORK_TREE from parent of worktree
ok 58 - #19: explicit GIT_WORK_TREE from nephew of worktree
ok 59 - #19: chdir_to_toplevel uses worktree, not git dir
ok 60 - #19: chdir_to_toplevel uses worktree (from subdir)
ok 61 - #20a: core.worktree without GIT_DIR accepted (inside .git)
ok 62 - #20b/c: core.worktree and core.bare conflict
ok 63 - #21: setup, core.worktree warns before overriding core.bare
ok 64 - #21: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 65 - #21: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 66 - #21: explicit GIT_WORK_TREE from parent of worktree
ok 67 - #21: explicit GIT_WORK_TREE from nephew of worktree
ok 68 - #21: chdir_to_toplevel uses worktree, not git dir
ok 69 - #21: chdir_to_toplevel uses worktree (from subdir)
ok 70 - #22a: core.worktree = GIT_DIR = .git dir
ok 71 - #22b: core.worktree child of .git, GIT_DIR=.git
ok 72 - #22c: core.worktree = .git/.., GIT_DIR=.git
ok 73 - #22.2: core.worktree and core.bare conflict
ok 74 - #23: setup
ok 75 - #23: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 76 - #23: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 77 - #23: explicit GIT_WORK_TREE from parent of worktree
ok 78 - #23: explicit GIT_WORK_TREE from nephew of worktree
ok 79 - #23: chdir_to_toplevel uses worktree, not git dir
ok 80 - #23: chdir_to_toplevel uses worktree (from subdir)
ok 81 - #24: bare repo has no worktree (gitfile case)
ok 82 - #25: GIT_WORK_TREE accepted if GIT_DIR unset (bare gitfile case)
ok 83 - #26: bare repo has no worktree (GIT_DIR -> gitfile case)
ok 84 - #27: setup
ok 85 - #27: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 86 - #27: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 87 - #27: explicit GIT_WORK_TREE from parent of worktree
ok 88 - #27: explicit GIT_WORK_TREE from nephew of worktree
ok 89 - #27: chdir_to_toplevel uses worktree, not git dir
ok 90 - #27: chdir_to_toplevel uses worktree (from subdir)
ok 91 - #28: core.worktree and core.bare conflict (gitfile case)
ok 92 - #29: setup
ok 93 - #29: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 94 - #29: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 95 - #29: explicit GIT_WORK_TREE from parent of worktree
ok 96 - #29: explicit GIT_WORK_TREE from nephew of worktree
ok 97 - #29: chdir_to_toplevel uses worktree, not git dir
ok 98 - #29: chdir_to_toplevel uses worktree (from subdir)
ok 99 - #30: core.worktree and core.bare conflict (gitfile version)
ok 100 - #31: setup
ok 101 - #31: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 102 - #31: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 103 - #31: explicit GIT_WORK_TREE from parent of worktree
ok 104 - #31: explicit GIT_WORK_TREE from nephew of worktree
ok 105 - #31: chdir_to_toplevel uses worktree, not git dir
ok 106 - #31: chdir_to_toplevel uses worktree (from subdir)
# passed all 106 test(s)
1..106
*** t1511-rev-parse-caret.sh ***
ok 1 - setup
ok 2 - ref^{non-existent}
ok 3 - ref^{}
ok 4 - ref^{commit}
ok 5 - ref^{tree}
ok 6 - ref^{/.}
ok 7 - ref^{/non-existent}
ok 8 - ref^{/Initial}
# passed all 8 test(s)
1..8
*** 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.
ok 5 - checkout-index -f twice with --prefix
# passed all 5 test(s)
1..5
*** 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.
ok 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)
1..9
*** 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)
1..3
*** t2003-checkout-cache-mkdir.sh ***
ok 1 - setup
ok 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
ok 6 - use --prefix=tmp/orary/ where tmp is a symlink
ok 7 - use --prefix=tmp/orary- where tmp is a symlink
ok 8 - use --prefix=tmp- where tmp-path1 is a symlink
# passed all 8 test(s)
1..8
*** 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
ok 18 - checkout --temp symlink
# passed all 18 test(s)
1..18
*** 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)
1..3
*** t2006-checkout-index-basic.sh ***
ok 1 - checkout-index --gobbledegook
ok 2 - checkout-index -h in broken repository
# passed all 2 test(s)
1..2
*** t2007-checkout-symlink.sh ***
ok 1 - setup
ok 2 - switch from symlink to dir
ok 3 - Remove temporary directories & switch to master
ok 4 - switch from dir to symlink
# passed all 4 test(s)
1..4
*** 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)
1..8
*** t2009-checkout-statinfo.sh ***
ok 1 - setup
ok 2 - branch switching
ok 3 - path checkout
# passed all 3 test(s)
1..3
*** 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)
1..8
*** 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)
1..3
*** 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
ok 15 - merge base test setup
ok 16 - another...master
ok 17 - ...master
ok 18 - master...
# passed all 18 test(s)
1..18
*** t2013-checkout-submodule.sh ***
ok 1 - setup
ok 2 - "reset <submodule>" updates the index
ok 3 - "checkout <submodule>" updates the index only
ok 4 - "checkout <submodule>" honors diff.ignoreSubmodules
ok 5 - "checkout <submodule>" honors submodule.*.ignore from .gitmodules
ok 6 - "checkout <submodule>" honors submodule.*.ignore from .git/config
# passed all 6 test(s)
1..6
*** 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)
1..4
*** 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
ok 5 - checking out another branch from unborn state
# passed all 5 test(s)
1..5
*** 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 - git checkout -p handles deletion
ok 10 - path limiting works: dir
ok 11 - path limiting works: -- dir
ok 12 - path limiting works: HEAD^ -- dir
ok 13 - path limiting works: foo inside dir
ok 14 - none of this moved HEAD
# passed all 14 test(s)
1..14
*** t2017-checkout-orphan.sh ***
ok 1 - Setup
ok 2 - --orphan creates a new orphan branch from HEAD
ok 3 - --orphan creates a new orphan branch from <start_point>
ok 4 - --orphan must be rejected with -b
ok 5 - --orphan must be rejected with -t
ok 6 - --orphan ignores branch.autosetupmerge
ok 7 - --orphan makes reflog by default
ok 8 - --orphan does not make reflog when core.logAllRefUpdates = false
ok 9 - --orphan with -l makes reflog when core.logAllRefUpdates = false
ok 10 - giving up --orphan not committed when -l and core.logAllRefUpdates = false deletes reflog
ok 11 - --orphan is rejected with an existing name
ok 12 - --orphan refuses to switch if a merge is needed
# passed all 12 test(s)
1..12
*** t2018-checkout-branch.sh ***
ok 1 - setup
ok 2 - checkout -b to a new branch, set to HEAD
ok 3 - checkout -b to a new branch, set to an explicit ref
ok 4 - checkout -b to a new branch with unmergeable changes fails
ok 5 - checkout -f -b to a new branch with unmergeable changes discards changes
ok 6 - checkout -b to a new branch preserves mergeable changes
ok 7 - checkout -f -b to a new branch with mergeable changes discards changes
ok 8 - checkout -b to an existing branch fails
ok 9 - checkout -b to @{-1} fails with the right branch name
ok 10 - checkout -B to an existing branch resets branch to HEAD
ok 11 - checkout -B to an existing branch from detached HEAD resets branch to HEAD
ok 12 - checkout -B to an existing branch with an explicit ref resets branch to that ref
ok 13 - checkout -B to an existing branch with unmergeable changes fails
ok 14 - checkout -f -B to an existing branch with unmergeable changes discards changes
ok 15 - checkout -B to an existing branch preserves mergeable changes
ok 16 - checkout -f -B to an existing branch with mergeable changes discards changes
ok 17 - checkout -b <describe>
ok 18 - checkout -B to the current branch works
# passed all 18 test(s)
1..18
*** t2019-checkout-ambiguous-ref.sh ***
ok 1 - setup ambiguous refs
ok 2 - checkout ambiguous ref succeeds
ok 3 - checkout produces ambiguity warning
ok 4 - checkout chooses branch over tag
ok 5 - checkout reports switch to branch
ok 6 - checkout vague ref succeeds
ok 7 - checkout produces ambiguity warning
ok 8 - checkout chooses branch over tag
ok 9 - checkout reports switch to branch
# passed all 9 test(s)
1..9
*** t2020-checkout-detach.sh ***
ok 1 - setup
ok 2 - checkout branch does not detach
ok 3 - checkout tag detaches
ok 4 - checkout branch by full name detaches
ok 5 - checkout non-ref detaches
ok 6 - checkout ref^0 detaches
ok 7 - checkout --detach detaches
ok 8 - checkout --detach without branch name
ok 9 - checkout --detach errors out for non-commit
ok 10 - checkout --detach errors out for extra argument
ok 11 - checkout --detached and -b are incompatible
ok 12 - checkout --detach moves HEAD
ok 13 - checkout warns on orphan commits
ok 14 - checkout warns on orphan commits: output
ok 15 - checkout does not warn leaving ref tip
ok 16 - checkout does not warn leaving ref tip
ok 17 - checkout does not warn leaving reachable commit
ok 18 - checkout does not warn leaving reachable commit
ok 19 - tracking count is accurate after orphan check
# passed all 19 test(s)
1..19
*** t2021-checkout-overwrite.sh ***
ok 1 - setup
ok 2 - create a commit where dir a/b changed to file
ok 3 - checkout commit with dir must not remove untracked a/b
ok 4 - create a commit where dir a/b changed to symlink
ok 5 - checkout commit with dir must not remove untracked a/b
# passed all 5 test(s)
1..5
*** t2022-checkout-paths.sh ***
ok 1 - setup
ok 2 - checking out paths out of a tree does not clobber unrelated paths
# passed all 2 test(s)
1..2
*** t2023-checkout-m.sh ***
ok 1 - setup
ok 2 - git merge master
ok 3 - -m restores 2-way conflicted+resolved file
ok 4 - -m restores 3-way conflicted+resolved file
# passed all 4 test(s)
1..4
*** t2030-unresolve-info.sh ***
ok 1 - setup
ok 2 - add records switch clears
ok 3 - rm records reset clears
ok 4 - plumbing clears
ok 5 - add records checkout -m undoes
ok 6 - unmerge with plumbing
ok 7 - rerere and rerere forget
ok 8 - rerere and rerere forget (subdirectory)
# passed all 8 test(s)
1..8
*** 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)
1..4
*** 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)
1..5
*** 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)
1..7
*** 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)
1..3
*** 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)
1..5
*** t2104-update-index-skip-worktree.sh ***
ok 1 - setup
ok 2 - index is at version 2
ok 3 - update-index --skip-worktree
ok 4 - index is at version 3 after having some skip-worktree entries
ok 5 - ls-files -t
ok 6 - update-index --no-skip-worktree
ok 7 - index version is back to 2 when there is no skip-worktree entry
# passed all 7 test(s)
1..7
*** t2105-update-index-gitfile.sh ***
ok 1 - submodule with absolute .git file
ok 2 - add gitlink to absolute .git file
ok 3 - submodule with relative .git file
ok 4 - add gitlink to relative .git file
# passed all 4 test(s)
1..4
*** t2106-update-index-assume-unchanged.sh ***
ok 1 - setup
ok 2 - do not switch branches with dirty file
# passed all 2 test(s)
1..2
*** t2107-update-index-basic.sh ***
ok 1 - update-index --nonsense fails
ok 2 - update-index --nonsense dumps usage
ok 3 - update-index -h with corrupt index
# passed all 3 test(s)
1..3
*** 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
ok 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
ok 16 - "add -u non-existent" should fail
# passed all 16 test(s)
1..16
*** 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)
1..6
*** t2202-add-addremove.sh ***
ok 1 - setup
ok 2 - git add --all
# passed all 2 test(s)
1..2
*** 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 - i-t-a entry is simply ignored
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)
1..7
*** t2204-add-ignored.sh ***
ok 1 - setup
ok 2 - no complaints for unignored file
ok 3 - no complaints for unignored dir/file
ok 4 - no complaints for unignored dir
ok 5 - no complaints for unignored d*
ok 6 - complaints for ignored ign
ok 7 - complaints for ignored ign output
ok 8 - complaints for ignored ign with unignored file
ok 9 - complaints for ignored ign with unignored file output
ok 10 - complaints for ignored dir/ign
ok 11 - complaints for ignored dir/ign output
ok 12 - complaints for ignored dir/ign with unignored file
ok 13 - complaints for ignored dir/ign with unignored file output
ok 14 - complaints for ignored dir/sub
ok 15 - complaints for ignored dir/sub output
ok 16 - complaints for ignored dir/sub with unignored file
ok 17 - complaints for ignored dir/sub with unignored file output
ok 18 - complaints for ignored dir/sub/ign
ok 19 - complaints for ignored dir/sub/ign output
ok 20 - complaints for ignored dir/sub/ign with unignored file
ok 21 - complaints for ignored dir/sub/ign with unignored file output
ok 22 - complaints for ignored sub/file
ok 23 - complaints for ignored sub/file output
ok 24 - complaints for ignored sub/file with unignored file
ok 25 - complaints for ignored sub/file with unignored file output
ok 26 - complaints for ignored sub
ok 27 - complaints for ignored sub output
ok 28 - complaints for ignored sub with unignored file
ok 29 - complaints for ignored sub with unignored file output
ok 30 - complaints for ignored sub/file
ok 31 - complaints for ignored sub/file output
ok 32 - complaints for ignored sub/file with unignored file
ok 33 - complaints for ignored sub/file with unignored file output
ok 34 - complaints for ignored sub/ign
ok 35 - complaints for ignored sub/ign output
ok 36 - complaints for ignored sub/ign with unignored file
ok 37 - complaints for ignored sub/ign with unignored file output
ok 38 - complaints for ignored sub in dir
ok 39 - complaints for ignored sub in dir output
ok 40 - complaints for ignored sub/file in dir
ok 41 - complaints for ignored sub/file in dir output
ok 42 - complaints for ignored sub/ign in dir
ok 43 - complaints for ignored sub/ign in dir output
ok 44 - complaints for ignored ign in sub
ok 45 - complaints for ignored ign in sub output
ok 46 - complaints for ignored file in sub
ok 47 - complaints for ignored file in sub output
# passed all 47 test(s)
1..47
*** t2300-cd-to-toplevel.sh ***
ok 1 - at physical root
ok 2 - at physical subdir
ok 3 - at symbolic root
ok 4 - at symbolic subdir
ok 5 - at internal symbolic subdir
# passed all 5 test(s)
1..5
*** t3000-ls-files-others.sh ***
ok 1 - setup 
ok 2 - setup: expected output
ok 3 - ls-files --others
ok 4 - ls-files --others --directory
ok 5 - --no-empty-directory hides empty directory
ok 6 - ls-files --others with symlinked submodule
# passed all 6 test(s)
1..6
*** t3001-ls-files-others-exclude.sh ***
ok 1 - git ls-files --others with various exclude options.
ok 2 - git ls-files --others with 
 line endings.
ok 3 - setup skip-worktree gitignore
ok 4 - git ls-files --others with various exclude options.
ok 5 - restore gitignore
ok 6 - git status honors core.excludesfile
ok 7 - trailing slash in exclude allows directory match(1)
ok 8 - trailing slash in exclude allows directory match (2)
ok 9 - trailing slash in exclude forces directory match (1)
ok 10 - trailing slash in exclude forces directory match (2)
ok 11 - negated exclude matches can override previous ones
ok 12 - subdirectory ignore (setup)
ok 13 - subdirectory ignore (toplevel)
ok 14 - subdirectory ignore (l1/l2)
ok 15 - subdirectory ignore (l1)
# passed all 15 test(s)
1..15
*** 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)
1..6
*** t3003-ls-files-exclude.sh ***
ok 1 - create repo with file
ok 2 - ls-files output contains file (cached)
ok 3 - ls-files output contains file (modified)
ok 4 - add file to gitignore
ok 5 - ls-files output contains file (cached)
ok 6 - ls-files output contains file (modified)
ok 7 - ls-files -i lists only tracked-but-ignored files
# passed all 7 test(s)
1..7
*** t3004-ls-files-basic.sh ***
ok 1 - ls-files in empty repository
ok 2 - ls-files with nonexistent path
ok 3 - ls-files with nonsense option
ok 4 - ls-files -h in corrupt repository
# passed all 4 test(s)
1..4
*** t3005-ls-files-relative.sh ***
ok 1 - prepare
ok 2 - ls-files with mixed levels
ok 3 - ls-files -c
ok 4 - ls-files -o
# passed all 4 test(s)
1..4
*** 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)
1..5
*** t3020-ls-files-error-unmatch.sh ***
ok 1 - setup
ok 2 - git ls-files --error-unmatch should fail with unmatched path.
ok 3 - git ls-files --error-unmatch should succeed eith matched paths.
# passed all 3 test(s)
1..3
*** 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 - setup 7
ok 8 - setup 8
ok 9 - setup 9
ok 10 - merge-recursive simple
ok 11 - merge-recursive result
ok 12 - fail if the index has unresolved entries
ok 13 - merge-recursive remove conflict
ok 14 - merge-recursive remove conflict
ok 15 - merge-recursive d/f simple
ok 16 - merge-recursive result
ok 17 - merge-recursive d/f conflict
ok 18 - merge-recursive d/f conflict result
ok 19 - merge-recursive d/f conflict the other way
ok 20 - merge-recursive d/f conflict result the other way
ok 21 - merge-recursive d/f conflict
ok 22 - merge-recursive d/f conflict result
ok 23 - merge-recursive d/f conflict
ok 24 - merge-recursive d/f conflict result
ok 25 - reset and 3-way merge
ok 26 - reset and bind merge
ok 27 - merge removes empty directories
not ok 28 - merge-recursive simple w/submodule # TODO known breakage
not ok 29 - merge-recursive simple w/submodule result # TODO known breakage
ok 30 - merge-recursive copy vs. rename
not ok 31 - merge-recursive rename vs. rename/symlink # TODO known breakage
# still have 3 known breakage(s)
# passed all remaining 28 test(s)
1..31
*** 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)
1..2
*** t3032-merge-recursive-options.sh ***
ok 1 - setup
ok 2 - naive merge fails
ok 3 - --ignore-space-change makes merge succeed
ok 4 - naive cherry-pick fails
ok 5 - -Xignore-space-change makes cherry-pick succeed
ok 6 - --ignore-space-change: our w/s-only change wins
ok 7 - --ignore-space-change: their real change wins over w/s
ok 8 - --ignore-space-change: does not ignore new spaces
ok 9 - --ignore-all-space drops their new spaces
ok 10 - --ignore-all-space keeps our new spaces
ok 11 - --ignore-space-at-eol
# passed all 11 test(s)
1..11
*** t3040-subprojects-basic.sh ***
ok 1 - setup: create superproject
ok 2 - setup: 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)
1..11
*** t3050-subprojects-fetch.sh ***
ok 1 - setup
ok 2 - clone
ok 3 - advance
ok 4 - fetch
# passed all 4 test(s)
1..4
*** 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)
1..3
*** 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
ok 14 - ls-tree with one path a prefix of the other
# passed all 14 test(s)
1..14
*** 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
ok 11 - ls-tree --full-name
ok 12 - ls-tree --full-tree
ok 13 - ls-tree --full-tree -r
ok 14 - ls-tree --abbrev=5
ok 15 - ls-tree --name-only
ok 16 - ls-tree --name-only -r
# passed all 16 test(s)
1..16
*** t3102-ls-tree-wildcards.sh ***
ok 1 - setup
ok 2 - ls-tree a[a] matches literally
# passed all 2 test(s)
1..2
*** t3103-ls-tree-misc.sh ***
ok 1 - setup
ok 2 - ls-tree fails with non-zero exit code on broken tree
# passed all 2 test(s)
1..2
*** t3200-branch.sh ***
ok 1 - prepare a trivial repository
ok 2 - git branch --help should not have created a bogus branch
ok 3 - branch -h in broken repository
ok 4 - git branch abc should create a branch
ok 5 - git branch a/b/c should create a branch
ok 6 - git branch -l d/e/f should create a branch and a log
ok 7 - git branch -d d/e/f should delete a branch and a log
ok 8 - git branch j/k should work after branch j has been deleted
ok 9 - git branch l should work after branch l/m has been deleted
ok 10 - git branch -m dumps usage
ok 11 - git branch -m m m/m should work
ok 12 - git branch -m n/n n should work
ok 13 - git branch -m o/o o should fail when o/p exists
ok 14 - git branch -m q r/q should fail when r exists
ok 15 - git branch -M foo bar should fail when bar is checked out
ok 16 - git branch -M baz bam should succeed when baz is checked out
ok 17 - git branch -M master should work when master is checked out
ok 18 - git branch -M master master should work when master is checked out
ok 19 - git branch -M master2 master2 should work when master is checked out
ok 20 - git branch -v -d t should work
ok 21 - git branch -v -m t s should work
ok 22 - git branch -m -d t s should fail
ok 23 - git branch --list -d t should fail
ok 24 - git branch -m q q2 without config should succeed
ok 25 - git branch -m s/s s should work when s/t is deleted
ok 26 - config information was renamed, too
ok 27 - renaming a symref is not allowed
ok 28 - git branch -m u v should fail when the reflog for u is a symlink
ok 29 - test tracking setup via --track
ok 30 - test tracking setup (non-wildcard, matching)
ok 31 - test tracking setup (non-wildcard, not matching)
ok 32 - test tracking setup via config
ok 33 - test overriding tracking setup via --no-track
ok 34 - no tracking without .fetch entries
ok 35 - test tracking setup via --track but deeper
ok 36 - test deleting branch deletes branch config
ok 37 - test deleting branch without config
ok 38 - test --track without .fetch entries
ok 39 - branch from non-branch HEAD w/autosetupmerge=always
ok 40 - branch from non-branch HEAD w/--track causes failure
ok 41 - branch from tag w/--track causes failure
ok 42 - git checkout -b g/h/i -l should create a branch and a log
ok 43 - checkout -b makes reflog by default
ok 44 - checkout -b does not make reflog when core.logAllRefUpdates = false
ok 45 - checkout -b with -l makes reflog when core.logAllRefUpdates = false
ok 46 - avoid ambiguous track
ok 47 - autosetuprebase local on a tracked local branch
ok 48 - autosetuprebase always on a tracked local branch
ok 49 - autosetuprebase remote on a tracked local branch
ok 50 - autosetuprebase never on a tracked local branch
ok 51 - autosetuprebase local on a tracked remote branch
ok 52 - autosetuprebase never on a tracked remote branch
ok 53 - autosetuprebase remote on a tracked remote branch
ok 54 - autosetuprebase always on a tracked remote branch
ok 55 - autosetuprebase unconfigured on a tracked remote branch
ok 56 - autosetuprebase unconfigured on a tracked local branch
ok 57 - autosetuprebase unconfigured on untracked local branch
ok 58 - autosetuprebase unconfigured on untracked remote branch
ok 59 - autosetuprebase never on an untracked local branch
ok 60 - autosetuprebase local on an untracked local branch
ok 61 - autosetuprebase remote on an untracked local branch
ok 62 - autosetuprebase always on an untracked local branch
ok 63 - autosetuprebase never on an untracked remote branch
ok 64 - autosetuprebase local on an untracked remote branch
ok 65 - autosetuprebase remote on an untracked remote branch
ok 66 - autosetuprebase always on an untracked remote branch
ok 67 - autosetuprebase always on detached HEAD
ok 68 - detect misconfigured autosetuprebase (bad value)
ok 69 - detect misconfigured autosetuprebase (no value)
ok 70 - attempt to delete a branch without base and unmerged to HEAD
ok 71 - attempt to delete a branch merged to its base
ok 72 - attempt to delete a branch merged to its base
ok 73 - use set-upstream on the current branch
ok 74 - use --edit-description
ok 75 - detect typo in branch name when using --edit-description
ok 76 - refuse --edit-description on unborn branch for now
# passed all 76 test(s)
1..76
*** 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)
1..8
*** t3202-show-branch-octopus.sh ***
ok 1 - setup
ok 2 - show-branch with more than 8 branches
ok 3 - show-branch with showbranch.default
# passed all 3 test(s)
1..3
*** 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 --list shows local branches
ok 6 - git branch --list pattern shows matching local branches
ok 7 - git branch -r shows remote branches
ok 8 - git branch -a shows local and remote branches
ok 9 - git branch -v shows branch summaries
ok 10 - git branch --list -v pattern shows branch summaries
ok 11 - git branch -v pattern does not show branch summaries
ok 12 - git branch shows detached HEAD properly
# passed all 12 test(s)
1..12
*** 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 - see if git pack-refs --prune removes empty dirs
ok 8 - git branch g should work when git branch g/h has been deleted
ok 9 - git branch i/j/k should barf if branch i exists
ok 10 - test git branch k after branch k/l/m and k/lm have been deleted
ok 11 - test git branch n after some branch deletion and pruning
ok 12 - see if up-to-date packed refs are preserved
ok 13 - pack, prune and repack
# passed all 13 test(s)
1..13
*** t3300-funny-names.sh ***
ok 1 - setup expect
ok 2 - git ls-files no-funny
ok 3 - setup expect
ok 4 - git ls-files with-funny
ok 5 - setup expect
ok 6 - git ls-files -z with-funny
ok 7 - setup expect
ok 8 - git ls-tree with funny
ok 9 - setup expect
ok 10 - git diff-index with-funny
ok 11 - git diff-tree with-funny
ok 12 - setup expect
ok 13 - git diff-index -z with-funny
ok 14 - git diff-tree -z with-funny
ok 15 - setup expect
ok 16 - git diff-tree -C with-funny
ok 17 - setup expect
ok 18 - git diff-tree delete with-funny
ok 19 - setup expect
ok 20 - git diff-tree delete with-funny
ok 21 - setup expect
ok 22 - git diff-tree delete with-funny
ok 23 - setup expect
ok 24 - git diff-tree rename with-funny applied
ok 25 - setup expect
ok 26 - git diff-tree delete with-funny applied
ok 27 - git apply non-git diff
# passed all 27 test(s)
1..27
*** t3301-notes.sh ***
ok 1 - cannot annotate non-existing HEAD
ok 2 - setup
ok 3 - need valid notes ref
ok 4 - refusing to add notes in refs/heads/
ok 5 - refusing to edit notes in refs/remotes/
ok 6 - handle empty notes gracefully
ok 7 - show non-existent notes entry with %N
ok 8 - create notes
ok 9 - show notes entry with %N
ok 10 - create reflog entry
ok 11 - edit existing notes
ok 12 - cannot "git notes add -m" where notes already exists
ok 13 - can overwrite existing note with "git notes add -f -m"
ok 14 - add w/no options on existing note morphs into edit
ok 15 - can overwrite existing note with "git notes add -f"
ok 16 - show notes
ok 17 - create multi-line notes (setup)
ok 18 - show multi-line notes
ok 19 - create -F notes (setup)
ok 20 - show -F notes
ok 21 - Re-adding -F notes without -f fails
ok 22 - git log --pretty=raw does not show notes
ok 23 - git log --show-notes
ok 24 - git log --no-notes
ok 25 - git format-patch does not show notes
ok 26 - git format-patch --show-notes does show notes
ok 27 - git show  does show notes
ok 28 - git show --pretty does not show notes
ok 29 - git show --pretty=raw does not show notes
ok 30 - git show --pretty=short does not show notes
ok 31 - git show --pretty=medium does not show notes
ok 32 - git show --pretty=full does not show notes
ok 33 - git show --pretty=fuller does not show notes
ok 34 - git show --pretty=format:%s does not show notes
ok 35 - git show --oneline does not show notes
ok 36 - setup alternate notes ref
ok 37 - git log --notes shows default notes
ok 38 - git log --notes=X shows only X
ok 39 - git log --notes --notes=X shows both
ok 40 - git log --no-notes resets default state
ok 41 - git log --no-notes resets ref list
ok 42 - create -m notes (setup)
ok 43 - show -m notes
ok 44 - remove note with add -f -F /dev/null (setup)
ok 45 - verify note removal with -F /dev/null
ok 46 - do not create empty note with -m "" (setup)
ok 47 - verify non-creation of note with -m ""
ok 48 - create note with combination of -m and -F
ok 49 - remove note with "git notes remove" (setup)
ok 50 - verify note removal with "git notes remove"
ok 51 - removing non-existing note should not create new commit
ok 52 - removing more than one
ok 53 - removing is atomic
ok 54 - removing with --ignore-missing
ok 55 - removing with --ignore-missing but bogus ref
ok 56 - remove reads from --stdin
ok 57 - remove --stdin is also atomic
ok 58 - removing with --stdin --ignore-missing
ok 59 - list notes with "git notes list"
ok 60 - list notes with "git notes"
ok 61 - list specific note with "git notes list <object>"
ok 62 - listing non-existing notes fails
ok 63 - append to existing note with "git notes append"
ok 64 - "git notes list" does not expand to "git notes list HEAD"
ok 65 - appending empty string does not change existing note
ok 66 - git notes append == add when there is no existing note
ok 67 - appending empty string to non-existing note does not create note
ok 68 - create other note on a different notes ref (setup)
ok 69 - Do not show note on other ref by default
ok 70 - Do show note when ref is given in GIT_NOTES_REF
ok 71 - Do show note when ref is given in core.notesRef config
ok 72 - Do not show note when core.notesRef is overridden
ok 73 - Show all notes when notes.displayRef=refs/notes/*
ok 74 - core.notesRef is implicitly in notes.displayRef
ok 75 - notes.displayRef can be given more than once
ok 76 - notes.displayRef respects order
ok 77 - GIT_NOTES_DISPLAY_REF works
ok 78 - GIT_NOTES_DISPLAY_REF overrides config
ok 79 - --show-notes=* adds to GIT_NOTES_DISPLAY_REF
ok 80 - --no-standard-notes
ok 81 - --standard-notes
ok 82 - --show-notes=ref accumulates
ok 83 - Allow notes on non-commits (trees, blobs, tags)
ok 84 - create note from other note with "git notes add -C"
ok 85 - create note from non-existing note with "git notes add -C" fails
ok 86 - create note from other note with "git notes add -c"
ok 87 - create note from non-existing note with "git notes add -c" fails
ok 88 - append to note from other note with "git notes append -C"
ok 89 - create note from other note with "git notes append -c"
ok 90 - append to note from other note with "git notes append -c"
ok 91 - copy note with "git notes copy"
ok 92 - prevent overwrite with "git notes copy"
ok 93 - allow overwrite with "git notes copy -f"
ok 94 - cannot copy note from object without notes
ok 95 - git notes copy --stdin
ok 96 - git notes copy --for-rewrite (unconfigured)
ok 97 - git notes copy --for-rewrite (enabled)
ok 98 - git notes copy --for-rewrite (disabled)
ok 99 - git notes copy --for-rewrite (overwrite)
ok 100 - git notes copy --for-rewrite (ignore)
ok 101 - git notes copy --for-rewrite (append)
ok 102 - git notes copy --for-rewrite (append two to one)
ok 103 - git notes copy --for-rewrite (append empty)
ok 104 - GIT_NOTES_REWRITE_MODE works
ok 105 - GIT_NOTES_REWRITE_REF works
ok 106 - GIT_NOTES_REWRITE_REF overrides config
ok 107 - git notes copy diagnoses too many or too few parameters
ok 108 - git notes get-ref (no overrides)
ok 109 - git notes get-ref (core.notesRef)
ok 110 - git notes get-ref (GIT_NOTES_REF)
ok 111 - git notes get-ref (--ref)
# passed all 111 test(s)
1..111
*** t3302-notes-index-expensive.sh ***
ok 1 - setup / mkdir
ok 2 - setup 10
ok 3 - notes work
ok 4 - notes timing with /usr/bin/time
ok 5 - teardown / cd ..
ok 6 # skip setup / mkdir (missing EXPENSIVE)
ok 7 # skip setup 100 (missing EXPENSIVE)
ok 8 # skip notes work (missing EXPENSIVE)
ok 9 # skip notes timing with /usr/bin/time (missing EXPENSIVE of USR_BIN_TIME,EXPENSIVE)
ok 10 # skip teardown / cd .. (missing EXPENSIVE)
ok 11 # skip setup / mkdir (missing EXPENSIVE)
ok 12 # skip setup 1000 (missing EXPENSIVE)
ok 13 # skip notes work (missing EXPENSIVE)
ok 14 # skip notes timing with /usr/bin/time (missing EXPENSIVE of USR_BIN_TIME,EXPENSIVE)
ok 15 # skip teardown / cd .. (missing EXPENSIVE)
ok 16 # skip setup / mkdir (missing EXPENSIVE)
ok 17 # skip setup 10000 (missing EXPENSIVE)
ok 18 # skip notes work (missing EXPENSIVE)
ok 19 # skip notes timing with /usr/bin/time (missing EXPENSIVE of USR_BIN_TIME,EXPENSIVE)
ok 20 # skip teardown / cd .. (missing EXPENSIVE)
# passed all 20 test(s)
1..20
*** t3303-notes-subtrees.sh ***
ok 1 - setup: create 100 commits
ok 2 - test notes in 2/38-fanout
ok 3 - verify notes in 2/38-fanout
ok 4 - test notes in 2/2/36-fanout
ok 5 - verify notes in 2/2/36-fanout
ok 6 - test notes in 2/2/2/34-fanout
ok 7 - verify notes in 2/2/2/34-fanout
ok 8 - test same notes in no fanout and 2/38-fanout
ok 9 - verify same notes in no fanout and 2/38-fanout
ok 10 - test same notes in no fanout and 2/2/36-fanout
ok 11 - verify same notes in no fanout and 2/2/36-fanout
ok 12 - test same notes in 2/38-fanout and 2/2/36-fanout
ok 13 - verify same notes in 2/38-fanout and 2/2/36-fanout
ok 14 - test same notes in 2/2/2/34-fanout and 2/2/36-fanout
ok 15 - verify same notes in 2/2/2/34-fanout and 2/2/36-fanout
ok 16 - test notes in no fanout concatenated with 2/38-fanout
ok 17 - verify notes in no fanout concatenated with 2/38-fanout
ok 18 - test notes in no fanout concatenated with 2/2/36-fanout
ok 19 - verify notes in no fanout concatenated with 2/2/36-fanout
ok 20 - test notes in 2/38-fanout concatenated with 2/2/36-fanout
ok 21 - verify notes in 2/38-fanout concatenated with 2/2/36-fanout
ok 22 - test notes in 2/2/36-fanout concatenated with 2/2/2/34-fanout
ok 23 - verify notes in 2/2/36-fanout concatenated with 2/2/2/34-fanout
# passed all 23 test(s)
1..23
*** t3304-notes-mixed.sh ***
ok 1 - setup: create a couple of commits
ok 2 - create a notes tree with both notes and non-notes
ok 3 - verify contents of notes
ok 4 - verify contents of non-notes
ok 5 - git-notes preserves non-notes
ok 6 - verify contents of non-notes after git-notes
# passed all 6 test(s)
1..6
*** t3305-notes-fanout.sh ***
ok 1 - creating many notes with git-notes
ok 2 - many notes created correctly with git-notes
ok 3 - many notes created with git-notes triggers fanout
ok 4 - deleting most notes with git-notes
ok 5 - most notes deleted correctly with git-notes
ok 6 - deleting most notes triggers fanout consolidation
# passed all 6 test(s)
1..6
*** t3306-notes-prune.sh ***
ok 1 - setup: create a few commits with notes
ok 2 - verify commits and notes
ok 3 - remove some commits
ok 4 - verify that commits are gone
ok 5 - verify that notes are still present
ok 6 - prune -n does not remove notes
ok 7 - prune -n lists prunable notes
ok 8 - prune notes
ok 9 - verify that notes are gone
ok 10 - remove some commits
ok 11 - prune -v notes
ok 12 - verify that notes are gone
# passed all 12 test(s)
1..12
*** t3307-notes-man.sh ***
ok 1 - setup
ok 2 - example 1: notes to add an Acked-by line
ok 3 - example 2: binary notes
# passed all 3 test(s)
1..3
*** t3308-notes-merge.sh ***
ok 1 - setup
ok 2 - verify initial notes (x)
ok 3 - fail to merge empty notes ref into empty notes ref (z => y)
ok 4 - fail to merge into various non-notes refs
ok 5 - fail to merge various non-note-trees
ok 6 - merge notes into empty notes ref (x => y)
ok 7 - merge empty notes ref (z => y)
ok 8 - change notes on other notes ref (y)
ok 9 - merge previous notes commit (y^ => y) => No-op
ok 10 - verify changed notes on other notes ref (y)
ok 11 - verify unchanged notes on original notes ref (x)
ok 12 - merge original notes (x) into changed notes (y) => No-op
ok 13 - merge changed (y) into original (x) => Fast-forward
ok 14 - merge empty notes ref (z => y)
ok 15 - change notes on other notes ref (y)
ok 16 - change notes on notes ref (x)
ok 17 - merge y into x => Non-conflicting 3-way merge
ok 18 - create notes on new, separate notes ref (w)
ok 19 - merge w into x => Non-conflicting history-less merge
# passed all 19 test(s)
1..19
*** t3309-notes-merge-auto-resolve.sh ***
ok 1 - setup commits
ok 2 - setup merge base (x)
ok 3 - verify state of merge base (x)
ok 4 - setup local branch (y)
ok 5 - verify state of local branch (y)
ok 6 - setup remote branch (z)
ok 7 - verify state of remote branch (z)
ok 8 - merge z into y with invalid strategy => Fail/No changes
ok 9 - merge z into y with "ours" strategy => Non-conflicting 3-way merge
ok 10 - reset to pre-merge state (y)
ok 11 - merge z into y with "theirs" strategy => Non-conflicting 3-way merge
ok 12 - reset to pre-merge state (y)
ok 13 - merge z into y with "union" strategy => Non-conflicting 3-way merge
ok 14 - reset to pre-merge state (y)
ok 15 - merge y into z with "union" strategy => Non-conflicting 3-way merge
ok 16 - reset to pre-merge state (z)
ok 17 - merge y into z with "cat_sort_uniq" strategy => Non-conflicting 3-way merge
# passed all 17 test(s)
1..17
*** t3310-notes-merge-manual-resolve.sh ***
ok 1 - setup commits
ok 2 - setup merge base (x)
ok 3 - setup local branch (y)
ok 4 - setup remote branch (z)
ok 5 - merge z into m (== y) with default ("manual") resolver => Conflicting 3-way merge
ok 6 - change notes in z
ok 7 - cannot do merge w/conflicts when previous merge is unfinished
ok 8 - setup unrelated notes ref (w)
ok 9 - can do merge without conflicts even if previous merge is unfinished (x => w)
ok 10 - finalize conflicting merge (z => m)
ok 11 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge
ok 12 - abort notes merge
ok 13 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge
ok 14 - add + remove notes in finalized merge (z => m)
ok 15 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge
ok 16 - reset notes ref m to somewhere else (w)
ok 17 - fail to finalize conflicting merge if underlying ref has moved in the meantime (m != NOTES_MERGE_PARTIAL^1)
ok 18 - resolve situation by aborting the notes merge
# passed all 18 test(s)
1..18
*** t3311-notes-merge-fanout.sh ***
ok 1 - setup a few initial commits with notes (notes ref: x)
ok 2 - sanity check (x)
ok 3 - Add a few hundred commits w/notes to trigger fanout (x -> y)
ok 4 - notes tree has fanout (y)
ok 5 - No-op merge (already included) (x => y)
ok 6 - Fast-forward merge (y => x)
ok 7 - change some of the initial 5 notes (x -> z)
ok 8 - notes tree has no fanout (z)
ok 9 - successful merge without conflicts (y => z)
ok 10 - notes tree still has fanout after merge (m)
ok 11 - introduce conflicting changes (y -> w)
ok 12 - successful merge using "ours" strategy (z => w)
ok 13 - notes tree still has fanout after merge (m)
ok 14 - successful merge using "theirs" strategy (z => w)
ok 15 - notes tree still has fanout after merge (m)
ok 16 - successful merge using "union" strategy (z => w)
ok 17 - notes tree still has fanout after merge (m)
ok 18 - successful merge using "cat_sort_uniq" strategy (z => w)
ok 19 - notes tree still has fanout after merge (m)
ok 20 - fails to merge using "manual" strategy (z => w)
ok 21 - notes tree still has fanout after merge (m)
ok 22 - verify conflict entries (with no fanout)
ok 23 - resolve and finalize merge (z => w)
ok 24 - notes tree still has fanout after merge (m)
# passed all 24 test(s)
1..24
*** 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 - the rebase operation should not have destroyed author information (2)
ok 11 - HEAD was detached during rebase
ok 12 - rebase after merge master
ok 13 - rebase of history with merges is linearized
ok 14 - rebase of history with merges after upstream merge is linearized
ok 15 - rebase a single mode change
ok 16 - rebase is not broken by diff.renames
ok 17 - setup: recover
ok 18 - Show verbose error when HEAD could not be detached
ok 19 - fail when upstream arg is missing and not on branch
ok 20 - fail when upstream arg is missing and not configured
ok 21 - default to @{upstream} when upstream arg is missing
ok 22 - rebase -q is quiet
ok 23 - Rebase a commit that sprinkles CRs in
ok 24 - rebase can copy notes
ok 25 - rebase -m can copy notes
ok 26 - rebase commit with an ancient timestamp
# passed all 26 test(s)
1..26
*** 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)
1..4
*** 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 - rebase -Xtheirs
ok 8 - merge and rebase should match
ok 9 - picking rebase
ok 10 - rebase -s funny -Xopt
# passed all 10 test(s)
1..10
*** t3403-rebase-skip.sh ***
ok 1 - setup
ok 2 - rebase with git am -3 (default)
ok 3 - rebase --skip can not be used with other options
ok 4 - rebase --skip with am -3
ok 5 - rebase moves back to skip-reference
ok 6 - checkout skip-merge
ok 7 - rebase with --merge
ok 8 - rebase --skip with --merge
ok 9 - merge and reference trees equal
ok 10 - moved back to branch correctly
# passed all 10 test(s)
1..10
*** t3404-rebase-interactive.sh ***
ok 1 - setup
ok 2 - rebase -i with the exec command
ok 3 - rebase -i with the exec command runs from tree root
ok 4 - rebase -i with the exec command checks tree cleanness
ok 5 - no changes are a nop
ok 6 - test the [branch] option
ok 7 - test --onto <branch>
ok 8 - rebase on top of a non-conflicting commit
ok 9 - reflog for the branch shows state before rebase
ok 10 - exchange two commits
ok 11 - stop on conflicting pick
ok 12 - abort
ok 13 - abort with error when new base cannot be checked out
ok 14 - retain authorship
ok 15 - squash
ok 16 - retain authorship when squashing
ok 17 - -p handles "no changes" gracefully
not ok 18 - exchange two commits with -p # TODO known breakage
ok 19 - preserve merges with -p
ok 20 - edit ancestor with -p
ok 21 - --continue tries to commit
ok 22 - verbose flag is heeded, even after --continue
ok 23 - multi-squash only fires up editor once
ok 24 - multi-fixup does not fire up editor
ok 25 - commit message used after conflict
ok 26 - commit message retained after conflict
ok 27 - squash and fixup generate correct log messages
ok 28 - squash ignores comments
ok 29 - squash ignores blank lines
ok 30 - squash works as expected
ok 31 - interrupted squash works as expected
ok 32 - interrupted squash works as expected (case 2)
ok 33 - ignore patch if in upstream
ok 34 - --continue tries to commit, even for "edit"
ok 35 - aborted --continue does not squash commits after "edit"
ok 36 - auto-amend only edited commits after "edit"
ok 37 - clean error after failed "exec"
ok 38 - rebase a detached HEAD
ok 39 - rebase a commit violating pre-commit
ok 40 - rebase with a file named HEAD in worktree
ok 41 - do "noop" when there is nothing to cherry-pick
ok 42 - submodule rebase setup
ok 43 - submodule rebase -i
ok 44 - avoid unnecessary reset
ok 45 - reword
ok 46 - rebase -i can copy notes
ok 47 - rebase -i can copy notes over a fixup
ok 48 - rebase while detaching HEAD
ok 49 - always cherry-pick with --no-ff
ok 50 - set up commits with funny messages
ok 51 - rebase-i history with funny messages
# still have 1 known breakage(s)
# passed all remaining 50 test(s)
1..51
*** t3405-rebase-malformed.sh ***
ok 1 - setup
ok 2 - rebase
# passed all 2 test(s)
1..2
*** 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)
1..5
*** 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 --abort does not update reflog
ok 6 - rebase --abort can not be used with other options
ok 7 - rebase --merge --abort
ok 8 - rebase --merge --abort after --skip
ok 9 - rebase --merge --abort after --continue
ok 10 - rebase --merge --abort does not update reflog
ok 11 - rebase --abort can not be used with other options
# passed all 11 test(s)
1..11
*** t3408-rebase-multi-line.sh ***
ok 1 - setup
ok 2 - rebase
# passed all 2 test(s)
1..2
*** 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
ok 4 - rebase -p preserves no-ff merges
ok 5 - rebase -p works when base inside second parent
# passed all 5 test(s)
1..5
*** 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)
1..3
*** 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)
1..3
*** 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)
1..31
*** 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)
1..15
*** 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)
1..4
*** t3415-rebase-autosquash.sh ***
ok 1 - setup
ok 2 - auto fixup (option)
ok 3 - auto fixup (config)
ok 4 - auto squash (option)
ok 5 - auto squash (config)
ok 6 - misspelled auto squash
ok 7 - auto squash that matches 2 commits
ok 8 - auto squash that matches a commit after the squash
ok 9 - auto squash that matches a sha1
ok 10 - auto squash that matches longer sha1
ok 11 - use commit --fixup
ok 12 - use commit --squash
# passed all 12 test(s)
1..12
*** t3416-rebase-onto-threedots.sh ***
ok 1 - setup
ok 2 - rebase --onto master...topic
ok 3 - rebase --onto master...
ok 4 - rebase --onto master...side
ok 5 - rebase -i --onto master...topic
ok 6 - rebase -i --onto master...
ok 7 - rebase -i --onto master...side
# passed all 7 test(s)
1..7
*** t3417-rebase-whitespace-fix.sh ***
ok 1 - blank line at end of file; extend at end of file
ok 2 - two blanks line at end of file; extend at end of file
ok 3 - same, but do not remove trailing spaces
ok 4 - at beginning of file
# passed all 4 test(s)
1..4
*** t3418-rebase-continue.sh ***
ok 1 - setup
ok 2 - interactive rebase --continue works with touched file
ok 3 - non-interactive rebase --continue works with touched file
ok 4 - rebase --continue can not be used with other options
ok 5 - rebase --continue remembers merge strategy and options
ok 6 - rebase --continue remembers --rerere-autoupdate
# passed all 6 test(s)
1..6
*** t3419-rebase-patch-id.sh ***
ok 1 - setup
ok 2 - setup: 500 lines
ok 3 - setup attributes
ok 4 - detect upstream patch
ok 5 - do not drop patch
ok 6 # skip setup: 50000 lines (missing EXPENSIVE)
ok 7 # skip setup attributes (missing EXPENSIVE)
ok 8 # skip detect upstream patch (missing EXPENSIVE)
ok 9 # skip do not drop patch (missing EXPENSIVE)
# passed all 9 test(s)
1..9
*** 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)
1..3
*** t3501-revert-cherry-pick.sh ***
ok 1 - setup
ok 2 - cherry-pick --nonsense
ok 3 - revert --nonsense
ok 4 - cherry-pick after renaming branch
ok 5 - revert after renaming branch
ok 6 - cherry-pick on stat-dirty working tree
ok 7 - revert forbidden on dirty working tree
# passed all 7 test(s)
1..7
*** 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)
1..11
*** t3503-cherry-pick-root.sh ***
ok 1 - setup
ok 2 - cherry-pick a root commit
ok 3 - revert a root commit
ok 4 - cherry-pick a root commit with an external strategy
ok 5 - revert a root commit with an external strategy
ok 6 - cherry-pick two root commits
# passed all 6 test(s)
1..6
*** 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)
1..6
*** t3505-cherry-pick-empty.sh ***
ok 1 - setup
ok 2 - cherry-pick an empty commit
ok 3 - index lockfile was removed
ok 4 - cherry-pick a commit with an empty message
ok 5 - index lockfile was removed
# passed all 5 test(s)
1..5
*** t3506-cherry-pick-ff.sh ***
ok 1 - setup
ok 2 - cherry-pick using --ff fast forwards
ok 3 - cherry-pick not using --ff does not fast forwards
ok 4 - merge setup
ok 5 - cherry-pick a non-merge with --ff and -m should fail
ok 6 - cherry pick a merge with --ff but without -m should fail
ok 7 - cherry pick with --ff a merge (1)
ok 8 - cherry pick with --ff a merge (2)
ok 9 - cherry pick a merge relative to nonexistent parent with --ff should fail
ok 10 - cherry pick a root commit with --ff
# passed all 10 test(s)
1..10
*** t3507-cherry-pick-conflict.sh ***
ok 1 - setup
ok 2 - failed cherry-pick does not advance HEAD
ok 3 - advice from failed cherry-pick
ok 4 - failed cherry-pick sets CHERRY_PICK_HEAD
ok 5 - successful cherry-pick does not set CHERRY_PICK_HEAD
ok 6 - cherry-pick --no-commit does not set CHERRY_PICK_HEAD
ok 7 - cherry-pick w/dirty tree does not set CHERRY_PICK_HEAD
ok 8 - cherry-pick --strategy=resolve w/dirty tree does not set CHERRY_PICK_HEAD
ok 9 - GIT_CHERRY_PICK_HELP suppresses CHERRY_PICK_HEAD
ok 10 - git reset clears CHERRY_PICK_HEAD
ok 11 - failed commit does not clear CHERRY_PICK_HEAD
ok 12 - cancelled commit does not clear CHERRY_PICK_HEAD
ok 13 - successful commit clears CHERRY_PICK_HEAD
ok 14 - failed cherry-pick produces dirty index
ok 15 - failed cherry-pick registers participants in index
ok 16 - failed cherry-pick describes conflict in work tree
ok 17 - diff3 -m style
ok 18 - revert also handles conflicts sanely
ok 19 - failed revert sets REVERT_HEAD
ok 20 - successful revert does not set REVERT_HEAD
ok 21 - revert --no-commit sets REVERT_HEAD
ok 22 - revert w/dirty tree does not set REVERT_HEAD
ok 23 - GIT_CHERRY_PICK_HELP does not suppress REVERT_HEAD
ok 24 - git reset clears REVERT_HEAD
ok 25 - failed commit does not clear REVERT_HEAD
ok 26 - revert conflict, diff3 -m style
# passed all 26 test(s)
1..26
*** t3508-cherry-pick-many-commits.sh ***
ok 1 - setup
ok 2 - cherry-pick first..fourth works
ok 3 - cherry-pick --strategy resolve first..fourth works
ok 4 - cherry-pick --ff first..fourth works
ok 5 - cherry-pick -n first..fourth works
ok 6 - revert first..fourth works
ok 7 - revert ^first fourth works
ok 8 - revert fourth fourth~1 fourth~2 works
ok 9 - cherry-pick -3 fourth works
ok 10 - cherry-pick --stdin works
# passed all 10 test(s)
1..10
*** t3509-cherry-pick-merge-df.sh ***
ok 1 - Initialize repository
ok 2 - Setup rename across paths each below D/F conflicts
ok 3 - Cherry-pick succeeds with rename across D/F conflicts
ok 4 - Setup rename with file on one side matching directory name on other
ok 5 - Cherry-pick succeeds with was_a_dir/file -> was_a_dir (resolve)
ok 6 - Cherry-pick succeeds with was_a_dir/file -> was_a_dir (recursive)
ok 7 - Setup rename with file on one side matching different dirname on other
ok 8 - Cherry-pick with rename to different D/F conflict succeeds (resolve)
ok 9 - Cherry-pick with rename to different D/F conflict succeeds (recursive)
# passed all 9 test(s)
1..9
*** t3510-cherry-pick-sequence.sh ***
ok 1 - setup
ok 2 - cherry-pick persists data on failure
ok 3 - cherry-pick mid-cherry-pick-sequence
ok 4 - cherry-pick persists opts correctly
ok 5 - cherry-pick cleans up sequencer state upon success
ok 6 - --quit does not complain when no cherry-pick is in progress
ok 7 - --abort requires cherry-pick in progress
ok 8 - --quit cleans up sequencer state
ok 9 - --quit keeps HEAD and conflicted index intact
ok 10 - --abort to cancel multiple cherry-pick
ok 11 - --abort to cancel single cherry-pick
ok 12 - cherry-pick --abort to cancel multiple revert
ok 13 - revert --abort works, too
ok 14 - --abort to cancel single revert
ok 15 - --abort keeps unrelated change, easy case
ok 16 - --abort refuses to clobber unrelated change, harder case
ok 17 - cherry-pick still writes sequencer state when one commit is left
ok 18 - --abort after last commit in sequence
ok 19 - cherry-pick does not implicitly stomp an existing operation
ok 20 - --continue complains when no cherry-pick is in progress
ok 21 - --continue complains when there are unresolved conflicts
ok 22 - --continue of single cherry-pick
ok 23 - --continue of single revert
ok 24 - --continue after resolving conflicts
ok 25 - --continue after resolving conflicts and committing
ok 26 - --continue asks for help after resolving patch to nil
ok 27 - follow advice and skip nil patch
ok 28 - --continue respects opts
ok 29 - --continue of single-pick respects -x
ok 30 - --continue respects -x in first commit in multi-pick
ok 31 - --signoff is not automatically propagated to resolved conflict
ok 32 - --signoff dropped for implicit commit of resolution, multi-pick case
ok 33 - sign-off needs to be reaffirmed after conflict resolution, single-pick case
ok 34 - malformed instruction sheet 1
ok 35 - malformed instruction sheet 2
ok 36 - empty commit set
ok 37 - malformed instruction sheet 3
ok 38 - instruction sheet, fat-fingers version
ok 39 - commit descriptions in insn sheet are optional
# passed all 39 test(s)
1..39
*** t3600-rm.sh ***
ok 1 - Initialize test directory
ok 2 - add files with funny names
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)
ok 14 - Test that "git rm -f" succeeds with embedded space, tab, or newline characters.
ok 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
ok 36 - rm removes subdirectories recursively
# passed all 36 test(s)
1..36
*** 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
ok 5 - git add: filemode=0 should not get confused by symlink
ok 6 - git update-index --add: Test that executable bit is not used...
ok 7 - git add: filemode=0 should not get confused by symlink
ok 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
ok 21 - git add should fail atomically upon an unreadable file
ok 22 - git add --ignore-errors
ok 23 - git add (add.ignore-errors)
ok 24 - git add (add.ignore-errors = false)
ok 25 - --no-ignore-errors overrides config
ok 26 - git add 'fo\[ou\]bar' ignores foobar
ok 27 - git add to resolve conflicts on otherwise ignored path
ok 28 - "add non-existent" should fail
ok 29 - git add --dry-run of existing changed file
ok 30 - git add --dry-run of non-existing file
ok 31 - git add --dry-run of an existing file output
ok 32 - git add --dry-run --ignore-missing of non-existing file
ok 33 - git add --dry-run --ignore-missing of non-existing file output
# passed all 33 test(s)
1..33
*** t3701-add-interactive.sh ***
ok 1 - setup (initial)
ok 2 - status works (initial)
ok 3 - setup expected
ok 4 - diff works (initial)
ok 5 - revert works (initial)
ok 6 - setup (commit)
ok 7 - status works (commit)
ok 8 - setup expected
ok 9 - diff works (commit)
ok 10 - revert works (commit)
ok 11 - setup expected
ok 12 - setup fake editor
ok 13 - dummy edit works
ok 14 - setup patch
ok 15 - setup fake editor
ok 16 - bad edit rejected
ok 17 - setup patch
ok 18 - garbage edit rejected
ok 19 - setup patch
ok 20 - setup expected
ok 21 - real edit works
ok 22 - skip files similarly as commit -a
ok 23 - patch does not affect mode
ok 24 - stage mode but not hunk
ok 25 - stage mode and hunk
ok 26 - setup again
ok 27 - setup patch
ok 28 - setup expected
ok 29 - add first line works
ok 30 - setup expected
ok 31 - deleting a non-empty file
ok 32 - setup expected
ok 33 - deleting an empty file
ok 34 - split hunk setup
ok 35 - split hunk "add -p (edit)"
# passed all 35 test(s)
1..35
*** t3702-add-edit.sh ***
ok 1 - setup
ok 2 - add -e
# passed all 2 test(s)
1..2
*** t3703-add-magic-pathspec.sh ***
ok 1 - setup
ok 2 - add :/
ok 3 - add :/anothersub
ok 4 - add :/non-existent
ok 5 - a file with the same (long) magic name exists
ok 6 - a file with the same (short) magic name exists
# passed all 6 test(s)
1..6
*** t3800-mktag.sh ***
ok 1 - setup
ok 2 - Tag object length check
ok 3 - "object" line label check
ok 4 - "object" line SHA1 check
ok 5 - "type" line label check
ok 6 - "type" line eol check
ok 7 - "tag" line label check #1
ok 8 - "tag" line label check #2
ok 9 - "type" line type-name length check
ok 10 - verify object (SHA1/type) check
ok 11 - verify tag-name check
ok 12 - "tagger" line label check #1
ok 13 - "tagger" line label check #2
ok 14 - disallow missing tag author name
ok 15 - disallow malformed tagger
ok 16 - allow empty tag email
ok 17 - disallow spaces in tag email
ok 18 - disallow missing tag timestamp
ok 19 - detect invalid tag timestamp1
ok 20 - detect invalid tag timestamp2
ok 21 - detect invalid tag timezone1
ok 22 - detect invalid tag timezone2
ok 23 - detect invalid tag timezone3
ok 24 - detect invalid header entry
ok 25 - create valid tag
ok 26 - check mytag
# passed all 26 test(s)
1..26
*** t3900-i18n-commit.sh ***
ok 1 - setup
ok 2 - no encoding header for base case
not ok 3 - UTF-16 refused because of NULs # TODO known breakage
ok 4 - ISO8859-1 setup
ok 5 - eucJP setup
ok 6 - ISO-2022-JP setup
ok 7 - check encoding header for ISO8859-1
ok 8 - check encoding header for eucJP
ok 9 - check encoding header for ISO-2022-JP
ok 10 - config to remove customization
ok 11 - ISO8859-1 should be shown in UTF-8 now
ok 12 - eucJP should be shown in UTF-8 now
ok 13 - ISO-2022-JP should be shown in UTF-8 now
ok 14 - config to add customization
ok 15 - ISO8859-1 should be shown in itself now
ok 16 - eucJP should be shown in itself now
ok 17 - ISO-2022-JP should be shown in itself now
ok 18 - config to tweak customization
ok 19 - ISO8859-1 should be shown in UTF-8 now
ok 20 - eucJP should be shown in UTF-8 now
ok 21 - ISO-2022-JP should be shown in UTF-8 now
ok 22 - eucJP should be shown in eucJP now
ok 23 - ISO-2022-JP should be shown in eucJP now
ok 24 - eucJP should be shown in ISO-2022-JP now
ok 25 - ISO-2022-JP should be shown in ISO-2022-JP now
ok 26 - No conversion with ISO8859-1
ok 27 - No conversion with eucJP
ok 28 - No conversion with ISO-2022-JP
ok 29 - commit --fixup with eucJP encoding
ok 30 - commit --squash with ISO-2022-JP encoding
# still have 1 known breakage(s)
# passed all remaining 29 test(s)
1..30
*** 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)
1..15
*** t3902-quoted.sh ***
ok 1 - setup
ok 2 - setup expected files
ok 3 - check fully quoted output from ls-files
ok 4 - check fully quoted output from diff-files
ok 5 - check fully quoted output from diff-index
ok 6 - check fully quoted output from diff-tree
ok 7 - check fully quoted output from ls-tree
ok 8 - setting core.quotepath
ok 9 - check fully quoted output from ls-files
ok 10 - check fully quoted output from diff-files
ok 11 - check fully quoted output from diff-index
ok 12 - check fully quoted output from diff-tree
ok 13 - check fully quoted output from ls-tree
# passed all 13 test(s)
1..13
*** t3903-stash.sh ***
ok 1 - stash some dirty working directory
ok 2 - parents of stash
ok 3 - applying bogus stash does nothing
ok 4 - apply does not need clean working directory
ok 5 - apply does not clobber working directory changes
ok 6 - apply stashed changes
ok 7 - apply stashed changes (including index)
ok 8 - unstashing in a subdirectory
ok 9 - drop top stash
ok 10 - drop middle stash
ok 11 - stash pop
ok 12 - stash branch
ok 13 - apply -q is quiet
ok 14 - save -q is quiet
ok 15 - pop -q is quiet
ok 16 - pop -q --index works and is quiet
ok 17 - drop -q is quiet
ok 18 - stash -k
ok 19 - stash --no-keep-index
ok 20 - stash --invalid-option
ok 21 - stash an added file
ok 22 - stash rm then recreate
ok 23 - stash rm and ignore
ok 24 - stash rm and ignore (stage .gitignore)
ok 25 - stash file to symlink
ok 26 - stash file to symlink (stage rm)
ok 27 - stash file to symlink (full stage)
ok 28 - stash symlink to file
ok 29 - stash symlink to file (stage rm)
ok 30 - stash symlink to file (full stage)
not ok 31 - stash directory to file # TODO known breakage
not ok 32 - stash file to directory # TODO known breakage
ok 33 - stash branch - no stashes on stack, stash-like argument
ok 34 - stash branch - stashes on stack, stash-like argument
ok 35 - stash show - stashes on stack, stash-like argument
ok 36 - stash show -p - stashes on stack, stash-like argument
ok 37 - stash show - no stashes on stack, stash-like argument
ok 38 - stash show -p - no stashes on stack, stash-like argument
ok 39 - stash drop - fail early if specified stash is not a stash reference
ok 40 - stash pop - fail early if specified stash is not a stash reference
ok 41 - ref with non-existent reflog
ok 42 - invalid ref of the form stash@{n}, n >= N
ok 43 - stash branch should not drop the stash if the branch exists
ok 44 - stash apply shows status same as git status (relative to current directory)
ok 45 - stash where working directory contains "HEAD" file
# still have 2 known breakage(s)
# passed all remaining 43 test(s)
1..45
*** 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 - git stash --no-keep-index -p
ok 6 - none of this moved HEAD
# passed all 6 test(s)
1..6
*** t3905-stash-include-untracked.sh ***
ok 1 - stash save --include-untracked some dirty working directory
ok 2 - stash save --include-untracked cleaned the untracked files
ok 3 - stash save --include-untracked stashed the untracked files
ok 4 - stash save --patch --include-untracked fails
ok 5 - stash save --patch --all fails
ok 6 - stash pop after save --include-untracked leaves files untracked again
ok 7 - stash save -u dirty index
ok 8 - stash save --include-untracked dirty index got stashed
ok 9 - stash save --include-untracked -q is quiet
ok 10 - stash save --include-untracked removed files
ok 11 - stash save --include-untracked removed files got stashed
ok 12 - stash save --include-untracked respects .gitignore
ok 13 - stash save -u can stash with only untracked files different
ok 14 - stash save --all does not respect .gitignore
ok 15 - stash save --all is stash poppable
# passed all 15 test(s)
1..15
*** 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.
ok 3 - validate git diff-files -p output.
# passed all 3 test(s)
1..3
*** 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
ok 8 - setup for many rename source candidates
# passed all 8 test(s)
1..8
*** 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)
1..63
*** t4003-diff-rename-1.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)
1..7
*** t4004-diff-rename-symlink.sh ***
ok 1 - prepare reference tree
ok 2 - prepare work tree
ok 3 - setup diff output
ok 4 - validate diff output
# passed all 4 test(s)
1..4
*** 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)
1..7
*** t4006-diff-mode.sh ***
ok 1 - setup
ok 2 - chmod
ok 3 - verify
# passed all 3 test(s)
1..3
*** 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)
1..8
*** 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)
ok 12 - make file0 into something completely different
ok 13 - run diff with -B
ok 14 - validate result of -B (#5)
ok 15 - run diff with -B -M
ok 16 - validate result of -B -M (#6)
ok 17 - run diff with -M
ok 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 -C
ok 23 - validate result of -B -M (#9)
# passed all 23 test(s)
1..23
*** 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)
1..7
*** 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 - "*file1" should show path1/file1
ok 6 - limit to file0 should show file0
ok 7 - limit to file0/ should emit nothing.
ok 8 - diff-tree pathspec
ok 9 - diff-tree with wildcard shows dir also matches
ok 10 - diff-tree -r with wildcard
ok 11 - diff-tree with wildcard shows dir also matches
ok 12 - diff-tree -r with wildcard from beginning
ok 13 - diff-tree -r with wildcard
# passed all 13 test(s)
1..13
*** t4011-diff-symlink.sh ***
ok 1 - diff new symlink
ok 2 - diff unchanged symlink
ok 3 - diff removed symlink
ok 4 - diff identical, but newly created symlink
ok 5 - diff different symlink
ok 6 - diff symlinks with non-existing targets
ok 7 - setup symlinks with attributes
ok 8 - symlinks do not respect userdiff config by path
# passed all 8 test(s)
1..8
*** 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)
1..9
*** t4013-diff-various.sh ***
ok 1 - setup
ok 2 - git diff-tree initial
ok 3 - git diff-tree -r initial
ok 4 - git diff-tree -r --abbrev initial
ok 5 - git diff-tree -r --abbrev=4 initial
ok 6 - git diff-tree --root initial
ok 7 - git diff-tree --root --abbrev initial
ok 8 - git diff-tree --root -r initial
ok 9 - git diff-tree --root -r --abbrev initial
ok 10 - git diff-tree --root -r --abbrev=4 initial
ok 11 - git diff-tree -p initial
ok 12 - git diff-tree --root -p initial
ok 13 - git diff-tree --patch-with-stat initial
ok 14 - git diff-tree --root --patch-with-stat initial
ok 15 - git diff-tree --patch-with-raw initial
ok 16 - git diff-tree --root --patch-with-raw initial
ok 17 - git diff-tree --pretty initial
ok 18 - git diff-tree --pretty --root initial
ok 19 - git diff-tree --pretty -p initial
ok 20 - git diff-tree --pretty --stat initial
ok 21 - git diff-tree --pretty --summary initial
ok 22 - git diff-tree --pretty --stat --summary initial
ok 23 - git diff-tree --pretty --root -p initial
ok 24 - git diff-tree --pretty --root --stat initial
ok 25 - git diff-tree --pretty --root --summary initial
ok 26 - git diff-tree --pretty --root --summary -r initial
ok 27 - git diff-tree --pretty --root --stat --summary initial
ok 28 - git diff-tree --pretty --patch-with-stat initial
ok 29 - git diff-tree --pretty --root --patch-with-stat initial
ok 30 - git diff-tree --pretty --patch-with-raw initial
ok 31 - git diff-tree --pretty --root --patch-with-raw initial
ok 32 - git diff-tree --pretty=oneline initial
ok 33 - git diff-tree --pretty=oneline --root initial
ok 34 - git diff-tree --pretty=oneline -p initial
ok 35 - git diff-tree --pretty=oneline --root -p initial
ok 36 - git diff-tree --pretty=oneline --patch-with-stat initial
ok 37 - git diff-tree --pretty=oneline --root --patch-with-stat initial
ok 38 - git diff-tree --pretty=oneline --patch-with-raw initial
ok 39 - git diff-tree --pretty=oneline --root --patch-with-raw initial
ok 40 - git diff-tree --pretty side
ok 41 - git diff-tree --pretty -p side
ok 42 - git diff-tree --pretty --patch-with-stat side
ok 43 - git diff-tree master
ok 44 - git diff-tree -p master
ok 45 - git diff-tree -p -m master
ok 46 - git diff-tree -c master
ok 47 - git diff-tree -c --abbrev master
ok 48 - git diff-tree --cc master
ok 49 - git diff-tree -c --stat master
ok 50 - git diff-tree --cc --stat master
ok 51 - git diff-tree -c --stat --summary master
ok 52 - git diff-tree --cc --stat --summary master
ok 53 - git diff-tree -c --stat --summary side
ok 54 - git diff-tree --cc --stat --summary side
ok 55 - git diff-tree --cc --patch-with-stat master
ok 56 - git diff-tree --cc --patch-with-stat --summary master
ok 57 - git diff-tree --cc --patch-with-stat --summary side
ok 58 - git log master
ok 59 - git log -p master
ok 60 - git log --root master
ok 61 - git log --root -p master
ok 62 - git log --patch-with-stat master
ok 63 - git log --root --patch-with-stat master
ok 64 - git log --root --patch-with-stat --summary master
ok 65 - git log --root -c --patch-with-stat --summary master
ok 66 - git log --root --cc --patch-with-stat --summary master
ok 67 - git log -p --first-parent master
ok 68 - git log -m -p --first-parent master
ok 69 - git log -m -p master
ok 70 - git log -SF master
ok 71 - git log -S F master
ok 72 - git log -SF -p master
ok 73 - git log -SF master --max-count=0
ok 74 - git log -SF master --max-count=1
ok 75 - git log -SF master --max-count=2
ok 76 - git log -GF master
ok 77 - git log -GF -p master
ok 78 - git log -GF -p --pickaxe-all master
ok 79 - git log --decorate --all
ok 80 - git log --decorate=full --all
ok 81 - git rev-list --parents HEAD
ok 82 - git rev-list --children HEAD
ok 83 - git whatchanged master
ok 84 - git whatchanged -p master
ok 85 - git whatchanged --root master
ok 86 - git whatchanged --root -p master
ok 87 - git whatchanged --patch-with-stat master
ok 88 - git whatchanged --root --patch-with-stat master
ok 89 - git whatchanged --root --patch-with-stat --summary master
ok 90 - git whatchanged --root -c --patch-with-stat --summary master
ok 91 - git whatchanged --root --cc --patch-with-stat --summary master
ok 92 - git whatchanged -SF master
ok 93 - git whatchanged -SF -p master
ok 94 - git log --patch-with-stat master -- dir/
ok 95 - git whatchanged --patch-with-stat master -- dir/
ok 96 - git log --patch-with-stat --summary master -- dir/
ok 97 - git whatchanged --patch-with-stat --summary master -- dir/
ok 98 - git show initial
ok 99 - git show --root initial
ok 100 - git show side
ok 101 - git show master
ok 102 - git show -c master
ok 103 - git show -m master
ok 104 - git show --first-parent master
ok 105 - git show --stat side
ok 106 - git show --stat --summary side
ok 107 - git show --patch-with-stat side
ok 108 - git show --patch-with-raw side
ok 109 - git show --patch-with-stat --summary side
ok 110 - git format-patch --stdout initial..side
ok 111 - git format-patch --stdout initial..master^
ok 112 - git format-patch --stdout initial..master
ok 113 - git format-patch --stdout --no-numbered initial..master
ok 114 - git format-patch --stdout --numbered initial..master
ok 115 - git format-patch --attach --stdout initial..side
ok 116 - git format-patch --attach --stdout --suffix=.diff initial..side
ok 117 - git format-patch --attach --stdout initial..master^
ok 118 - git format-patch --attach --stdout initial..master
ok 119 - git format-patch --inline --stdout initial..side
ok 120 - git format-patch --inline --stdout initial..master^
ok 121 - git format-patch --inline --stdout --numbered-files initial..master
ok 122 - git format-patch --inline --stdout initial..master
ok 123 - git format-patch --inline --stdout --subject-prefix=TESTCASE initial..master
ok 124 - git config format.subjectprefix DIFFERENT_PREFIX
ok 125 - git format-patch --inline --stdout initial..master^^
ok 126 - git format-patch --stdout --cover-letter -n initial..master^
ok 127 - git diff --abbrev initial..side
ok 128 - git diff -r initial..side
ok 129 - git diff --stat initial..side
ok 130 - git diff -r --stat initial..side
ok 131 - git diff initial..side
ok 132 - git diff --patch-with-stat initial..side
ok 133 - git diff --patch-with-raw initial..side
ok 134 - git diff --patch-with-stat -r initial..side
ok 135 - git diff --patch-with-raw -r initial..side
ok 136 - git diff --name-status dir2 dir
ok 137 - git diff --no-index --name-status dir2 dir
ok 138 - git diff --no-index --name-status -- dir2 dir
ok 139 - git diff --no-index dir dir3
ok 140 - git diff master master^ side
ok 141 - git diff --dirstat master~1 master~2
ok 142 - git diff --dirstat initial rearrange
ok 143 - git diff --dirstat-by-file initial rearrange
ok 144 - log -S requires an argument
ok 145 - diff --cached on unborn branch
ok 146 - diff --cached -- file on unborn branch
# passed all 146 test(s)
1..146
*** t4014-format-patch.sh ***
ok 1 - set up terminal for tests
ok 2 - setup
ok 3 - format-patch --ignore-if-in-upstream
ok 4 - format-patch --ignore-if-in-upstream
ok 5 - format-patch doesn't consider merge commits
ok 6 - format-patch result applies
ok 7 - format-patch --ignore-if-in-upstream result applies
ok 8 - commit did not screw up the log message
ok 9 - format-patch did not screw up the log message
ok 10 - replay did not screw up the log message
ok 11 - extra headers
ok 12 - extra headers without newlines
ok 13 - extra headers with multiple To:s
ok 14 - additional command line cc
ok 15 - command line headers
ok 16 - configuration headers and command line headers
ok 17 - command line To: header
ok 18 - configuration To: header
ok 19 - --no-to overrides config.to
ok 20 - --no-to and --to replaces config.to
ok 21 - --no-cc overrides config.cc
ok 22 - --no-add-header overrides config.headers
ok 23 - multiple files
ok 24 - no threading
ok 25 - thread
ok 26 - thread in-reply-to
ok 27 - thread cover-letter
ok 28 - thread cover-letter in-reply-to
ok 29 - thread explicit shallow
ok 30 - thread deep
ok 31 - thread deep in-reply-to
ok 32 - thread deep cover-letter
ok 33 - thread deep cover-letter in-reply-to
ok 34 - thread via config
ok 35 - thread deep via config
ok 36 - thread config + override
ok 37 - thread config + --no-thread
ok 38 - excessive subject
ok 39 - cover-letter inherits diff options
ok 40 - shortlog of cover-letter wraps overly-long onelines
ok 41 - format-patch respects -U
ok 42 - format-patch -p suppresses stat
ok 43 - format-patch from a subdirectory (1)
ok 44 - format-patch from a subdirectory (2)
ok 45 - format-patch from a subdirectory (3)
ok 46 - format-patch --in-reply-to
ok 47 - format-patch --signoff
ok 48 - options no longer allowed for format-patch
ok 49 - format-patch --numstat should produce a patch
ok 50 - format-patch -- <path>
ok 51 - format-patch --ignore-if-in-upstream HEAD
ok 52 - format-patch --signature
ok 53 - format-patch with format.signature config
ok 54 - format-patch --signature overrides format.signature
ok 55 - format-patch --no-signature ignores format.signature
ok 56 - format-patch --signature --cover-letter
ok 57 - format.signature="" supresses signatures
ok 58 - format-patch --no-signature supresses signatures
ok 59 - format-patch --signature="" supresses signatures
ok 60 # skip format-patch --stdout paginates (missing TTY)
ok 61 # skip format-patch --stdout pagination can be disabled (missing TTY)
ok 62 - format-patch handles multi-line subjects
ok 63 - format-patch handles multi-line encoded subjects
ok 64 - format-patch wraps extremely long headers (ascii)
ok 65 - format-patch wraps extremely long headers (rfc2047)
ok 66 - format-patch wraps non-quotable headers
ok 67 - format-patch quotes dot in headers
ok 68 - format-patch quotes double-quote in headers
ok 69 - rfc2047-encoded headers also double-quote 822 specials
ok 70 - subject lines do not have 822 atom-quoting
ok 71 - subject prefixes have space prepended
ok 72 - empty subject prefix does not have extra space
ok 73 - format patch ignores color.ui
# passed all 73 test(s)
1..73
*** 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 - ditto, but tabwidth=9
ok 38 - check tabs and spaces as indentation (indent-with-non-tab: on)
ok 39 - ditto, but tabwidth=10
ok 40 - ditto, but tabwidth=20
ok 41 - check tabs as indentation (tab-in-indent: off)
ok 42 - check tabs as indentation (tab-in-indent: on)
ok 43 - check tabs and spaces as indentation (tab-in-indent: on)
ok 44 - ditto, but tabwidth=1 (must be irrelevant)
ok 45 - check tab-in-indent and indent-with-non-tab conflict
ok 46 - check tab-in-indent excluded from wildcard whitespace attribute
ok 47 - line numbers in --check output are correct
ok 48 - checkdiff detects new trailing blank lines (1)
ok 49 - checkdiff detects new trailing blank lines (2)
ok 50 - checkdiff allows new blank lines
ok 51 - whitespace-only changes not reported
ok 52 - whitespace-only changes reported across renames
ok 53 - rename empty
ok 54 - combined diff with autocrlf conversion
ok 55 - setup diff colors
ok 56 - diff that introduces a line with only tabs
# passed all 56 test(s)
1..56
*** t4016-diff-quote.sh ***
ok 1 - setup
ok 2 - setup expected files
ok 3 - git diff --summary -M HEAD
ok 4 - setup expected files
ok 5 - git diff --stat -M HEAD
# passed all 5 test(s)
1..5
*** t4017-diff-retval.sh ***
ok 1 - setup
ok 2 - git diff --quiet -w  HEAD^^ HEAD^
ok 3 - git diff --quiet HEAD^^ HEAD^
ok 4 - git diff --quiet -w  HEAD^ HEAD
ok 5 - git diff-tree HEAD^ HEAD
ok 6 - git diff-tree HEAD^ HEAD -- a
ok 7 - git diff-tree HEAD^ HEAD -- b
ok 8 - echo HEAD | git diff-tree --stdin
ok 9 - git diff-tree HEAD HEAD
ok 10 - git diff-files
ok 11 - git diff-index --cached HEAD
ok 12 - git diff-index --cached HEAD^
ok 13 - git diff-index --cached HEAD^
ok 14 - git diff-tree -Stext HEAD^ HEAD -- b
ok 15 - git diff-tree -Snot-found HEAD^ HEAD -- b
ok 16 - git diff-files
ok 17 - git diff-index --cached HEAD
ok 18 - --check --exit-code returns 0 for no difference
ok 19 - --check --exit-code returns 1 for a clean difference
ok 20 - --check --exit-code returns 3 for a dirty difference
ok 21 - --check with --no-pager returns 2 for dirty difference
ok 22 - check should test not just the last line
ok 23 - check detects leftover conflict markers
ok 24 - check honors conflict marker length
# passed all 24 test(s)
1..24
*** t4018-diff-funcname.sh ***
ok 1 - builtin bibtex pattern compiles
ok 2 - builtin bibtex wordRegex pattern compiles
ok 3 - builtin cpp pattern compiles
ok 4 - builtin cpp wordRegex pattern compiles
ok 5 - builtin csharp pattern compiles
ok 6 - builtin csharp wordRegex pattern compiles
ok 7 - builtin fortran pattern compiles
ok 8 - builtin fortran wordRegex pattern compiles
ok 9 - builtin html pattern compiles
ok 10 - builtin html wordRegex pattern compiles
ok 11 - builtin java pattern compiles
ok 12 - builtin java wordRegex pattern compiles
ok 13 - builtin matlab pattern compiles
ok 14 - builtin matlab wordRegex pattern compiles
ok 15 - builtin objc pattern compiles
ok 16 - builtin objc wordRegex pattern compiles
ok 17 - builtin pascal pattern compiles
ok 18 - builtin pascal wordRegex pattern compiles
ok 19 - builtin perl pattern compiles
ok 20 - builtin perl wordRegex pattern compiles
ok 21 - builtin php pattern compiles
ok 22 - builtin php wordRegex pattern compiles
ok 23 - builtin python pattern compiles
ok 24 - builtin python wordRegex pattern compiles
ok 25 - builtin ruby pattern compiles
ok 26 - builtin ruby wordRegex pattern compiles
ok 27 - builtin tex pattern compiles
ok 28 - builtin tex wordRegex pattern compiles
ok 29 - default behaviour
ok 30 - set up .gitattributes declaring drivers to test
ok 31 - preset java pattern
ok 32 - preset perl pattern
ok 33 - perl pattern accepts K&R style brace placement, too
ok 34 - but is not distracted by end of <<here document
ok 35 - perl pattern is not distracted by sub within POD
ok 36 - perl pattern gets full line of POD header
ok 37 - perl pattern is not distracted by forward declaration
ok 38 - custom pattern
ok 39 - last regexp must not be negated
ok 40 - pattern which matches to end of line
ok 41 - alternation in pattern
# passed all 41 test(s)
1..41
*** t4019-diff-wserror.sh ***
ok 1 - setup
ok 2 - default
ok 3 - default (attribute)
ok 4 - default, tabwidth=10 (attribute)
ok 5 - no check (attribute)
ok 6 - no check, tabwidth=10 (attribute), must be irrelevant
ok 7 - without -trail
ok 8 - without -trail (attribute)
ok 9 - without -space
ok 10 - without -space (attribute)
ok 11 - with indent-non-tab only
ok 12 - with indent-non-tab only (attribute)
ok 13 - with indent-non-tab only, tabwidth=10
ok 14 - with indent-non-tab only, tabwidth=10 (attribute)
ok 15 - with cr-at-eol
ok 16 - with cr-at-eol (attribute)
ok 17 - trailing empty lines (1)
ok 18 - trailing empty lines (2)
ok 19 - checkdiff shows correct line number for trailing blank lines
ok 20 - do not color trailing cr in context
ok 21 - color new trailing blank lines
# passed all 21 test(s)
1..21
*** 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)
1..16
*** 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)
1..12
*** t4022-diff-rewrite.sh ***
ok 1 - setup
ok 2 - detect rewrite
ok 3 - show deletion diff without -D
ok 4 - suppress deletion diff with -D
ok 5 - show deletion diff with -B
ok 6 - suppress deletion diff with -B -D
# passed all 6 test(s)
1..6
*** t4023-diff-rename-typechange.sh ***
ok 1 - setup
ok 2 - cross renames to be detected for regular files
ok 3 - cross renames to be detected for typechange
ok 4 - moves and renames
# passed all 4 test(s)
1..4
*** t4024-diff-optimize-common.sh ***
ok 1 - setup
ok 2 - diff -U0
# passed all 2 test(s)
1..2
*** t4025-hunk-header.sh ***
ok 1 - setup
ok 2 - hunk header truncation with an overly long line
# passed all 2 test(s)
1..2
*** 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 - fg bg attr...
ok 8 - long color specification
ok 9 - 256 colors
ok 10 - color too small
ok 11 - color too big
ok 12 - extra character after color number
ok 13 - extra character after color name
ok 14 - extra character after attribute
ok 15 - unknown color slots are ignored (diff)
ok 16 - unknown color slots are ignored (branch)
ok 17 - unknown color slots are ignored (status)
# passed all 17 test(s)
1..17
*** 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 HEAD
ok 6 - git diff HEAD with dirty submodule (work tree)
ok 7 - git diff HEAD with dirty submodule (index)
ok 8 - git diff HEAD with dirty submodule (untracked)
ok 9 - git diff HEAD with dirty submodule (work tree, refs match)
ok 10 - git diff HEAD with dirty submodule (work tree, refs match) [.git/config]
ok 11 - git diff HEAD with dirty submodule (work tree, refs match) [.gitmodules]
ok 12 - git diff HEAD with dirty submodule (index, refs match)
ok 13 - git diff HEAD with dirty submodule (untracked, refs match)
ok 14 - git diff HEAD with dirty submodule (untracked, refs match) [.git/config]
ok 15 - git diff HEAD with dirty submodule (untracked, refs match) [.gitmodules]
ok 16 - git diff between submodule commits
ok 17 - git diff between submodule commits [.git/config]
ok 18 - git diff between submodule commits [.gitmodules]
ok 19 - git diff (empty submodule dir)
ok 20 - conflicted submodule setup
ok 21 - combined (empty submodule)
ok 22 - combined (with submodule)
# passed all 22 test(s)
1..22
*** 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)
1..3
*** t4029-diff-trailing-space.sh ***
ok 1 - diff honors config option, diff.suppressBlankEmpty
# passed all 1 test(s)
1..1
*** 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)
1..11
*** 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 - rewrite diff --stat shows binary changes
ok 6 - setup textconv
ok 7 - rewrite diff respects textconv
# passed all 7 test(s)
1..7
*** 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)
1..21
*** 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)
1..3
*** t4034-diff-words.sh ***
ok 1 - setup
ok 2 - set up pre and post with runs of whitespace
ok 3 - word diff with runs of whitespace
ok 4 - --word-diff=porcelain
ok 5 - --word-diff=plain
ok 6 - --word-diff=plain --color
ok 7 - word diff without context
ok 8 - word diff with a regular expression
ok 9 - set up a diff driver
ok 10 - option overrides .gitattributes
ok 11 - use regex supplied by driver
ok 12 - set up diff.wordRegex option
ok 13 - command-line overrides config
ok 14 - command-line overrides config: --word-diff-regex
ok 15 - .gitattributes override config
ok 16 - setup: remove diff driver regex
ok 17 - use configured regex
ok 18 - test parsing words for newline
ok 19 - test when words are only removed at the end
ok 20 - --word-diff=none
ok 21 - diff driver 'bibtex'
ok 22 - diff driver 'cpp'
ok 23 - diff driver 'csharp'
ok 24 - diff driver 'fortran'
ok 25 - diff driver 'html'
ok 26 - diff driver 'java'
ok 27 - diff driver 'matlab'
ok 28 - diff driver 'objc'
ok 29 - diff driver 'pascal'
ok 30 - diff driver 'perl'
ok 31 - diff driver 'php'
ok 32 - diff driver 'python'
ok 33 - diff driver 'ruby'
ok 34 - diff driver 'tex'
ok 35 - word-diff with diff.sbe
ok 36 - word-diff with no newline at EOF
# passed all 36 test(s)
1..36
*** 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)
1..14
*** 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)
1..5
*** t4037-diff-r-t-dirs.sh ***
ok 1 - setup
ok 2 - verify
# passed all 2 test(s)
1..2
*** t4038-diff-combined.sh ***
ok 1 - setup
ok 2 - check combined output (1)
ok 3 - check combined output (2)
ok 4 - diagnose truncated file
# passed all 4 test(s)
1..4
*** 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)
1..3
*** 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
ok 10 - diff-files --diff-filter --quiet
ok 11 - diff-tree --diff-filter --quiet
# passed all 11 test(s)
1..11
*** t4041-diff-submodule-option.sh ***
ok 1 - added submodule
ok 2 - modified submodule(forward)
ok 3 - modified submodule(forward)
ok 4 - modified submodule(forward) --submodule
ok 5 - modified submodule(forward) --submodule=short
ok 6 - modified submodule(backward)
ok 7 - modified submodule(backward and forward)
ok 8 - typechanged submodule(submodule->blob), --cached
ok 9 - typechanged submodule(submodule->blob)
ok 10 - typechanged submodule(submodule->blob)
ok 11 - nonexistent commit
ok 12 - typechanged submodule(blob->submodule)
ok 13 - submodule is up to date
ok 14 - submodule contains untracked content
ok 15 - submodule contains untracked content (untracked ignored)
ok 16 - submodule contains untracked content (dirty ignored)
ok 17 - submodule contains untracked content (all ignored)
ok 18 - submodule contains untracked and modifed content
ok 19 - submodule contains untracked and modifed content (untracked ignored)
ok 20 - submodule contains untracked and modifed content (dirty ignored)
ok 21 - submodule contains untracked and modifed content (all ignored)
ok 22 - submodule contains modifed content
ok 23 - submodule is modified
ok 24 - modified submodule contains untracked content
ok 25 - modified submodule contains untracked content (untracked ignored)
ok 26 - modified submodule contains untracked content (dirty ignored)
ok 27 - modified submodule contains untracked content (all ignored)
ok 28 - modified submodule contains untracked and modifed content
ok 29 - modified submodule contains untracked and modifed content (untracked ignored)
ok 30 - modified submodule contains untracked and modifed content (dirty ignored)
ok 31 - modified submodule contains untracked and modifed content (all ignored)
ok 32 - modified submodule contains modifed content
ok 33 - deleted submodule
ok 34 - multiple submodules
ok 35 - path filter
ok 36 - given commit
ok 37 - given commit --submodule
ok 38 - given commit --submodule=short
ok 39 - setup .git file for sm2
ok 40 - diff --submodule with .git file
# passed all 40 test(s)
1..40
*** t4042-diff-textconv-caching.sh ***
ok 1 - setup
ok 2 - first textconv works
ok 3 - cached textconv produces same output
ok 4 - cached textconv does not run helper
ok 5 - changing textconv invalidates cache
ok 6 - switching diff driver produces correct results
# passed all 6 test(s)
1..6
*** t4043-diff-rename-binary.sh ***
ok 1 - prepare repository
ok 2 - move the files into a "sub" directory
ok 3 - git show -C -C report renames
# passed all 3 test(s)
1..3
*** t4044-diff-index-unique-abbrev.sh ***
ok 1 - setup
ok 2 - diff does not produce ambiguous index line
# passed all 2 test(s)
1..2
*** t4045-diff-relative.sh ***
ok 1 - setup
ok 2 - -p --relative=subdir/
ok 3 - -p --relative=subdir
ok 4 - -p --relative=sub
ok 5 - --stat --relative=subdir/
ok 6 - --stat --relative=subdir
ok 7 - --stat --relative=sub
ok 8 - --raw --relative=subdir/
ok 9 - --raw --relative=subdir
ok 10 - --raw --relative=sub
# passed all 10 test(s)
1..10
*** t4046-diff-unmerged.sh ***
ok 1 - setup
ok 2 - diff-files -0
ok 3 - diff-files -1
ok 4 - diff-files -2
ok 5 - diff-files -3
# passed all 5 test(s)
1..5
*** t4047-diff-dirstat.sh ***
ok 1 - setup
ok 2 - sanity check setup (--stat)
ok 3 - various ways to misspell --dirstat
ok 4 - vanilla --dirstat
ok 5 - vanilla -X
ok 6 - explicit defaults: --dirstat=changes,noncumulative,3
ok 7 - explicit defaults: -Xchanges,noncumulative,3
ok 8 - later options override earlier options:
ok 9 - non-defaults in config overridden by explicit defaults on command line
ok 10 - --dirstat=0
ok 11 - -X0
ok 12 - diff.dirstat=0
ok 13 - --dirstat=0 --cumulative
ok 14 - --dirstat=0,cumulative
ok 15 - -X0,cumulative
ok 16 - diff.dirstat=0,cumulative
ok 17 - diff.dirstat=0 & --dirstat=cumulative
ok 18 - --dirstat-by-file
ok 19 - --dirstat=files
ok 20 - diff.dirstat=files
ok 21 - --dirstat-by-file=10
ok 22 - --dirstat=files,10
ok 23 - diff.dirstat=10,files
ok 24 - --dirstat-by-file --cumulative
ok 25 - --dirstat=files,cumulative
ok 26 - diff.dirstat=cumulative,files
ok 27 - --dirstat=files,cumulative,10
ok 28 - diff.dirstat=10,cumulative,files
ok 29 - --dirstat=files,cumulative,16.7
ok 30 - diff.dirstat=16.7,cumulative,files
ok 31 - diff.dirstat=16.70,cumulative,files
ok 32 - --dirstat=files,cumulative,27.2
ok 33 - --dirstat=files,cumulative,27.09
ok 34 - --dirstat=lines
ok 35 - diff.dirstat=lines
ok 36 - --dirstat=lines,0
ok 37 - diff.dirstat=0,lines
ok 38 - --dirstat=future_param,lines,0 should fail loudly
ok 39 - --dirstat=dummy1,cumulative,2dummy should report both unrecognized parameters
ok 40 - diff.dirstat=future_param,0,lines should warn, but still work
# passed all 40 test(s)
1..40
*** t4048-diff-combined-binary.sh ***
ok 1 - setup binary merge conflict
ok 2 - diff -m indicates binary-ness
ok 3 - diff -c indicates binary-ness
ok 4 - diff --cc indicates binary-ness
ok 5 - setup non-binary with binary attribute
ok 6 - diff -m respects binary attribute
ok 7 - diff -c respects binary attribute
ok 8 - diff --cc respects binary attribute
ok 9 - setup textconv attribute
ok 10 - diff -m respects textconv attribute
ok 11 - diff -c respects textconv attribute
ok 12 - diff --cc respects textconv attribute
ok 13 - diff-tree plumbing does not respect textconv
ok 14 - diff --cc respects textconv on worktree file
# passed all 14 test(s)
1..14
*** t4049-diff-stat-count.sh ***
ok 1 - setup
# passed all 1 test(s)
1..1
*** t4050-diff-histogram.sh ***
ok 1 - histogram diff
ok 2 - histogram diff output is valid
ok 3 - completely different files
# passed all 3 test(s)
1..3
*** t4051-diff-function-context.sh ***
ok 1 - setup
ok 2 - diff -U0 -W
ok 3 - diff -W
# passed all 3 test(s)
1..3
*** t4100-apply-stat.sh ***
ok 1 - rename
ok 2 - rename with recount
ok 3 - copy
ok 4 - copy with recount
ok 5 - rewrite
ok 6 - rewrite with recount
ok 7 - mode
ok 8 - mode with recount
ok 9 - non git (1)
ok 10 - non git (1) with recount
ok 11 - non git (2)
ok 12 - non git (2) with recount
ok 13 - non git (3)
ok 14 - non git (3) with recount
ok 15 - incomplete (1)
ok 16 - incomplete (1) with recount
ok 17 - incomplete (2)
ok 18 - incomplete (2) with recount
# passed all 18 test(s)
1..18
*** t4101-apply-nonl.sh ***
ok 1 - apply diff between 0 and 1
ok 2 - apply diff between 0 and 2
ok 3 - apply diff between 0 and 3
ok 4 - apply diff between 1 and 0
ok 5 - apply diff between 1 and 2
ok 6 - apply diff between 1 and 3
ok 7 - apply diff between 2 and 0
ok 8 - apply diff between 2 and 1
ok 9 - apply diff between 2 and 3
ok 10 - apply diff between 3 and 0
ok 11 - apply diff between 3 and 1
ok 12 - apply diff between 3 and 2
# passed all 12 test(s)
1..12
*** t4102-apply-rename.sh ***
ok 1 - setup
ok 2 - apply
ok 3 - validate
ok 4 - apply reverse
ok 5 - apply copy
# passed all 5 test(s)
1..5
*** t4103-apply-binary.sh ***
ok 1 - setup
ok 2 - stat binary diff -- should not fail.
ok 3 - stat binary diff (copy) -- should not fail.
ok 4 - check binary diff -- should fail.
ok 5 - check binary diff (copy) -- should fail.
ok 6 - check incomplete binary diff with replacement -- should fail.
ok 7 - check incomplete binary diff with replacement (copy) -- should fail.
ok 8 - check binary diff with replacement.
ok 9 - check binary diff with replacement (copy).
ok 10 - apply binary diff -- should fail.
ok 11 - apply binary diff -- should fail.
ok 12 - apply binary diff (copy) -- should fail.
ok 13 - apply binary diff (copy) -- should fail.
ok 14 - apply binary diff with full-index
ok 15 - apply binary diff with full-index (copy)
ok 16 - apply full-index binary diff in new repo
ok 17 - apply binary diff without replacement.
ok 18 - apply binary diff without replacement (copy).
ok 19 - apply binary diff.
ok 20 - apply binary diff (copy).
# passed all 20 test(s)
1..20
*** 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
ok 24 - apply patch with 3 context lines matching at end
# passed all 24 test(s)
1..24
*** 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)
1..9
*** 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)
1..3
*** 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)
1..11
*** t4109-apply-multifrag.sh ***
ok 1 - git apply (1)
ok 2 - git apply (2)
ok 3 - git apply (3)
# passed all 3 test(s)
1..3
*** t4110-apply-scan.sh ***
ok 1 - git apply scan
# passed all 1 test(s)
1..1
*** t4111-apply-subdir.sh ***
ok 1 - setup
ok 2 - setup: subdir
ok 3 - apply from subdir of toplevel
ok 4 - apply --cached from subdir of toplevel
ok 5 - apply --index from subdir of toplevel
ok 6 - apply from .git dir
ok 7 - apply from subdir of .git dir
ok 8 - apply --cached from .git dir
ok 9 - apply --cached from subdir of .git dir
# passed all 9 test(s)
1..9
*** t4112-apply-renames.sh ***
ok 1 - check rename/copy patch
ok 2 - apply rename/copy patch
# passed all 2 test(s)
1..2
*** t4113-apply-ending.sh ***
ok 1 - setup
ok 2 - apply at the end
ok 3 - apply at the beginning
# passed all 3 test(s)
1..3
*** t4114-apply-typechange.sh ***
ok 1 - setup repository and commits
ok 2 - file renamed from foo to foo/baz
ok 3 - file renamed from foo/baz to foo
ok 4 - directory becomes file
ok 5 - file becomes directory
ok 6 - file becomes symlink
ok 7 - symlink becomes file
ok 8 - binary file becomes symlink
ok 9 - symlink becomes binary file
ok 10 - symlink becomes directory
ok 11 - directory becomes symlink
# passed all 11 test(s)
1..11
*** t4115-apply-symlink.sh ***
ok 1 - setup
ok 2 - apply symlink patch
ok 3 - apply --index symlink patch
# passed all 3 test(s)
1..3
*** 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)
1..7
*** 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)
1..7
*** t4118-apply-empty-context.sh ***
ok 1 - setup
ok 2 - apply --numstat
ok 3 - apply --apply
# passed all 3 test(s)
1..3
*** 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)
1..10
*** t4120-apply-popt.sh ***
ok 1 - setup
ok 2 - apply git diff with -p2
ok 3 - apply with too large -p
ok 4 - apply (-p2) traditional diff with funny filenames
ok 5 - apply with too large -p and fancy filename
ok 6 - apply (-p2) diff, mode change only
ok 7 - file mode was changed
ok 8 - apply (-p2) diff, rename
# passed all 8 test(s)
1..8
*** t4121-apply-diffs.sh ***
ok 1 - setup
ok 2 - check if contextually independent diffs for the same file apply
# passed all 2 test(s)
1..2
*** t4122-apply-symlink-inside.sh ***
ok 1 - setup
ok 2 - apply
ok 3 - check result
# passed all 3 test(s)
1..3
*** t4123-apply-shrink.sh ***
ok 1 - setup
ok 2 - apply should fail gracefully
# passed all 2 test(s)
1..2
*** 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 - spaces inserted by tab-in-indent
ok 8 - rule=-trailing,-space,-indent,-tab
ok 9 - rule=-trailing,-space,-indent,-tab,tabwidth=16
ok 10 - rule=-trailing,-space,-indent,-tab (attributes)
ok 11 - rule=-trailing,-space,-indent,-tab,tabwidth=16 (attributes)
ok 12 - rule=-trailing,-space,-indent,tab
ok 13 - rule=-trailing,-space,-indent,tab,tabwidth=16
ok 14 - rule=-trailing,-space,-indent,tab (attributes)
ok 15 - rule=-trailing,-space,-indent,tab,tabwidth=16 (attributes)
ok 16 - rule=-trailing,-space,indent,-tab
ok 17 - rule=-trailing,-space,indent,-tab,tabwidth=16
ok 18 - rule=-trailing,-space,indent,-tab (attributes)
ok 19 - rule=-trailing,-space,indent,-tab,tabwidth=16 (attributes)
ok 20 - rule=-trailing,space,-indent,-tab
ok 21 - rule=-trailing,space,-indent,-tab,tabwidth=16
ok 22 - rule=-trailing,space,-indent,-tab (attributes)
ok 23 - rule=-trailing,space,-indent,-tab,tabwidth=16 (attributes)
ok 24 - rule=-trailing,space,-indent,tab
ok 25 - rule=-trailing,space,-indent,tab,tabwidth=16
ok 26 - rule=-trailing,space,-indent,tab (attributes)
ok 27 - rule=-trailing,space,-indent,tab,tabwidth=16 (attributes)
ok 28 - rule=-trailing,space,indent,-tab
ok 29 - rule=-trailing,space,indent,-tab,tabwidth=16
ok 30 - rule=-trailing,space,indent,-tab (attributes)
ok 31 - rule=-trailing,space,indent,-tab,tabwidth=16 (attributes)
ok 32 - rule=trailing,-space,-indent,-tab
ok 33 - rule=trailing,-space,-indent,-tab,tabwidth=16
ok 34 - rule=trailing,-space,-indent,-tab (attributes)
ok 35 - rule=trailing,-space,-indent,-tab,tabwidth=16 (attributes)
ok 36 - rule=trailing,-space,-indent,tab
ok 37 - rule=trailing,-space,-indent,tab,tabwidth=16
ok 38 - rule=trailing,-space,-indent,tab (attributes)
ok 39 - rule=trailing,-space,-indent,tab,tabwidth=16 (attributes)
ok 40 - rule=trailing,-space,indent,-tab
ok 41 - rule=trailing,-space,indent,-tab,tabwidth=16
ok 42 - rule=trailing,-space,indent,-tab (attributes)
ok 43 - rule=trailing,-space,indent,-tab,tabwidth=16 (attributes)
ok 44 - rule=trailing,space,-indent,-tab
ok 45 - rule=trailing,space,-indent,-tab,tabwidth=16
ok 46 - rule=trailing,space,-indent,-tab (attributes)
ok 47 - rule=trailing,space,-indent,-tab,tabwidth=16 (attributes)
ok 48 - rule=trailing,space,-indent,tab
ok 49 - rule=trailing,space,-indent,tab,tabwidth=16
ok 50 - rule=trailing,space,-indent,tab (attributes)
ok 51 - rule=trailing,space,-indent,tab,tabwidth=16 (attributes)
ok 52 - rule=trailing,space,indent,-tab
ok 53 - rule=trailing,space,indent,-tab,tabwidth=16
ok 54 - rule=trailing,space,indent,-tab (attributes)
ok 55 - rule=trailing,space,indent,-tab,tabwidth=16 (attributes)
ok 56 - trailing whitespace & no newline at the end of file
ok 57 - blank at EOF with --whitespace=fix (1)
ok 58 - blank at EOF with --whitespace=fix (2)
ok 59 - blank at EOF with --whitespace=fix (3)
ok 60 - blank at end of hunk, not at EOF with --whitespace=fix
ok 61 - blank at EOF with --whitespace=warn
ok 62 - blank at EOF with --whitespace=error
ok 63 - blank but not empty at EOF
ok 64 - applying beyond EOF requires one non-blank context line
ok 65 - tons of blanks at EOF should not apply
ok 66 - missing blank line at end with --whitespace=fix
ok 67 - two missing blank lines at end with --whitespace=fix
ok 68 - missing blank line at end, insert before end, --whitespace=fix
ok 69 - shrink file with tons of missing blanks at end of file
ok 70 - missing blanks at EOF must only match blank lines
ok 71 - missing blank line should match context line with spaces
ok 72 - same, but with the --ignore-space-option
ok 73 - same, but with CR-LF line endings && cr-at-eol set
ok 74 - same, but with CR-LF line endings && cr-at-eol unset
# passed all 74 test(s)
1..74
*** t4125-apply-ws-fuzz.sh ***
ok 1 - setup
ok 2 - nofix
ok 3 - withfix (forward)
ok 4 - withfix (backward)
# passed all 4 test(s)
1..4
*** 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)
1..5
*** 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)
1..6
*** 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 -p (new file)
ok 6 - apply --directory (delete file)
ok 7 - apply --directory (quoted filename)
# passed all 7 test(s)
1..7
*** t4129-apply-samemode.sh ***
ok 1 - setup
ok 2 - same mode (no index)
ok 3 - same mode (with index)
ok 4 - same mode (index only)
ok 5 - mode update (no index)
ok 6 - mode update (with index)
ok 7 - mode update (index only)
# passed all 7 test(s)
1..7
*** 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)
1..7
*** 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)
1..3
*** 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
ok 14 - test removeWest2.patch
# passed all 14 test(s)
1..14
*** t4133-apply-filenames.sh ***
ok 1 - setup
ok 2 - apply diff with inconsistent filenames in headers
# passed all 2 test(s)
1..2
*** t4134-apply-submodule.sh ***
ok 1 - setup
ok 2 - removing a submodule also removes all leading subdirectories
# passed all 2 test(s)
1..2
*** t4135-apply-weird-filenames.sh ***
ok 1 - setup
ok 2 - plain, git-style file creation patch
ok 3 - plain, traditional patch
ok 4 - plain, traditional file creation patch
ok 5 - with spaces, git-style file creation patch
ok 6 - with spaces, traditional patch
ok 7 - with spaces, traditional file creation patch
ok 8 - with tab, git-style file creation patch
ok 9 - with tab, traditional patch
ok 10 - with tab, traditional file creation patch
ok 11 - with backslash, git-style file creation patch
ok 12 - with backslash, traditional patch
ok 13 - with backslash, traditional file creation patch
ok 14 - with quote, git-style file creation patch
not ok 15 - with quote, traditional patch # TODO known breakage
ok 16 - with quote, traditional file creation patch
ok 17 - whitespace-damaged traditional patch
ok 18 - traditional patch with colon in timezone
ok 19 - traditional, whitespace-damaged, colon in timezone
# still have 1 known breakage(s)
# passed all remaining 18 test(s)
1..19
*** t4136-apply-check.sh ***
ok 1 - setup
ok 2 - apply --check exits non-zero with unrecognized input
# passed all 2 test(s)
1..2
*** t4150-am.sh ***
ok 1 - setup: messages
ok 2 - setup
ok 3 - am applies patch correctly
ok 4 - am applies patch e-mail not in a mbox
ok 5 - am applies patch e-mail not in a mbox with CRLF
ok 6 - am applies patch e-mail with preceding whitespace
ok 7 - setup: new author and committer
ok 8 - am changes committer and keeps author
ok 9 - am --signoff adds Signed-off-by: line
ok 10 - am stays in branch
ok 11 - am --signoff does not add Signed-off-by: line if already there
ok 12 - am without --keep removes Re: and [PATCH] stuff
ok 13 - am --keep really keeps the subject
ok 14 - am -3 falls back to 3-way merge
ok 15 - am can rename a file
ok 16 - am -3 can rename a file
ok 17 - am -3 can rename a file after falling back to 3-way merge
ok 18 - am -3 -q is quiet
ok 19 - am pauses on conflict
ok 20 - am --skip works
ok 21 - am --resolved works
ok 22 - am takes patches from a Pine mailbox
ok 23 - am fails on mail without patch
ok 24 - am fails on empty patch
ok 25 - am works from stdin in subdirectory
ok 26 - am works from file (relative path given) in subdirectory
ok 27 - am works from file (absolute path given) in subdirectory
ok 28 - am --committer-date-is-author-date
ok 29 - am without --committer-date-is-author-date
ok 30 - am --ignore-date
ok 31 - am into an unborn branch
ok 32 - am newline in subject
ok 33 - am -q is quiet
# passed all 33 test(s)
1..33
*** 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
ok 8 - am --abort will keep the local commits intact
# passed all 8 test(s)
1..8
*** t4152-am-subjects.sh ***
ok 1 - setup baseline commit
ok 2 - create patches with short subject
ok 3 - create patches with long subject
ok 4 - create patches with multiline subject
ok 5 - short subject preserved (format-patch | am)
ok 6 - short subject preserved (format-patch -k | am)
ok 7 - short subject preserved (format-patch -k | am -k)
ok 8 - long subject preserved (format-patch | am)
ok 9 - long subject preserved (format-patch -k | am)
ok 10 - long subject preserved (format-patch -k | am -k)
ok 11 - multiline subject unwrapped (format-patch | am)
ok 12 - multiline subject unwrapped (format-patch -k | am)
ok 13 - multiline subject preserved (format-patch -k | am -k)
# passed all 13 test(s)
1..13
*** t4200-rerere.sh ***
ok 1 - setup
ok 2 - nothing recorded without rerere
ok 3 - activate rerere, old style (conflicting merge)
ok 4 - rerere.enabled works, too
ok 5 - set up rr-cache
ok 6 - rr-cache looks sane
ok 7 - rerere diff
ok 8 - rerere status
ok 9 - first postimage wins
ok 10 - rerere updates postimage timestamp
ok 11 - rerere clear
ok 12 - set up for garbage collection tests
ok 13 - gc preserves young or recently used records
ok 14 - old records rest in peace
ok 15 - setup: file2 added differently in two branches
ok 16 - resolution was recorded properly
ok 17 - rerere.autoupdate
ok 18 - merge --rerere-autoupdate
ok 19 - merge --no-rerere-autoupdate
ok 20 - set up an unresolved merge
ok 21 - explicit rerere
ok 22 - explicit rerere with autoupdate
ok 23 - explicit rerere --rerere-autoupdate overrides
ok 24 - rerere --no-no-rerere-autoupdate
ok 25 - rerere -h
# passed all 25 test(s)
1..25
*** t4201-shortlog.sh ***
ok 1 - setup
ok 2 - default output format
ok 3 - pretty format
ok 4 - --abbrev
ok 5 - output from user-defined format is re-wrapped
ok 6 - shortlog wrapping
ok 7 - shortlog from non-git directory
ok 8 - shortlog encoding
# passed all 8 test(s)
1..8
*** t4202-log.sh ***
ok 1 - setup
ok 2 - pretty
ok 3 - pretty (tformat)
ok 4 - pretty (shortcut)
ok 5 - format
ok 6 - format %w(12,1,2)
ok 7 - format %w(,1,2)
ok 8 - oneline
ok 9 - diff-filter=A
ok 10 - diff-filter=M
ok 11 - diff-filter=D
ok 12 - diff-filter=R
ok 13 - diff-filter=C
ok 14 - git log --follow
ok 15 - git log --no-walk <commits> sorts by commit time
ok 16 - git show <commits> leaves list of commits as given
ok 17 - setup case sensitivity tests
ok 18 - log --grep
ok 19 - log --grep option parsing
ok 20 - log -i --grep
ok 21 - log --grep -i
ok 22 - simple log --graph
ok 23 - set up merge history
ok 24 - log --graph with merge
ok 25 - log --graph with full output
ok 26 - set up more tangled history
ok 27 - log --graph with merge
ok 28 - log.decorate configuration
ok 29 - reflog is expected format
ok 30 - whatchanged is expected format
ok 31 - log.abbrevCommit configuration
ok 32 - show added path under "--follow -M"
# passed all 32 test(s)
1..32
*** 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-existent
ok 7 - name entry after email entry
ok 8 - name entry after email entry, case-insensitive
ok 9 - No mailmap files, but configured
ok 10 - Shortlog output (complex mapping)
ok 11 - Log output (complex mapping)
ok 12 - Blame output (complex mapping)
# passed all 12 test(s)
1..12
*** 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
ok 5 - patch-id supports git-format-patch output
ok 6 - whitespace is irrelevant in footer
ok 7 - patch-id supports git-format-patch MIME output
ok 8 - patch-id handles no-nl-at-eof markers
# passed all 8 test(s)
1..8
*** t4205-log-pretty-formats.sh ***
ok 1 - set up basic repos
ok 2 - alias builtin format
ok 3 - alias masking builtin format
ok 4 - alias user-defined format
ok 5 - alias user-defined tformat
ok 6 - alias non-existent format
ok 7 - alias of an alias
ok 8 - alias masking an alias
ok 9 - alias loop
# passed all 9 test(s)
1..9
*** t4206-log-follow-harder-copies.sh ***
ok 1 - add a file path0 and commit.
ok 2 - Change path0.
ok 3 - copy path0 to path1.
ok 4 - find the copy path0 -> path1 harder
ok 5 - validate the output.
# passed all 5 test(s)
1..5
*** t4207-log-decoration-colors.sh ***
ok 1 - setup
ok 2 - Commit Decorations Colored Correctly
# passed all 2 test(s)
1..2
*** t4208-log-magic-pathspec.sh ***
ok 1 - setup
ok 2 - "git log :/" should be ambiguous
ok 3 - "git log :" should be ambiguous
ok 4 - git log -- :
ok 5 - git log HEAD -- :/
# passed all 5 test(s)
1..5
*** t4252-am-options.sh ***
ok 1 - setup
ok 2 - interrupted am --whitespace=fix
ok 3 - interrupted am -C1
ok 4 - interrupted am -p2
ok 5 - interrupted am -C1 -p2
ok 6 - interrupted am --directory="frotz nitfol"
ok 7 - apply to a funny path
ok 8 - am --reject
# passed all 8 test(s)
1..8
*** t4253-am-keep-cr-dos.sh ***
ok 1 - setup repository with dos files
ok 2 - am with dos files without --keep-cr
ok 3 - am with dos files with --keep-cr
ok 4 - am with dos files config am.keepcr
ok 5 - am with dos files config am.keepcr overriden by --no-keep-cr
ok 6 - am with dos files with --keep-cr continue
ok 7 - am with unix files config am.keepcr overriden by --no-keep-cr
# passed all 7 test(s)
1..7
*** t4254-am-corrupt.sh ***
ok 1 - setup
ok 2 - try to apply corrupted patch
ok 3 - compare diagnostic; ensure file is still here
# passed all 3 test(s)
1..3
*** t4300-merge-tree.sh ***
ok 1 - setup
ok 2 - file add A, !B
ok 3 - file add !A, B
ok 4 - file add A, B (same)
ok 5 - file add A, B (different)
ok 6 - file change A, !B
ok 7 - file change !A, B
ok 8 - file change A, B (same)
ok 9 - file change A, B (different)
ok 10 - file change A, B (mixed)
ok 11 - file remove A, !B
ok 12 - file remove !A, B
ok 13 - file change A, remove B
ok 14 - file remove A, change B
# passed all 14 test(s)
1..14
*** 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
ok 12 - git archive --remote
ok 13 - validate file modification time
ok 14 - git get-tar-commit-id
ok 15 - extract tar archive
ok 16 - validate filenames
ok 17 - validate file contents
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
ok 23 - extract substfiles
ok 24 - validate substfile contents
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
ok 31 - git archive with --output, inferring format
ok 32 - git archive with --output, override inferred format
ok 33 - extract ZIP archive
ok 34 - validate filenames
ok 35 - validate file contents
ok 36 - git archive --format=zip with prefix
ok 37 - extract ZIP archive with prefix
ok 38 - validate filenames with prefix
ok 39 - validate file contents with prefix
ok 40 - git archive --list outside of a git repo
ok 41 - clients cannot access unreachable commits
ok 42 - git-archive --prefix=olde-
ok 43 - setup tar filters
ok 44 - archive --list mentions user filter
ok 45 - archive --list shows only enabled remote filters
ok 46 - invoke tar filter by format
ok 47 - invoke tar filter by extension
ok 48 - default output format remains tar
ok 49 - extension matching requires dot
ok 50 - only enabled filters are available remotely
ok 51 - git archive --format=tgz
ok 52 - git archive --format=tar.gz
ok 53 - infer tgz from .tgz filename
ok 54 - infer tgz from .tar.gz filename
ok 55 - extract tgz file
ok 56 - remote tar.gz is allowed by default
ok 57 - remote tar.gz can be disabled
# passed all 57 test(s)
1..57
*** 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 --worktree-attributes option
ok 11 -  worktree2/ignored does not exist
ok 12 -  worktree2/ignored-by-tree exists
ok 13 -  worktree2/ignored-by-worktree does not exist
ok 14 - git archive vs. bare
ok 15 - git archive with worktree attributes, bare
ok 16 -  bare-worktree/ignored does not exist
ok 17 -  bare-worktree/ignored-by-tree exists
ok 18 -  bare-worktree/ignored-by-worktree exists
ok 19 - export-subst
ok 20 - git tar-tree vs. git archive with worktree attributes
ok 21 - git tar-tree vs. git archive with worktree attrs, bare
# passed all 21 test(s)
1..21
*** t5100-mailinfo.sh ***
ok 1 - split sample box
ok 2 - mailinfo 0001
ok 3 - mailinfo 0002
ok 4 - mailinfo 0003
ok 5 - mailinfo 0004
ok 6 - mailinfo 0005
ok 7 - mailinfo 0006
ok 8 - mailinfo 0007
ok 9 - mailinfo 0008
ok 10 - mailinfo 0009
ok 11 - mailinfo 0010
ok 12 - mailinfo 0011
ok 13 - mailinfo 0012
ok 14 - mailinfo 0013
ok 15 - mailinfo 0014
ok 16 - mailinfo 0015
ok 17 - mailinfo 0016
ok 18 - split box with rfc2047 samples
ok 19 - mailinfo rfc2047/0001
ok 20 - mailinfo rfc2047/0002
ok 21 - mailinfo rfc2047/0003
ok 22 - mailinfo rfc2047/0004
ok 23 - mailinfo rfc2047/0005
ok 24 - mailinfo rfc2047/0006
ok 25 - mailinfo rfc2047/0007
ok 26 - mailinfo rfc2047/0008
ok 27 - mailinfo rfc2047/0009
ok 28 - mailinfo rfc2047/0010
ok 29 - mailinfo rfc2047/0011
ok 30 - respect NULs
ok 31 - Preserve NULs out of MIME encoded message
ok 32 - mailinfo on from header without name works
# passed all 32 test(s)
1..32
*** t5150-request-pull.sh ***
ok 1 - setup
ok 2 - setup: two scripts for reading pull requests
ok 3 - pull request when forgot to push
ok 4 - pull request after push
ok 5 - request names an appropriate branch
ok 6 - pull request format
ok 7 - request-pull ignores OPTIONS_KEEPDASHDASH poison
# passed all 7 test(s)
1..7
*** 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 - unpacking with --strict
ok 25 - index-pack with --strict
ok 26 - honor pack.packSizeLimit
ok 27 - verify resulting packs
ok 28 - tolerate packsizelimit smaller than biggest object
ok 29 - verify resulting packs
ok 30 - fake a SHA1 hash collision
ok 31 - make sure index-pack detects the SHA1 collision
# passed all 31 test(s)
1..31
*** 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)
1..6
*** 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-pack --verify on index version 1
ok 10 - index-pack --verify on index version 2
ok 11 - index v2: force some 64-bit offsets with pack-objects
ok 12 - index v2: verify a pack with some 64-bit offsets
ok 13 - 64-bit offsets: should be different from previous index v2 results
ok 14 - index v2: force some 64-bit offsets with index-pack
ok 15 - 64-bit offsets: index-pack result should match pack-objects one
ok 16 - index-pack --verify on 64-bit offset v2 (cheat)
ok 17 - index-pack --verify on 64-bit offset v2
ok 18 - [index v1] 1) stream pack to repository
ok 19 - [index v1] 2) create a stealth corruption in a delta base reference
ok 20 - [index v1] 3) corrupted delta happily returned wrong data
ok 21 - [index v1] 4) confirm that the pack is actually corrupted
ok 22 - [index v1] 5) pack-objects happily reuses corrupted data
ok 23 - [index v1] 6) newly created pack is BAD !
ok 24 - [index v2] 1) stream pack to repository
ok 25 - [index v2] 2) create a stealth corruption in a delta base reference
ok 26 - [index v2] 3) corrupted delta happily returned wrong data
ok 27 - [index v2] 4) confirm that the pack is actually corrupted
ok 28 - [index v2] 5) pack-objects refuses to reuse corrupted data
ok 29 - [index v2] 6) verify-pack detects CRC mismatch
ok 30 - running index-pack in the object store
# passed all 30 test(s)
1..30
*** 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
ok 24 - corrupting header to have too small output buffer fails unpack
# passed all 24 test(s)
1..24
*** 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>
ok 13 - gc --prune=never
ok 14 - gc respects gc.pruneExpire=never
ok 15 - prune --expire=never
ok 16 - gc: prune old objects after local clone
# passed all 16 test(s)
1..16
*** 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)
1..7
*** 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)
1..4
*** 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)
1..5
*** 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 - cannot override denyDeletes with git -c send-pack
ok 8 - override denyDeletes with git -c receive-pack
ok 9 - denyNonFastforwards trumps --force
ok 10 - push --all excludes remote-tracking hierarchy
ok 11 - pushing explicit refspecs respects forcing
ok 12 - pushing wildcard refspecs respects forcing
ok 13 - deny pushing to delete current branch
# passed all 13 test(s)
1..13
*** 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)
1..12
*** 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)
1..6
*** 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 
ok 8 - post-checkout hook is triggered by clone
# passed all 8 test(s)
1..8
*** 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)
1..7
*** 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)
1..3
*** t5406-remote-rejects.sh ***
ok 1 - setup
ok 2 - push reports error
ok 3 - individual ref reports error
# passed all 3 test(s)
1..3
*** t5407-post-rewrite-hook.sh ***
ok 1 - setup
ok 2 - git commit --amend
ok 3 - git commit --amend --no-post-rewrite
ok 4 - git rebase
ok 5 - git rebase --skip
ok 6 - git rebase --skip the last one
ok 7 - git rebase -m
ok 8 - git rebase -m --skip
ok 9 - git rebase -i (unchanged)
ok 10 - git rebase -i (skip)
ok 11 - git rebase -i (squash)
ok 12 - git rebase -i (fixup without conflict)
ok 13 - git rebase -i (double edit)
# passed all 13 test(s)
1..13
*** 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)
1..24
*** t5501-fetch-push-alternates.sh ***
ok 1 - setup
ok 2 - pushing into a repository with the same alternate
ok 3 - fetching from a repository with the same alternate
# passed all 3 test(s)
1..3
*** 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)
1..7
*** t5503-tagfollow.sh ***
ok 1 - setup
ok 2 - setup expect
ok 3 - fetch A (new commit : 1 connection)
ok 4 - create tag T on A, create C on branch cat
ok 5 - setup expect
ok 6 - fetch C, T (new branch, tag : 1 connection)
ok 7 - create commits O, B, tag S on B
ok 8 - setup expect
ok 9 - fetch B, S (commit and tag : 1 connection)
ok 10 - setup expect
ok 11 - new clone fetch master and tags
# passed all 11 test(s)
1..11
*** t5504-fetch-receive-strict.sh ***
ok 1 - setup
ok 2 - fetch without strict
ok 3 - fetch with !fetch.fsckobjects
ok 4 - fetch with fetch.fsckobjects
ok 5 - fetch with transfer.fsckobjects
ok 6 - push without strict
ok 7 - push with !receive.fsckobjects
ok 8 - push with receive.fsckobjects
ok 9 - push with transfer.fsckobjects
# passed all 9 test(s)
1..9
*** 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 local 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 --mirror=fetch
ok 18 - fetch mirrors act as mirrors during fetch
ok 19 - fetch mirrors can prune
ok 20 - fetch mirrors do not act as mirrors during push
ok 21 - add fetch mirror with specific branches
ok 22 - fetch mirror respects specific branches
ok 23 - add --mirror=push
ok 24 - push mirrors act as mirrors during push
ok 25 - push mirrors do not act as mirrors during fetch
ok 26 - push mirrors do not allow you to specify refs
ok 27 - add alt && prune
ok 28 - add with reachable tags (default)
ok 29 - add --tags
ok 30 - add --no-tags
ok 31 - reject --no-no-tags
ok 32 - update
ok 33 - update with arguments
ok 34 - update --prune
ok 35 - update default
ok 36 - update default (overridden, with funny whitespace)
ok 37 - update (with remotes.default defined)
ok 38 - "remote show" does not show symbolic refs
ok 39 - reject adding remote with an invalid name
ok 40 - rename a remote
ok 41 - rename does not update a non-default fetch refspec
ok 42 - rename a remote with name part of fetch spec
ok 43 - rename a remote with name prefix of other remote
ok 44 - migrate a remote from named file in $GIT_DIR/remotes
ok 45 - migrate a remote from named file in $GIT_DIR/branches
ok 46 - remote prune to cause a dangling symref
ok 47 - show empty remote
ok 48 - remote set-branches requires a remote
ok 49 - remote set-branches
ok 50 - remote set-branches with --mirror
ok 51 - new remote
ok 52 - remote set-url bar
ok 53 - remote set-url baz bar
ok 54 - remote set-url zot bar
ok 55 - remote set-url --push zot baz
ok 56 - remote set-url --push zot
ok 57 - remote set-url --push qux zot
ok 58 - remote set-url --push foo qu+x
ok 59 - remote set-url --push --add aaa
ok 60 - remote set-url --push bar aaa
ok 61 - remote set-url --push --delete bar
ok 62 - remote set-url --push --delete foo
ok 63 - remote set-url --add bbb
ok 64 - remote set-url --delete .*
ok 65 - remote set-url --delete bbb
ok 66 - remote set-url --delete baz
ok 67 - remote set-url --add ccc
ok 68 - remote set-url --delete baz
# passed all 68 test(s)
1..68
*** t5506-remote-groups.sh ***
ok 1 - setup
ok 2 - no group updates all
ok 3 - nonexistent group produces error
ok 4 - updating group updates all members (remote update)
ok 5 - updating group updates all members (fetch)
ok 6 - updating group does not update non-members (remote update)
ok 7 - updating group does not update non-members (fetch)
ok 8 - updating remote name updates that remote
# passed all 8 test(s)
1..8
*** t5509-fetch-push-namespaces.sh ***
ok 1 - setup
ok 2 - pushing into a repository using a ref namespace
ok 3 - pulling from a repository using a ref namespace
ok 4 - mirroring a repository using a ref namespace
# passed all 4 test(s)
1..4
*** 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 --prune on its own works as expected
ok 6 - fetch --prune with a branch name keeps branches
ok 7 - fetch --prune with a namespace keeps other namespaces
ok 8 - fetch --prune --tags does not delete the remote-tracking branches
ok 9 - fetch --prune --tags with branch does not delete other remote-tracking branches
ok 10 - fetch tags when there is no tags
ok 11 - fetch following tags
ok 12 - fetch must not resolve short tag name
ok 13 - fetch can now resolve short remote name
ok 14 - create bundle 1
ok 15 - header of bundle looks right
ok 16 - create bundle 2
ok 17 - unbundle 1
ok 18 - bundle 1 has only 3 files 
ok 19 - unbundle 2
ok 20 - bundle does not prerequisite objects
ok 21 - bundle should be able to create a full history
ok 22 - fetch via rsync
ok 23 - push via rsync
ok 24 - push via rsync
ok 25 - fetch with a non-applying branch.<name>.merge
ok 26 - fetch from GIT URL with a non-applying branch.<name>.merge [1]
ok 27 - fetch from GIT URL with a non-applying branch.<name>.merge [2]
ok 28 - fetch from GIT URL with a non-applying branch.<name>.merge [3]
ok 29 - quoting of a strangely named repo
ok 30 - bundle should record HEAD correctly
ok 31 - explicit fetch should not update tracking
ok 32 - explicit pull should not update tracking
ok 33 - configured fetch updates tracking
ok 34 - pushing nonexistent branch by mistake should not segv
ok 35 - auto tag following fetches minimum
ok 36 - refuse to fetch into the current branch
ok 37 - fetch into the current branch with --update-head-ok
ok 38 - fetch --dry-run
ok 39 - should be able to fetch with duplicate refspecs
# passed all 39 test(s)
1..39
*** 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)
1..41
*** 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
ok 6 - dies when no remote specified and no default remotes found
ok 7 - use "origin" when no remote specified
ok 8 - suppress "From <url>" with -q
ok 9 - use branch.<name>.remote if possible
ok 10 - confuses pattern as remote when no remote specified
ok 11 - die with non-2 for wrong repository even with --exit-code
ok 12 - Report success even when nothing matches
ok 13 - Report no-match with --exit-code
ok 14 - Report match with --exit-code
# passed all 14 test(s)
1..14
*** t5513-fetch-track.sh ***
ok 1 - setup
ok 2 - fetch
# passed all 2 test(s)
1..2
*** t5514-fetch-multiple.sh ***
ok 1 - setup
ok 2 - git fetch --all
ok 3 - git fetch --all should continue if a remote has errors
ok 4 - git fetch --all does not allow non-option arguments
ok 5 - git fetch --multiple (but only one remote)
ok 6 - git fetch --multiple (two remotes)
ok 7 - git fetch --multiple (bad remote names)
ok 8 - git fetch --all (skipFetchAll)
ok 9 - git fetch --multiple (ignoring skipFetchAll)
# passed all 9 test(s)
1..9
*** t5515-fetch-merge-logic.sh ***
ok 1 - setup
ok 2 - br-config-explicit
ok 3 - br-config-explicit config-explicit
ok 4 - br-config-explicit-merge
ok 5 - br-config-explicit-merge config-explicit
ok 6 - br-config-explicit-octopus
ok 7 - br-config-explicit-octopus config-explicit
ok 8 - br-config-glob
ok 9 - br-config-glob config-glob
ok 10 - br-config-glob-merge
ok 11 - br-config-glob-merge config-glob
ok 12 - br-config-glob-octopus
ok 13 - br-config-glob-octopus config-glob
ok 14 - br-remote-explicit
ok 15 - br-remote-explicit remote-explicit
ok 16 - br-remote-explicit-merge
ok 17 - br-remote-explicit-merge remote-explicit
ok 18 - br-remote-explicit-octopus
ok 19 - br-remote-explicit-octopus remote-explicit
ok 20 - br-remote-glob
ok 21 - br-remote-glob remote-glob
ok 22 - br-remote-glob-merge
ok 23 - br-remote-glob-merge remote-glob
ok 24 - br-remote-glob-octopus
ok 25 - br-remote-glob-octopus remote-glob
ok 26 - br-branches-default
ok 27 - br-branches-default branches-default
ok 28 - br-branches-default-merge
ok 29 - br-branches-default-merge branches-default
ok 30 - br-branches-default-octopus
ok 31 - br-branches-default-octopus branches-default
ok 32 - br-branches-one
ok 33 - br-branches-one branches-one
ok 34 - br-branches-one-merge
ok 35 - br-branches-one-merge branches-one
ok 36 - br-branches-one-octopus
ok 37 - br-branches-one-octopus branches-one
ok 38 - master
ok 39 - master config-explicit
ok 40 - master config-glob
ok 41 - master remote-explicit
ok 42 - master remote-glob
ok 43 - master branches-default
ok 44 - master branches-one
ok 45 - br-unconfig
ok 46 - br-unconfig config-explicit
ok 47 - br-unconfig config-glob
ok 48 - br-unconfig remote-explicit
ok 49 - br-unconfig remote-glob
ok 50 - br-unconfig branches-default
ok 51 - br-unconfig branches-one
ok 52 - master ../.git
ok 53 - master ../.git one
ok 54 - master ../.git one two
ok 55 - master --tags ../.git
ok 56 - master ../.git tag tag-one tag tag-three
ok 57 - master ../.git tag tag-one-tree tag tag-three-file
ok 58 - master ../.git one tag tag-one tag tag-three-file
ok 59 - br-unconfig ../.git
ok 60 - br-unconfig ../.git one
ok 61 - br-unconfig ../.git one two
ok 62 - br-unconfig --tags ../.git
ok 63 - br-unconfig ../.git tag tag-one tag tag-three
ok 64 - br-unconfig ../.git tag tag-one-tree tag tag-three-file
ok 65 - br-unconfig ../.git one tag tag-one tag tag-three-file
# passed all 65 test(s)
1..65
*** 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-existent, incomplete dest
ok 27 - push tag with non-existent, incomplete dest
ok 28 - push sha1 with non-existent, incomplete dest
ok 29 - push ref expression with non-existent, 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-existent, 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 - pushing valid refs triggers post-receive and post-update hooks
ok 43 - deleting dangling ref triggers hooks with correct args
ok 44 - deletion of a non-existent ref is not fed to post-receive and post-update hooks
ok 45 - deletion of a non-existent ref alone does trigger post-receive and post-update hooks
ok 46 - mixed ref updates, deletes, invalid deletes trigger hooks with correct input
ok 47 - allow deleting a ref using --delete
ok 48 - allow deleting a tag using --delete
ok 49 - push --delete without args aborts
ok 50 - push --delete refuses src:dest refspecs
ok 51 - warn on push to HEAD of non-bare repository
ok 52 - deny push to HEAD of non-bare repository
ok 53 - allow push to HEAD of bare repository (bare)
ok 54 - allow push to HEAD of non-bare repository (config)
ok 55 - fetch with branches
ok 56 - fetch with branches containing #
ok 57 - push with branches
ok 58 - push with branches containing #
ok 59 - push into aliased refs (consistent)
ok 60 - push into aliased refs (inconsistent)
ok 61 - push --porcelain
ok 62 - push --porcelain bad url
ok 63 - push --porcelain rejected
ok 64 - push --porcelain --dry-run rejected
# passed all 64 test(s)
1..64
*** 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)
1..12
*** t5518-fetch-exit-status.sh ***
ok 1 - setup
ok 2 - non-fast-forward fetch
ok 3 - forced update
# passed all 3 test(s)
1..3
*** 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)
1..8
*** 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 - pulling into void does not overwrite untracked files
ok 6 - test . as a remote
ok 7 - the default remote . should not break explicit pull
ok 8 - --rebase
ok 9 - pull.rebase
ok 10 - branch.to-rebase.rebase
ok 11 - branch.to-rebase.rebase should override pull.rebase
ok 12 - --rebase with rebased upstream
ok 13 - --rebase with rebased default upstream
ok 14 - rebased upstream + fetch + pull --rebase
ok 15 - pull --rebase dies early with dirty working directory
ok 16 - pull --rebase works on branch yet to be born
ok 17 - setup for detecting upstreamed changes
ok 18 - git pull --rebase detects upstreamed changes
ok 19 - setup for avoiding reapplying old patches
ok 20 - git pull --rebase does not reapply old patches
ok 21 - git pull --rebase against local branch
# passed all 21 test(s)
1..21
*** 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
ok 7 - git pull --force
ok 8 - git pull --all
# passed all 8 test(s)
1..8
*** t5522-pull-symlink.sh ***
ok 1 - setup
ok 2 - pulling from real subdir
ok 3 - pulling from symlinked subdir
ok 4 - pushing from symlinked subdir
# passed all 4 test(s)
1..4
*** t5523-push-upstream.sh ***
ok 1 - set up terminal for tests
ok 2 - setup bare parent
ok 3 - setup local commit
ok 4 - push -u master:master
ok 5 - push -u master:other
ok 6 - push -u --dry-run master:otherX
ok 7 - push -u master2:master2
ok 8 - push -u master2:other2
ok 9 - push -u :master2
ok 10 - push -u --all
ok 11 - push -u HEAD
ok 12 # skip progress messages go to tty (missing TTY)
ok 13 - progress messages do not go to non-tty
ok 14 - progress messages go to non-tty (forced)
ok 15 # skip push -q suppresses progress (missing TTY)
ok 16 # skip push --no-progress suppresses progress (missing TTY)
ok 17 # skip quiet push (missing TTY)
# passed all 17 test(s)
1..17
*** t5524-pull-msg.sh ***
ok 1 - setup
ok 2 - pull
# passed all 2 test(s)
1..2
*** t5525-fetch-tagopt.sh ***
ok 1 - setup
ok 2 - fetch with tagopt=--no-tags does not get tag
ok 3 - fetch --tags with tagopt=--no-tags gets tag
ok 4 - fetch --no-tags with tagopt=--tags does not get tag
ok 5 - fetch with tagopt=--tags gets tag
# passed all 5 test(s)
1..5
*** t5526-fetch-submodules.sh ***
ok 1 - setup
ok 2 - fetch --recurse-submodules recurses into submodules
ok 3 - fetch alone only fetches superproject
ok 4 - fetch --no-recurse-submodules only fetches superproject
ok 5 - using fetchRecurseSubmodules=true in .gitmodules recurses into submodules
ok 6 - --no-recurse-submodules overrides .gitmodules config
ok 7 - using fetchRecurseSubmodules=false in .git/config overrides setting in .gitmodules
ok 8 - --recurse-submodules overrides fetchRecurseSubmodules setting from .git/config
ok 9 - --quiet propagates to submodules
ok 10 - --dry-run propagates to submodules
ok 11 - Without --dry-run propagates to submodules
ok 12 - recurseSubmodules=true propagates into submodules
ok 13 - --recurse-submodules overrides config in submodule
ok 14 - --no-recurse-submodules overrides config setting
ok 15 - Recursion doesn't happen when no new commits are fetched in the superproject
ok 16 - Recursion stops when no new submodule commits are fetched
ok 17 - Recursion doesn't happen when new superproject commits don't change any submodules
ok 18 - Recursion picks up config in submodule
ok 19 - Recursion picks up all submodules when necessary
ok 20 - '--recurse-submodules=on-demand' doesn't recurse when no new commits are fetched in the superproject (and ignores config)
ok 21 - '--recurse-submodules=on-demand' recurses as deep as necessary (and ignores config)
ok 22 - '--recurse-submodules=on-demand' stops when no new submodule commits are found in the superproject (and ignores config)
ok 23 - 'fetch.recurseSubmodules=on-demand' overrides global config
ok 24 - 'submodule.<sub>.fetchRecurseSubmodules=on-demand' overrides fetch.recurseSubmodules
ok 25 - don't fetch submodule when newly recorded commits are already present
# passed all 25 test(s)
1..25
*** t5527-fetch-odd-refs.sh ***
ok 1 - setup repo with odd suffix ref
ok 2 - suffix ref is ignored during fetch
# passed all 2 test(s)
1..2
*** 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
ok 6 - upload-pack fails due to error in rev-list
ok 7 - upload-pack error message when bad ref requested
ok 8 - upload-pack fails due to error in pack-objects enumeration
ok 9 - create empty repository
ok 10 - fetch fails
# passed all 10 test(s)
1..10
*** t5531-deep-submodule-push.sh ***
ok 1 - setup
ok 2 - push
ok 3 - push if submodule has no remote
ok 4 - push fails if submodule commit not on remote
ok 5 - push succeeds after commit was pushed to remote
ok 6 - push fails when commit on multiple branches if one branch has no remote
ok 7 - push succeeds if submodule has no remote and is on the first superproject commit
# passed all 7 test(s)
1..7
*** t5532-fetch-proxy.sh ***
ok 1 - setup remote repo
ok 2 - setup local repo
ok 3 - fetch through proxy works
# passed all 3 test(s)
1..3
*** t5540-http-push.sh ***
# passed all 0 test(s)
1..0 # SKIP Network testing disabled (define GIT_TEST_HTTPD to enable)
*** t5541-http-push.sh ***
# passed all 0 test(s)
1..0 # SKIP Network testing disabled (define GIT_TEST_HTTPD to enable)
*** t5550-http-fetch.sh ***
# passed all 0 test(s)
1..0 # SKIP Network testing disabled (define GIT_TEST_HTTPD to enable)
*** t5551-http-fetch.sh ***
# passed all 0 test(s)
1..0 # SKIP Network testing disabled (define GIT_TEST_HTTPD to enable)
*** t5560-http-backend-noserver.sh ***
ok 1 - setup repository
ok 2 - direct refs/heads/master not found
ok 3 - static file is ok
ok 4 - no export by default
ok 5 - export if git-daemon-export-ok
ok 6 - static file if http.getanyfile true is ok
ok 7 - static file if http.getanyfile false fails
ok 8 - http.uploadpack default enabled
ok 9 - http.uploadpack true
ok 10 - http.uploadpack false
ok 11 - http.receivepack default disabled
ok 12 - http.receivepack true
ok 13 - http.receivepack false
ok 14 - http-backend blocks bad PATH_INFO
# passed all 14 test(s)
1..14
*** t5561-http-backend.sh ***
# passed all 0 test(s)
1..0 # SKIP Network testing disabled (define GIT_TEST_HTTPD to enable)
*** 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)
1..5
*** 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
ok 20 - respect url-encoding of file://
ok 21 - do not query-string-decode + in URLs
ok 22 - do not respect url-encoding of non-url path
ok 23 - clone separate gitdir
ok 24 - clone separate gitdir: output
ok 25 - clone from .git file
ok 26 - fetch from .git gitfile
ok 27 - fetch from gitfile parent
ok 28 - clone separate gitdir where target already exists
ok 29 - clone --reference from original
ok 30 - clone with more than one --reference
ok 31 - clone from original with relative alternate
# passed all 31 test(s)
1..31
*** 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)
1..3
*** 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)
ok 21 - clone with reference from a tagged repository
# passed all 21 test(s)
1..21
*** 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.
ok 16 - cloning non-existent directory fails
ok 17 - cloning non-git directory fails
# passed all 17 test(s)
1..17
*** 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)
1..4
*** t5704-bundle.sh ***
ok 1 - setup
ok 2 - tags can be excluded by rev-list options
ok 3 - die if bundle file cannot be created
not ok 4 - bundle --stdin # TODO known breakage
not ok 5 - bundle --stdin <rev-list options> # TODO known breakage
ok 6 - empty bundle file is rejected
# still have 2 known breakage(s)
# passed all remaining 4 test(s)
1..6
*** t5705-clone-2gb.sh ***
Skipping expensive 2GB clone test; enable it with GIT_TEST_CLONE_2GB=t
ok 1 # skip setup (missing CLONE_2GB)
ok 2 # skip clone - bare (missing CLONE_2GB)
ok 3 # skip clone - with worktree, file:// protocol (missing CLONE_2GB)
# passed all 3 test(s)
1..3
*** 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)
1..6
*** t5707-clone-detached.sh ***
ok 1 - setup
ok 2 - clone repo (detached HEAD points to branch)
ok 3 - cloned HEAD matches
not ok 4 - cloned HEAD is detached # TODO known breakage
ok 5 - clone repo (detached HEAD points to tag)
ok 6 - cloned HEAD matches
ok 7 - cloned HEAD is detached
ok 8 - clone repo (detached HEAD points to history)
ok 9 - cloned HEAD matches
ok 10 - cloned HEAD is detached
ok 11 - clone repo (orphan detached HEAD)
ok 12 - cloned HEAD matches
ok 13 - cloned HEAD is detached
# still have 1 known breakage(s)
# passed all remaining 12 test(s)
1..13
*** t5708-clone-config.sh ***
ok 1 - clone -c sets config in cloned repo
ok 2 - clone -c can set multi-keys
ok 3 - clone -c without a value is boolean true
ok 4 - clone -c config is available during clone
# passed all 4 test(s)
1..4
*** 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)
1..11
*** t5800-remote-helpers.sh ***
ok 1 - setup repository
ok 2 - cloning from local repo
ok 3 - cloning from remote repo
ok 4 - create new commit on remote
ok 5 - pulling from local repo
ok 6 - pulling from remote remote
ok 7 - pushing to local repo
ok 8 - synch with changes from localclone
ok 9 - pushing remote local repo
ok 10 - fetch new branch
ok 11 - fetch multiple branches
ok 12 - push when remote has extra refs
ok 13 - push new branch by name
not ok 14 - push new branch with old:new refspec # TODO known breakage
# still have 1 known breakage(s)
# passed all remaining 13 test(s)
1..14
*** t5900-repo-selection.sh ***
ok 1 - find .git dir in worktree
ok 2 - automagically add .git suffix
ok 3 - automagically add .git suffix to worktree
ok 4 - prefer worktree foo over bare foo.git
ok 5 - prefer bare foo over bare foo.git
ok 6 - disambiguate with full foo.git
ok 7 - we are not fooled by non-git foo directory
ok 8 - prefer inner .git over outer bare
# passed all 8 test(s)
1..8
*** t6000-rev-list-misc.sh ***
ok 1 - setup
ok 2 - rev-list --objects heeds pathspecs
ok 3 - rev-list --objects with pathspecs and deeper paths
ok 4 - rev-list --objects with pathspecs and copied files
# passed all 4 test(s)
1..4
*** 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)
1..13
*** 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)
1..45
*** 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)
1..33
*** t6004-rev-list-path-optim.sh ***
ok 1 - setup
ok 2 - path-optimization
ok 3 - further setup
ok 4 - path optimization 2
ok 5 - pathspec with leading path
ok 6 - pathspec with glob (1)
ok 7 - pathspec with glob (2)
# passed all 7 test(s)
1..7
*** 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)
1..6
*** t6006-rev-list-format.sh ***
ok 1 - setup
ok 2 - format percent
ok 3 - format hash
ok 4 - format tree
ok 5 - format parents
ok 6 - format author
ok 7 - format committer
ok 8 - format encoding
ok 9 - format subject
ok 10 - format body
ok 11 - format raw-body
ok 12 - format colors
ok 13 - format advanced-colors
ok 14 - setup complex body
ok 15 - format complex-encoding
ok 16 - format complex-subject
ok 17 - format complex-body
ok 18 - %x00 shows NUL
ok 19 - %ad respects --date=
ok 20 - empty email
ok 21 - del LF before empty (1)
ok 22 - del LF before empty (2)
ok 23 - add LF before non-empty (1)
ok 24 - add LF before non-empty (2)
ok 25 - add SP before non-empty (1)
ok 26 - add SP before non-empty (2)
ok 27 - --abbrev
ok 28 - %H is not affected by --abbrev-commit
ok 29 - %h is not affected by --abbrev-commit
ok 30 - "%h %gD: %gs" is same as git-reflog
ok 31 - "%h %gD: %gs" is same as git-reflog (with date)
ok 32 - "%h %gD: %gs" is same as git-reflog (with --abbrev)
ok 33 - %gd shortens ref name
ok 34 - reflog identity
ok 35 - oneline with empty message
# passed all 35 test(s)
1..35
*** t6007-rev-list-cherry-pick-file.sh ***
ok 1 - setup
ok 2 - --left-right
ok 3 - --count
ok 4 - --cherry-pick foo comes up empty
ok 5 - --cherry-pick bar does not come up empty
ok 6 - bar does not come up empty
ok 7 - --cherry-pick bar does not come up empty (II)
ok 8 - --cherry-mark
ok 9 - --cherry-mark --left-right
ok 10 - --cherry-pick --right-only
ok 11 - --cherry-pick --left-only
ok 12 - --cherry
ok 13 - --cherry --count
ok 14 - --cherry-mark --count
ok 15 - --cherry-mark --left-right --count
ok 16 - --cherry-pick with independent, but identical branches
ok 17 - --count --left-right
# passed all 17 test(s)
1..17
*** t6008-rev-list-submodule.sh ***
ok 1 - setup
ok 2 - Ilari's test
# passed all 2 test(s)
1..2
*** t6009-rev-list-parent.sh ***
ok 1 - setup
ok 2 - one is ancestor of others and should not be shown
ok 3 - setup roots, merges and octopuses
ok 4 - rev-list roots
ok 5 - rev-list no merges
ok 6 - rev-list no octopuses
ok 7 - rev-list no roots
ok 8 - rev-list merges
ok 9 - rev-list octopus
ok 10 - rev-list ordinary commits
ok 11 - rev-list --merges --no-merges yields empty set
ok 12 - rev-list override and infinities
ok 13 - dodecapus
# passed all 13 test(s)
1..13
*** t6010-merge-base.sh ***
ok 1 - setup
ok 2 - set up G and H
ok 3 - merge-base G H
ok 4 - merge-base/show-branch --independent
ok 5 - unsynchronized clocks
ok 6 - --independent with unsynchronized clocks
ok 7 - merge-base for octopus-step (setup)
ok 8 - merge-base A B C
ok 9 - criss-cross merge-base for octopus-step
# passed all 9 test(s)
1..9
*** 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)
1..6
*** 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
ok 9 - log --first-parent -- another-file
# passed all 9 test(s)
1..9
*** 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)
1..3
*** 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)
1..3
*** 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)
1..3
*** 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 - setup: get rid of decorations on B
ok 5 - --graph --simplify-by-decoration prune branch B
ok 6 - --graph --full-history -- bar.txt
ok 7 - --graph --full-history --simplify-merges -- bar.txt
ok 8 - --graph -- bar.txt
ok 9 - --graph --sparse -- bar.txt
ok 10 - --graph ^C4
ok 11 - --graph ^C3
ok 12 - --graph --boundary ^C3
# passed all 12 test(s)
1..12
*** t6017-rev-list-stdin.sh ***
ok 1 - setup
ok 2 - check rev-list master
ok 3 - check log --stat master
ok 4 - check rev-list side-1 ^side-4
ok 5 - check log --stat side-1 ^side-4
ok 6 - check rev-list side-1 ^side-7 --
ok 7 - check log --stat side-1 ^side-7 --
ok 8 - check rev-list side-1 ^side-7 -- file-1
ok 9 - check log --stat side-1 ^side-7 -- file-1
ok 10 - check rev-list side-1 ^side-7 -- file-2
ok 11 - check log --stat side-1 ^side-7 -- file-2
ok 12 - check rev-list side-3 ^side-4 -- file-3
ok 13 - check log --stat side-3 ^side-4 -- file-3
ok 14 - check rev-list side-3 ^side-2
ok 15 - check log --stat side-3 ^side-2
ok 16 - check rev-list side-3 ^side-2 -- file-1
ok 17 - check log --stat side-3 ^side-2 -- file-1
ok 18 - not only --stdin
# passed all 18 test(s)
1..18
*** t6018-rev-list-glob.sh ***
ok 1 - setup
ok 2 - rev-parse --glob=refs/heads/subspace/*
ok 3 - rev-parse --glob=heads/subspace/*
ok 4 - rev-parse --glob=refs/heads/subspace/
ok 5 - rev-parse --glob=heads/subspace/
ok 6 - rev-parse --glob=heads/subspace
not ok 7 - rev-parse accepts --glob as detached option # TODO known breakage
not ok 8 - rev-parse is not confused by option-like glob # TODO known breakage
ok 9 - rev-parse --branches=subspace/*
ok 10 - rev-parse --branches=subspace/
ok 11 - rev-parse --branches=subspace
ok 12 - rev-parse --glob=heads/subspace/* --glob=heads/other/*
ok 13 - rev-parse --glob=heads/someref/* master
ok 14 - rev-parse --glob=heads/*
ok 15 - rev-parse --tags=foo
ok 16 - rev-parse --remotes=foo
ok 17 - rev-list --glob=refs/heads/subspace/*
ok 18 - rev-list --glob refs/heads/subspace/*
ok 19 - rev-list not confused by option-like --glob arg
ok 20 - rev-list --glob=heads/subspace/*
ok 21 - rev-list --glob=refs/heads/subspace/
ok 22 - rev-list --glob=heads/subspace/
ok 23 - rev-list --glob=heads/subspace
ok 24 - rev-list --branches=subspace/*
ok 25 - rev-list --branches=subspace/
ok 26 - rev-list --branches=subspace
ok 27 - rev-list --branches
ok 28 - rev-list --glob=heads/someref/* master
ok 29 - rev-list --glob=heads/subspace/* --glob=heads/other/*
ok 30 - rev-list --glob=heads/*
ok 31 - rev-list --tags=foo
ok 32 - rev-list --tags
ok 33 - rev-list --remotes=foo
ok 34 - shortlog accepts --glob/--tags/--remotes
not ok 35 - shortlog accepts --glob as detached option # TODO known breakage
not ok 36 - shortlog --glob is not confused by option-like argument # TODO known breakage
# still have 4 known breakage(s)
# passed all remaining 32 test(s)
1..36
*** t6019-rev-list-ancestry-path.sh ***
ok 1 - setup
ok 2 - rev-list D..M
ok 3 - rev-list --ancestry-path D..M
ok 4 - rev-list D..M -- M.t
ok 5 - rev-list --ancestry-patch D..M -- M.t
ok 6 - setup criss-cross
ok 7 - criss-cross: rev-list --ancestry-path cb..bc
ok 8 - criss-cross: rev-list --ancestry-path --all ^cb
# passed all 8 test(s)
1..8
*** t6020-merge-df.sh ***
ok 1 - prepare repository
ok 2 - Merge with d/f conflicts
ok 3 - F/D conflict
ok 4 - setup modify/delete + directory/file conflict
ok 5 - modify/delete + directory/file conflict
ok 6 - modify/delete + directory/file conflict; other way
# passed all 6 test(s)
1..6
*** 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)
1..4
*** 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
ok 13 - setup for rename + d/f conflicts
ok 14 - Rename+D/F conflict; renamed file merges + dir not in way
ok 15 - Rename+D/F conflict; renamed file merges but dir in way
ok 16 - Same as previous, but merged other way
ok 17 - Rename+D/F conflict; renamed file cannot merge, dir not in way
ok 18 - Rename+D/F conflict; renamed file cannot merge and dir in the way
ok 19 - Same as previous, but merged other way
ok 20 - setup both rename source and destination involved in D/F conflict
ok 21 - both rename source and destination involved in D/F conflict
ok 22 - setup pair rename to parent of other (D/F conflicts)
ok 23 - pair rename to parent of other (D/F conflicts) w/ untracked dir
ok 24 - pair rename to parent of other (D/F conflicts) w/ clean start
ok 25 - setup rename of one file to two, with directories in the way
ok 26 - check handling of differently renamed file with D/F conflicts
ok 27 - setup rename one file to two; directories moving out of the way
ok 28 - check handling of differently renamed file with D/F conflicts
ok 29 - setup avoid unnecessary update, normal rename
ok 30 - avoid unnecessary update, normal rename
ok 31 - setup to test avoiding unnecessary update, with D/F conflict
ok 32 - avoid unnecessary update, with D/F conflict
ok 33 - setup avoid unnecessary update, dir->(file,nothing)
ok 34 - avoid unnecessary update, dir->(file,nothing)
ok 35 - setup avoid unnecessary update, modify/delete
ok 36 - avoid unnecessary update, modify/delete
ok 37 - setup avoid unnecessary update, rename/add-dest
ok 38 - avoid unnecessary update, rename/add-dest
ok 39 - setup merge of rename + small change
ok 40 - merge rename + small change
ok 41 - setup for use of extended merge markers
ok 42 - merge master into rename has correct extended markers
ok 43 - merge rename into master has correct extended markers
ok 44 - setup spurious "refusing to lose untracked" message
ok 45 - no spurious "refusing to lose untracked" message
# passed all 45 test(s)
1..45
*** t6023-merge-file.sh ***
ok 1 - merge with no changes
ok 2 - merge without conflict
ok 3 - works in subdirectory
ok 4 - merge without conflict (--quiet)
ok 5 - merge without conflict (missing LF at EOF)
ok 6 - merge result added missing LF
ok 7 - merge with conflicts
ok 8 - expected conflict markers
ok 9 - merge with conflicts, using -L
ok 10 - expected conflict markers, with -L
ok 11 - conflict in removed tail
ok 12 - expected conflict markers
ok 13 - binary files cannot be merged
ok 14 - MERGE_ZEALOUS simplifies non-conflicts
ok 15 - ZEALOUS_ALNUM
ok 16 - "diff3 -m" style output (1)
ok 17 - "diff3 -m" style output (2)
ok 18 - marker size
# passed all 18 test(s)
1..18
*** 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)
1..6
*** 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)
1..7
*** 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 - retry the merge with longer context
ok 6 - custom merge backend
ok 7 - custom merge backend
ok 8 - up-to-date merge without common ancestor
# passed all 8 test(s)
1..8
*** t6027-merge-binary.sh ***
ok 1 - setup
ok 2 - resolve
ok 3 - recursive
# passed all 3 test(s)
1..3
*** 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)
1..6
*** 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
ok 6 - initial ambiguous subtree
ok 7 - merge using explicit
ok 8 - merge2 using explicit
# passed all 8 test(s)
1..8
*** 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 reset removes bisect state after --no-checkout
ok 11 - bisect start: back in good branch
ok 12 - bisect start: no ".git/BISECT_START" created if junk rev
ok 13 - bisect start: existing ".git/BISECT_START" not modified if junk rev
ok 14 - bisect start: no ".git/BISECT_START" if mistaken rev
ok 15 - bisect start: no ".git/BISECT_START" if checkout error
ok 16 - bisect skip: successfull result
ok 17 - bisect skip: cannot tell between 3 commits
ok 18 - bisect skip: cannot tell between 2 commits
ok 19 - bisect skip: with commit both bad and skipped
ok 20 - "git bisect run" simple case
ok 21 - "git bisect run" with more complex "git bisect start"
ok 22 - bisect skip: add line and then a new test
ok 23 - bisect skip and bisect replay
ok 24 - bisect run & skip: cannot tell between 2
ok 25 - bisect run & skip: find first bad
ok 26 - bisect skip only one range
ok 27 - bisect skip many ranges
ok 28 - bisect starting with a detached HEAD
ok 29 - bisect errors out if bad and good are mistaken
ok 30 - bisect does not create a "bisect" branch
ok 31 - side branch creation
ok 32 - good merge base when good and bad are siblings
ok 33 - skipped merge base when good and bad are siblings
ok 34 - bad merge base when good and bad are siblings
ok 35 - many merge bases creation
ok 36 - good merge bases when good and bad are siblings
ok 37 - optimized merge base checks
ok 38 - "parallel" side branch creation
ok 39 - restricting bisection on one dir
ok 40 - restricting bisection on one dir and a file
ok 41 - skipping away from skipped commit
ok 42 - erroring out when using bad path parameters
ok 43 - test bisection on bare repo - --no-checkout specified
ok 44 - test bisection on bare repo - --no-checkout defaulted
ok 45 - broken branch creation
ok 46 - bisect fails if tree is broken on start commit
ok 47 - bisect fails if tree is broken on trial commit
ok 48 - bisect: --no-checkout - start commit bad
ok 49 - bisect: --no-checkout - trial commit bad
ok 50 - bisect: --no-checkout - target before breakage
ok 51 - bisect: --no-checkout - target in breakage
ok 52 - bisect: --no-checkout - target after breakage
ok 53 - bisect: demonstrate identification of damage boundary
# passed all 53 test(s)
1..53
*** t6031-merge-recursive.sh ***
ok 1 - mode change in one branch: keep changed version
ok 2 - verify executable bit on file
ok 3 - mode change in both branches: expect conflict
ok 4 - verify executable bit on file
ok 5 - merging with triple rename across D/F conflict
# passed all 5 test(s)
1..5
*** 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)
ok 9 - setup large simple rename
ok 10 - massive simple rename does not spam added files
# passed all 10 test(s)
1..10
*** 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)
1..3
*** 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)
1..3
*** t6035-merge-dir-to-symlink.sh ***
ok 1 - create a commit where dir a/b changed to symlink
ok 2 - checkout does not clobber untracked symlink
ok 3 - a/b-2/c/d is kept when clobbering symlink b
ok 4 - checkout should not have deleted a/b-2/c/d
ok 5 - setup for merge test
ok 6 - Handle D/F conflict, do not lose a/b-2/c/d in merge (resolve)
ok 7 - Handle D/F conflict, do not lose a/b-2/c/d in merge (recursive)
ok 8 - Handle F/D conflict, do not lose a/b-2/c/d in merge (resolve)
ok 9 - Handle F/D conflict, do not lose a/b-2/c/d in merge (recursive)
not ok 10 - do not lose untracked in merge (resolve) # TODO known breakage
ok 11 - do not lose untracked in merge (recursive)
ok 12 - do not lose modifications in merge (resolve)
ok 13 - do not lose modifications in merge (recursive)
ok 14 - setup a merge where dir a/b-2 changed to symlink
ok 15 - merge should not have D/F conflicts (resolve)
ok 16 - merge should not have D/F conflicts (recursive)
ok 17 - merge should not have F/D conflicts (recursive)
# still have 1 known breakage(s)
# passed all remaining 16 test(s)
1..17
*** t6036-recursive-corner-cases.sh ***
ok 1 - setup basic criss-cross + rename with no modifications
ok 2 - merge simple rename+criss-cross with no modifications
ok 3 - setup criss-cross + rename merges with basic modification
ok 4 - merge criss-cross + rename merges with basic modification
ok 5 - setup differently handled merges of rename/add conflict
ok 6 - git detects differently handled merges conflict
ok 7 - setup criss-cross + modify/delete resolved differently
ok 8 - git detects conflict merging criss-cross+modify/delete
ok 9 - git detects conflict merging criss-cross+modify/delete, reverse direction
ok 10 - setup differently handled merges of content conflict
not ok 11 - git detects conflict w/ criss-cross+contrived resolution # TODO known breakage
ok 12 - setup differently handled merges of directory/file conflict
ok 13 - merge of D & E1 fails but has appropriate contents
ok 14 - merge of E1 & D fails but has appropriate contents
ok 15 - merge of D & E2 fails but has appropriate contents
ok 16 - merge of E2 & D fails but has appropriate contents
ok 17 - setup rename/rename(1to2)/modify followed by what looks like rename/rename(2to1)/modify
ok 18 - handle rename/rename(1to2)/modify followed by what looks like rename/rename(2to1)/modify
ok 19 - setup criss-cross + rename/rename/add + modify/modify
not ok 20 - detect rename/rename/add-source for virtual merge-base # TODO known breakage
ok 21 - setup criss-cross+rename/rename/add-dest + simple modify
ok 22 - virtual merge base handles rename/rename(1to2)/add-dest
# still have 2 known breakage(s)
# passed all remaining 20 test(s)
1..22
*** t6037-merge-ours-theirs.sh ***
ok 1 - setup
ok 2 - plain recursive - should conflict
ok 3 - recursive favouring theirs
ok 4 - recursive favouring ours
ok 5 - pull with -X
# passed all 5 test(s)
1..5
*** t6038-merge-text-auto.sh ***
ok 1 - setup
ok 2 - set up fuzz_conflict() helper
ok 3 - Merge after setting text=auto
ok 4 - Merge addition of text=auto
ok 5 - Detect CRLF/LF conflict after setting text=auto
ok 6 - Detect LF/CRLF conflict from addition of text=auto
not ok 7 - checkout -m after setting text=auto # TODO known breakage
not ok 8 - checkout -m addition of text=auto # TODO known breakage
not ok 9 - cherry-pick patch from after text=auto was added # TODO known breakage
ok 10 - Test delete/normalize conflict
# still have 3 known breakage(s)
# passed all remaining 7 test(s)
1..10
*** t6040-tracking-info.sh ***
ok 1 - setup
ok 2 - branch -v
ok 3 - branch -vv
ok 4 - checkout
ok 5 - checkout with local tracked branch
ok 6 - status
ok 7 - fail to track lightweight tags
ok 8 - fail to track annotated tags
ok 9 - setup tracking with branch --set-upstream on existing branch
ok 10 - --set-upstream does not change branch
ok 11 - --set-upstream @{-1}
# passed all 11 test(s)
1..11
*** t6042-merge-rename-corner-cases.sh ***
ok 1 - setup rename/delete + untracked file
ok 2 - Does git preserve Gollum's precious artifact?
ok 3 - setup rename/modify/add-source conflict
not ok 4 - rename/modify/add-source conflict resolvable # TODO known breakage
ok 5 - setup resolvable conflict missed if rename missed
not ok 6 - conflict caused if rename not detected # TODO known breakage
ok 7 - setup conflict resolved wrong if rename missed
not ok 8 - missed conflict if rename not detected # TODO known breakage
ok 9 - setup undetected rename/add-source causes data loss
not ok 10 - detect rename/add-source and preserve all data # TODO known breakage
not ok 11 - detect rename/add-source and preserve all data, merge other way # TODO known breakage
ok 12 - setup content merge + rename/directory conflict
ok 13 - rename/directory conflict + clean content merge
ok 14 - rename/directory conflict + content merge conflict
ok 15 - setup content merge + rename/directory conflict w/ disappearing dir
ok 16 - disappearing dir in rename/directory conflict handled
ok 17 - setup rename/rename (2to1) + modify/modify
ok 18 - handle rename/rename (2to1) conflict correctly
ok 19 - setup simple rename/rename (1to2) conflict
ok 20 - merge has correct working tree contents
ok 21 - setup rename/rename(1to2)/add-source conflict
not ok 22 - detect conflict with rename/rename(1to2)/add-source merge # TODO known breakage
ok 23 - setup rename/rename(1to2)/add-source resolvable conflict
not ok 24 - rename/rename/add-source still tracks new a file # TODO known breakage
ok 25 - setup rename/rename(1to2)/add-dest conflict
ok 26 - rename/rename/add-dest merge still knows about conflicting file versions
# still have 7 known breakage(s)
# passed all remaining 19 test(s)
1..26
*** t6050-replace.sh ***
ok 1 - set up buggy branch
ok 2 - replace the author
ok 3 - test --no-replace-objects option
ok 4 - test GIT_NO_REPLACE_OBJECTS env variable
ok 5 - tag replaced commit
ok 6 - "git fsck" works
ok 7 - repack, clone and fetch work
ok 8 - "git replace" listing and deleting
ok 9 - "git replace" replacing
ok 10 - create parallel branch without the bug
ok 11 - push to cloned repo
ok 12 - push branch with replacement
ok 13 - fetch branch with replacement
ok 14 - bisect and replacements
ok 15 - index-pack and replacements
ok 16 - not just commits
# passed all 16 test(s)
1..16
*** t6060-merge-index.sh ***
ok 1 - setup diverging branches
ok 2 - read-tree does not resolve content merge
ok 3 - git merge-index git-merge-one-file resolves
ok 4 - setup bare merge
ok 5 - merge-one-file fails without a work tree
ok 6 - merge-one-file respects GIT_WORK_TREE
ok 7 - merge-one-file respects core.worktree
# passed all 7 test(s)
1..7
*** 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)
1..15
*** t6110-rev-list-sparse.sh ***
ok 1 - setup
ok 2 - rev-list --first-parent --boundary
# passed all 2 test(s)
1..2
*** 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 HEAD^^^
ok 8 - describe --tags HEAD
ok 9 - describe --tags HEAD^
ok 10 - describe --tags HEAD^^
ok 11 - describe --tags HEAD^^2
ok 12 - describe --tags HEAD^^2^
ok 13 - describe --tags HEAD^^^
ok 14 - describe --all HEAD
ok 15 - describe --all HEAD^
ok 16 - describe --all HEAD^^^
ok 17 - describe --long HEAD^^2^
ok 18 - describe --long HEAD^^2
ok 19 - describe --all A^0
ok 20 - no warning was displayed for A
ok 21 - rename tag A to Q locally
ok 22 - describe HEAD
ok 23 - warning was displayed for Q
ok 24 - rename tag Q back to A
ok 25 - pack tag refs
ok 26 - describe HEAD
ok 27 - describe --dirty
ok 28 - set-up dirty work tree
ok 29 - describe --dirty
ok 30 - describe --dirty=.mod
ok 31 - describe --dirty HEAD
ok 32 - set-up matching pattern tests
ok 33 - describe --match=test-*
ok 34 - describe --tags --match=test1-*
ok 35 - describe --tags --match=test2-*
ok 36 - describe --long --tags --match=test2-* HEAD^
# passed all 36 test(s)
1..36
*** t6200-fmt-merge-msg.sh ***
ok 1 - setup
ok 2 - message for merging local branch
ok 3 - message for merging external branch
ok 4 - [merge] summary/log configuration
ok 5 - setup: clear [merge] configuration
ok 6 - setup FETCH_HEAD
ok 7 - merge.log=3 limits shortlog length
ok 8 - merge.log=5 shows all 5 commits
ok 9 - merge.log=0 disables shortlog
ok 10 - --log=3 limits shortlog length
ok 11 - --log=5 shows all 5 commits
ok 12 - --no-log disables shortlog
ok 13 - --log=0 disables shortlog
ok 14 - fmt-merge-msg -m
ok 15 - setup: expected shortlog for two branches
ok 16 - shortlog for two branches
ok 17 - merge-msg -F
ok 18 - merge-msg -F in subdirectory
ok 19 - merge-msg with nothing to merge
ok 20 - merge-msg tag
ok 21 - merge-msg two tags
ok 22 - merge-msg tag and branch
ok 23 - merge-msg lots of commits
# passed all 23 test(s)
1..23
*** t6300-for-each-ref.sh ***
You do not seem to have gpg installed
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 contents:subject
ok 30 - basic atom: head body
ok 31 - basic atom: head contents:body
ok 32 - basic atom: head contents:signature
ok 33 - basic atom: head contents
ok 34 - basic atom: tag refname
ok 35 - basic atom: tag upstream
ok 36 - basic atom: tag objecttype
ok 37 - basic atom: tag objectsize
ok 38 - basic atom: tag objectname
ok 39 - basic atom: tag tree
ok 40 - basic atom: tag parent
ok 41 - basic atom: tag numparent
ok 42 - basic atom: tag object
ok 43 - basic atom: tag type
ok 44 - basic atom: tag author
ok 45 - basic atom: tag authorname
ok 46 - basic atom: tag authoremail
ok 47 - basic atom: tag authordate
ok 48 - basic atom: tag committer
ok 49 - basic atom: tag committername
ok 50 - basic atom: tag committeremail
ok 51 - basic atom: tag committerdate
ok 52 - basic atom: tag tag
ok 53 - basic atom: tag tagger
ok 54 - basic atom: tag taggername
ok 55 - basic atom: tag taggeremail
ok 56 - basic atom: tag taggerdate
ok 57 - basic atom: tag creator
ok 58 - basic atom: tag creatordate
ok 59 - basic atom: tag subject
ok 60 - basic atom: tag contents:subject
ok 61 - basic atom: tag body
ok 62 - basic atom: tag contents:body
ok 63 - basic atom: tag contents:signature
ok 64 - basic atom: tag contents
ok 65 - Check invalid atoms names are errors
ok 66 - Check format specifiers are ignored in naming date atoms
ok 67 - Check valid format specifiers for date fields
ok 68 - Check invalid format specifiers are errors
ok 69 - Check unformatted date fields output
ok 70 - Check format "default" formatted date fields output
ok 71 - Check format "relative" date fields output
ok 72 - Check format "short" date fields output
ok 73 - Check format "local" date fields output
ok 74 - Check format "iso8601" date fields output
ok 75 - Check format "rfc2822" date fields output
ok 76 - Verify ascending sort
ok 77 - Verify descending sort
ok 78 - Quoting style: shell
ok 79 - Quoting style: perl
ok 80 - Quoting style: python
ok 81 - Quoting style: tcl
ok 82 - more than one quoting style: --perl --shell
ok 83 - more than one quoting style: -s --python
ok 84 - more than one quoting style: --python --tcl
ok 85 - more than one quoting style: --tcl --perl
ok 86 - Check short refname format
ok 87 - Check short upstream format
ok 88 - Check short objectname format
ok 89 - Check for invalid refname format
ok 90 - Check ambiguous head and tag refs (strict)
ok 91 - Check ambiguous head and tag refs (loose)
ok 92 - Check ambiguous head and tag refs II (loose)
ok 93 - an unusual tag with an incomplete line
ok 94 - create tag with subject and body content
ok 95 - basic atom: refs/tags/subject-body subject
ok 96 - basic atom: refs/tags/subject-body body
ok 97 - basic atom: refs/tags/subject-body contents
ok 98 - create tag with multiline subject
ok 99 - basic atom: refs/tags/multiline subject
ok 100 - basic atom: refs/tags/multiline contents:subject
ok 101 - basic atom: refs/tags/multiline body
ok 102 - basic atom: refs/tags/multiline contents:body
ok 103 - basic atom: refs/tags/multiline contents:signature
ok 104 - basic atom: refs/tags/multiline contents
ok 105 # skip create signed tags (missing GPG)
ok 106 # skip basic atom: refs/tags/signed-empty subject (missing GPG)
ok 107 # skip basic atom: refs/tags/signed-empty contents:subject (missing GPG)
ok 108 # skip basic atom: refs/tags/signed-empty body (missing GPG)
ok 109 # skip basic atom: refs/tags/signed-empty contents:body (missing GPG)
ok 110 # skip basic atom: refs/tags/signed-empty contents:signature (missing GPG)
ok 111 # skip basic atom: refs/tags/signed-empty contents (missing GPG)
ok 112 # skip basic atom: refs/tags/signed-short subject (missing GPG)
ok 113 # skip basic atom: refs/tags/signed-short contents:subject (missing GPG)
ok 114 # skip basic atom: refs/tags/signed-short body (missing GPG)
ok 115 # skip basic atom: refs/tags/signed-short contents:body (missing GPG)
ok 116 # skip basic atom: refs/tags/signed-short contents:signature (missing GPG)
ok 117 # skip basic atom: refs/tags/signed-short contents (missing GPG)
ok 118 # skip basic atom: refs/tags/signed-long subject (missing GPG)
ok 119 # skip basic atom: refs/tags/signed-long contents:subject (missing GPG)
ok 120 # skip basic atom: refs/tags/signed-long body (missing GPG)
ok 121 # skip basic atom: refs/tags/signed-long contents:body (missing GPG)
ok 122 # skip basic atom: refs/tags/signed-long contents:signature (missing GPG)
ok 123 # skip basic atom: refs/tags/signed-long contents (missing GPG)
# passed all 123 test(s)
1..123
*** t6500-gc.sh ***
ok 1 - gc empty repository
ok 2 - gc --gobbledegook
ok 3 - gc -h with invalid configuration
# passed all 3 test(s)
1..3
*** 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 to move multiple sources into a directory
ok 27 - git mv should not change sha1 of moved cache entry
ok 28 - git mv should overwrite symlink to a file
ok 29 - git mv should overwrite file with a symlink
# passed all 29 test(s)
1..29
*** 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
ok 29 - --remap-to-ancestor with filename filters
ok 30 - automatic remapping to ancestor with filename filters
ok 31 - setup submodule
ok 32 - rewrite submodule with another content
ok 33 - replace submodule revision
# passed all 33 test(s)
1..33
*** t7004-tag.sh ***
You do not seem to have gpg installed
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 - tag -l can accept multiple patterns
ok 33 - a non-annotated tag created without parameters should point to HEAD
ok 34 - trying to verify an unknown tag should fail
ok 35 - trying to verify a non-annotated and non-signed tag should fail
ok 36 - trying to verify many non-annotated or unknown tags, should fail
ok 37 - creating an annotated tag with -m message should succeed
ok 38 - creating an annotated tag with -F messagefile should succeed
ok 39 - creating an annotated tag with -F - should succeed
ok 40 - trying to create a tag with a non-existing -F file should fail
ok 41 - trying to create tags giving both -m or -F options should fail
ok 42 - creating a tag with an empty -m message should succeed
ok 43 - creating a tag with an empty -F messagefile should succeed
ok 44 - extra blanks in the message for an annotated tag should be removed
ok 45 - creating a tag with blank -m message with spaces should succeed
ok 46 - creating a tag with blank -F messagefile with spaces should succeed
ok 47 - creating a tag with -F file of spaces and no newline should succeed
ok 48 - creating a tag using a -F messagefile with #comments should succeed
ok 49 - creating a tag with a #comment in the -m message should succeed
ok 50 - creating a tag with #comments in the -F messagefile should succeed
ok 51 - creating a tag with a file of #comment and no newline should succeed
ok 52 - listing the one-line message of a non-signed tag should succeed
ok 53 - listing the zero-lines message of a non-signed tag should succeed
ok 54 - listing many message lines of a non-signed tag should succeed
ok 55 - annotations for blobs are empty
ok 56 # skip trying to verify an annotated non-signed tag should fail (missing GPG)
ok 57 # skip trying to verify a file-annotated non-signed tag should fail (missing GPG)
ok 58 # skip trying to verify two annotated non-signed tags should fail (missing GPG)
ok 59 # skip creating a signed tag with -m message should succeed (missing GPG)
ok 60 # skip sign with a given key id (missing GPG)
ok 61 # skip sign with an unknown id (1) (missing GPG)
ok 62 # skip sign with an unknown id (2) (missing GPG)
ok 63 # skip -u implies signed tag (missing GPG)
ok 64 # skip creating a signed tag with -F messagefile should succeed (missing GPG)
ok 65 # skip creating a signed tag with -F - should succeed (missing GPG)
ok 66 # skip -s implies annotated tag (missing GPG)
ok 67 # skip trying to create a signed tag with non-existing -F file should fail (missing GPG)
ok 68 # skip verifying a signed tag should succeed (missing GPG)
ok 69 # skip verifying two signed tags in one command should succeed (missing GPG)
ok 70 # skip verifying many signed and non-signed tags should fail (missing GPG)
ok 71 # skip verifying a forged tag should fail (missing GPG)
ok 72 # skip creating a signed tag with an empty -m message should succeed (missing GPG)
ok 73 # skip creating a signed tag with an empty -F messagefile should succeed (missing GPG)
ok 74 # skip extra blanks in the message for a signed tag should be removed (missing GPG)
ok 75 # skip creating a signed tag with a blank -m message should succeed (missing GPG)
ok 76 # skip creating a signed tag with blank -F file with spaces should succeed (missing GPG)
ok 77 # skip creating a signed tag with spaces and no newline should succeed (missing GPG)
ok 78 # skip creating a signed tag with a -F file with #comments should succeed (missing GPG)
ok 79 # skip creating a signed tag with #commented -m message should succeed (missing GPG)
ok 80 # skip creating a signed tag with #commented -F messagefile should succeed (missing GPG)
ok 81 # skip creating a signed tag with a #comment and no newline should succeed (missing GPG)
ok 82 # skip listing the one-line message of a signed tag should succeed (missing GPG)
ok 83 # skip listing the zero-lines message of a signed tag should succeed (missing GPG)
ok 84 # skip listing many message lines of a signed tag should succeed (missing GPG)
ok 85 # skip creating a signed tag pointing to a tree should succeed (missing GPG)
ok 86 # skip creating a signed tag pointing to a blob should succeed (missing GPG)
ok 87 # skip creating a signed tag pointing to another tag should succeed (missing GPG)
t7004-tag.sh: line 1025: gpghome/gpg.conf: No such file or directory
ok 88 # skip creating a signed tag with rfc1991 (missing GPG)
ok 89 # skip reediting a signed tag body omits signature (missing GPG)
ok 90 # skip verifying rfc1991 signature (missing GPG)
ok 91 # skip list tag with rfc1991 signature (missing GPG)
ok 92 # skip verifying rfc1991 signature without --rfc1991 (missing GPG)
ok 93 # skip list tag with rfc1991 signature without --rfc1991 (missing GPG)
ok 94 # skip reediting a signed tag body omits signature (missing GPG)
ok 95 # skip git tag -s fails if gpg is misconfigured (missing GPG)
ok 96 # skip verify signed tag fails when public key is not present (missing GPG)
ok 97 - git tag -a fails if tag annotation is empty
ok 98 - message in editor has initial comment
ok 99 - message in editor has initial comment: first line
ok 100 - message in editor has initial comment: remainder
ok 101 - overwriting an annoted tag should use its previous body
ok 102 - filename for the message is relative to cwd
ok 103 - filename for the message is relative to cwd
ok 104 - creating second commit and tag
ok 105 - creating third commit without tag
ok 106 - checking that first commit is in all tags (hash)
ok 107 - checking that first commit is in all tags (tag)
ok 108 - checking that first commit is in all tags (relative)
ok 109 - checking that second commit only has one tag
ok 110 - checking that third commit has no tags
ok 111 - creating simple branch
ok 112 - checking that branch head only has one tag
ok 113 - merging original branch into this branch
ok 114 - checking that original branch head has one tag now
ok 115 - checking that initial commit is in all tags
ok 116 - mixing incompatibles modes and options is forbidden
# passed all 116 test(s)
1..116
*** t7005-editor.sh ***
ok 1 - determine default editor
ok 2 - setup
ok 3 - dumb should error out when falling back on vi
ok 4 - dumb should prefer EDITOR to VISUAL
ok 5 - Using vi
ok 6 - Using EDITOR
ok 7 - Using VISUAL
ok 8 - Using core_editor
ok 9 - Using GIT_EDITOR
ok 10 - Using vi (override)
ok 11 - Using EDITOR (override)
ok 12 - Using VISUAL (override)
ok 13 - Using core_editor (override)
ok 14 - Using GIT_EDITOR (override)
ok 15 - editor with a space
ok 16 - core.editor with a space
# passed all 16 test(s)
1..16
*** t7006-pager.sh ***
ok 1 - determine default pager
ok 2 - set up terminal for tests
ok 3 - setup
ok 4 # skip some commands use a pager (missing TTY)
ok 5 # skip pager runs from subdir (missing TTY)
ok 6 # skip some commands do not use a pager (missing TTY)
ok 7 - no pager when stdout is a pipe
ok 8 - no pager when stdout is a regular file
ok 9 # skip git --paginate rev-list uses a pager (missing TTY)
ok 10 - no pager even with --paginate when stdout is a pipe
ok 11 # skip no pager with --no-pager (missing TTY)
ok 12 # skip configuration can disable pager (missing TTY)
ok 13 # skip git config uses a pager if configured to (missing TTY)
ok 14 # skip configuration can enable pager (from subdir) (missing TTY)
ok 15 - tests can detect color
ok 16 - no color when stdout is a regular file
ok 17 # skip color when writing to a pager (missing TTY)
ok 18 # skip colors are suppressed by color.pager (missing TTY)
ok 19 - color when writing to a file intended for a pager
ok 20 # skip colors are sent to pager for external commands (missing TTY)
ok 21 - setup: some aliases
ok 22 # skip git log - default pager is used by default (missing TTY of SIMPLEPAGER,TTY)
ok 23 # skip git log - PAGER overrides default pager (missing TTY)
ok 24 # skip git log - repository-local core.pager setting overrides PAGER (missing TTY)
ok 25 # skip git log - core.pager overrides PAGER from subdirectory (missing TTY)
ok 26 # skip git log - GIT_PAGER overrides core.pager (missing TTY)
ok 27 # skip git -p log - default pager is used by default (missing TTY of SIMPLEPAGER,TTY)
ok 28 # skip git -p log - PAGER overrides default pager (missing TTY)
ok 29 # skip git -p log - repository-local core.pager setting overrides PAGER (missing TTY)
ok 30 # skip git -p log - core.pager overrides PAGER from subdirectory (missing TTY)
ok 31 # skip git -p log - GIT_PAGER overrides core.pager (missing TTY)
ok 32 # skip git aliasedlog - default pager is used by default (missing TTY of SIMPLEPAGER,TTY)
ok 33 # skip git aliasedlog - PAGER overrides default pager (missing TTY)
ok 34 # skip git aliasedlog - repository-local core.pager setting overrides PAGER (missing TTY)
ok 35 # skip git aliasedlog - core.pager overrides PAGER from subdirectory (missing TTY)
ok 36 # skip git aliasedlog - GIT_PAGER overrides core.pager (missing TTY)
ok 37 # skip git -p aliasedlog - default pager is used by default (missing TTY of SIMPLEPAGER,TTY)
ok 38 # skip git -p aliasedlog - PAGER overrides default pager (missing TTY)
ok 39 # skip git -p aliasedlog - repository-local core.pager setting overrides PAGER (missing TTY)
ok 40 # skip git -p aliasedlog - core.pager overrides PAGER from subdirectory (missing TTY)
ok 41 # skip git -p aliasedlog - GIT_PAGER overrides core.pager (missing TTY)
ok 42 # skip git -p true - default pager is used by default (missing TTY of SIMPLEPAGER,TTY)
ok 43 # skip git -p true - PAGER overrides default pager (missing TTY)
ok 44 # skip git -p true - repository-local core.pager setting overrides PAGER (missing TTY)
ok 45 # skip git -p true - core.pager overrides PAGER from subdirectory (missing TTY)
ok 46 # skip git -p true - GIT_PAGER overrides core.pager (missing TTY)
ok 47 # skip git -p request-pull - default pager is used by default (missing TTY of SIMPLEPAGER,TTY)
ok 48 # skip git -p request-pull - PAGER overrides default pager (missing TTY)
ok 49 # skip git -p request-pull - repository-local core.pager setting overrides PAGER (missing TTY)
ok 50 # skip git -p request-pull - core.pager overrides PAGER from subdirectory (missing TTY)
ok 51 # skip git -p request-pull - GIT_PAGER overrides core.pager (missing TTY)
ok 52 # skip git -p - default pager is used by default (missing TTY of SIMPLEPAGER,TTY)
ok 53 # skip git -p - PAGER overrides default pager (missing TTY)
ok 54 # skip git -p - repository-local core.pager setting is not used (missing TTY)
ok 55 # skip git -p - core.pager is not used from subdirectory (missing TTY)
ok 56 # skip git -p - GIT_PAGER overrides core.pager (missing TTY)
ok 57 # skip no pager for 'git -p nonsense' (missing TTY)
ok 58 # skip git shortlog - default pager is used by default (missing TTY of SIMPLEPAGER,TTY)
ok 59 # skip git shortlog - PAGER overrides default pager (missing TTY)
ok 60 # skip git shortlog - repository-local core.pager setting overrides PAGER (missing TTY)
ok 61 # skip git shortlog - core.pager overrides PAGER from subdirectory (missing TTY)
ok 62 # skip git shortlog - GIT_PAGER overrides core.pager (missing TTY)
ok 63 - setup: configure shortlog not to paginate
ok 64 # skip no pager for 'git shortlog' (missing TTY)
ok 65 # skip git shortlog - core.pager is not used from subdirectory (missing TTY)
ok 66 # skip git -p shortlog - default pager is used by default (missing TTY of SIMPLEPAGER,TTY)
ok 67 # skip git -p shortlog - core.pager overrides PAGER from subdirectory (missing TTY)
ok 68 # skip git -p apply </dev/null - core.pager overrides PAGER from subdirectory (missing TTY)
ok 69 # skip command-specific pager (missing TTY)
ok 70 # skip command-specific pager overrides core.pager (missing TTY)
ok 71 # skip command-specific pager overridden by environment (missing TTY)
ok 72 - setup external command
ok 73 # skip command-specific pager works for external commands (missing TTY)
ok 74 # skip sub-commands of externals use their own pager (missing TTY)
ok 75 # skip external command pagers override sub-commands (missing TTY)
# passed all 75 test(s)
1..75
*** t7007-show.sh ***
ok 1 - setup
ok 2 - showing a tag that point at a missing object
# passed all 2 test(s)
1..2
*** t7008-grep-binary.sh ***
ok 1 - setup
ok 2 - git grep ina a
ok 3 - git grep -ah ina a
ok 4 - git grep -I ina a
ok 5 - git grep -c ina a
ok 6 - git grep -l ina a
ok 7 - git grep -L bar a
ok 8 - git grep -q ina a
ok 9 - git grep -F ile a
ok 10 - git grep -Fi iLE a
ok 11 - git grep ile a
not ok 12 - git grep .fi a # TODO known breakage
ok 13 - git grep -F y<NUL>f a
ok 14 - git grep -F y<NUL>x a
ok 15 - git grep -Fi Y<NUL>f a
ok 16 - git grep -Fi Y<NUL>x a
ok 17 - git grep y<NUL>f a
ok 18 - git grep y<NUL>x a
ok 19 - grep respects binary diff attribute
ok 20 - grep respects not-binary diff attribute
# still have 1 known breakage(s)
# passed all remaining 19 test(s)
1..20
*** 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)
1..16
*** t7011-skip-worktree-reading.sh ***
ok 1 - setup
ok 2 - update-index
ok 3 - update-index
ok 4 - update-index --remove
ok 5 - update-index --remove
ok 6 - ls-files --delete
ok 7 - ls-files --delete
ok 8 - ls-files --modified
ok 9 - ls-files --modified
ok 10 - grep with skip-worktree file
ok 11 - diff-index does not examine skip-worktree absent entries
ok 12 - diff-index does not examine skip-worktree dirty entries
ok 13 - diff-files does not examine skip-worktree absent entries
ok 14 - diff-files does not examine skip-worktree dirty entries
ok 15 - git-rm succeeds on skip-worktree absent entries
ok 16 - commit on skip-worktree absent entries
ok 17 - commit on skip-worktree dirty entries
# passed all 17 test(s)
1..17
*** t7012-skip-worktree-writing.sh ***
ok 1 - setup
ok 2 - read-tree updates worktree, absent case
ok 3 - read-tree updates worktree, dirty case
ok 4 - read-tree removes worktree, absent case
ok 5 - read-tree removes worktree, dirty case
ok 6 - index setup
ok 7 - git-add ignores worktree content
ok 8 - git-add ignores worktree content
ok 9 - git-rm fails if worktree is dirty
ok 10 - git-clean, absent case
ok 11 - git-clean, dirty case
# passed all 11 test(s)
1..11
*** 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
ok 6 - rename & unmerged setup
ok 7 - rename & unmerged status
ok 8 - git diff-index --cached shows 2 added + 1 unmerged
ok 9 - git diff-index --cached -M shows 2 added + 1 unmerged
ok 10 - git diff-index --cached -C shows 2 copies + 1 unmerged
# passed all 10 test(s)
1..10
*** 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)
1..10
*** 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 - resetting specific path that is unmerged
ok 22 - disambiguation (1)
ok 23 - disambiguation (2)
ok 24 - disambiguation (3)
ok 25 - disambiguation (4)
# passed all 25 test(s)
1..25
*** t7103-reset-bare.sh ***
ok 1 - setup non-bare
ok 2 - "hard" reset requires a worktree
ok 3 - "merge" reset requires a worktree
ok 4 - "keep" reset requires a worktree
ok 5 - "mixed" reset is ok
ok 6 - "soft" reset is ok
ok 7 - hard reset works with GIT_WORK_TREE
ok 8 - setup bare
ok 9 - "hard" reset is not allowed in bare
ok 10 - "merge" reset is not allowed in bare
ok 11 - "keep" reset is not allowed in bare
ok 12 - "mixed" reset is not allowed in bare
ok 13 - "soft" reset is allowed in bare
# passed all 13 test(s)
1..13
*** 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)
1..3
*** 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)
1..8
*** t7110-reset-merge.sh ***
ok 1 - setup
ok 2 - reset --merge is ok with changes in file it does not touch
ok 3 - reset --merge is ok when switching back
ok 4 - reset --keep is ok with changes in file it does not touch
ok 5 - reset --keep is ok when switching back
ok 6 - reset --merge discards changes added to index (1)
ok 7 - reset --merge is ok again when switching back (1)
ok 8 - reset --keep fails with changes in index in files it touches
ok 9 - reset --merge discards changes added to index (2)
ok 10 - reset --merge is ok again when switching back (2)
ok 11 - reset --keep keeps changes it does not touch
ok 12 - reset --keep keeps changes when switching back
ok 13 - reset --merge fails with changes in file it touches
ok 14 - reset --keep fails with changes in file it touches
ok 15 - setup 3 different branches
ok 16 - "reset --merge HEAD^" is ok with pending merge
ok 17 - "reset --keep HEAD^" fails with pending merge
ok 18 - "reset --merge HEAD" is ok with pending merge
ok 19 - "reset --keep HEAD" fails with pending merge
ok 20 - --merge is ok with added/deleted merge
ok 21 - --keep fails with added/deleted merge
# passed all 21 test(s)
1..21
*** t7111-reset-table.sh ***
ok 1 - creating initial commits
ok 2 - check: A B C D --soft A B D
ok 3 - check: A B C D --mixed A D D
ok 4 - check: A B C D --hard D D D
ok 5 - check: A B C D --merge XXXXX  
ok 6 - check: A B C D --keep XXXXX  
ok 7 - check: A B C C --soft A B C
ok 8 - check: A B C C --mixed A C C
ok 9 - check: A B C C --hard C C C
ok 10 - check: A B C C --merge XXXXX  
ok 11 - check: A B C C --keep A C C
ok 12 - check: B B C D --soft B B D
ok 13 - check: B B C D --mixed B D D
ok 14 - check: B B C D --hard D D D
ok 15 - check: B B C D --merge D D D
ok 16 - check: B B C D --keep XXXXX  
ok 17 - check: B B C C --soft B B C
ok 18 - check: B B C C --mixed B C C
ok 19 - check: B B C C --hard C C C
ok 20 - check: B B C C --merge C C C
ok 21 - check: B B C C --keep B C C
ok 22 - check: B C C D --soft B C D
ok 23 - check: B C C D --mixed B D D
ok 24 - check: B C C D --hard D D D
ok 25 - check: B C C D --merge XXXXX  
ok 26 - check: B C C D --keep XXXXX  
ok 27 - check: B C C C --soft B C C
ok 28 - check: B C C C --mixed B C C
ok 29 - check: B C C C --hard C C C
ok 30 - check: B C C C --merge B C C
ok 31 - check: B C C C --keep B C C
ok 32 - setting up branches to test with unmerged entries
ok 33 - check: X U B C --soft XXXXX  
ok 34 - check: X U B C --mixed X C C
ok 35 - check: X U B C --hard C C C
ok 36 - check: X U B C --merge C C C
ok 37 - check: X U B C --keep XXXXX  
ok 38 - check: X U B B --soft XXXXX  
ok 39 - check: X U B B --mixed X B B
ok 40 - check: X U B B --hard B B B
ok 41 - check: X U B B --merge B B B
ok 42 - check: X U B B --keep XXXXX  
# passed all 42 test(s)
1..42
*** 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 - format of merge conflict from checkout -m
ok 9 - checkout --merge --conflict=diff3 <branch>
ok 10 - checkout to detach HEAD (with advice declined)
ok 11 - checkout to detach HEAD
ok 12 - checkout to detach HEAD with branchname^
ok 13 - checkout to detach HEAD with :/message
ok 14 - checkout to detach HEAD with HEAD^0
ok 15 - checkout with ambiguous tag/branch names
ok 16 - checkout with ambiguous tag/branch names
ok 17 - switch branches while in subdirectory
ok 18 - checkout specific path while in subdirectory
ok 19 - checkout w/--track sets up tracking
ok 20 - checkout w/autosetupmerge=always sets up tracking
ok 21 - checkout w/--track from non-branch HEAD fails
ok 22 - checkout w/--track from tag fails
ok 23 - detach a symbolic link HEAD
ok 24 - checkout with --track fakes a sensible -b <name>
ok 25 - checkout with --track, but without -b, fails with too short tracked name
ok 26 - checkout an unmerged path should fail
ok 27 - checkout with an unmerged path can be ignored
ok 28 - checkout unmerged stage
ok 29 - checkout with --merge
ok 30 - checkout with --merge, in diff3 -m style
ok 31 - checkout --conflict=merge, overriding config
ok 32 - checkout --conflict=diff3
ok 33 - failing checkout -b should not break working tree
ok 34 - switch out of non-branch
ok 35 - custom merge driver with checkout -m
# passed all 35 test(s)
1..35
*** t7300-clean.sh ***
ok 1 - setup
ok 2 - git clean with skip-worktree .gitignore
ok 3 - git clean
ok 4 - git clean src/
ok 5 - git clean src/ src/
ok 6 - git clean with prefix
ok 7 - git clean with relative prefix
ok 8 - git clean with absolute path
ok 9 - git clean with out of work tree relative path
ok 10 - git clean with out of work tree absolute path
ok 11 - git clean -d with prefix and path
ok 12 - git clean symbolic link
ok 13 - git clean with wildcard
ok 14 - git clean -n
ok 15 - git clean -d
ok 16 - git clean -d src/ examples/
ok 17 - git clean -x
ok 18 - git clean -d -x
ok 19 - git clean -X
ok 20 - git clean -d -X
ok 21 - clean.requireForce defaults to true
ok 22 - clean.requireForce
ok 23 - clean.requireForce and -n
ok 24 - clean.requireForce and -f
ok 25 - core.excludesfile
ok 26 - removal failure
ok 27 - nested git work tree
ok 28 - force removal of nested git work tree
ok 29 - git clean -e
ok 30 - git clean -d with an unreadable empty directory
# passed all 30 test(s)
1..30
*** t7400-submodule-basic.sh ***
ok 1 - setup - initial commit
ok 2 - setup - repository in init subdirectory
ok 3 - setup - commit with gitlink
ok 4 - setup - hide init subdirectory
ok 5 - setup - repository to add submodules to
ok 6 - submodule add
ok 7 - submodule add to .gitignored path fails
ok 8 - submodule add to .gitignored path with --force
ok 9 - submodule add --branch
ok 10 - submodule add with ./ in path
ok 11 - submodule add with // in path
ok 12 - submodule add with /.. in path
ok 13 - submodule add with ./, /.. and // in path
ok 14 - setup - add an example entry to .gitmodules
ok 15 - status should fail for unmapped paths
ok 16 - setup - map path in .gitmodules
ok 17 - status should only print one line
ok 18 - setup - fetch commit name from submodule
ok 19 - status should initially be "missing"
ok 20 - init should register submodule url in .git/config
ok 21 - update should fail when path is used by a file
ok 22 - update should fail when path is used by a nonempty directory
ok 23 - update should work when path is an empty dir
ok 24 - status should be "up-to-date" after update
ok 25 - status should be "modified" after submodule commit
ok 26 - the --cached sha1 should be rev1
ok 27 - git diff should report the SHA1 of the new submodule commit
ok 28 - update should checkout rev1
ok 29 - status should be "up-to-date" after update
ok 30 - checkout superproject with subproject already present
ok 31 - apply submodule diff
ok 32 - update --init
ok 33 - do not add files from a submodule
ok 34 - gracefully add submodule with a trailing slash
ok 35 - ls-files gracefully handles trailing slash
ok 36 - moving to a commit without submodule does not leave empty dir
ok 37 - submodule <invalid-path> warns
ok 38 - add submodules without specifying an explicit path
ok 39 - add should fail when path is used by a file
ok 40 - add should fail when path is used by an existing directory
ok 41 - use superproject as upstream when path is relative and no url is set there
ok 42 - set up for relative path tests
ok 43 - relative path works with URL
ok 44 - relative path works with user@host:path
# passed all 44 test(s)
1..44
*** 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
ok 16 - --for-status
ok 17 - fail when using --files together with --cached
ok 18 - should not fail in an empty repo
# passed all 18 test(s)
1..18
*** 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)
1..5
*** 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
ok 5 - "git submodule sync" should update known submodule URLs
ok 6 - "git submodule sync" should not vivify uninteresting submodule
# passed all 6 test(s)
1..6
*** t7405-submodule-merge.sh ***
ok 1 - setup
ok 2 - setup for merge search
ok 3 - merge with one side as a fast-forward of the other
ok 4 - merging should conflict for non fast-forward
ok 5 - merging should fail for ambiguous common parent
ok 6 - merging should fail for changes that are backwards
ok 7 - git submodule status should display the merge conflict properly with merge base
ok 8 - git submodule status should display the merge conflict properly without merge-base
ok 9 - merging with a modify/modify conflict between merge bases
ok 10 - setup for recursive merge with submodule
ok 11 - recursive merge with submodule
# passed all 11 test(s)
1..11
*** t7406-submodule-update.sh ***
ok 1 - setup a submodule tree
ok 2 - submodule update detaching the HEAD 
ok 3 - submodule update does not fetch already present commits
ok 4 - submodule update should fail due to local changes
ok 5 - submodule update should throw away changes with --force 
ok 6 - submodule update --rebase staying on master
ok 7 - submodule update --merge staying on master
ok 8 - submodule update - rebase in .git/config
ok 9 - submodule update - checkout in .git/config but --rebase given
ok 10 - submodule update - merge in .git/config
ok 11 - submodule update - checkout in .git/config but --merge given
ok 12 - submodule update - checkout in .git/config
ok 13 - submodule init picks up rebase
ok 14 - submodule init picks up merge
ok 15 - submodule update --merge  - ignores --merge  for new submodules
ok 16 - submodule update --rebase - ignores --rebase for new submodules
ok 17 - submodule update ignores update=merge config for new submodules
ok 18 - submodule update ignores update=rebase config for new submodules
ok 19 - submodule init picks up update=none
ok 20 - submodule update - update=none in .git/config
ok 21 - submodule update - update=none in .git/config but --checkout given
ok 22 - submodule update --init skips submodule with update=none
ok 23 - submodule update continues after checkout error
ok 24 - submodule update continues after recursive checkout error
ok 25 - submodule update exit immediately in case of merge conflict
ok 26 - submodule update exit immediately after recursive rebase error
ok 27 - add different submodules to the same path
ok 28 - submodule add places git-dir in superprojects git-dir
ok 29 - submodule update places git-dir in superprojects git-dir
ok 30 - submodule add places git-dir in superprojects git-dir recursive
ok 31 - submodule update places git-dir in superprojects git-dir recursive
not ok - 32 submodule add properly re-creates deeper level submodules
#	
#		(cd super &&
#		 git reset --hard master &&
#		 rm -rf deeper/ &&
#		 git submodule add ../submodule deeper/submodule
#		)
#	
# failed 1 among 32 test(s)
1..32
make[3]: [t7406-submodule-update.sh] Error 1 (ignored)
*** t7407-submodule-foreach.sh ***
ok 1 - setup a submodule tree
ok 2 - test basic "submodule foreach" usage
ok 3 - setup nested submodules
ok 4 - use "submodule foreach" to checkout 2nd level submodule
ok 5 - use "foreach --recursive" to checkout all submodules
ok 6 - test messages from "foreach --recursive"
ok 7 - test "foreach --quiet --recursive"
ok 8 - use "update --recursive" to checkout all submodules
ok 9 - test "status --recursive"
ok 10 - ensure "status --cached --recursive" preserves the --cached flag
ok 11 - use "git clone --recursive" to checkout all submodules
ok 12 - test "update --recursive" with a flag with spaces
ok 13 - use "update --recursive nested1" to checkout all submodules rooted in nested1
ok 14 - command passed to foreach retains notion of stdin
ok 15 - command passed to foreach --recursive retains notion of stdin
# passed all 15 test(s)
1..15
*** 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)
1..10
*** 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 - commit message from template with whitespace issue
ok 14 - using alternate GIT_INDEX_FILE (1)
ok 15 - using alternate GIT_INDEX_FILE (2)
ok 16 - --signoff
ok 17 - commit message from file (1)
ok 18 - commit message from file (2)
ok 19 - commit message from stdin
ok 20 - commit -F overrides -t
ok 21 - Commit without message is allowed with --allow-empty-message
ok 22 - Commit without message is no-no without --allow-empty-message
ok 23 - Commit a message with --allow-empty-message
ok 24 - commit --fixup provides correct one-line commit message
ok 25 - commit --squash works with -F
ok 26 - commit --squash works with -m
ok 27 - commit --squash works with -C
ok 28 - commit --squash works with -c
ok 29 - commit --squash works with -C for same commit
ok 30 - commit --squash works with -c for same commit
ok 31 - commit --squash works with editor
ok 32 - invalid message options when using --fixup
# passed all 32 test(s)
1..32
*** t7501-commit.sh ***
ok 1 - initial status
ok 2 - fail initial amend
ok 3 - setup: initial commit
ok 4 - -m and -F do not mix
ok 5 - -m and -C do not mix
ok 6 - paths and -a do not mix
ok 7 - can use paths with --interactive
ok 8 - using invalid commit with -C
ok 9 - nothing to commit
ok 10 - setup: non-initial commit
ok 11 - commit message from non-existing file
ok 12 - empty commit message
ok 13 - setup: commit message from file
ok 14 - amend commit
ok 15 - set up editor
ok 16 - amend without launching editor
ok 17 - --amend --edit
ok 18 - -m --edit
ok 19 - -m and -F do not mix
ok 20 - using message from other commit
ok 21 - editing message from other commit
ok 22 - message from stdin
ok 23 - overriding author from command line
ok 24 - interactive add
ok 25 - commit --interactive doesn't change index if editor aborts
ok 26 - editor not invoked if -F is given
ok 27 - partial commit that involves removal (1)
ok 28 - partial commit that involves removal (2)
ok 29 - partial commit that involves removal (3)
ok 30 - amend commit to fix author
ok 31 - amend commit to fix date
ok 32 - commit complains about bogus date
ok 33 - sign off (1)
ok 34 - sign off (2)
ok 35 - signoff gap
ok 36 - signoff gap 2
ok 37 - multiple -m
ok 38 - amend commit to fix author
ok 39 - git commit <file> with dirty index
ok 40 - same tree (single parent)
ok 41 - same tree (single parent) --allow-empty
ok 42 - same tree (merge and amend merge)
ok 43 - amend using the message from another commit
ok 44 - amend using the message from a commit named with tag
ok 45 - amend can copy notes
# passed all 45 test(s)
1..45
*** t7502-commit.sh ***
ok 1 - output summary format
ok 2 - output summary format: root-commit
ok 3 - output summary format for commit with an empty diff
ok 4 - output summary format for merges
ok 5 - the basics
ok 6 - partial
ok 7 - partial modification in a subdirectory
ok 8 - partial removal
ok 9 - sign off
ok 10 - multiple -m
ok 11 - verbose
ok 12 - verbose respects diff config
ok 13 - cleanup commit messages (verbatim,-t)
ok 14 - cleanup commit messages (verbatim,-F)
ok 15 - cleanup commit messages (verbatim,-m)
ok 16 - cleanup commit messages (whitespace,-F)
ok 17 - cleanup commit messages (strip,-F)
ok 18 - cleanup commit messages (strip,-F,-e)
ok 19 - cleanup commit messages (strip,-F,-e): output
ok 20 - author different from committer
ok 21 - committer is automatic
ok 22 - do not fire editor in the presence of conflicts
ok 23 - a SIGTERM should break locks
ok 24 - Hand committing of a redundant merge removes dups
ok 25 - A single-liner subject with a token plus colon is not a footer
ok 26 - commit
ok 27 - commit
ok 28 - commit --status
ok 29 - commit --no-status
ok 30 - commit with commit.status = yes
ok 31 - commit with commit.status = no
ok 32 - commit --status with commit.status = yes
ok 33 - commit --no-status with commit.status = yes
ok 34 - commit --status with commit.status = no
ok 35 - commit --no-status with commit.status = no
ok 36 - commit
ok 37 - commit
ok 38 - commit --status
ok 39 - commit --no-status
ok 40 - commit with commit.status = yes
ok 41 - commit with commit.status = no
ok 42 - commit --status with commit.status = yes
ok 43 - commit --no-status with commit.status = yes
ok 44 - commit --status with commit.status = no
ok 45 - commit --no-status with commit.status = no
# passed all 45 test(s)
1..45
*** 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
ok 7 - with non-executable hook
ok 8 - --no-verify with non-executable hook
ok 9 - with hook requiring GIT_PREFIX
ok 10 - with failing hook requiring GIT_PREFIX
# passed all 10 test(s)
1..10
*** 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)
ok 13 - with non-executable hook
ok 14 - with non-executable hook (editor)
ok 15 - --no-verify with non-executable hook
ok 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)
1..20
*** 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 hook (merge)
ok 12 - with failing hook
ok 13 - with failing hook (--no-verify)
# passed all 13 test(s)
1..13
*** t7506-status-submodule.sh ***
ok 1 - setup
ok 2 - status clean
ok 3 - commit --dry-run -a clean
ok 4 - status with modified file in submodule
ok 5 - status with modified file in submodule (porcelain)
ok 6 - status with added file in submodule
ok 7 - status with added file in submodule (porcelain)
ok 8 - status with untracked file in submodule
ok 9 - status -uno with untracked file in submodule
ok 10 - status with untracked file in submodule (porcelain)
ok 11 - status with added and untracked file in submodule
ok 12 - status with added and untracked file in submodule (porcelain)
ok 13 - status with modified file in modified submodule
ok 14 - status with modified file in modified submodule (porcelain)
ok 15 - status with added file in modified submodule
ok 16 - status with added file in modified submodule (porcelain)
ok 17 - status with untracked file in modified submodule
ok 18 - status with untracked file in modified submodule (porcelain)
ok 19 - status with added and untracked file in modified submodule
ok 20 - status with added and untracked file in modified submodule (porcelain)
ok 21 - setup .git file for sub
ok 22 - status with added file in modified submodule with .git file
ok 23 - rm submodule contents
ok 24 - status clean (empty submodule dir)
ok 25 - status -a clean (empty submodule dir)
ok 26 - status with merge conflict in .gitmodules
ok 27 - diff with merge conflict in .gitmodules
ok 28 - diff --submodule with merge conflict in .gitmodules
# passed all 28 test(s)
1..28
*** 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
not ok 7 - diff in message is retained with -v # TODO known breakage
# still have 1 known breakage(s)
# passed all remaining 6 test(s)
1..7
*** t7508-status.sh ***
ok 1 - status -h in broken repository
ok 2 - commit -h in broken repository
ok 3 - setup
ok 4 - status (1)
ok 5 - status (2)
ok 6 - status (advice.statusHints false)
ok 7 - status -s
ok 8 - status with gitignore
ok 9 - status with gitignore (nothing untracked)
ok 10 - status -s -b
ok 11 - setup dir3
ok 12 - status -uno
ok 13 - status (status.showUntrackedFiles no)
ok 14 - status -uno (advice.statusHints false)
ok 15 - status -s -uno
ok 16 - status -s (status.showUntrackedFiles no)
ok 17 - status -unormal
ok 18 - status (status.showUntrackedFiles normal)
ok 19 - status -s -unormal
ok 20 - status -s (status.showUntrackedFiles normal)
ok 21 - status -uall
ok 22 - status (status.showUntrackedFiles all)
ok 23 - teardown dir3
ok 24 - status -s -uall
ok 25 - status -s (status.showUntrackedFiles all)
ok 26 - status with relative paths
ok 27 - status -s with relative paths
ok 28 - status --porcelain ignores relative paths setting
ok 29 - setup unique colors
ok 30 - status with color.ui
ok 31 - status with color.status
ok 32 - status -s with color.ui
ok 33 - status -s with color.status
ok 34 - status -s -b with color.status
ok 35 - status --porcelain ignores color.ui
ok 36 - status --porcelain ignores color.status
ok 37 - status --porcelain ignores -b
ok 38 - status without relative paths
ok 39 - status -s without relative paths
ok 40 - dry-run of partial commit excluding new file in index
ok 41 - status refreshes the index
ok 42 - setup status submodule summary
ok 43 - status submodule summary is disabled by default
ok 44 - status --untracked-files=all does not show submodule
ok 45 - status -s submodule summary is disabled by default
ok 46 - status -s --untracked-files=all does not show submodule
ok 47 - status submodule summary
ok 48 - status -s submodule summary
ok 49 - status submodule summary (clean submodule): commit
ok 50 - status -s submodule summary (clean submodule)
ok 51 - status -z implies porcelain
ok 52 - commit --dry-run submodule summary (--amend)
ok 53 - status succeeds in a read-only repository
ok 54 - --ignore-submodules=untracked suppresses submodules with untracked content
ok 55 - .gitmodules ignore=untracked suppresses submodules with untracked content
ok 56 - .git/config ignore=untracked suppresses submodules with untracked content
ok 57 - --ignore-submodules=dirty suppresses submodules with untracked content
ok 58 - .gitmodules ignore=dirty suppresses submodules with untracked content
ok 59 - .git/config ignore=dirty suppresses submodules with untracked content
ok 60 - --ignore-submodules=dirty suppresses submodules with modified content
ok 61 - .gitmodules ignore=dirty suppresses submodules with modified content
ok 62 - .git/config ignore=dirty suppresses submodules with modified content
ok 63 - --ignore-submodules=untracked doesn't suppress submodules with modified content
ok 64 - .gitmodules ignore=untracked doesn't suppress submodules with modified content
ok 65 - .git/config ignore=untracked doesn't suppress submodules with modified content
ok 66 - --ignore-submodules=untracked doesn't suppress submodule summary
ok 67 - .gitmodules ignore=untracked doesn't suppress submodule summary
ok 68 - .git/config ignore=untracked doesn't suppress submodule summary
ok 69 - --ignore-submodules=dirty doesn't suppress submodule summary
ok 70 - .gitmodules ignore=dirty doesn't suppress submodule summary
ok 71 - .git/config ignore=dirty doesn't suppress submodule summary
ok 72 - --ignore-submodules=all suppresses submodule summary
not ok 73 - .gitmodules ignore=all suppresses submodule summary # TODO known breakage
not ok 74 - .git/config ignore=all suppresses submodule summary # TODO known breakage
# still have 2 known breakage(s)
# passed all remaining 72 test(s)
1..74
*** t7509-commit.sh ***
ok 1 - -C option copies authorship and message
ok 2 - -C option copies only the message with --reset-author
ok 3 - -c option copies authorship and message
ok 4 - -c option copies only the message with --reset-author
ok 5 - --amend option copies authorship
ok 6 - --amend option with empty author
ok 7 - --amend option with missing author
ok 8 - --reset-author makes the commit ours even with --amend option
ok 9 - --reset-author and --author are mutually exclusive
ok 10 - --reset-author should be rejected without -c/-C/--amend
ok 11 - commit respects CHERRY_PICK_HEAD and MERGE_MSG
ok 12 - --reset-author with CHERRY_PICK_HEAD
# passed all 12 test(s)
1..12
*** t7510-signed-commit.sh ***
You do not seem to have gpg installed
ok 1 # skip create signed commits (missing GPG)
ok 2 # skip show signatures (missing GPG)
ok 3 # skip detect fudged signature (missing GPG)
ok 4 # skip detect fudged signature with NUL (missing GPG)
ok 5 # skip amending already signed commit (missing GPG)
# passed all 5 test(s)
1..5
*** t7511-status-index.sh ***
ok 1 - status, filename length 1
ok 2 - status, filename length 2
ok 3 - status, filename length 3
ok 4 - status, filename length 4
ok 5 - status, filename length 5
ok 6 - status, filename length 6
ok 7 - status, filename length 7
ok 8 - status, filename length 8
ok 9 - status, filename length 9
ok 10 - status, filename length 10
ok 11 - status, filename length 11
ok 12 - status, filename length 12
ok 13 - status, filename length 13
ok 14 - status, filename length 14
ok 15 - status, filename length 15
ok 16 - status, filename length 16
ok 17 - status, filename length 17
ok 18 - status, filename length 18
ok 19 - status, filename length 19
ok 20 - status, filename length 20
ok 21 - status, filename length 21
ok 22 - status, filename length 22
ok 23 - status, filename length 23
ok 24 - status, filename length 24
# passed all 24 test(s)
1..24
*** t7600-merge.sh ***
You do not seem to have gpg installed
ok 1 - setup
ok 2 - test option parsing
ok 3 - merge -h with invalid index
ok 4 - reject non-strategy with a git-merge-foo name
ok 5 - merge c0 with c1
ok 6 - merge c0 with c1 with --ff-only
ok 7 - merge from unborn branch
ok 8 - merge c1 with c2
ok 9 - merge c1 with c2 and c3
ok 10 - merges with --ff-only
ok 11 - merges with merge.ff=only
ok 12 - merge c0 with c1 (no-commit)
ok 13 - merge c1 with c2 (no-commit)
ok 14 - merge c1 with c2 and c3 (no-commit)
ok 15 - merge c0 with c1 (squash)
ok 16 - merge c0 with c1 (squash, ff-only)
ok 17 - merge c1 with c2 (squash)
ok 18 - unsuccesful merge of c1 with c2 (squash, ff-only)
ok 19 - merge c1 with c2 and c3 (squash)
ok 20 - merge c1 with c2 (no-commit in config)
ok 21 - merge c1 with c2 (log in config)
ok 22 - merge c1 with c2 (log in config gets overridden)
ok 23 - merge c1 with c2 (squash in config)
ok 24 - override config option -n with --summary
ok 25 - override config option -n with --stat
ok 26 - override config option --stat
ok 27 - merge c1 with c2 (override --no-commit)
ok 28 - merge c1 with c2 (override --squash)
ok 29 - merge c0 with c1 (no-ff)
ok 30 - merge c0 with c1 (merge.ff=false)
ok 31 - combine branch.master.mergeoptions with merge.ff
ok 32 - tolerate unknown values for merge.ff
ok 33 - combining --squash and --no-ff is refused
ok 34 - combining --ff-only and --no-ff is refused
ok 35 - merge c0 with c1 (ff overrides no-ff)
ok 36 - merge log message
ok 37 - merge c1 with c0, c2, c0, and c1
ok 38 - merge c1 with c0, c2, c0, and c1
ok 39 - merge c1 with c1 and c2
ok 40 - merge fast-forward in a dirty tree
ok 41 - in-index merge
ok 42 - refresh the index before merging
ok 43 - merge early part of c2
ok 44 - merge --no-ff --no-commit && commit
ok 45 - amending no-ff merge commit
ok 46 - merge --no-ff --edit
ok 47 # skip merge --ff-only tag (missing GPG)
ok 48 # skip merge --no-edit tag should skip editor (missing GPG)
# passed all 48 test(s)
1..48
*** 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)
1..10
*** t7602-merge-octopus-many.sh ***
ok 1 - setup
ok 2 - merge c1 with c2, c3, c4, ... c29
ok 3 - merge output uses pretty names
ok 4 - merge up-to-date output uses pretty names
ok 5 - merge fast-forward output uses pretty names
# passed all 5 test(s)
1..5
*** 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)
1..8
*** t7604-merge-custom-message.sh ***
ok 1 - setup
ok 2 - merge c2 with a custom message
ok 3 - merge --log appends to custom message
# passed all 3 test(s)
1..3
*** 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)
1..3
*** t7606-merge-custom.sh ***
ok 1 - set up custom strategy
ok 2 - setup
ok 3 - merge c2 with a custom strategy
ok 4 - trivial merge with custom strategy
# passed all 4 test(s)
1..4
*** t7607-merge-overwrite.sh ***
ok 1 - setup
ok 2 - will not overwrite untracked file
ok 3 - will overwrite tracked file
ok 4 - will not overwrite new file
ok 5 - will not overwrite staged changes
ok 6 - will not overwrite removed file
ok 7 - will not overwrite re-added file
ok 8 - will not overwrite removed file with staged changes
ok 9 - will not overwrite untracked subtree
ok 10 - will not overwrite untracked file in leading path
ok 11 - will not overwrite untracked symlink in leading path
ok 12 - will not be confused by symlink in leading path
ok 13 - will not overwrite untracked file on unborn branch
ok 14 - will not overwrite untracked file on unborn branch .git/MERGE_HEAD sanity etc.
ok 15 - failed merge leaves unborn branch in the womb
ok 16 - set up unborn branch and content
ok 17 - will not clobber WT/index when merging into unborn
# passed all 17 test(s)
1..17
*** 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-tracking branch
# passed all 5 test(s)
1..5
*** t7609-merge-co-error-msgs.sh ***
ok 1 - setup
ok 2 - untracked files overwritten by merge (fast and non-fast forward)
ok 3 - untracked files or local changes ovewritten by merge
ok 4 - cannot switch branches because of local changes
ok 5 - not uptodate file porcelain checkout error
ok 6 - not_uptodate_dir porcelain checkout error
# passed all 6 test(s)
1..6
*** t7610-mergetool.sh ***
ok 1 - setup
ok 2 - custom mergetool
ok 3 - mergetool crlf
ok 4 - mergetool in subdir
ok 5 - mergetool on file in parent dir
ok 6 - mergetool skips autoresolved
ok 7 - mergetool merges all from subdir
ok 8 - mergetool skips resolved paths when rerere is active
ok 9 - mergetool takes partial path
ok 10 - deleted vs modified submodule
ok 11 - file vs modified submodule
ok 12 - submodule in subdirectory
ok 13 - directory vs modified submodule
ok 14 - file with no base
# passed all 14 test(s)
1..14
*** t7611-merge-abort.sh ***
ok 1 - setup
ok 2 - fails without MERGE_HEAD (unstarted merge)
ok 3 - fails without MERGE_HEAD (unstarted merge): .git/MERGE_HEAD sanity
ok 4 - fails without MERGE_HEAD (completed merge)
ok 5 - fails without MERGE_HEAD (completed merge): .git/MERGE_HEAD sanity
ok 6 - Forget previous merge
ok 7 - Abort after --no-commit
ok 8 - Abort after conflicts
ok 9 - Clean merge with dirty index fails
ok 10 - Conflicting merge with dirty index fails
ok 11 - Reset index (but preserve worktree changes)
ok 12 - Abort clean merge with non-conflicting dirty worktree
ok 13 - Abort conflicting merge with non-conflicting dirty worktree
ok 14 - Reset worktree changes
ok 15 - Fail clean merge with conflicting dirty worktree
ok 16 - Fail conflicting merge with conflicting dirty worktree
ok 17 - Reset worktree changes
ok 18 - Fail clean merge with matching dirty worktree
ok 19 - Abort clean merge with matching dirty index
ok 20 - Reset worktree changes
ok 21 - Fail conflicting merge with matching dirty worktree
ok 22 - Abort conflicting merge with matching dirty index
ok 23 - Reset worktree changes
ok 24 - Abort merge with pre- and post-merge worktree changes
ok 25 - Reset worktree changes
ok 26 - Abort merge with pre- and post-merge index changes
# passed all 26 test(s)
1..26
*** 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)
1..8
*** 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)
1..3
*** t7800-difftool.sh ***
ok 1 - setup
ok 2 - custom commands
ok 3 - difftool ignores bad --tool values
ok 4 - difftool honors --gui
ok 5 - difftool --gui works without configured diff.guitool
ok 6 - GIT_DIFF_TOOL variable
ok 7 - GIT_DIFF_TOOL overrides
ok 8 - GIT_DIFFTOOL_NO_PROMPT variable
ok 9 - GIT_DIFFTOOL_PROMPT variable
ok 10 - difftool.prompt config variable is false
ok 11 - difftool merge.prompt = false
ok 12 - difftool.prompt can overridden with -y
ok 13 - difftool.prompt can overridden with --prompt
ok 14 - difftool last flag wins
ok 15 - difftool + mergetool config variables
ok 16 - difftool.<tool>.path
ok 17 - difftool --extcmd=cat
ok 18 - difftool --extcmd cat
ok 19 - difftool -x cat
ok 20 - difftool --extcmd echo arg1
ok 21 - difftool --extcmd cat arg1
ok 22 - difftool --extcmd cat arg2
ok 23 - setup with 2 files different
ok 24 - say no to the first file
ok 25 - say no to the second file
# passed all 25 test(s)
1..25
*** t7810-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
ok 5 - grep -w HEAD
ok 6 - grep -w HEAD (w)
ok 7 - grep -w HEAD (x)
ok 8 - grep -w HEAD (y-1)
ok 9 - grep -w HEAD (y-2)
ok 10 - grep -w HEAD (z)
ok 11 - grep HEAD (t-1)
ok 12 - grep HEAD (t-2)
ok 13 - grep HEAD (t-3)
ok 14 - grep -c HEAD (no /dev/null)
ok 15 - grep --max-depth -1 HEAD
ok 16 - grep --max-depth 0 HEAD
ok 17 - grep --max-depth 0 -- '*' HEAD
ok 18 - grep --max-depth 1 HEAD
ok 19 - grep --max-depth 0 -- t HEAD
ok 20 - grep --max-depth 0 -- . t HEAD
ok 21 - grep --max-depth 0 -- t . HEAD
ok 22 - grep HEAD with grep.extendedRegexp=false
ok 23 - grep HEAD with grep.extendedRegexp=true
ok 24 - grep -w in working tree
ok 25 - grep -w in working tree
ok 26 - grep -w in working tree
ok 27 - grep -w in working tree (w)
ok 28 - grep -w in working tree (x)
ok 29 - grep -w in working tree (y-1)
ok 30 - grep -w in working tree (y-2)
ok 31 - grep -w in working tree (z)
ok 32 - grep in working tree (t-1)
ok 33 - grep in working tree (t-2)
ok 34 - grep in working tree (t-3)
ok 35 - grep -c in working tree (no /dev/null)
ok 36 - grep --max-depth -1 in working tree
ok 37 - grep --max-depth 0 in working tree
ok 38 - grep --max-depth 0 -- '*' in working tree
ok 39 - grep --max-depth 1 in working tree
ok 40 - grep --max-depth 0 -- t in working tree
ok 41 - grep --max-depth 0 -- . t in working tree
ok 42 - grep --max-depth 0 -- t . in working tree
ok 43 - grep in working tree with grep.extendedRegexp=false
ok 44 - grep in working tree with grep.extendedRegexp=true
ok 45 - grep -l -C
ok 46 - grep -l -C
ok 47 - grep -L -C
ok 48 - grep -e A --and -e B
ok 49 - grep ( -e A --or -e B ) --and -e B
ok 50 - grep -e A --and --not -e B
ok 51 - grep should ignore GREP_OPTIONS
ok 52 - grep -f, non-existent file
ok 53 - grep -f, one pattern
ok 54 - grep -f, multiple patterns
ok 55 - grep -f, ignore empty lines
ok 56 - grep -f, ignore empty lines, read patterns from stdin
ok 57 - grep -q, silently report matches
ok 58 - grep -C1, hunk mark between files
ok 59 - grep -C1 hunk mark between files
ok 60 - log grep setup
ok 61 - log grep (1)
ok 62 - log grep (2)
ok 63 - log grep (3)
ok 64 - log grep (4)
ok 65 - log grep (5)
ok 66 - log grep (6)
ok 67 - log --grep --author implicitly uses all-match
ok 68 - log with multiple --author uses union
ok 69 - log with --grep and multiple --author uses all-match
ok 70 - log with --grep and multiple --author uses all-match
ok 71 - grep with CE_VALID file
ok 72 - grep -p with userdiff
ok 73 - grep -p
ok 74 - grep -p -B5
ok 75 - grep -W
ok 76 - grep -W with userdiff
ok 77 - grep from a subdirectory to search wider area (1)
ok 78 - grep from a subdirectory to search wider area (2)
ok 79 - grep -Fi
ok 80 - outside of git repository
ok 81 - inside git repository but with --no-index
ok 82 - setup double-dash tests
ok 83 - grep -- pattern
ok 84 - grep -- pattern -- pathspec
ok 85 - grep -e pattern -- path
ok 86 - grep -e -- -- path
ok 87 # skip grep --perl-regexp pattern (missing LIBPCRE)
ok 88 # skip grep -P pattern (missing LIBPCRE)
ok 89 - grep pattern with grep.extendedRegexp=true
ok 90 # skip grep -P pattern with grep.extendedRegexp=true (missing LIBPCRE)
ok 91 # skip grep -P -v pattern (missing LIBPCRE)
ok 92 # skip grep -P -i pattern (missing LIBPCRE)
ok 93 # skip grep -P -w pattern (missing LIBPCRE)
ok 94 - grep -G invalidpattern properly dies 
ok 95 - grep -E invalidpattern properly dies 
ok 96 # skip grep -P invalidpattern properly dies  (missing LIBPCRE)
ok 97 - grep -G -E -F pattern
ok 98 - grep -E -F -G pattern
ok 99 - grep -F -G -E pattern
ok 100 - grep -G -F -P -E pattern
ok 101 # skip grep -G -F -E -P pattern (missing LIBPCRE)
ok 102 - grep --color, separator
ok 103 - grep --break
ok 104 - grep --break with context
ok 105 - grep --heading
ok 106 - mimic ack-grep --group
# passed all 106 test(s)
1..106
*** t7811-grep-open.sh ***
ok 1 - determine default pager
ok 2 - setup
ok 3 - git grep -O
ok 4 - git grep -O --cached
ok 5 - git grep -O --no-index
ok 6 - setup: fake "less"
ok 7 - git grep -O jumps to line in less
ok 8 - modified file
ok 9 - copes with color settings
ok 10 - run from subdir
# passed all 10 test(s)
1..10
*** 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 - an obfuscated email added
ok 20 - obfuscated email parsed
ok 21 - Annotating an old revision works
# passed all 21 test(s)
1..21
*** 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
ok 19 - an obfuscated email added
ok 20 - obfuscated email parsed
ok 21 - Blame --show-email works
# passed all 21 test(s)
1..21
*** t8003-blame-corner-cases.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
ok 15 - blame to a commit with no author name
ok 16 - blame -L with invalid start
ok 17 - blame -L with invalid end
ok 18 - indent of line numbers, nine lines
ok 19 - indent of line numbers, ten lines
# passed all 19 test(s)
1..19
*** t8004-blame-with-conflicts.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)
1..3
*** 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)
1..5
*** t8006-blame-textconv.sh ***
ok 1 - setup 
ok 2 - no filter specified
ok 3 - setup textconv filters
ok 4 - blame with --no-textconv
ok 5 - basic blame on last commit
ok 6 - blame --textconv going through revisions
ok 7 - blame --textconv with local changes
ok 8 - setup +cachetextconv
ok 9 - blame --textconv works with textconvcache
ok 10 - setup -cachetextconv
ok 11 - make a new commit
ok 12 - blame from previous revision
ok 13 - blame with --no-textconv (on symlink)
ok 14 - blame --textconv (on symlink)
ok 15 - make another new commit
ok 16 - blame on last commit (-C -C, symlink)
# passed all 16 test(s)
1..16
*** t8007-cat-file-textconv.sh ***
ok 1 - setup 
ok 2 - no filter specified
ok 3 - setup textconv filters
ok 4 - cat-file without --textconv
ok 5 - cat-file without --textconv on previous commit
ok 6 - cat-file --textconv on last commit
ok 7 - cat-file --textconv on previous commit
ok 8 - cat-file without --textconv (symlink)
ok 9 - cat-file --textconv on index (symlink)
ok 10 - cat-file --textconv on HEAD (symlink)
# passed all 10 test(s)
1..10
*** t8008-blame-formats.sh ***
ok 1 - setup
ok 2 - normal blame output
ok 3 - blame --porcelain output
ok 4 - blame --line-porcelain output
# passed all 4 test(s)
1..4
*** t9001-send-email.sh ***
ok 1 - prepare reference tree
ok 2 - Setup helper tool
ok 3 - Extract patches
ok 4 - No confirm with --suppress-cc
ok 5 - No confirm with --confirm=never
ok 6 - No confirm with sendemail.confirm=never
ok 7 - Send patches
ok 8 - setup expect
ok 9 - Verify commandline
ok 10 - Send patches with --envelope-sender
ok 11 - setup expect
ok 12 - Verify commandline
ok 13 - Send patches with --envelope-sender=auto
ok 14 - setup expect
ok 15 - Verify commandline
ok 16 - setup expect
ok 17 - Show all headers
ok 18 - Prompting works
ok 19 - tocmd works
ok 20 - cccmd works
ok 21 - reject long lines
ok 22 - no patch was sent
ok 23 - Author From: in message body
ok 24 - Author From: not in message body
ok 25 - allow long lines with --no-validate
ok 26 - Invalid In-Reply-To
ok 27 - Valid In-Reply-To when prompting
ok 28 - In-Reply-To without --chain-reply-to
ok 29 - In-Reply-To with --chain-reply-to
ok 30 - setup fake editor
ok 31 - --compose works
ok 32 - first message is compose text
ok 33 - second message is patch
ok 34 - setup expect
ok 35 - sendemail.cc set
ok 36 - setup expect
ok 37 - sendemail.cc unset
ok 38 - setup expect
ok 39 - sendemail.cccmd
ok 40 - setup expect
ok 41 - --suppress-cc=all
ok 42 - setup expect
ok 43 - --suppress-cc=body
ok 44 - setup expect
ok 45 - --suppress-cc=body --suppress-cc=cccmd
ok 46 - setup expect
ok 47 - --suppress-cc=sob
ok 48 - setup expect
ok 49 - --suppress-cc=bodycc
ok 50 - setup expect
ok 51 - --suppress-cc=cc
ok 52 - --confirm=always
ok 53 - --confirm=auto
ok 54 - --confirm=cc
ok 55 - --confirm=compose
ok 56 - confirm by default (due to cc)
ok 57 - confirm by default (due to --compose)
ok 58 - confirm detects EOF (inform assumes y)
ok 59 - confirm detects EOF (auto causes failure)
ok 60 - confirm doesnt loop forever
ok 61 - utf8 Cc is rfc2047 encoded
ok 62 - --compose adds MIME for utf8 body
ok 63 - --compose respects user mime type
ok 64 - --compose adds MIME for utf8 subject
ok 65 - detects ambiguous reference/file conflict
ok 66 - feed two files
ok 67 - in-reply-to but no threading
ok 68 - no in-reply-to and no threading
ok 69 - threading but no chain-reply-to
ok 70 - warning with an implicit --chain-reply-to
ok 71 - no warning with an explicit --chain-reply-to
ok 72 - no warning with an explicit --no-chain-reply-to
ok 73 - no warning with sendemail.chainreplyto = false
ok 74 - no warning with sendemail.chainreplyto = true
ok 75 - sendemail.to works
ok 76 - --no-to overrides sendemail.to
ok 77 - sendemail.cc works
ok 78 - --no-cc overrides sendemail.cc
ok 79 - sendemail.bcc works
ok 80 - --no-bcc overrides sendemail.bcc
ok 81 - patches To headers are used by default
ok 82 - patches To headers are appended to
ok 83 - To headers from files reset each patch
ok 84 - setup expect
ok 85 - setup expect
ok 86 - asks about and fixes 8bit encodings
ok 87 - sendemail.8bitEncoding works
ok 88 - --8bit-encoding overrides sendemail.8bitEncoding
ok 89 - setup expect
ok 90 - setup expect
ok 91 - --8bit-encoding also treats subject
ok 92 - refusing to send cover letter template
ok 93 - --force sends cover letter template anyway
ok 94 - sendemail.aliasfiletype=mailrc
ok 95 - sendemail.aliasfile=~/.mailrc
# passed all 95 test(s)
1..95
*** t9010-svn-fe.sh ***
ok 1 - empty dump
ok 2 - v4 dumps not supported
not ok 3 - empty revision # TODO known breakage
ok 4 - empty properties
ok 5 - author name and commit message
ok 6 - unsupported properties are ignored
not ok 7 - timestamp and empty file # TODO known breakage
ok 8 - directory with files
ok 9 - node without action
ok 10 - action: add node without text
not ok 11 - change file mode but keep old content # TODO known breakage
ok 12 - NUL in property value
ok 13 - NUL in log message, file content, and property name
ok 14 - change file mode and reiterate content
ok 15 - deltas not supported
ok 16 - property deltas supported
ok 17 - properties on /
ok 18 - deltas for typechange
ok 19 - set up svn repo
ok 20 - t9135/svn.dump
# still have 3 known breakage(s)
# passed all remaining 17 test(s)
1..20
*** t9100-git-svn-basic.sh ***
define NO_SVN_TESTS to skip git svn tests
# UTF-8 locale not set, some tests skipped (C)
ok 1 - initialize git svn
not ok - 2 import an SVN revision into git
#	git svn fetch
ok 3 - checkout from svn
not ok - 4 try a deep --rmdir with a commit
#	
#		git checkout -f -b mybranch ${remotes_git_svn} &&
#		mv dir/a/b/c/d/e/file dir/file &&
#		cp dir/file file &&
#		git update-index --add --remove dir/a/b/c/d/e/file dir/file file &&
#		git commit -m "$name" &&
#		git svn set-tree --find-copies-harder --rmdir \
#			${remotes_git_svn}..mybranch &&
#		svn_cmd up "$SVN_TREE" &&
#		test -d "$SVN_TREE"/dir && test ! -d "$SVN_TREE"/dir/a
not ok - 5 detect node change from file to directory #1
#	
#		mkdir dir/new_file &&
#		mv dir/file dir/new_file/file &&
#		mv dir/new_file dir/file &&
#		git update-index --remove dir/file &&
#		git update-index --add dir/file/file &&
#		git commit -m 'detect node change from file to directory #1' &&
#		test_must_fail git svn set-tree --find-copies-harder --rmdir 		remotes/git-svn..mybranch
not ok - 6 detect node change from directory to file #1
#	
#		rm -rf dir "$GIT_DIR"/index &&
#		git checkout -f -b mybranch2 ${remotes_git_svn} &&
#		mv bar/zzz zzz &&
#		rm -rf bar &&
#		mv zzz bar &&
#		git update-index --remove -- bar/zzz &&
#		git update-index --add -- bar &&
#		git commit -m "$name" &&
#		test_must_fail git svn set-tree --find-copies-harder --rmdir \
#			${remotes_git_svn}..mybranch2
not ok - 7 detect node change from file to directory #2
#	
#		rm -f "$GIT_DIR"/index &&
#		git checkout -f -b mybranch3 ${remotes_git_svn} &&
#		rm bar/zzz &&
#		git update-index --remove bar/zzz &&
#		mkdir bar/zzz &&
#		echo yyy > bar/zzz/yyy &&
#		git update-index --add bar/zzz/yyy &&
#		git commit -m "$name" &&
#		test_must_fail git svn set-tree --find-copies-harder --rmdir \
#			${remotes_git_svn}..mybranch3
not ok - 8 detect node change from directory to file #2
#	
#		rm -f "$GIT_DIR"/index &&
#		git checkout -f -b mybranch4 ${remotes_git_svn} &&
#		rm -rf dir &&
#		git update-index --remove -- dir/file &&
#		touch dir &&
#		echo asdf > dir &&
#		git update-index --add -- dir &&
#		git commit -m "$name" &&
#		test_must_fail git svn set-tree --find-copies-harder --rmdir \
#			${remotes_git_svn}..mybranch4
not ok - 9 remove executable bit from a file
#	
#		rm -f "$GIT_DIR"/index &&
#		git checkout -f -b mybranch5 ${remotes_git_svn} &&
#		chmod -x exec.sh &&
#		git update-index exec.sh &&
#		git commit -m "$name" &&
#		git svn set-tree --find-copies-harder --rmdir \
#			${remotes_git_svn}..mybranch5 &&
#		svn_cmd up "$SVN_TREE" &&
#		test ! -x "$SVN_TREE"/exec.sh
not ok - 10 add executable bit back file
#	
#		chmod +x exec.sh &&
#		git update-index exec.sh &&
#		git commit -m "$name" &&
#		git svn set-tree --find-copies-harder --rmdir \
#			${remotes_git_svn}..mybranch5 &&
#		svn_cmd up "$SVN_TREE" &&
#		test -x "$SVN_TREE"/exec.sh
not ok - 11 executable file becomes a symlink to bar/zzz (file)
#	
#		rm exec.sh &&
#		ln -s bar/zzz exec.sh &&
#		git update-index exec.sh &&
#		git commit -m "$name" &&
#		git svn set-tree --find-copies-harder --rmdir \
#			${remotes_git_svn}..mybranch5 &&
#		svn_cmd up "$SVN_TREE" &&
#		test -h "$SVN_TREE"/exec.sh
not ok - 12 new symlink is added to a file that was also just made executable
#	
#		chmod +x bar/zzz &&
#		ln -s bar/zzz exec-2.sh &&
#		git update-index --add bar/zzz exec-2.sh &&
#		git commit -m "$name" &&
#		git svn set-tree --find-copies-harder --rmdir \
#			${remotes_git_svn}..mybranch5 &&
#		svn_cmd up "$SVN_TREE" &&
#		test -x "$SVN_TREE"/bar/zzz &&
#		test -h "$SVN_TREE"/exec-2.sh
not ok - 13 modify a symlink to become a file
#	
#		echo git help > help || true &&
#		rm exec-2.sh &&
#		cp help exec-2.sh &&
#		git update-index exec-2.sh &&
#		git commit -m "$name" &&
#		git svn set-tree --find-copies-harder --rmdir \
#			${remotes_git_svn}..mybranch5 &&
#		svn_cmd up "$SVN_TREE" &&
#		test -f "$SVN_TREE"/exec-2.sh &&
#		test ! -h "$SVN_TREE"/exec-2.sh &&
#		test_cmp help "$SVN_TREE"/exec-2.sh
ok 14 # skip commit with UTF-8 message: locale: C (missing UTF8)
not ok - 15 test fetch functionality (svn => git) with alternate GIT_SVN_ID
#	git svn init "$svnrepo" && git svn fetch &&
#	     git rev-list --pretty=raw ${remotes_git_svn} | grep ^tree | uniq > a &&
#	     git rev-list --pretty=raw remotes/alt | grep ^tree | uniq > b &&
#	     test_cmp a b
not ok - 16 check imported tree checksums expected tree checksums
#	test_cmp a expected
ok 17 - exit if remote refs are ambigious
ok 18 - exit if init-ing a would clobber a URL
not ok - 19 init allows us to connect to another directory in the same repo
#	
#	        git svn init --minimize-url -i bar "$svnrepo/bar" &&
#	        git config --get svn-remote.svn.fetch \
#	                              "^bar:refs/remotes/bar$" &&
#	        git config --get svn-remote.svn.fetch \
#	                              "^:refs/${remotes_git_svn}$"
#	        
not ok - 20 dcommit $rev does not clobber current branch
#	
#		git svn fetch -i bar &&
#		git checkout -b my-bar refs/remotes/bar &&
#		echo 1 > foo &&
#		git add foo &&
#		git commit -m "change 1" &&
#		echo 2 > foo &&
#		git add foo &&
#		git commit -m "change 2" &&
#		old_head=$(git rev-parse HEAD) &&
#		git svn dcommit -i bar HEAD^ &&
#		test $old_head = $(git rev-parse HEAD) &&
#		test refs/heads/my-bar = $(git symbolic-ref HEAD) &&
#		git log refs/remotes/bar | grep "change 1" &&
#		! git log refs/remotes/bar | grep "change 2" &&
#		git checkout master &&
#		git branch -D my-bar
#		
not ok - 21 able to dcommit to a subdirectory
#	
#		git svn fetch -i bar &&
#		git checkout -b my-bar refs/remotes/bar &&
#		echo abc > d &&
#		git update-index --add d &&
#		git commit -m '/bar/d should be in the log' &&
#		git svn dcommit -i bar &&
#		test -z "`git diff refs/heads/my-bar refs/remotes/bar`" &&
#		mkdir newdir &&
#		echo new > newdir/dir &&
#		git update-index --add newdir/dir &&
#		git commit -m 'add a new directory' &&
#		git svn dcommit -i bar &&
#		test -z "`git diff refs/heads/my-bar refs/remotes/bar`" &&
#		echo foo >> newdir/dir &&
#		git update-index newdir/dir &&
#		git commit -m 'modify a file in new directory' &&
#		git svn dcommit -i bar &&
#		test -z "`git diff refs/heads/my-bar refs/remotes/bar`"
#		
not ok - 22 dcommit should not fail with a touched file
#	
#		test_commit "commit-new-file-foo2" foo2 &&
#		test-chmtime =-60 foo &&
#		git svn dcommit
#	
not ok - 23 rebase should not fail with a touched file
#	
#		test-chmtime =-60 foo &&
#		git svn rebase
#	
not ok - 24 able to set-tree to a subdirectory
#	
#		echo cba > d &&
#		git update-index d &&
#		git commit -m 'update /bar/d' &&
#		git svn set-tree -i bar HEAD &&
#		test -z "`git diff refs/heads/my-bar refs/remotes/bar`"
#		
not ok - 25 git-svn works in a bare repository
#	
#		mkdir bare-repo &&
#		( cd bare-repo &&
#		git init --bare &&
#		GIT_DIR=. git svn init "$svnrepo" &&
#		git svn fetch ) &&
#		rm -rf bare-repo
#		
# failed 20 among 25 test(s)
1..25
make[3]: [t9100-git-svn-basic.sh] Error 1 (ignored)
*** t9101-git-svn-props.sh ***
ok 1 - checkout working copy from svn
ok 2 - setup some commits to svn
ok 3 - initialize git svn
not ok - 4 fetch revisions from svn
#	git svn fetch
not ok - 5 test svn:keywords ignoring
#	git checkout -b mybranch ${remotes_git_svn} &&
#		echo Hi again >> kw.c &&
#		git commit -a -m "test keywords ignoring" &&
#		git svn set-tree ${remotes_git_svn}..mybranch &&
#		git pull . ${remotes_git_svn}
sed: Cannot open file kw.c.
not ok - 6 raw $Id$ found in kw.c
#	test '/* $Id$ */' = ''
ok 7 - propset CR on crlf files
not ok - 8 fetch and pull latest from svn and checkout a new wc
#	git svn fetch &&
#		 git pull . ${remotes_git_svn} &&
#		 svn_cmd co "$svnrepo" new_wc
not ok - 9 Comparing crlf
#	cmp crlf new_wc/crlf
not ok - 10 Comparing ne_crlf
#	cmp ne_crlf new_wc/ne_crlf
not ok - 11 Comparing lf
#	cmp lf new_wc/lf
not ok - 12 Comparing ne_lf
#	cmp ne_lf new_wc/ne_lf
not ok - 13 Comparing cr
#	cmp cr new_wc/cr
not ok - 14 Comparing ne_cr
#	cmp ne_cr new_wc/ne_cr
not ok - 15 Comparing empty_cr
#	cmp empty_cr new_wc/empty_cr
not ok - 16 Comparing empty_lf
#	cmp empty_lf new_wc/empty_lf
not ok - 17 Comparing empty
#	cmp empty new_wc/empty
not ok - 18 Comparing empty_crlf
#	cmp empty_crlf new_wc/empty_crlf
ok 19 - Set CRLF on cr files
not ok - 20 fetch and pull latest from svn
#	git svn fetch && git pull . ${remotes_git_svn}
fatal: Cannot open 'cr': No such file or directory
fatal: Cannot open 'ne_cr': No such file or directory
not ok - 21 CRLF + $Id$
#	test 'f39bd49beefa1dff130e47c7a24777dfc3657ba2' = ''
not ok - 22 CRLF + $Id$ (no newline)
#	test '41c5e77993f143876592cd19b5e9a6f6d2e4ff8a' = ''
not ok - 23 test show-ignore
#	
#		(
#			cd test_wc &&
#			mkdir -p deeply/nested/directory &&
#			touch deeply/nested/directory/.keep &&
#			svn_cmd add deeply &&
#			svn_cmd up &&
#			svn_cmd propset -R svn:ignore '
#	no-such-file*
#	' .
#			svn_cmd commit -m 'propset svn:ignore'
#		) &&
#		git svn show-ignore > show-ignore.got &&
#		cmp show-ignore.expect show-ignore.got
#	
not ok - 24 test create-ignore
#	
#		git svn fetch && git pull . remotes/git-svn &&
#		git svn create-ignore &&
#		cmp ./.gitignore create-ignore.expect &&
#		cmp ./deeply/.gitignore create-ignore.expect &&
#		cmp ./deeply/nested/.gitignore create-ignore.expect &&
#		cmp ./deeply/nested/directory/.gitignore create-ignore.expect &&
#		git ls-files -s | grep gitignore | cmp - create-ignore-index.expect
#		
not ok - 25 test propget
#	
#		git svn propget svn:ignore . | cmp - prop.expect &&
#		cd deeply &&
#		git svn propget svn:ignore . | cmp - ../prop.expect &&
#		git svn propget svn:entry:committed-rev nested/directory/.keep 	  | cmp - ../prop2.expect &&
#		git svn propget svn:ignore .. | cmp - ../prop.expect &&
#		git svn propget svn:ignore nested/ | cmp - ../prop.expect &&
#		git svn propget svn:ignore ./nested | cmp - ../prop.expect &&
#		git svn propget svn:ignore .././deeply/nested | cmp - ../prop.expect
#		
not ok - 26 test proplist
#	
#		git svn proplist . | cmp - prop.expect &&
#		git svn proplist nested/directory/.keep | cmp - prop2.expect
#		
# failed 21 among 26 test(s)
1..26
make[3]: [t9101-git-svn-props.sh] Error 1 (ignored)
*** t9102-git-svn-deep-rmdir.sh ***
ok 1 - initialize repo
not ok - 2 mirror via git svn
#	
#		git svn init "$svnrepo" &&
#		git svn fetch &&
#		git checkout -f -b test-rmdir ${remotes_git_svn}
#		
not ok - 3 Try a commit on rmdir
#	
#		git rm -f deeply/nested/directory/number/2/another &&
#		git commit -a -m "remove another" &&
#		git svn set-tree --rmdir HEAD &&
#		svn_cmd ls -R "$svnrepo" | grep ^deeply/nested/directory/number/1
#		
# failed 2 among 3 test(s)
1..3
make[3]: [t9102-git-svn-deep-rmdir.sh] Error 1 (ignored)
*** t9103-git-svn-tracked-directory-removed.sh ***
ok 1 - make history for tracking
not ok - 2 clone repo with git
#	
#		git svn clone -s "$svnrepo" x &&
#		test -f x/FOLLOWME &&
#		test ! -f x/README
#	
not ok - 3 make sure r2 still has old file
#	
#		cd x &&
#			test -n "$(git svn find-rev r1)" &&
#			git reset --hard $(git svn find-rev r1) &&
#			test -f README &&
#			test ! -f FOLLOWME &&
#			test x$(git svn find-rev r2) = x
#	
# failed 2 among 3 test(s)
1..3
make[3]: [t9103-git-svn-tracked-directory-removed.sh] Error 1 (ignored)
*** t9104-git-svn-follow-parent.sh ***
ok 1 - initialize repo
not ok - 2 init and fetch a moved directory
#	
#		git svn init --minimize-url -i thunk "$svnrepo"/thunk &&
#		git svn fetch -i thunk &&
#		test "`git rev-parse --verify refs/remotes/thunk@2`" \
#	           = "`git rev-parse --verify refs/remotes/thunk~1`" &&
#	        test "`git cat-file blob refs/remotes/thunk:readme |\
#	                 sed -n -e "3p"`" = goodbye &&
#		test -z "`git config --get svn-remote.svn.fetch \
#		         "^trunk:refs/remotes/thunk@2$"`"
#		
not ok - 3 init and fetch from one svn-remote
#	
#	        git config svn-remote.svn.url "$svnrepo" &&
#	        git config --add svn-remote.svn.fetch \
#	          trunk:refs/remotes/svn/trunk &&
#	        git config --add svn-remote.svn.fetch \
#	          thunk:refs/remotes/svn/thunk &&
#	        git svn fetch -i svn/thunk &&
#		test "`git rev-parse --verify refs/remotes/svn/trunk`" \
#	           = "`git rev-parse --verify refs/remotes/svn/thunk~1`" &&
#	        test "`git cat-file blob refs/remotes/svn/thunk:readme |\
#	                 sed -n -e "3p"`" = goodbye
#	        
not ok - 4 follow deleted parent
#	
#	        (svn_cmd cp -m "resurrecting trunk as junk" \
#	               "$svnrepo"/trunk@2 "$svnrepo"/junk ||
#	         svn cp -m "resurrecting trunk as junk" \
#	               -r2 "$svnrepo"/trunk "$svnrepo"/junk) &&
#	        git config --add svn-remote.svn.fetch \
#	          junk:refs/remotes/svn/junk &&
#	        git svn fetch -i svn/thunk &&
#	        git svn fetch -i svn/junk &&
#	        test -z "`git diff svn/junk svn/trunk`" &&
#	        test "`git merge-base svn/junk svn/trunk`" \
#	           = "`git rev-parse svn/trunk`"
#	        
ok 5 - follow larger parent
not ok - 6 follow higher-level parent
#	
#		svn mkdir -m "follow higher-level parent" "$svnrepo"/blob &&
#		svn co "$svnrepo"/blob blob &&
#		(
#			cd blob &&
#			echo hi > hi &&
#			svn add hi &&
#			svn commit -m "hihi"
#		) &&
#		svn mkdir -m "new glob at top level" "$svnrepo"/glob &&
#		svn mv -m "move blob down a level" "$svnrepo"/blob "$svnrepo"/glob/blob &&
#		git svn init --minimize-url -i blob "$svnrepo"/glob/blob &&
#	        git svn fetch -i blob
#	        
not ok - 7 follow deleted directory
#	
#		svn_cmd mv -m "bye!" "$svnrepo"/glob/blob/hi "$svnrepo"/glob/blob/bye &&
#		svn_cmd rm -m "remove glob" "$svnrepo"/glob &&
#		git svn init --minimize-url -i glob "$svnrepo"/glob &&
#		git svn fetch -i glob &&
#		test "`git cat-file blob refs/remotes/glob:blob/bye`" = hi &&
#		test "`git ls-tree refs/remotes/glob | wc -l `" -eq 1
#		
not ok - 8 follow-parent avoids deleting relevant info
#	
#		mkdir -p import/trunk/subversion/bindings/swig/perl/t &&
#		for i in a b c ; do \
#		  echo $i > import/trunk/subversion/bindings/swig/perl/$i.pm &&
#		  echo _$i > import/trunk/subversion/bindings/swig/perl/t/$i.t; \
#		done &&
#		  echo "bad delete test" > \
#		   import/trunk/subversion/bindings/swig/perl/t/larger-parent &&
#		  echo "bad delete test 2" > \
#		   import/trunk/subversion/bindings/swig/perl/another-larger &&
#		(
#			cd import &&
#			svn import -m "r9270 test" . "$svnrepo"/r9270
#		) &&
#		svn_cmd co "$svnrepo"/r9270/trunk/subversion/bindings/swig/perl r9270 &&
#		(
#			cd r9270 &&
#			svn mkdir native &&
#			svn mv t native/t &&
#			for i in a b c
#			do
#				svn mv $i.pm native/$i.pm
#			done &&
#			echo z >>native/t/c.t &&
#			poke native/t/c.t &&
#			svn commit -m "reorg test"
#		) &&
#		git svn init --minimize-url -i r9270-t \
#		  "$svnrepo"/r9270/trunk/subversion/bindings/swig/perl/native/t &&
#		git svn fetch -i r9270-t &&
#		test `git rev-list r9270-t | wc -l` -eq 2 &&
#		test "`git ls-tree --name-only r9270-t~1`" = \
#		     "`git ls-tree --name-only r9270-t`"
#		
not ok - 9 track initial change if it was only made to parent
#	
#		svn_cmd cp -m "wheee!" "$svnrepo"/r9270/trunk "$svnrepo"/r9270/drunk &&
#		git svn init --minimize-url -i r9270-d \
#		  "$svnrepo"/r9270/drunk/subversion/bindings/swig/perl/native/t &&
#		git svn fetch -i r9270-d &&
#		test `git rev-list r9270-d | wc -l` -eq 3 &&
#		test "`git ls-tree --name-only r9270-t`" = \
#		     "`git ls-tree --name-only r9270-d`" &&
#		test "`git rev-parse r9270-t`" = \
#		     "`git rev-parse r9270-d~1`"
#		
not ok - 10 follow-parent is atomic
#	
#		(
#			cd wc &&
#			svn_cmd up &&
#			svn_cmd mkdir stunk &&
#			echo "trunk stunk" > stunk/readme &&
#			svn_cmd add stunk/readme &&
#			svn_cmd ci -m "trunk stunk" &&
#			echo "stunk like junk" >> stunk/readme &&
#			svn_cmd ci -m "really stunk" &&
#			echo "stink stank stunk" >> stunk/readme &&
#			svn_cmd ci -m "even the grinch agrees"
#		) &&
#		svn_cmd copy -m "stunk flunked" "$svnrepo"/stunk "$svnrepo"/flunk &&
#		{ svn cp -m "early stunk flunked too" \
#			"$svnrepo"/stunk@17 "$svnrepo"/flunked ||
#		svn_cmd cp -m "early stunk flunked too" \
#			-r17 "$svnrepo"/stunk "$svnrepo"/flunked; } &&
#		git svn init --minimize-url -i stunk "$svnrepo"/stunk &&
#		git svn fetch -i stunk &&
#		git update-ref refs/remotes/flunk@18 refs/remotes/stunk~2 &&
#		git update-ref -d refs/remotes/stunk &&
#		git config --unset svn-remote.svn.fetch stunk &&
#		mkdir -p "$GIT_DIR"/svn/refs/remotes/flunk@18 &&
#		rev_map=$(cd "$GIT_DIR"/svn/refs/remotes/stunk && ls .rev_map*) &&
#		dd if="$GIT_DIR"/svn/refs/remotes/stunk/$rev_map \
#		   of="$GIT_DIR"/svn/refs/remotes/flunk@18/$rev_map bs=24 count=1 &&
#		rm -rf "$GIT_DIR"/svn/refs/remotes/stunk &&
#		git svn init --minimize-url -i flunk "$svnrepo"/flunk &&
#		git svn fetch -i flunk &&
#		git svn init --minimize-url -i stunk "$svnrepo"/stunk &&
#		git svn fetch -i stunk &&
#		git svn init --minimize-url -i flunked "$svnrepo"/flunked &&
#		git svn fetch -i flunked &&
#		test "`git rev-parse --verify refs/remotes/flunk@18`" \
#		   = "`git rev-parse --verify refs/remotes/stunk`" &&
#		test "`git rev-parse --verify refs/remotes/flunk~1`" \
#		   = "`git rev-parse --verify refs/remotes/stunk`" &&
#		test "`git rev-parse --verify refs/remotes/flunked~1`" \
#		   = "`git rev-parse --verify refs/remotes/stunk~1`"
#		
not ok - 11 track multi-parent paths
#	
#		svn_cmd cp -m "resurrect /glob" "$svnrepo"/r9270 "$svnrepo"/glob &&
#		git svn multi-fetch &&
#		test `git cat-file commit refs/remotes/glob | \
#		       grep "^parent " | wc -l` -eq 2
#		
not ok - 12 multi-fetch continues to work
#	
#		git svn multi-fetch
#		
not ok - 13 multi-fetch works off a 'clean' repository
#	
#		rm -r "$GIT_DIR/svn" "$GIT_DIR/refs/remotes" "$GIT_DIR/logs" &&
#		mkdir "$GIT_DIR/svn" &&
#		git svn multi-fetch
#		
# failed 11 among 13 test(s)
1..13
make[3]: [t9104-git-svn-follow-parent.sh] Error 1 (ignored)
*** t9105-git-svn-commit-diff.sh ***
ok 1 - initialize repo
not ok - 2 test the commit-diff command
#	
#		test -n "$prev" && test -n "$head" &&
#		git svn commit-diff -r1 "$prev" "$head" "$svnrepo" &&
#		svn_cmd co "$svnrepo" wc &&
#		cmp readme wc/readme
#		
not ok - 3 commit-diff to a sub-directory (with git svn config)
#	
#		svn_cmd import -m "sub-directory" import "$svnrepo"/subdir &&
#		git svn init --minimize-url "$svnrepo"/subdir &&
#		git svn fetch &&
#		git svn commit-diff -r3 "$prev" "$head" &&
#		svn_cmd cat "$svnrepo"/subdir/readme > readme.2 &&
#		cmp readme readme.2
#		
# failed 2 among 3 test(s)
1..3
make[3]: [t9105-git-svn-commit-diff.sh] Error 1 (ignored)
*** t9106-git-svn-commit-diff-clobber.sh ***
ok 1 - initialize repo
ok 2 - commit change from svn side
not ok - 3 commit conflicting change from git
#	
#		echo second line from git >> file &&
#		git commit -a -m "second line from git" &&
#		test_must_fail git svn commit-diff -r1 HEAD~1 HEAD "$svnrepo"
#	
not ok - 4 commit complementing change from git
#	
#		git reset --hard HEAD~1 &&
#		echo second line from svn >> file &&
#		git commit -a -m "second line from svn" &&
#		echo third line from git >> file &&
#		git commit -a -m "third line from git" &&
#		git svn commit-diff -r2 HEAD~1 HEAD "$svnrepo"
#		
not ok - 5 dcommit fails to commit because of conflict
#	
#		git svn init "$svnrepo" &&
#		git svn fetch &&
#		git reset --hard refs/${remotes_git_svn} &&
#		svn_cmd co "$svnrepo" t.svn &&
#		(
#			cd t.svn &&
#			echo fourth line from svn >>file &&
#			poke file &&
#			svn_cmd commit -m "fourth line from svn"
#		) &&
#		rm -rf t.svn &&
#		echo "fourth line from git" >> file &&
#		git commit -a -m "fourth line from git" &&
#		test_must_fail git svn dcommit
#		
not ok - 6 dcommit does the svn equivalent of an index merge
#	
#		git reset --hard refs/remotes/git-svn &&
#		echo 'index merge' > file2 &&
#		git update-index --add file2 &&
#		git commit -a -m 'index merge' &&
#		echo 'more changes' >> file2 &&
#		git update-index file2 &&
#		git commit -a -m 'more changes' &&
#		git svn dcommit
#		
ok 7 - commit another change from svn side
not ok - 8 multiple dcommit from git svn will not clobber svn
#	
#		git reset --hard refs/remotes/git-svn &&
#		echo new file >> new-file &&
#		git update-index --add new-file &&
#		git commit -a -m 'new file' &&
#		echo clobber > file &&
#		git commit -a -m 'clobber' &&
#		test_must_fail git svn dcommit
#		
not ok - 9 check that rebase really failed
#	
#		test -d .git/rebase-apply
#	
not ok - 10 resolve, continue the rebase and dcommit
#	
#		echo clobber and I really mean it > file &&
#		git update-index file &&
#		git rebase --continue &&
#		git svn dcommit
#		
# failed 7 among 10 test(s)
1..10
make[3]: [t9106-git-svn-commit-diff-clobber.sh] Error 1 (ignored)
*** t9107-git-svn-migrate.sh ***
not ok - 1 setup old-looking metadata
#	
#		cp "$GIT_DIR"/config "$GIT_DIR"/config-old-git-svn &&
#		mkdir import &&
#		(
#			cd import &&
#			for i in trunk branches/a branches/b tags/0.1 tags/0.2 tags/0.3
#			do
#				mkdir -p $i &&
#				echo hello >>$i/README ||
#				exit 1
#			done &&
#			svn_cmd import -m test . "$svnrepo"
#		) &&
#		git svn init "$svnrepo" &&
#		git svn fetch &&
#		rm -rf "$GIT_DIR"/svn &&
#		git update-ref refs/heads/git-svn-HEAD refs/${remotes_git_svn} &&
#		git update-ref refs/heads/svn-HEAD refs/${remotes_git_svn} &&
#		git update-ref -d refs/${remotes_git_svn} refs/${remotes_git_svn}
#		
fatal: Needed a single revision
not ok - 2 git-svn-HEAD is a real HEAD
#	test -n ''
not ok - 3 initialize old-style (v0) git svn layout
#	
#		mkdir -p "$GIT_DIR"/git-svn/info "$GIT_DIR"/svn/info &&
#		echo "$svnrepo" > "$GIT_DIR"/git-svn/info/url &&
#		echo "$svnrepo" > "$GIT_DIR"/svn/info/url &&
#		git svn migrate &&
#		! test -d "$GIT_DIR"/git svn &&
#		git rev-parse --verify refs/${remotes_git_svn}^0 &&
#		git rev-parse --verify refs/remotes/svn^0 &&
#		test "$(git config --get svn-remote.svn.url)" = "$svnrepo" &&
#		test `git config --get svn-remote.svn.fetch` = \
#	             ":refs/${remotes_git_svn}"
#		
not ok - 4 initialize a multi-repository repo
#	
#		git svn init "$svnrepo" -T trunk -t tags -b branches &&
#		git config --get-all svn-remote.svn.fetch > fetch.out &&
#		grep "^trunk:refs/remotes/trunk$" fetch.out &&
#		test -n "`git config --get svn-remote.svn.branches \
#		            "^branches/\*:refs/remotes/\*$"`" &&
#		test -n "`git config --get svn-remote.svn.tags \
#		            "^tags/\*:refs/remotes/tags/\*$"`" &&
#		git config --unset svn-remote.svn.branches \
#		                        "^branches/\*:refs/remotes/\*$" &&
#		git config --unset svn-remote.svn.tags \
#		                        "^tags/\*:refs/remotes/tags/\*$" &&
#		git config --add svn-remote.svn.fetch "branches/a:refs/remotes/a" &&
#		git config --add svn-remote.svn.fetch "branches/b:refs/remotes/b" &&
#		for i in tags/0.1 tags/0.2 tags/0.3; do
#			git config --add svn-remote.svn.fetch \
#			                 $i:refs/remotes/$i || exit 1; done &&
#		git config --get-all svn-remote.svn.fetch > fetch.out &&
#		grep "^trunk:refs/remotes/trunk$" fetch.out &&
#		grep "^branches/a:refs/remotes/a$" fetch.out &&
#		grep "^branches/b:refs/remotes/b$" fetch.out &&
#		grep "^tags/0\.1:refs/remotes/tags/0\.1$" fetch.out &&
#		grep "^tags/0\.2:refs/remotes/tags/0\.2$" fetch.out &&
#		grep "^tags/0\.3:refs/remotes/tags/0\.3$" fetch.out &&
#		grep "^:refs/${remotes_git_svn}" fetch.out
#		
not ok - 5 multi-fetch works on partial urls + paths
#	
#		git svn multi-fetch &&
#		for i in trunk a b tags/0.1 tags/0.2 tags/0.3; do
#			git rev-parse --verify refs/remotes/$i^0 >> refs.out || exit 1;
#		    done &&
#		test -z "`sort < refs.out | uniq -d`" &&
#		for i in trunk a b tags/0.1 tags/0.2 tags/0.3; do
#		  for j in trunk a b tags/0.1 tags/0.2 tags/0.3; do
#			if test $j != $i; then continue; fi
#		    test -z "`git diff refs/remotes/$i 	                         refs/remotes/$j`" ||exit 1; done; done
#		
not ok - 6 migrate --minimize on old inited layout
#	
#		git config --unset-all svn-remote.svn.fetch &&
#		git config --unset-all svn-remote.svn.url &&
#		rm -rf "$GIT_DIR"/svn &&
#		for i in `cat fetch.out`; do
#			path=`expr $i : "\([^:]*\):.*$"`
#			ref=`expr $i : "[^:]*:\(refs/remotes/.*\)$"`
#			if test -z "$ref"; then continue; fi
#			if test -n "$path"; then path="/$path"; fi
#			( mkdir -p "$GIT_DIR"/svn/$ref/info/ &&
#			echo "$svnrepo"$path > "$GIT_DIR"/svn/$ref/info/url ) || exit 1;
#		done &&
#		git svn migrate --minimize &&
#		test -z "`git config -l | grep "^svn-remote\.git-svn\."`" &&
#		git config --get-all svn-remote.svn.fetch > fetch.out &&
#		grep "^trunk:refs/remotes/trunk$" fetch.out &&
#		grep "^branches/a:refs/remotes/a$" fetch.out &&
#		grep "^branches/b:refs/remotes/b$" fetch.out &&
#		grep "^tags/0\.1:refs/remotes/tags/0\.1$" fetch.out &&
#		grep "^tags/0\.2:refs/remotes/tags/0\.2$" fetch.out &&
#		grep "^tags/0\.3:refs/remotes/tags/0\.3$" fetch.out &&
#		grep "^:refs/${remotes_git_svn}" fetch.out
#		
not ok - 7 .rev_db auto-converted to .rev_map.UUID
#	
#		git svn fetch -i trunk &&
#		test -z "$(ls "$GIT_DIR"/svn/refs/remotes/trunk/.rev_db.* 2>/dev/null)" &&
#		expect="$(ls "$GIT_DIR"/svn/refs/remotes/trunk/.rev_map.*)" &&
#		test -n "$expect" &&
#		rev_db="$(echo $expect | sed -e "s,_map,_db,")" &&
#		convert_to_rev_db "$expect" "$rev_db" &&
#		rm -f "$expect" &&
#		test -f "$rev_db" &&
#		git svn fetch -i trunk &&
#		test -z "$(ls "$GIT_DIR"/svn/refs/remotes/trunk/.rev_db.* 2>/dev/null)" &&
#		test ! -e "$GIT_DIR"/svn/refs/remotes/trunk/.rev_db &&
#		test -f "$expect"
#		
# failed 7 among 7 test(s)
1..7
make[3]: [t9107-git-svn-migrate.sh] Error 1 (ignored)
*** t9108-git-svn-glob.sh ***
not ok - 1 test refspec globbing
#	
#		mkdir -p trunk/src/a trunk/src/b trunk/doc &&
#		echo "hello world" > trunk/src/a/readme &&
#		echo "goodbye world" > trunk/src/b/readme &&
#		svn_cmd import -m "initial" trunk "$svnrepo"/trunk &&
#		svn_cmd co "$svnrepo" tmp &&
#		(
#			cd tmp &&
#			mkdir branches tags &&
#			svn_cmd add branches tags &&
#			svn_cmd cp trunk branches/start &&
#			svn_cmd commit -m "start a new branch" &&
#			svn_cmd up &&
#			echo "hi" >> branches/start/src/b/readme &&
#			poke branches/start/src/b/readme &&
#			echo "hey" >> branches/start/src/a/readme &&
#			poke branches/start/src/a/readme &&
#			svn_cmd commit -m "hi" &&
#			svn_cmd up &&
#			svn_cmd cp branches/start tags/end &&
#			echo "bye" >> tags/end/src/b/readme &&
#			poke tags/end/src/b/readme &&
#			echo "aye" >> tags/end/src/a/readme &&
#			poke tags/end/src/a/readme &&
#			svn_cmd commit -m "the end" &&
#			echo "byebye" >> tags/end/src/b/readme &&
#			poke tags/end/src/b/readme &&
#			svn_cmd commit -m "nothing to see here"
#		) &&
#		git config --add svn-remote.svn.url "$svnrepo" &&
#		git config --add svn-remote.svn.fetch \
#		                 "trunk/src/a:refs/remotes/trunk" &&
#		git config --add svn-remote.svn.branches \
#		                 "branches/*/src/a:refs/remotes/branches/*" &&
#		git config --add svn-remote.svn.tags\
#		                 "tags/*/src/a:refs/remotes/tags/*" &&
#		git svn multi-fetch &&
#		git log --pretty=oneline refs/remotes/tags/end | \
#		    sed -e "s/^.\{41\}//" > output.end &&
#		test_cmp expect.end output.end &&
#		test "`git rev-parse refs/remotes/tags/end~1`" = \
#			"`git rev-parse refs/remotes/branches/start`" &&
#		test "`git rev-parse refs/remotes/branches/start~2`" = \
#			"`git rev-parse refs/remotes/trunk`" &&
#		test_must_fail git rev-parse refs/remotes/tags/end@3
#		
not ok - 2 test left-hand-side only globbing
#	
#		git config --add svn-remote.two.url "$svnrepo" &&
#		git config --add svn-remote.two.fetch trunk:refs/remotes/two/trunk &&
#		git config --add svn-remote.two.branches \
#		                 "branches/*:refs/remotes/two/branches/*" &&
#		git config --add svn-remote.two.tags \
#		                 "tags/*:refs/remotes/two/tags/*" &&
#		(
#			cd tmp &&
#			echo "try try" >> tags/end/src/b/readme &&
#			poke tags/end/src/b/readme &&
#			svn_cmd commit -m "try to try"
#		) &&
#		git svn fetch two &&
#		test `git rev-list refs/remotes/two/tags/end | wc -l` -eq 6 &&
#		test `git rev-list refs/remotes/two/branches/start | wc -l` -eq 3 &&
#		test `git rev-parse refs/remotes/two/branches/start~2` = \
#		     `git rev-parse refs/remotes/two/trunk` &&
#		test `git rev-parse refs/remotes/two/tags/end~3` = \
#		     `git rev-parse refs/remotes/two/branches/start` &&
#		git log --pretty=oneline refs/remotes/two/tags/end | \
#		    sed -e "s/^.\{41\}//" > output.two &&
#		test_cmp expect.two output.two
#		
ok 3 - test disallow multi-globs
# failed 2 among 3 test(s)
1..3
make[3]: [t9108-git-svn-glob.sh] Error 1 (ignored)
*** t9109-git-svn-multi-glob.sh ***
not ok - 1 test refspec globbing
#	
#		mkdir -p trunk/src/a trunk/src/b trunk/doc &&
#		echo "hello world" > trunk/src/a/readme &&
#		echo "goodbye world" > trunk/src/b/readme &&
#		svn_cmd import -m "initial" trunk "$svnrepo"/trunk &&
#		svn_cmd co "$svnrepo" tmp &&
#		(
#			cd tmp &&
#			mkdir branches branches/v1 tags &&
#			svn_cmd add branches tags &&
#			svn_cmd cp trunk branches/v1/start &&
#			svn_cmd commit -m "start a new branch" &&
#			svn_cmd up &&
#			echo "hi" >> branches/v1/start/src/b/readme &&
#			poke branches/v1/start/src/b/readme &&
#			echo "hey" >> branches/v1/start/src/a/readme &&
#			poke branches/v1/start/src/a/readme &&
#			svn_cmd commit -m "hi" &&
#			svn_cmd up &&
#			svn_cmd cp branches/v1/start tags/end &&
#			echo "bye" >> tags/end/src/b/readme &&
#			poke tags/end/src/b/readme &&
#			echo "aye" >> tags/end/src/a/readme &&
#			poke tags/end/src/a/readme &&
#			svn_cmd commit -m "the end" &&
#			echo "byebye" >> tags/end/src/b/readme &&
#			poke tags/end/src/b/readme &&
#			svn_cmd commit -m "nothing to see here"
#		) &&
#		git config --add svn-remote.svn.url "$svnrepo" &&
#		git config --add svn-remote.svn.fetch \
#		                 "trunk/src/a:refs/remotes/trunk" &&
#		git config --add svn-remote.svn.branches \
#		                 "branches/*/*/src/a:refs/remotes/branches/*/*" &&
#		git config --add svn-remote.svn.tags\
#		                 "tags/*/src/a:refs/remotes/tags/*" &&
#		git svn multi-fetch &&
#		git log --pretty=oneline refs/remotes/tags/end | \
#		    sed -e "s/^.\{41\}//" > output.end &&
#		test_cmp expect.end output.end &&
#		test "`git rev-parse refs/remotes/tags/end~1`" = \
#			"`git rev-parse refs/remotes/branches/v1/start`" &&
#		test "`git rev-parse refs/remotes/branches/v1/start~2`" = \
#			"`git rev-parse refs/remotes/trunk`" &&
#		test_must_fail git rev-parse refs/remotes/tags/end@3
#		
not ok - 2 test left-hand-side only globbing
#	
#		git config --add svn-remote.two.url "$svnrepo" &&
#		git config --add svn-remote.two.fetch trunk:refs/remotes/two/trunk &&
#		git config --add svn-remote.two.branches \
#		                 "branches/*/*:refs/remotes/two/branches/*/*" &&
#		git config --add svn-remote.two.tags \
#		                 "tags/*:refs/remotes/two/tags/*" &&
#		(
#			cd tmp &&
#			echo "try try" >> tags/end/src/b/readme &&
#			poke tags/end/src/b/readme &&
#			svn_cmd commit -m "try to try"
#		) &&
#		git svn fetch two &&
#		test `git rev-list refs/remotes/two/tags/end | wc -l` -eq 6 &&
#		test `git rev-list refs/remotes/two/branches/v1/start | wc -l` -eq 3 &&
#		test `git rev-parse refs/remotes/two/branches/v1/start~2` = \
#		     `git rev-parse refs/remotes/two/trunk` &&
#		test `git rev-parse refs/remotes/two/tags/end~3` = \
#		     `git rev-parse refs/remotes/two/branches/v1/start` &&
#		git log --pretty=oneline refs/remotes/two/tags/end | \
#		    sed -e "s/^.\{41\}//" > output.two &&
#		test_cmp expect.two output.two
#		
not ok - 3 test another branch
#	
#		(
#			cd tmp &&
#			mkdir branches/v2 &&
#			svn_cmd add branches/v2 &&
#			svn_cmd cp trunk branches/v2/start &&
#			svn_cmd commit -m "Another versioned branch" &&
#			svn_cmd up &&
#			echo "hello" >> branches/v2/start/src/b/readme &&
#			poke branches/v2/start/src/b/readme &&
#			echo "howdy" >> branches/v2/start/src/a/readme &&
#			poke branches/v2/start/src/a/readme &&
#			svn_cmd commit -m "Changed 2 in v2/start" &&
#			svn_cmd up &&
#			svn_cmd cp branches/v2/start tags/next &&
#			echo "bye" >> tags/next/src/b/readme &&
#			poke tags/next/src/b/readme &&
#			echo "aye" >> tags/next/src/a/readme &&
#			poke tags/next/src/a/readme &&
#			svn_cmd commit -m "adding more" &&
#			echo "byebye" >> tags/next/src/b/readme &&
#			poke tags/next/src/b/readme &&
#			svn_cmd commit -m "adios"
#		) &&
#		git config --add svn-remote.four.url "$svnrepo" &&
#		git config --add svn-remote.four.fetch trunk:refs/remotes/four/trunk &&
#		git config --add svn-remote.four.branches \
#		                 "branches/*/*:refs/remotes/four/branches/*/*" &&
#		git config --add svn-remote.four.tags \
#		                 "tags/*:refs/remotes/four/tags/*" &&
#		git svn fetch four &&
#		test `git rev-list refs/remotes/four/tags/next | wc -l` -eq 5 &&
#		test `git rev-list refs/remotes/four/branches/v2/start | wc -l` -eq 3 &&
#		test `git rev-parse refs/remotes/four/branches/v2/start~2` = \
#		     `git rev-parse refs/remotes/four/trunk` &&
#		test `git rev-parse refs/remotes/four/tags/next~2` = \
#		     `git rev-parse refs/remotes/four/branches/v2/start` &&
#		git log --pretty=oneline refs/remotes/four/tags/next | \
#		    sed -e "s/^.\{41\}//" > output.four &&
#		test_cmp expect.four output.four
#		
ok 4 - test disallow multiple globs
# failed 3 among 4 test(s)
1..4
make[3]: [t9109-git-svn-multi-glob.sh] Error 1 (ignored)
*** t9110-git-svn-use-svm-props.sh ***
not ok - 1 load svm repo
#	
#		svnadmin load -q "$rawsvnrepo" < "$TEST_DIRECTORY"/t9110/svm.dump &&
#		git svn init --minimize-url -R arr -i bar "$svnrepo"/mirror/arr &&
#		git svn init --minimize-url -R argh -i dir "$svnrepo"/mirror/argh &&
#		git svn init --minimize-url -R argh -i e \
#		  "$svnrepo"/mirror/argh/a/b/c/d/e &&
#		git config svn.useSvmProps true &&
#		git svn fetch --all
#		
not ok - 2 verify metadata for /bar
#	
#		git cat-file commit refs/remotes/bar | 	   grep '^git-svn-id: http://mayonaise/svnrepo/bar@12 161ce429-a9dd-4828-af4a-52023f968c89$' &&
#		git cat-file commit refs/remotes/bar~1 | 	   grep '^git-svn-id: http://mayonaise/svnrepo/bar@11 161ce429-a9dd-4828-af4a-52023f968c89$' &&
#		git cat-file commit refs/remotes/bar~2 | 	   grep '^git-svn-id: http://mayonaise/svnrepo/bar@10 161ce429-a9dd-4828-af4a-52023f968c89$' &&
#		git cat-file commit refs/remotes/bar~3 | 	   grep '^git-svn-id: http://mayonaise/svnrepo/bar@9 161ce429-a9dd-4828-af4a-52023f968c89$' &&
#		git cat-file commit refs/remotes/bar~4 | 	   grep '^git-svn-id: http://mayonaise/svnrepo/bar@6 161ce429-a9dd-4828-af4a-52023f968c89$' &&
#		git cat-file commit refs/remotes/bar~5 | 	   grep '^git-svn-id: http://mayonaise/svnrepo/bar@1 161ce429-a9dd-4828-af4a-52023f968c89$'
#		
not ok - 3 verify metadata for /dir/a/b/c/d/e
#	
#		git cat-file commit refs/remotes/e | 	   grep '^git-svn-id: http://mayonaise/svnrepo/dir/a/b/c/d/e@1 161ce429-a9dd-4828-af4a-52023f968c89$'
#		
not ok - 4 verify metadata for /dir
#	
#		git cat-file commit refs/remotes/dir | 	   grep '^git-svn-id: http://mayonaise/svnrepo/dir@2 161ce429-a9dd-4828-af4a-52023f968c89$' &&
#		git cat-file commit refs/remotes/dir~1 | 	   grep '^git-svn-id: http://mayonaise/svnrepo/dir@1 161ce429-a9dd-4828-af4a-52023f968c89$'
#		
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
not ok - 5 find commit based on SVN revision number
#	
#	        git svn find-rev r12 |
#		    grep HEAD
#	        
not ok - 6 empty rebase
#	
#		git svn rebase
#		
# failed 6 among 6 test(s)
1..6
make[3]: [t9110-git-svn-use-svm-props.sh] Error 1 (ignored)
*** t9111-git-svn-use-svnsync-props.sh ***
not ok - 1 load svnsync repo
#	
#		svnadmin load -q "$rawsvnrepo" < "$TEST_DIRECTORY"/t9111/svnsync.dump &&
#		git svn init --minimize-url -R arr -i bar "$svnrepo"/bar &&
#		git svn init --minimize-url -R argh -i dir "$svnrepo"/dir &&
#		git svn init --minimize-url -R argh -i e "$svnrepo"/dir/a/b/c/d/e &&
#		git config svn.useSvnsyncProps true &&
#		git svn fetch --all
#		
not ok - 2 verify metadata for /bar
#	
#		git cat-file commit refs/remotes/bar | 	   grep '^git-svn-id: http://mayonaise/svnrepo/bar@12 161ce429-a9dd-4828-af4a-52023f968c89$' &&
#		git cat-file commit refs/remotes/bar~1 | 	   grep '^git-svn-id: http://mayonaise/svnrepo/bar@11 161ce429-a9dd-4828-af4a-52023f968c89$' &&
#		git cat-file commit refs/remotes/bar~2 | 	   grep '^git-svn-id: http://mayonaise/svnrepo/bar@10 161ce429-a9dd-4828-af4a-52023f968c89$' &&
#		git cat-file commit refs/remotes/bar~3 | 	   grep '^git-svn-id: http://mayonaise/svnrepo/bar@9 161ce429-a9dd-4828-af4a-52023f968c89$' &&
#		git cat-file commit refs/remotes/bar~4 | 	   grep '^git-svn-id: http://mayonaise/svnrepo/bar@6 161ce429-a9dd-4828-af4a-52023f968c89$' &&
#		git cat-file commit refs/remotes/bar~5 | 	   grep '^git-svn-id: http://mayonaise/svnrepo/bar@1 161ce429-a9dd-4828-af4a-52023f968c89$'
#		
not ok - 3 verify metadata for /dir/a/b/c/d/e
#	
#		git cat-file commit refs/remotes/e | 	   grep '^git-svn-id: http://mayonaise/svnrepo/dir/a/b/c/d/e@1 161ce429-a9dd-4828-af4a-52023f968c89$'
#		
not ok - 4 verify metadata for /dir
#	
#		git cat-file commit refs/remotes/dir | 	   grep '^git-svn-id: http://mayonaise/svnrepo/dir@2 161ce429-a9dd-4828-af4a-52023f968c89$' &&
#		git cat-file commit refs/remotes/dir~1 | 	   grep '^git-svn-id: http://mayonaise/svnrepo/dir@1 161ce429-a9dd-4828-af4a-52023f968c89$'
#		
# failed 4 among 4 test(s)
1..4
make[3]: [t9111-git-svn-use-svnsync-props.sh] Error 1 (ignored)
*** t9112-git-svn-md5less-file.sh ***
ok 1 - load svn dumpfile
ok 2 - initialize git svn
not ok - 3 fetch revisions from svn
#	git svn fetch
# failed 1 among 3 test(s)
1..3
make[3]: [t9112-git-svn-md5less-file.sh] Error 1 (ignored)
*** t9113-git-svn-dcommit-new-file.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping svnserve test. (set $SVNSERVE_PORT to enable)
*** t9114-git-svn-dcommit-merge.sh ***
ok 1 - setup svn repository
not ok - 2 setup git mirror and merge
#	
#		git svn init "$svnrepo" -t tags -T trunk -b branches &&
#		git svn fetch &&
#		git checkout --track -b svn remotes/trunk &&
#		git checkout -b merge &&
#		echo new file > new_file &&
#		git add new_file &&
#		git commit -a -m "New file" &&
#		echo hello >> README &&
#		git commit -a -m "hello" &&
#		echo add some stuff >> new_file &&
#		git commit -a -m "add some stuff" &&
#		git checkout svn &&
#		mv -f README tmp &&
#		echo friend > README &&
#		cat tmp >> README &&
#		git commit -a -m "friend" &&
#		git pull . merge
#		
not ok - 3 verify pre-merge ancestry
#	
#		test x`git rev-parse --verify refs/heads/svn^2` = 	     x`git rev-parse --verify refs/heads/merge` &&
#		git cat-file commit refs/heads/svn^ | grep '^friend$'
#		
not ok - 4 git svn dcommit merges
#	
#		git svn dcommit
#		
not ok - 5 verify post-merge ancestry
#	
#		test x`git rev-parse --verify refs/heads/svn` = 	     x`git rev-parse --verify refs/remotes/trunk ` &&
#		test x`git rev-parse --verify refs/heads/svn^2` = 	     x`git rev-parse --verify refs/heads/merge` &&
#		git cat-file commit refs/heads/svn^ | grep '^friend$'
#		
not ok - 6 verify merge commit message
#	
#		git rev-list --pretty=raw -1 refs/heads/svn | 	  grep "    Merge branch 'merge' into svn"
#		
# failed 5 among 6 test(s)
1..6
make[3]: [t9114-git-svn-dcommit-merge.sh] Error 1 (ignored)
*** t9115-git-svn-dcommit-funky-renames.sh ***
ok 1 - load repository with strange names
not ok - 2 init and fetch repository
#	
#		git svn init "$svnrepo" &&
#		git svn fetch &&
#		git reset --hard git-svn
#		
not ok - 3 create file in existing ugly and empty dir
#	
#		mkdir -p "#{bad_directory_name}" &&
#		echo hi > "#{bad_directory_name}/ foo" &&
#		git update-index --add "#{bad_directory_name}/ foo" &&
#		git commit -m "new file in ugly parent" &&
#		git svn dcommit
#		
not ok - 4 rename ugly file
#	
#		git mv "#{bad_directory_name}/ foo" "file name with feces" &&
#		git commit -m "rename ugly file" &&
#		git svn dcommit
#		
not ok - 5 rename pretty file
#	
#		echo :x > pretty &&
#		git update-index --add pretty &&
#		git commit -m "pretty :x" &&
#		git svn dcommit &&
#		mkdir -p regular_dir_name &&
#		git mv pretty regular_dir_name/pretty &&
#		git commit -m "moved pretty file" &&
#		git svn dcommit
#		
not ok - 6 rename pretty file into ugly one
#	
#		git mv regular_dir_name/pretty "#{bad_directory_name}/ booboo" &&
#		git commit -m booboo &&
#		git svn dcommit
#		
not ok - 7 add a file with plus signs
#	
#		echo .. > +_+ &&
#		git update-index --add +_+ &&
#		git commit -m plus &&
#		mkdir gtk+ &&
#		git mv +_+ gtk+/_+_ &&
#		git commit -m plus_dir &&
#		git svn dcommit
#		
not ok - 8 clone the repository to test rebase
#	
#		git svn clone "$svnrepo" test-rebase &&
#		(
#			cd test-rebase &&
#			echo test-rebase >test-rebase &&
#			git add test-rebase &&
#			git commit -m test-rebase
#		)
#		
not ok - 9 make a commit to test rebase
#	
#			echo test-rebase-main > test-rebase-main &&
#			git add test-rebase-main &&
#			git commit -m test-rebase-main &&
#			git svn dcommit
#		
not ok - 10 git svn rebase works inside a fresh-cloned repository
#	
#		cd test-rebase &&
#			git svn rebase &&
#			test -e test-rebase-main &&
#			test -e test-rebase
#		
# failed 9 among 10 test(s)
1..10
make[3]: [t9115-git-svn-dcommit-funky-renames.sh] Error 1 (ignored)
*** t9116-git-svn-log.sh ***
not ok - 1 setup repository and import
#	
#		mkdir import &&
#		(
#			cd import &&
#			for i in trunk branches/a branches/b tags/0.1 tags/0.2 tags/0.3
#			do
#				mkdir -p $i &&
#				echo hello >>$i/README ||
#				exit 1
#			done &&
#			svn_cmd import -m test . "$svnrepo"
#		) &&
#		git svn init "$svnrepo" -T trunk -b branches -t tags &&
#		git svn fetch &&
#		git reset --hard trunk &&
#		echo bye >> README &&
#		git commit -a -m bye &&
#		git svn dcommit &&
#		git reset --hard a &&
#		echo why >> FEEDME &&
#		git update-index --add FEEDME &&
#		git commit -m feedme &&
#		git svn dcommit &&
#		git reset --hard trunk &&
#		echo aye >> README &&
#		git commit -a -m aye &&
#		git svn dcommit &&
#		git reset --hard b &&
#		echo spy >> README &&
#		git commit -a -m spy &&
#		echo try >> README &&
#		git commit -a -m try &&
#		git svn dcommit
#		
not ok - 2 run log
#	
#		git reset --hard a &&
#		git svn log -r2 trunk | grep ^r2 &&
#		git svn log -r4 trunk | grep ^r4 &&
#		git svn log -r3 | grep ^r3
#		
not ok - 3 run log against a from trunk
#	
#		git reset --hard trunk &&
#		git svn log -r3 a | grep ^r3
#		
not ok - 4 test ascending revision range
#	
#		git reset --hard trunk &&
#		git svn log -r 1:4 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r1-r2-r4 -
#		
not ok - 5 test ascending revision range with --show-commit
#	
#		git reset --hard trunk &&
#		git svn log --show-commit -r 1:4 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r1-r2-r4 -
#		
not ok - 6 test ascending revision range with --show-commit (sha1)
#	
#		git svn find-rev r1 >expected-range-r1-r2-r4-sha1 &&
#		git svn find-rev r2 >>expected-range-r1-r2-r4-sha1 &&
#		git svn find-rev r4 >>expected-range-r1-r2-r4-sha1 &&
#		git reset --hard trunk &&
#		git svn log --show-commit -r 1:4 | grep '^r[0-9]' | cut -d'|' -f2 >out &&
#		git rev-parse $(cat out) >actual &&
#		test_cmp expected-range-r1-r2-r4-sha1 actual
#		
not ok - 7 test descending revision range
#	
#		git reset --hard trunk &&
#		git svn log -r 4:1 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4-r2-r1 -
#		
not ok - 8 test ascending revision range with unreachable revision
#	
#		git reset --hard trunk &&
#		git svn log -r 1:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r1-r2 -
#		
not ok - 9 test descending revision range with unreachable revision
#	
#		git reset --hard trunk &&
#		git svn log -r 3:1 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r2-r1 -
#		
not ok - 10 test ascending revision range with unreachable upper boundary revision and 1 commit
#	
#		git reset --hard trunk &&
#		git svn log -r 2:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r2 -
#		
not ok - 11 test descending revision range with unreachable upper boundary revision and 1 commit
#	
#		git reset --hard trunk &&
#		git svn log -r 3:2 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r2 -
#		
not ok - 12 test ascending revision range with unreachable lower boundary revision and 1 commit
#	
#		git reset --hard trunk &&
#		git svn log -r 3:4 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 -
#		
not ok - 13 test descending revision range with unreachable lower boundary revision and 1 commit
#	
#		git reset --hard trunk &&
#		git svn log -r 4:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 -
#		
not ok - 14 test ascending revision range with unreachable boundary revisions and no commits
#	
#		git reset --hard trunk &&
#		git svn log -r 5:6 | test_cmp expected-separator -
#		
not ok - 15 test descending revision range with unreachable boundary revisions and no commits
#	
#		git reset --hard trunk &&
#		git svn log -r 6:5 | test_cmp expected-separator -
#		
not ok - 16 test ascending revision range with unreachable boundary revisions and 1 commit
#	
#		git reset --hard trunk &&
#		git svn log -r 3:5 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 -
#		
not ok - 17 test descending revision range with unreachable boundary revisions and 1 commit
#	
#		git reset --hard trunk &&
#		git svn log -r 5:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 -
#		
# failed 17 among 17 test(s)
1..17
make[3]: [t9116-git-svn-log.sh] Error 1 (ignored)
*** t9117-git-svn-init-clone.sh ***
ok 1 - setup svnrepo
not ok - 2 basic clone
#	
#		test ! -d trunk &&
#		git svn clone "$svnrepo"/project/trunk &&
#		test -d trunk/.git/svn &&
#		test -e trunk/foo &&
#		rm -rf trunk
#		
not ok - 3 clone to target directory
#	
#		test ! -d target &&
#		git svn clone "$svnrepo"/project/trunk target &&
#		test -d target/.git/svn &&
#		test -e target/foo &&
#		rm -rf target
#		
not ok - 4 clone with --stdlayout
#	
#		test ! -d project &&
#		git svn clone -s "$svnrepo"/project &&
#		test -d project/.git/svn &&
#		test -e project/foo &&
#		rm -rf project
#		
not ok - 5 clone to target directory with --stdlayout
#	
#		test ! -d target &&
#		git svn clone -s "$svnrepo"/project target &&
#		test -d target/.git/svn &&
#		test -e target/foo &&
#		rm -rf target
#		
# failed 4 among 5 test(s)
1..5
make[3]: [t9117-git-svn-init-clone.sh] Error 1 (ignored)
*** t9118-git-svn-funky-branch-names.sh ***
ok 1 - setup svnrepo
not ok - 2 test clone with funky branch names
#	
#		git svn clone -s "$svnrepo/pr ject" project &&
#		(
#			cd project &&
#			git rev-parse "refs/remotes/fun%20plugin" &&
#			git rev-parse "refs/remotes/more%20fun%20plugin!" &&
#			git rev-parse "refs/remotes/$scary_ref" &&
#			git rev-parse "refs/remotes/%2Eleading_dot" &&
#			git rev-parse "refs/remotes/trailing_dot%2E" &&
#			git rev-parse "refs/remotes/trailing_dotlock%2Elock" &&
#			git rev-parse "refs/remotes/not-a%40{0}reflog"
#		)
#		
not ok - 3 test dcommit to funky branch
#	
#		(
#			cd project &&
#			git reset --hard 'refs/remotes/more%20fun%20plugin!' &&
#			echo hello >> foo &&
#			git commit -m 'hello' -- foo &&
#			git svn dcommit
#		)
#		
not ok - 4 test dcommit to scary branch
#	
#		(
#			cd project &&
#			git reset --hard "refs/remotes/$scary_ref" &&
#			echo urls are scary >> foo &&
#			git commit -m "eep" -- foo &&
#			git svn dcommit
#		)
#		
not ok - 5 test dcommit to trailing_dotlock branch
#	
#		(
#			cd project &&
#			git reset --hard "refs/remotes/trailing_dotlock%2Elock" &&
#			echo who names branches like this anyway? >> foo &&
#			git commit -m "bar" -- foo &&
#			git svn dcommit
#		)
#		
# failed 4 among 5 test(s)
1..5
make[3]: [t9118-git-svn-funky-branch-names.sh] Error 1 (ignored)
*** t9119-git-svn-info.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping svn-info test (SVN version: 1.7.19 not supported)
*** t9120-git-svn-clone-with-percent-escapes.sh ***
ok 1 - setup svnrepo
not ok - 2 test clone with percent escapes
#	
#		git svn clone "$svnrepo/pr%20ject" clone &&
#		(
#			cd clone &&
#			git rev-parse refs/${remotes_git_svn}
#		)
#	
ok 3 - svn checkout with percent escapes
ok 4 - svn checkout with space
not ok - 5 test clone trunk with percent escapes and minimize-url
#	
#		git svn clone --minimize-url "$svnrepo/pr%20ject/trunk" minimize &&
#		(
#			cd minimize &&
#			git rev-parse refs/${remotes_git_svn}
#		)
#	
not ok - 6 test clone trunk with percent escapes
#	
#		git svn clone "$svnrepo/pr%20ject/trunk" trunk &&
#		(
#			cd trunk &&
#			git rev-parse refs/${remotes_git_svn}
#		)
#	
not ok - 7 test clone --stdlayout with percent escapes
#	
#		git svn clone --stdlayout "$svnrepo/pr%20ject" percent &&
#		(
#			cd percent &&
#			git rev-parse refs/remotes/trunk^0 &&
#			git rev-parse refs/remotes/b^0 &&
#			git rev-parse refs/remotes/tags/v1^0
#		)
#	
not ok - 8 test clone -s with unescaped space
#	
#		git svn clone -s "$svnrepo/pr ject" space &&
#		(
#			cd space &&
#			git rev-parse refs/remotes/trunk^0 &&
#			git rev-parse refs/remotes/b^0 &&
#			git rev-parse refs/remotes/tags/v1^0
#		)
#	
# failed 5 among 8 test(s)
1..8
make[3]: [t9120-git-svn-clone-with-percent-escapes.sh] Error 1 (ignored)
*** t9121-git-svn-fetch-renamed-dir.sh ***
ok 1 - load repository with renamed directory
not ok - 2 init and fetch repository
#	
#		git svn init "$svnrepo/newname" &&
#		git svn fetch
#		
# failed 1 among 2 test(s)
1..2
make[3]: [t9121-git-svn-fetch-renamed-dir.sh] Error 1 (ignored)
*** t9122-git-svn-author.sh ***
ok 1 - setup svn repository
not ok - 2 interact with it via git svn
#	
#		mkdir work.git &&
#		(
#			cd work.git &&
#			git svn init "$svnrepo"
#			git svn fetch &&
#	
#			echo modification >file &&
#			test_tick &&
#			git commit -a -m second &&
#	
#			test_tick &&
#			git svn dcommit &&
#	
#			echo "further modification" >file &&
#			test_tick &&
#			git commit -a -m third &&
#	
#			test_tick &&
#			git svn --add-author-from dcommit &&
#	
#			echo "yet further modification" >file &&
#			test_tick &&
#			git commit -a -m fourth &&
#	
#			test_tick &&
#			git svn --add-author-from --use-log-author dcommit &&
#	
#			git log &&
#	
#			git show -s HEAD^^ >../actual.2 &&
#			git show -s HEAD^  >../actual.3 &&
#			git show -s HEAD   >../actual.4
#	
#		) &&
#	
#		# Make sure that --add-author-from without --use-log-author
#		# did not affect the authorship information
#		myself=$(grep "^Author: " actual.2) &&
#		unaffected=$(grep "^Author: " actual.3) &&
#		test "z$myself" = "z$unaffected" &&
#	
#		# Make sure lack of --add-author-from did not add cruft
#		! grep "^    From: A U Thor " actual.2 &&
#	
#		# Make sure --add-author-from added cruft
#		grep "^    From: A U Thor " actual.3 &&
#		grep "^    From: A U Thor " actual.4 &&
#	
#		# Make sure --add-author-from with --use-log-author affected
#		# the authorship information
#		grep "^Author: A U Thor " actual.4 &&
#	
#		# Make sure there are no commit messages with excess blank lines
#		test $(grep "^ " actual.2 | wc -l) = 3 &&
#		test $(grep "^ " actual.3 | wc -l) = 5 &&
#		test $(grep "^ " actual.4 | wc -l) = 5 &&
#	
#		# Make sure there are no svn commit messages with excess blank lines
#		(
#			cd work.svn &&
#			svn_cmd up &&
#			
#			test $(svn_cmd log -r2:2 | wc -l) = 5 &&
#			test $(svn_cmd log -r4:4 | wc -l) = 7
#		)
#	
# failed 1 among 2 test(s)
1..2
make[3]: [t9122-git-svn-author.sh] Error 1 (ignored)
*** t9123-git-svn-rebuild-with-rewriteroot.sh ***
not ok - 1 init, fetch and checkout repository
#	
#		git svn init --rewrite-root=http://invalid.invalid/ "$svnrepo" &&
#		git svn fetch &&
#		git checkout -b mybranch ${remotes_git_svn}
#		
not ok - 2 remove rev_map
#	
#		rm "$GIT_SVN_DIR"/.rev_map.*
#		
not ok - 3 rebuild rev_map
#	
#		git svn rebase >/dev/null
#		
# failed 3 among 3 test(s)
1..3
make[3]: [t9123-git-svn-rebuild-with-rewriteroot.sh] Error 1 (ignored)
*** t9124-git-svn-dcommit-auto-props.sh ***
not ok - 1 initialize git svn
#	
#		mkdir import &&
#		(
#			cd import &&
#			echo foo >foo &&
#			svn_cmd import -m "import for git svn" . "$svnrepo"
#		) &&
#		rm -rf import &&
#		git svn init "$svnrepo" &&
#		git svn fetch
#	
ok 2 - enable auto-props config
not ok - 3 add files matching auto-props
#	
#		echo "#!$SHELL_PATH" >exec1.sh &&
#		chmod +x exec1.sh &&
#		echo "hello" >hello.txt &&
#		echo bar >bar &&
#		git add exec1.sh hello.txt bar &&
#		git commit -m "files for enabled auto-props" &&
#		git svn dcommit --config-dir=user
#	
ok 4 - disable auto-props config
not ok - 5 add files matching disabled auto-props
#	
#		echo "#$SHELL_PATH" >exec2.sh &&
#		chmod +x exec2.sh &&
#		echo "world" >world.txt &&
#		echo zot >zot &&
#		git add exec2.sh world.txt zot &&
#		git commit -m "files for disabled auto-props" &&
#		git svn dcommit --config-dir=user
#	
not ok - 6 check resulting svn repository
#	
#	(
#		mkdir work &&
#		cd work &&
#		svn_cmd co "$svnrepo" &&
#		cd svnrepo &&
#	
#		# Check properties from first commit.
#		test "x$(svn_cmd propget svn:executable exec1.sh)" = "x*" &&
#		test "x$(svn_cmd propget svn:mime-type exec1.sh)" = \
#		     "xapplication/x-shellscript" &&
#		test "x$(svn_cmd propget svn:mime-type hello.txt)" = "xtext/plain" &&
#		test "x$(svn_cmd propget svn:eol-style hello.txt)" = "xnative" &&
#		test "x$(svn_cmd propget svn:mime-type bar)" = "x" &&
#	
#		# Check properties from second commit.
#		test "x$(svn_cmd propget svn:executable exec2.sh)" = "x*" &&
#		test "x$(svn_cmd propget svn:mime-type exec2.sh)" = "x" &&
#		test "x$(svn_cmd propget svn:mime-type world.txt)" = "x" &&
#		test "x$(svn_cmd propget svn:eol-style world.txt)" = "x" &&
#		test "x$(svn_cmd propget svn:mime-type zot)" = "x"
#	)
#	
not ok - 7 check renamed file
#	
#		test -d user &&
#		generate_auto_props yes > user/config &&
#		git mv foo foo.sh &&
#		git commit -m "foo => foo.sh" &&
#		git svn dcommit --config-dir=user &&
#		(
#			cd work/svnrepo &&
#			svn_cmd up &&
#			test ! -e foo &&
#			test -e foo.sh &&
#			test "x$(svn_cmd propget svn:mime-type foo.sh)" = \
#			     "xapplication/x-shellscript" &&
#			test "x$(svn_cmd propget svn:eol-style foo.sh)" = "xLF"
#		)
#	
# failed 5 among 7 test(s)
1..7
make[3]: [t9124-git-svn-dcommit-auto-props.sh] Error 1 (ignored)
*** t9125-git-svn-multi-glob-branch-names.sh ***
ok 1 - setup svnrepo
not ok - 2 test clone with multi-glob in branch names
#	
#		git svn clone -T trunk -b branches/*/* -t tags \
#		              "$svnrepo/project" project &&
#		(cd project &&
#			git rev-parse "refs/remotes/v14.1/beta" &&
#			git rev-parse "refs/remotes/v14.1/gold"
#		)
#		
not ok - 3 test dcommit to multi-globbed branch
#	
#		(cd project &&
#		git reset --hard 'refs/remotes/v14.1/gold' &&
#		echo hello >> foo &&
#		git commit -m 'hello' -- foo &&
#		git svn dcommit
#		)
#		
# failed 2 among 3 test(s)
1..3
make[3]: [t9125-git-svn-multi-glob-branch-names.sh] Error 1 (ignored)
*** t9126-git-svn-follow-deleted-readded-directory.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping svnserve test. (set $SVNSERVE_PORT to enable)
*** t9127-git-svn-partial-rebuild.sh ***
not ok - 1 initialize svnrepo
#	
#		mkdir import &&
#		(
#			(cd import &&
#			mkdir trunk branches tags &&
#			(cd trunk &&
#			echo foo > foo
#			) &&
#			svn_cmd import -m "import for git-svn" . "$svnrepo" >/dev/null &&
#			svn_cmd copy "$svnrepo"/trunk "$svnrepo"/branches/a \
#				-m "created branch a"
#			) &&
#			rm -rf import &&
#			svn_cmd co "$svnrepo"/trunk trunk &&
#			(cd trunk &&
#			echo bar >> foo &&
#			svn_cmd ci -m "updated trunk"
#			) &&
#			svn_cmd co "$svnrepo"/branches/a a &&
#			(cd a &&
#			echo baz >> a &&
#			svn_cmd add a &&
#			svn_cmd ci -m "updated a"
#			) &&
#			git svn init --stdlayout "$svnrepo"
#		)
#	
not ok - 2 import an early SVN revision into git
#	
#		git svn fetch -r1:2
#	
not ok - 3 make full git mirror of SVN
#	
#		mkdir mirror &&
#		(
#			(cd mirror &&
#			git init &&
#			git svn init --stdlayout "$svnrepo" &&
#			git svn fetch
#			)
#		)
#	
not ok - 4 fetch from git mirror and partial-rebuild
#	
#		git config --add remote.origin.url "file://$PWD/mirror/.git" &&
#		git config --add remote.origin.fetch refs/remotes/*:refs/remotes/* &&
#		git fetch origin &&
#		git svn fetch
#	
# failed 4 among 4 test(s)
1..4
make[3]: [t9127-git-svn-partial-rebuild.sh] Error 1 (ignored)
*** t9128-git-svn-cmd-branch.sh ***
ok 1 - initialize svnrepo
not ok - 2 import into git
#	
#		git svn init --stdlayout "$svnrepo" &&
#		git svn fetch &&
#		git checkout remotes/trunk
#	
not ok - 3 git svn branch tests
#	
#		git svn branch a &&
#		base=$(git rev-parse HEAD:) &&
#		test $base = $(git rev-parse remotes/a:) &&
#		git svn branch -m "created branch b blah" b &&
#		test $base = $(git rev-parse remotes/b:) &&
#		test_must_fail git branch -m "no branchname" &&
#		git svn branch -n c &&
#		test_must_fail git rev-parse remotes/c &&
#		test_must_fail git svn branch a &&
#		git svn branch -t tag1 &&
#		test $base = $(git rev-parse remotes/tags/tag1:) &&
#		git svn branch --tag tag2 &&
#		test $base = $(git rev-parse remotes/tags/tag2:) &&
#		git svn tag tag3 &&
#		test $base = $(git rev-parse remotes/tags/tag3:) &&
#		git svn tag -m "created tag4 foo" tag4 &&
#		test $base = $(git rev-parse remotes/tags/tag4:) &&
#		test_must_fail git svn tag -m "no tagname" &&
#		git svn tag -n tag5 &&
#		test_must_fail git rev-parse remotes/tags/tag5 &&
#		test_must_fail git svn tag tag1
#	
not ok - 4 branch uses correct svn-remote
#	
#		(svn_cmd co "$svnrepo" svn &&
#		cd svn &&
#		mkdir mirror &&
#		svn_cmd add mirror &&
#		svn_cmd copy trunk mirror/ &&
#		svn_cmd copy tags mirror/ &&
#		svn_cmd copy branches mirror/ &&
#		svn_cmd ci -m "made mirror" ) &&
#		rm -rf svn &&
#		git svn init -s -R mirror --prefix=mirror/ "$svnrepo"/mirror &&
#		git svn fetch -R mirror &&
#		git checkout mirror/trunk &&
#		base=$(git rev-parse HEAD:) &&
#		git svn branch -m "branch in mirror" d &&
#		test $base = $(git rev-parse remotes/mirror/d:) &&
#		test_must_fail git rev-parse remotes/d
#	
# failed 3 among 4 test(s)
1..4
make[3]: [t9128-git-svn-cmd-branch.sh] Error 1 (ignored)
*** t9129-git-svn-i18n-commitencoding.sh ***
not ok - 1 ISO8859-1 setup
#	
#			mkdir $H &&
#			svn_cmd import -m "$H test" $H "$svnrepo"/$H &&
#			git svn clone "$svnrepo"/$H $H
#		
not ok - 2 eucJP setup
#	
#			mkdir $H &&
#			svn_cmd import -m "$H test" $H "$svnrepo"/$H &&
#			git svn clone "$svnrepo"/$H $H
#		
not ok - 3 ISO-2022-JP setup
#	
#			mkdir $H &&
#			svn_cmd import -m "$H test" $H "$svnrepo"/$H &&
#			git svn clone "$svnrepo"/$H $H
#		
not ok - 4 ISO8859-1 commit on git side
#	
#		(
#			cd $H &&
#			git config i18n.commitencoding $H &&
#			git checkout -b t refs/remotes/git-svn &&
#			echo $H >F &&
#			git add F &&
#			git commit -a -F "$TEST_DIRECTORY"/t3900/$H.txt &&
#			E=$(git cat-file commit HEAD | sed -ne "s/^encoding //p") &&
#			test "z$E" = "z$H"
#			compare_git_head_with "$TEST_DIRECTORY"/t3900/$H.txt
#		)
#		
not ok - 5 eucJP commit on git side
#	
#		(
#			cd $H &&
#			git config i18n.commitencoding $H &&
#			git checkout -b t refs/remotes/git-svn &&
#			echo $H >F &&
#			git add F &&
#			git commit -a -F "$TEST_DIRECTORY"/t3900/$H.txt &&
#			E=$(git cat-file commit HEAD | sed -ne "s/^encoding //p") &&
#			test "z$E" = "z$H"
#			compare_git_head_with "$TEST_DIRECTORY"/t3900/$H.txt
#		)
#		
not ok - 6 ISO-2022-JP commit on git side
#	
#		(
#			cd $H &&
#			git config i18n.commitencoding $H &&
#			git checkout -b t refs/remotes/git-svn &&
#			echo $H >F &&
#			git add F &&
#			git commit -a -F "$TEST_DIRECTORY"/t3900/$H.txt &&
#			E=$(git cat-file commit HEAD | sed -ne "s/^encoding //p") &&
#			test "z$E" = "z$H"
#			compare_git_head_with "$TEST_DIRECTORY"/t3900/$H.txt
#		)
#		
not ok - 7 ISO8859-1 dcommit to svn
#	
#		(
#			cd $H &&
#			git svn dcommit &&
#			git cat-file commit HEAD | grep git-svn-id: &&
#			E=$(git cat-file commit HEAD | sed -ne "s/^encoding //p") &&
#			test "z$E" = "z$H" &&
#			compare_git_head_with "$TEST_DIRECTORY"/t3900/$H.txt
#		)
#		
not ok - 8 eucJP dcommit to svn
#	
#		(
#			cd $H &&
#			git svn dcommit &&
#			git cat-file commit HEAD | grep git-svn-id: &&
#			E=$(git cat-file commit HEAD | sed -ne "s/^encoding //p") &&
#			test "z$E" = "z$H" &&
#			compare_git_head_with "$TEST_DIRECTORY"/t3900/$H.txt
#		)
#		
not ok - 9 ISO-2022-JP dcommit to svn
#	
#		(
#			cd $H &&
#			git svn dcommit &&
#			git cat-file commit HEAD | grep git-svn-id: &&
#			E=$(git cat-file commit HEAD | sed -ne "s/^encoding //p") &&
#			test "z$E" = "z$H" &&
#			compare_git_head_with "$TEST_DIRECTORY"/t3900/$H.txt
#		)
#		
not ok - 10 ISO-8859-1 should match UTF-8 in svn
#	
#		(
#			cd ISO8859-1 &&
#			compare_svn_head_with "$TEST_DIRECTORY"/t3900/1-UTF-8.txt
#		)
#	
not ok - 11 eucJP should match UTF-8 in svn
#	
#			(
#				cd $H &&
#				compare_svn_head_with "$TEST_DIRECTORY"/t3900/2-UTF-8.txt
#			)
#		
not ok - 12 ISO-2022-JP should match UTF-8 in svn
#	
#			(
#				cd $H &&
#				compare_svn_head_with "$TEST_DIRECTORY"/t3900/2-UTF-8.txt
#			)
#		
# failed 12 among 12 test(s)
1..12
make[3]: [t9129-git-svn-i18n-commitencoding.sh] Error 1 (ignored)
*** t9130-git-svn-authors-file.sh ***
ok 1 - setup svnrepo
not ok - 2 start import with incomplete authors file
#	
#		test_must_fail git svn clone --authors-file=svn-authors "$svnrepo" x
#		
not ok - 3 imported 2 revisions successfully
#	
#		(
#			cd x
#			test "`git rev-list refs/remotes/git-svn | wc -l`" -eq 2 &&
#			git rev-list -1 --pretty=raw refs/remotes/git-svn | \
#			  grep "^author BBBBBBB BBBBBBB <bb@example\.com> " &&
#			git rev-list -1 --pretty=raw refs/remotes/git-svn~1 | \
#			  grep "^author AAAAAAA AAAAAAA <aa@example\.com> "
#		)
#		
not ok - 4 continues to import once authors have been added
#	
#		(
#			cd x
#			git svn fetch --authors-file=../svn-authors &&
#			test "`git rev-list refs/remotes/git-svn | wc -l`" -eq 4 &&
#			git rev-list -1 --pretty=raw refs/remotes/git-svn | \
#			  grep "^author DDDDDDD DDDDDDD <dd@example\.com> " &&
#			git rev-list -1 --pretty=raw refs/remotes/git-svn~1 | \
#			  grep "^author CCCCCCC CCCCCCC <cc@example\.com> "
#		)
#		
not ok - 5 authors-file against globs
#	
#		svn_cmd mkdir -m globs --username aa \
#		  "$svnrepo"/aa/trunk "$svnrepo"/aa/branches "$svnrepo"/aa/tags &&
#		git svn clone --authors-file=svn-authors -s "$svnrepo"/aa aa-work &&
#		for i in bb ee cc
#		do
#			branch="aa/branches/$i"
#			svn_cmd mkdir -m "$branch" --username $i "$svnrepo/$branch"
#		done
#		
ok 6 - fetch fails on ee
not ok - 7 failure happened without negative side effects
#	
#		(
#			cd aa-work &&
#			test 6 -eq "`tmp_config_get svn-remote.svn.branches-maxRev`" &&
#			test 6 -eq "`tmp_config_get svn-remote.svn.tags-maxRev`"
#		)
#		
not ok - 8 fetch continues after authors-file is fixed
#	
#		(
#			cd aa-work &&
#			git svn fetch --authors-file=../svn-authors &&
#			test 8 -eq "`tmp_config_get svn-remote.svn.branches-maxRev`" &&
#			test 8 -eq "`tmp_config_get svn-remote.svn.tags-maxRev`"
#		)
#		
not ok - 9 fresh clone with svn.authors-file in config
#	
#		(
#			rm -r "$GIT_DIR" &&
#			test x = x"$(git config svn.authorsfile)" &&
#			test_config="$HOME"/.gitconfig &&
#			sane_unset GIT_DIR &&
#			sane_unset GIT_CONFIG &&
#			git config --global \
#			  svn.authorsfile "$HOME"/svn-authors &&
#			test x"$HOME"/svn-authors = x"$(git config svn.authorsfile)" &&
#			git svn clone "$svnrepo" gitconfig.clone &&
#			cd gitconfig.clone &&
#			nr_ex=$(git log | grep "^Author:.*example.com" | wc -l) &&
#			nr_rev=$(git rev-list HEAD | wc -l) &&
#			test $nr_rev -eq $nr_ex
#		)
#	
# failed 7 among 9 test(s)
1..9
make[3]: [t9130-git-svn-authors-file.sh] Error 1 (ignored)
*** t9131-git-svn-empty-symlink.sh ***
ok 1 - load svn dumpfile
not ok - 2 clone using git svn
#	git svn clone -r1 "$svnrepo" x
ok 3 - enable broken symlink workaround
not ok - 4 "bar" is an empty file
#	test -f x/bar && ! test -s x/bar
not ok - 5 get "bar" => symlink fix from svn
#	(cd x && git svn rebase)
not ok - 6 "bar" becomes a symlink
#	test -h x/bar
not ok - 7 clone using git svn
#	git svn clone -r1 "$svnrepo" y
ok 8 - disable broken symlink workaround
not ok - 9 "bar" is an empty file
#	test -f y/bar && ! test -s y/bar
not ok - 10 get "bar" => symlink fix from svn
#	(cd y && git svn rebase)
ok 11 - "bar" does not become a symlink
not ok - 12 clone using git svn
#	git svn clone -r1 "$svnrepo" z
not ok - 13 "bar" is an empty file
#	test -f z/bar && ! test -s z/bar
not ok - 14 get "bar" => symlink fix from svn
#	(cd z && git svn rebase)
ok 15 - "bar" does not become a symlink
# failed 10 among 15 test(s)
1..15
make[3]: [t9131-git-svn-empty-symlink.sh] Error 1 (ignored)
*** t9132-git-svn-broken-symlink.sh ***
ok 1 - load svn dumpfile
not ok - 2 clone using git svn
#	git svn clone -r1 "$svnrepo" x
not ok - 3 "bar" is a symlink that points to "asdf"
#	
#		test -L x/bar &&
#		(cd x && test xasdf = x"`git cat-file blob HEAD:bar`")
#	
not ok - 4 get "bar" => symlink fix from svn
#	
#		(cd x && git svn rebase)
#	
not ok - 5 "bar" remains a proper symlink
#	
#		test -L x/bar &&
#		(cd x && test xdoink = x"`git cat-file blob HEAD:bar`")
#	
# failed 4 among 5 test(s)
1..5
make[3]: [t9132-git-svn-broken-symlink.sh] Error 1 (ignored)
*** t9133-git-svn-nested-git-repo.sh ***
ok 1 - setup repo with a git repo inside it
not ok - 2 clone an SVN repo containing a git repo
#	
#		git svn clone "$svnrepo" g &&
#		echo a > expect &&
#		test_cmp expect g/a
#	
ok 3 - SVN-side change outside of .git
not ok - 4 update git svn-cloned repo
#	
#		(
#			cd g &&
#			git svn rebase &&
#			echo a > expect &&
#			echo b >> expect &&
#			test_cmp a expect &&
#			rm expect
#		)
#	
ok 5 - SVN-side change inside of .git
not ok - 6 update git svn-cloned repo
#	
#		(
#			cd g &&
#			git svn rebase &&
#			echo a > expect &&
#			echo b >> expect &&
#			test_cmp a expect &&
#			rm expect
#		)
#	
ok 7 - SVN-side change in and out of .git
not ok - 8 update git svn-cloned repo again
#	
#		(
#			cd g &&
#			git svn rebase &&
#			echo a > expect &&
#			echo b >> expect &&
#			echo c >> expect &&
#			test_cmp a expect &&
#			rm expect
#		)
#	
# failed 4 among 8 test(s)
1..8
make[3]: [t9133-git-svn-nested-git-repo.sh] Error 1 (ignored)
*** t9134-git-svn-ignore-paths.sh ***
ok 1 - setup test repository
not ok - 2 clone an SVN repository with ignored www directory
#	
#		git svn clone --ignore-paths="^www" "$svnrepo" g &&
#		echo test_qqq > expect &&
#		for i in g/*/*.txt; do cat $i >> expect2; done &&
#		test_cmp expect expect2
#	
not ok - 3 init+fetch an SVN repository with ignored www directory
#	
#		git svn init "$svnrepo" c &&
#		( cd c && git svn fetch --ignore-paths="^www" ) &&
#		rm expect2 &&
#		echo test_qqq > expect &&
#		for i in c/*/*.txt; do cat $i >> expect2; done &&
#		test_cmp expect expect2
#	
ok 4 - verify ignore-paths config saved by clone
ok 5 - SVN-side change outside of www
not ok - 6 update git svn-cloned repo (config ignore)
#	
#		(
#			cd g &&
#			git svn rebase &&
#			printf "test_qqq
#	b
#	" > expect &&
#			for i in */*.txt; do cat $i >> expect2; done &&
#			test_cmp expect2 expect &&
#			rm expect expect2
#		)
#	
not ok - 7 update git svn-cloned repo (option ignore)
#	
#		(
#			cd c &&
#			git svn rebase --ignore-paths="^www" &&
#			printf "test_qqq
#	b
#	" > expect &&
#			for i in */*.txt; do cat $i >> expect2; done &&
#			test_cmp expect2 expect &&
#			rm expect expect2
#		)
#	
ok 8 - SVN-side change inside of ignored www
not ok - 9 update git svn-cloned repo (config ignore)
#	
#		(
#			cd g &&
#			git svn rebase &&
#			printf "test_qqq
#	b
#	" > expect &&
#			for i in */*.txt; do cat $i >> expect2; done &&
#			test_cmp expect2 expect &&
#			rm expect expect2
#		)
#	
not ok - 10 update git svn-cloned repo (option ignore)
#	
#		(
#			cd c &&
#			git svn rebase --ignore-paths="^www" &&
#			printf "test_qqq
#	b
#	" > expect &&
#			for i in */*.txt; do cat $i >> expect2; done &&
#			test_cmp expect2 expect &&
#			rm expect expect2
#		)
#	
ok 11 - SVN-side change in and out of ignored www
not ok - 12 update git svn-cloned repo again (config ignore)
#	
#		(
#			cd g &&
#			git svn rebase &&
#			printf "test_qqq
#	b
#	ygg
#	" > expect &&
#			for i in */*.txt; do cat $i >> expect2; done &&
#			test_cmp expect2 expect &&
#			rm expect expect2
#		)
#	
not ok - 13 update git svn-cloned repo again (option ignore)
#	
#		(
#			cd c &&
#			git svn rebase --ignore-paths="^www" &&
#			printf "test_qqq
#	b
#	ygg
#	" > expect &&
#			for i in */*.txt; do cat $i >> expect2; done &&
#			test_cmp expect2 expect &&
#			rm expect expect2
#		)
#	
# failed 8 among 13 test(s)
1..13
make[3]: [t9134-git-svn-ignore-paths.sh] Error 1 (ignored)
*** t9135-git-svn-moved-branch-empty-file.sh ***
ok 1 - load svn dumpfile
not ok - 2 clone using git svn
#	git svn clone -s "$svnrepo" x
not ok - 3 test that b1 exists and is empty
#	
#		(
#			cd x &&
#			git reset --hard branch-c &&
#			test -f b1 &&
#			! test -s b1
#		)
#		
# failed 2 among 3 test(s)
1..3
make[3]: [t9135-git-svn-moved-branch-empty-file.sh] Error 1 (ignored)
*** t9136-git-svn-recreated-branch-empty-file.sh ***
ok 1 - load svn dumpfile
not ok - 2 clone using git svn
#	git svn clone -s "$svnrepo" x
# failed 1 among 2 test(s)
1..2
make[3]: [t9136-git-svn-recreated-branch-empty-file.sh] Error 1 (ignored)
*** t9137-git-svn-dcommit-clobber-series.sh ***
not ok - 1 initialize repo
#	
#		mkdir import &&
#		(cd import &&
#		awk "BEGIN { for (i = 1; i < 64; i++) { print i } }" > file
#		svn_cmd import -m "initial" . "$svnrepo"
#		) &&
#		git svn init "$svnrepo" &&
#		git svn fetch &&
#		test -e file
#		
not ok - 2 (supposedly) non-conflicting change from SVN
#	
#		test x"`sed -n -e 58p < file`" = x58 &&
#		test x"`sed -n -e 61p < file`" = x61 &&
#		svn_cmd co "$svnrepo" tmp &&
#		(cd tmp &&
#			perl -i.bak -p -e "s/^58$/5588/" file &&
#			perl -i.bak -p -e "s/^61$/6611/" file &&
#			poke file &&
#			test x"`sed -n -e 58p < file`" = x5588 &&
#			test x"`sed -n -e 61p < file`" = x6611 &&
#			svn_cmd commit -m "58 => 5588, 61 => 6611"
#		)
#		
ok 3 - some unrelated changes to git
not ok - 4 change file but in unrelated area
#	
#		test x"`sed -n -e 4p < file`" = x4 &&
#		test x"`sed -n -e 7p < file`" = x7 &&
#		perl -i.bak -p -e 's/^4$/4444/' file &&
#		perl -i.bak -p -e 's/^7$/7777/' file &&
#		test x"`sed -n -e 4p < file`" = x4444 &&
#		test x"`sed -n -e 7p < file`" = x7777 &&
#		git commit -m '4 => 4444, 7 => 7777' file &&
#		git svn dcommit &&
#		svn_cmd up tmp &&
#		cd tmp &&
#			test x"`sed -n -e 4p < file`" = x4444 &&
#			test x"`sed -n -e 7p < file`" = x7777 &&
#			test x"`sed -n -e 58p < file`" = x5588 &&
#			test x"`sed -n -e 61p < file`" = x6611
#		
ok 5 - attempt to dcommit with a dirty index
# failed 3 among 5 test(s)
1..5
make[3]: [t9137-git-svn-dcommit-clobber-series.sh] Error 1 (ignored)
*** t9138-git-svn-authors-prog.sh ***
ok 1 - setup svnrepo
not ok - 2 import authors with prog and file
#	
#		git svn clone --authors-prog=./svn-authors-prog \
#		    --authors-file=svn-authors "$svnrepo" x
#		
not ok - 3 imported 6 revisions successfully
#	
#		(
#			cd x
#			test "`git rev-list refs/remotes/git-svn | wc -l`" -eq 6
#		)
#		
not ok - 4 authors-prog ran correctly
#	
#		(
#			cd x
#			git rev-list -1 --pretty=raw refs/remotes/git-svn~1 | \
#			  grep "^author ee-foo <ee-foo@example\.com> " &&
#			git rev-list -1 --pretty=raw refs/remotes/git-svn~2 | \
#			  grep "^author dd <dd@sub\.example\.com> " &&
#			git rev-list -1 --pretty=raw refs/remotes/git-svn~3 | \
#			  grep "^author cc <cc@sub\.example\.com> " &&
#			git rev-list -1 --pretty=raw refs/remotes/git-svn~4 | \
#			  grep "^author bb <bb@example\.com> " &&
#			git rev-list -1 --pretty=raw refs/remotes/git-svn~5 | \
#			  grep "^author aa <aa@example\.com> "
#		)
#		
not ok - 5 authors-file overrode authors-prog
#	
#		(
#			cd x
#			git rev-list -1 --pretty=raw refs/remotes/git-svn | \
#			  grep "^author FFFFFFF FFFFFFF <fFf@other\.example\.com> "
#		)
#		
not ok - 6 authors-prog handled special characters in username
#	
#		svn mkdir -m bad --username "xyz; touch evil" "$svnrepo"/bad &&
#		(
#			cd x &&
#			git svn --authors-prog=../svn-authors-prog fetch &&
#			git rev-list -1 --pretty=raw refs/remotes/git-svn |
#			grep "^author xyz; touch evil <xyz; touch evil@example\.com> " &&
#			! test -f evil
#		)
#	
# failed 5 among 6 test(s)
1..6
make[3]: [t9138-git-svn-authors-prog.sh] Error 1 (ignored)
*** t9139-git-svn-non-utf8-commitencoding.sh ***
not ok - 1 ISO8859-1 setup
#	
#			mkdir $H &&
#			svn_cmd import -m "$H test" $H "$svnrepo"/$H &&
#			git svn clone "$svnrepo"/$H $H
#		
not ok - 2 eucJP setup
#	
#			mkdir $H &&
#			svn_cmd import -m "$H test" $H "$svnrepo"/$H &&
#			git svn clone "$svnrepo"/$H $H
#		
not ok - 3 ISO8859-1 commit on git side
#	
#		(
#			cd $H &&
#			git config i18n.commitencoding $H &&
#			git checkout -b t refs/remotes/git-svn &&
#			echo $H >F &&
#			git add F &&
#			git commit -a -F "$TEST_DIRECTORY"/t3900/$H.txt &&
#			E=$(git cat-file commit HEAD | sed -ne "s/^encoding //p") &&
#			test "z$E" = "z$H"
#		)
#		
not ok - 4 eucJP commit on git side
#	
#		(
#			cd $H &&
#			git config i18n.commitencoding $H &&
#			git checkout -b t refs/remotes/git-svn &&
#			echo $H >F &&
#			git add F &&
#			git commit -a -F "$TEST_DIRECTORY"/t3900/$H.txt &&
#			E=$(git cat-file commit HEAD | sed -ne "s/^encoding //p") &&
#			test "z$E" = "z$H"
#		)
#		
ok 5 - ISO8859-1 dcommit to svn
ok 6 - eucJP dcommit to svn
# failed 4 among 6 test(s)
1..6
make[3]: [t9139-git-svn-non-utf8-commitencoding.sh] Error 1 (ignored)
*** t9140-git-svn-reset.sh ***
ok 1 - setup test repository
not ok - 2 clone SVN repository with hidden directory
#	
#		git svn init "$svnrepo" g &&
#		( cd g && git svn fetch --ignore-paths="^hid" )
#	
ok 3 - modify hidden file in SVN repo
not ok - 4 fetch fails on modified hidden file
#	
#		( cd g &&
#		  git svn find-rev refs/remotes/git-svn > ../expect &&
#		  test_must_fail git svn fetch 2> ../errors &&
#		  git svn find-rev refs/remotes/git-svn > ../expect2 ) &&
#		fgrep "not found in commit" errors &&
#		test_cmp expect expect2
#	
not ok - 5 reset unwinds back to r1
#	
#		( cd g &&
#		  git svn reset -r1 &&
#		  git svn find-rev refs/remotes/git-svn > ../expect2 ) &&
#		echo 1 >expect &&
#		test_cmp expect expect2
#	
not ok - 6 refetch succeeds not ignoring any files
#	
#		( cd g &&
#		  git svn fetch &&
#		  git svn rebase &&
#		  fgrep "mod hidden" hid/hid.txt
#		)
#	
# failed 4 among 6 test(s)
1..6
make[3]: [t9140-git-svn-reset.sh] Error 1 (ignored)
*** t9141-git-svn-multiple-branches.sh ***
ok 1 - setup svnrepo
not ok - 2 clone multiple branch and tag paths
#	
#		git svn clone -T trunk \
#			      -b b_one/* --branches b_two/* \
#			      -t tags_A/* --tags tags_B \
#			      "$svnrepo/project" git_project &&
#		( cd git_project &&
#			git rev-parse refs/remotes/first &&
#			git rev-parse refs/remotes/second &&
#			git rev-parse refs/remotes/1 &&
#			git rev-parse refs/remotes/2 &&
#			git rev-parse refs/remotes/tags/1.0 &&
#			git rev-parse refs/remotes/tags/2.0 &&
#			git rev-parse refs/remotes/tags/3.0 &&
#			git rev-parse refs/remotes/tags/4.0 &&
#			git rev-parse refs/remotes/tags/v5 &&
#			git rev-parse refs/remotes/tags/v6 &&
#			git rev-parse refs/remotes/tags/v7 &&
#			git rev-parse refs/remotes/tags/v8
#		)
#	
ok 3 - Multiple branch or tag paths require -d
not ok - 4 create new branches and tags
#	
#		( cd git_project &&
#			git svn branch -m "New branch 1" -d b_one New1 ) &&
#		( cd svn_project &&
#			svn_cmd up && test -e b_one/New1/a.file ) &&
#	
#		( cd git_project &&
#			git svn branch -m "New branch 2" -d b_two New2 ) &&
#		( cd svn_project &&
#			svn_cmd up && test -e b_two/New2/a.file ) &&
#	
#		( cd git_project &&
#			git svn branch -t -m "New tag 1" -d tags_A Tag1 ) &&
#		( cd svn_project &&
#			svn_cmd up && test -e tags_A/Tag1/a.file ) &&
#	
#		( cd git_project &&
#			git svn tag -m "New tag 2" -d tags_B Tag2 ) &&
#		( cd svn_project &&
#			svn_cmd up && test -e tags_B/Tag2/a.file )
#	
# failed 2 among 4 test(s)
1..4
make[3]: [t9141-git-svn-multiple-branches.sh] Error 1 (ignored)
*** t9142-git-svn-shallow-clone.sh ***
ok 1 - setup test repository
not ok - 2 clone trunk with "-r HEAD"
#	
#		git svn clone -r HEAD "$svnrepo/trunk" g &&
#		( cd g && git rev-parse --symbolic --verify HEAD )
#	
# failed 1 among 2 test(s)
1..2
make[3]: [t9142-git-svn-shallow-clone.sh] Error 1 (ignored)
*** t9143-git-svn-gc.sh ***
ok 1 - setup directories and test repo
ok 2 - checkout working copy from svn
ok 3 - set some properties to create an unhandled.log file
ok 4 - Setup repo
not ok - 5 Fetch repo
#	git svn fetch
not ok - 6 make backup copy of unhandled.log
#	
#		 cp .git/svn/refs/remotes/git-svn/unhandled.log tmp
#		
ok 7 - create leftover index
ok 8 - git svn gc runs
ok 9 - git svn index removed
not ok - 10 git svn gc does not change unhandled.log files
#	
#		 test_cmp .git/svn/refs/remotes/git-svn/unhandled.log tmp/unhandled.log
#		
# failed 3 among 10 test(s)
1..10
make[3]: [t9143-git-svn-gc.sh] Error 1 (ignored)
*** t9144-git-svn-old-rev_map.sh ***
not ok - 1 setup test repository with old layout
#	
#		mkdir i &&
#		(cd i && > a) &&
#		svn_cmd import -m- i "$svnrepo" &&
#		git svn init "$svnrepo" &&
#		git svn fetch &&
#		test -d .git/svn/refs/remotes/git-svn/ &&
#		! test -e .git/svn/git-svn/ &&
#		mv .git/svn/refs/remotes/git-svn .git/svn/ &&
#		rm -r .git/svn/refs
#	
not ok - 2 old layout continues to work
#	
#		svn_cmd import -m- i "$svnrepo/b" &&
#		git svn rebase &&
#		echo a >> b/a &&
#		git add b/a &&
#		git commit -m- -a &&
#		git svn dcommit &&
#		! test -d .git/svn/refs/ &&
#		test -e .git/svn/git-svn/
#	
# failed 2 among 2 test(s)
1..2
make[3]: [t9144-git-svn-old-rev_map.sh] Error 1 (ignored)
*** t9145-git-svn-master-branch.sh ***
ok 1 - setup test repository
not ok - 2 git svn clone --stdlayout sets up trunk as master
#	
#		git svn clone -s "$svnrepo" g &&
#		(
#			cd g &&
#			test x`git rev-parse --verify refs/remotes/trunk^0` = \
#			     x`git rev-parse --verify refs/heads/master^0`
#		)
#	
# failed 1 among 2 test(s)
1..2
make[3]: [t9145-git-svn-master-branch.sh] Error 1 (ignored)
*** t9146-git-svn-empty-dirs.sh ***
ok 1 - initialize repo
not ok - 2 clone
#	git svn clone "$svnrepo" cloned
not ok - 3 empty directories exist
#	
#		(
#			cd cloned &&
#			for i in a b c d d/e d/e/f "weird file name"
#			do
#				if ! test -d "$i"
#				then
#					echo >&2 "$i does not exist"
#					exit 1
#				fi
#			done
#		)
#	
not ok - 4 option automkdirs set to false
#	
#		(
#			git svn init "$svnrepo" cloned-no-mkdirs &&
#			cd cloned-no-mkdirs &&
#			git config svn-remote.svn.automkdirs false &&
#			git svn fetch &&
#			for i in a b c d d/e d/e/f "weird file name"
#			do
#				if test -d "$i"
#				then
#					echo >&2 "$i exists"
#					exit 1
#				fi
#			done
#		)
#	
ok 5 - more emptiness
not ok - 6 git svn rebase creates empty directory
#	
#		( cd cloned && git svn rebase ) &&
#		test -d cloned/"! !"
#	
not ok - 7 git svn mkdirs recreates empty directories
#	
#		(
#			cd cloned &&
#			rm -r * &&
#			git svn mkdirs &&
#			for i in a b c d d/e d/e/f "weird file name" "! !"
#			do
#				if ! test -d "$i"
#				then
#					echo >&2 "$i does not exist"
#					exit 1
#				fi
#			done
#		)
#	
not ok - 8 git svn mkdirs -r works
#	
#		(
#			cd cloned &&
#			rm -r * &&
#			git svn mkdirs -r7 &&
#			for i in a b c d d/e d/e/f "weird file name"
#			do
#				if ! test -d "$i"
#				then
#					echo >&2 "$i does not exist"
#					exit 1
#				fi
#			done
#	
#			if test -d "! !"
#			then
#				echo >&2 "$i should not exist"
#				exit 1
#			fi
#	
#			git svn mkdirs -r8 &&
#			if ! test -d "! !"
#			then
#				echo >&2 "$i not exist"
#				exit 1
#			fi
#		)
#	
ok 9 - initialize trunk
not ok - 10 clone trunk
#	git svn clone -s "$svnrepo" trunk
not ok - 11 empty directories in trunk exist
#	
#		(
#			cd trunk &&
#			for i in a "weird file name"
#			do
#				if ! test -d "$i"
#				then
#					echo >&2 "$i does not exist"
#					exit 1
#				fi
#			done
#		)
#	
ok 12 - remove a top-level directory from svn
not ok - 13 removed top-level directory does not exist
#	
#		git svn clone "$svnrepo" removed &&
#		test ! -e removed/d
#	
#	
ok 14 - git svn gc-ed files work
# failed 9 among 14 test(s)
1..14
make[3]: [t9146-git-svn-empty-dirs.sh] Error 1 (ignored)
*** t9150-svk-mergetickets.sh ***
not ok - 1 load svk depot
#	
#		svnadmin load -q '$(@D)/t/trash directory.t9150-svk-mergetickets/svnrepo' 	  < '$(@D)/t/t9150/svk-merge.dump' &&
#		git svn init --minimize-url -R svkmerge 	  --rewrite-root=http://svn.example.org 	  -T trunk -b branches 'file://$(@D)/t/trash directory.t9150-svk-mergetickets/svnrepo' &&
#		git svn fetch --all
#		
fatal: Not a valid object name HEAD
not ok - 2 svk merges were represented coming in
#	
#		[ 0 -eq 2 ]
#		
# failed 2 among 2 test(s)
1..2
make[3]: [t9150-svk-mergetickets.sh] Error 1 (ignored)
*** t9151-svn-mergeinfo.sh ***
not ok - 1 load svn dump
#	
#		svnadmin load -q '$(@D)/t/trash directory.t9151-svn-mergeinfo/svnrepo' 	  < '$(@D)/t/t9151/svn-mergeinfo.dump' &&
#		git svn init --minimize-url -R svnmerge 	  --rewrite-root=http://svn.example.org 	  -T trunk -b branches 'file://$(@D)/t/trash directory.t9151-svn-mergeinfo/svnrepo' &&
#		git svn fetch --all
#		
ok 2 - all svn merges became git merge commits
ok 3 - cherry picks did not become git merge commits
ok 4 - svn non-merge merge commits did not become git merge commits
not ok - 5 commit made to merged branch is reachable from the merge
#	
#		before_commit=$(git rev-list --all --grep="trunk commit before merging trunk to b2") &&
#		merge_commit=$(git rev-list --all --grep="Merge trunk to b2") &&
#		not_reachable=$(git rev-list -1 $before_commit --not $merge_commit) &&
#		[ -z "$not_reachable" ]
#		
not ok - 6 merging two branches in one commit is detected correctly
#	
#		f1_commit=$(git rev-list --all --grep="make f1 branch from trunk") &&
#		f2_commit=$(git rev-list --all --grep="make f2 branch from trunk") &&
#		merge_commit=$(git rev-list --all --grep="Merge f1 and f2 to trunk") &&
#		not_reachable=$(git rev-list -1 $f1_commit $f2_commit --not $merge_commit) &&
#		[ -z "$not_reachable" ]
#		
not ok 7 - everything got merged in the end # TODO known breakage
# still have 1 known breakage(s)
# failed 3 among remaining 6 test(s)
1..7
make[3]: [t9151-svn-mergeinfo.sh] Error 1 (ignored)
*** t9152-svn-empty-dirs-after-gc.sh ***
ok 1 - initialize repo
not ok - 2 clone
#	git svn clone "$svnrepo" cloned
ok 3 - git svn gc runs
not ok - 4 git svn mkdirs recreates empty directories after git svn gc
#	
#		(
#			cd cloned &&
#			rm -r * &&
#			git svn mkdirs &&
#			for i in a b c d d/e d/e/f "weird file name"
#			do
#				if ! test -d "$i"
#				then
#					echo >&2 "$i does not exist"
#					exit 1
#				fi
#			done
#		)
#	
# failed 2 among 4 test(s)
1..4
make[3]: [t9152-svn-empty-dirs-after-gc.sh] Error 1 (ignored)
*** t9153-git-svn-rewrite-uuid.sh ***
not ok - 1 load svn repo
#	
#		svnadmin load -q '$(@D)/t/trash directory.t9153-git-svn-rewrite-uuid/svnrepo' < '$(@D)/t/t9153/svn.dump' &&
#		git svn init --minimize-url --rewrite-uuid='6cc8ada4-5932-4b4a-8242-3534ed8a3232' 'file://$(@D)/t/trash directory.t9153-git-svn-rewrite-uuid/svnrepo' &&
#		git svn fetch
#		
not ok - 2 verify uuid
#	
#		git cat-file commit refs/remotes/git-svn~0 | 	   grep '^git-svn-id: .*@2 6cc8ada4-5932-4b4a-8242-3534ed8a3232$' &&
#		git cat-file commit refs/remotes/git-svn~1 | 	   grep '^git-svn-id: .*@1 6cc8ada4-5932-4b4a-8242-3534ed8a3232$'
#		
# failed 2 among 2 test(s)
1..2
make[3]: [t9153-git-svn-rewrite-uuid.sh] Error 1 (ignored)
*** t9154-git-svn-fancy-glob.sh ***
not ok - 1 load svn repo
#	
#		svnadmin load -q '$(@D)/t/trash directory.t9154-git-svn-fancy-glob/svnrepo' < '$(@D)/t/t9154/svn.dump' &&
#		git svn init --minimize-url -T trunk 'file://$(@D)/t/trash directory.t9154-git-svn-fancy-glob/svnrepo' &&
#		git svn fetch
#		
not ok - 2 add red branch
#	
#		git config svn-remote.svn.branches 'branches/{red}:refs/remotes/*' &&
#		git svn fetch &&
#		git rev-parse refs/remotes/red &&
#		test_must_fail git rev-parse refs/remotes/green &&
#		test_must_fail git rev-parse refs/remotes/blue
#		
not ok - 3 add green branch
#	
#		GIT_CONFIG=.git/svn/.metadata git config --unset svn-remote.svn.branches-maxRev &&
#		git config svn-remote.svn.branches 'branches/{red,green}:refs/remotes/*' &&
#		git svn fetch &&
#		git rev-parse refs/remotes/red &&
#		git rev-parse refs/remotes/green &&
#		test_must_fail git rev-parse refs/remotes/blue
#		
not ok - 4 add all branches
#	
#		GIT_CONFIG=.git/svn/.metadata git config --unset svn-remote.svn.branches-maxRev &&
#		git config svn-remote.svn.branches 'branches/*:refs/remotes/*' &&
#		git svn fetch &&
#		git rev-parse refs/remotes/red &&
#		git rev-parse refs/remotes/green &&
#		git rev-parse refs/remotes/blue
#		
# failed 4 among 4 test(s)
1..4
make[3]: [t9154-git-svn-fancy-glob.sh] Error 1 (ignored)
*** t9155-git-svn-fetch-deleted-tag.sh ***
ok 1 - setup svn repo
not ok - 2 fetch deleted tags from same revision with checksum error
#	
#		git svn init --stdlayout "$svnrepo" git_project &&
#		cd git_project &&
#		git svn fetch &&
#	
#		git diff --exit-code mybranch:trunk/subdir/file tags/mytag:file &&
#		git diff --exit-code master:subdir/file tags/mytag^:file
#	
# failed 1 among 2 test(s)
1..2
make[3]: [t9155-git-svn-fetch-deleted-tag.sh] Error 1 (ignored)
*** t9156-git-svn-fetch-deleted-tag-2.sh ***
ok 1 - setup svn repo
not ok - 2 fetch deleted tags from same revision with no checksum error
#	
#		git svn init --stdlayout "$svnrepo" git_project &&
#		cd git_project &&
#		git svn fetch &&
#	
#		git diff --exit-code master:subdir3/file tags/mytag:file &&
#		git diff --exit-code master:subdir2/file tags/mytag^:file &&
#		git diff --exit-code master:subdir1/file tags/mytag^^:file
#	
# failed 1 among 2 test(s)
1..2
make[3]: [t9156-git-svn-fetch-deleted-tag-2.sh] Error 1 (ignored)
*** t9157-git-svn-fetch-merge.sh ***
ok 1 - initialize source svn repo
not ok - 2 clone svn repo
#	
#		git svn init -s "$svnrepo" &&
#		git svn fetch
#	
not ok - 3 verify merge commit
#	git rev-parse HEAD^2
# failed 2 among 3 test(s)
1..3
make[3]: [t9157-git-svn-fetch-merge.sh] Error 1 (ignored)
*** t9158-git-svn-mergeinfo.sh ***
define NO_SVN_TESTS to skip git svn tests
ok 1 - initialize source svn repo
not ok - 2 clone svn repo
#	
#		git svn init "$svnrepo"/trunk &&
#		git svn fetch
#	
not ok - 3 change svn:mergeinfo
#	
#		touch bar &&
#		git add bar &&
#		git commit -m "bar" &&
#		git svn dcommit --mergeinfo="/branches/foo:1-10"
#	
not ok - 4 verify svn:mergeinfo
#	
#		mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/trunk)
#		test "$mergeinfo" = "/branches/foo:1-10"
#	
not ok - 5 change svn:mergeinfo multiline
#	
#		touch baz &&
#		git add baz &&
#		git commit -m "baz" &&
#		git svn dcommit --mergeinfo="/branches/bar:1-10 /branches/other:3-5,8,10-11"
#	
not ok - 6 verify svn:mergeinfo multiline
#	
#		mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/trunk)
#		test "$mergeinfo" = "/branches/bar:1-10
#	/branches/other:3-5,8,10-11"
#	
# failed 5 among 6 test(s)
1..6
make[3]: [t9158-git-svn-mergeinfo.sh] Error 1 (ignored)
*** t9159-git-svn-no-parent-mergeinfo.sh ***
not ok - 1 test handling of root commits in merge ranges
#	
#		mkdir -p init/trunk init/branches init/tags &&
#		echo "r1" > init/trunk/file.txt &&
#		svn_cmd import -m "initial import" init "$svnrepo" &&
#		svn_cmd co "$svnrepo" tmp &&
#		(
#			cd tmp &&
#			echo "r2" > trunk/file.txt &&
#			svn_cmd commit -m "Modify file.txt on trunk" &&
#			svn_cmd cp trunk@1 branches/a &&
#			svn_cmd commit -m "Create branch a from trunk r1" &&
#			svn_cmd propset svn:mergeinfo /trunk:1-2 branches/a &&
#			svn_cmd commit -m "Fake merge of trunk r2 into branch a" &&
#			mkdir branches/b &&
#			echo "r5" > branches/b/file2.txt &&
#			svn_cmd add branches/b &&
#			svn_cmd commit -m "Create branch b from thin air" &&
#			echo "r6" > branches/b/file2.txt &&
#			svn_cmd commit -m "Modify file2.txt on branch b" &&
#			svn_cmd cp branches/b@5 branches/c &&
#			svn_cmd commit -m "Create branch c from branch b r5" &&
#			svn_cmd propset svn:mergeinfo /branches/b:5-6 branches/c &&
#			svn_cmd commit -m "Fake merge of branch b r6 into branch c"
#		) &&
#		git svn init -s "$svnrepo" &&
#		git svn fetch
#		
# failed 1 among 1 test(s)
1..1
make[3]: [t9159-git-svn-no-parent-mergeinfo.sh] Error 1 (ignored)
*** t9160-git-svn-preserve-empty-dirs.sh ***
define NO_SVN_TESTS to skip git svn tests
ok 1 - initialize source svn repo containing empty dirs
not ok - 2 clone svn repo with --preserve-empty-dirs
#	
#		git svn clone "$svnrepo"/trunk --preserve-empty-dirs "$GIT_REPO"
#	
not ok - 3 directory empty from inception
#	
#		test -f "$GIT_REPO"/1/.gitignore &&
#		test $(find "$GIT_REPO"/1 -type f | wc -l) = "1"
#	
not ok - 4 directory empty from subsequent svn commit
#	
#		test -f "$GIT_REPO"/2/.gitignore &&
#		test $(find "$GIT_REPO"/2 -type f | wc -l) = "1" &&
#		test -f "$GIT_REPO"/3/.gitignore &&
#		test $(find "$GIT_REPO"/3 -type f | wc -l) = "1"
#	
not ok - 5 add entry to previously empty directory
#	
#		test $(find "$GIT_REPO"/4 -type f | wc -l) = "1" &&
#		test -f "$GIT_REPO"/4/a/b/c/foo
#	
not ok - 6 remove non-last entry from directory
#	
#		(
#			cd "$GIT_REPO" &&
#			git checkout HEAD~2
#		) &&
#		test_must_fail test -f "$GIT_REPO"/2/.gitignore &&
#		test_must_fail test -f "$GIT_REPO"/3/.gitignore
#	
not ok - 7 clone svn repo with --placeholder-file specified
#	
#		rm -rf "$GIT_REPO" &&
#		git svn clone "$svnrepo"/trunk --preserve-empty-dirs \
#			--placeholder-file=.placeholder "$GIT_REPO" &&
#		find "$GIT_REPO" -type f -name ".placeholder" &&
#		test $(find "$GIT_REPO" -type f -name ".placeholder" | wc -l) = "5"
#	
not ok - 8 placeholder namespace conflict with file
#	
#		test -s "$GIT_REPO"/5/.placeholder
#	
not ok - 9 placeholder namespace conflict with directory
#	
#		test -d "$GIT_REPO"/6/.placeholder &&
#		test -f "$GIT_REPO"/6/.placeholder/.placeholder &&
#		test $(find "$GIT_REPO"/6 -type f | wc -l) = "1"
#	
not ok - 10 second set of svn commits and rebase
#	
#		svn_cmd co "$svnrepo"/trunk "$SVN_TREE" &&
#		(
#			cd "$SVN_TREE" &&
#			mkdir -p 7 &&
#			echo "This should remove placeholder" > 1/file1.txt &&
#			echo "This should not remove placeholder" > 5/file1.txt &&
#			svn_cmd add 7 1/file1.txt 5/file1.txt &&
#			svn_cmd commit -m "subsequent svn commit for persistence tests"
#		) &&
#		rm -rf "$SVN_TREE" &&
#		(
#			cd "$GIT_REPO" &&
#			git svn rebase
#		)
#	
not ok - 11 flag persistence during subsqeuent rebase
#	
#		test -f "$GIT_REPO"/7/.placeholder &&
#		test $(find "$GIT_REPO"/7 -type f | wc -l) = "1"
#	
not ok - 12 placeholder list persistence during subsqeuent rebase
#	
#		test -f "$GIT_REPO"/1/file1.txt &&
#		test $(find "$GIT_REPO"/1 -type f | wc -l) = "1" &&
#	
#		test -f "$GIT_REPO"/5/file1.txt &&
#		test -f "$GIT_REPO"/5/.placeholder &&
#		test $(find "$GIT_REPO"/5 -type f | wc -l) = "2"
#	
# failed 11 among 12 test(s)
1..12
make[3]: [t9160-git-svn-preserve-empty-dirs.sh] Error 1 (ignored)
*** t9161-git-svn-mergeinfo-push.sh ***
not ok - 1 load svn dump
#	
#		svnadmin load -q '$(@D)/t/trash directory.t9161-git-svn-mergeinfo-push/svnrepo' 	  < '$(@D)/t/t9161/branches.dump' &&
#		git svn init --minimize-url -R svnmerge 	  -T trunk -b branches 'file://$(@D)/t/trash directory.t9161-git-svn-mergeinfo-push/svnrepo' &&
#		git svn fetch --all
#		
not ok - 2 propagate merge information
#	
#		git config svn.pushmergeinfo yes &&
#		git checkout svnb1 &&
#		git merge --no-ff svnb2 &&
#		git svn dcommit
#		
not ok - 3 check svn:mergeinfo
#	
#		mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1)
#		test "$mergeinfo" = "/branches/svnb2:3,8"
#		
not ok - 4 merge another branch
#	
#		git merge --no-ff svnb3 &&
#		git svn dcommit
#		
not ok - 5 check primary parent mergeinfo respected
#	
#		mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1)
#		test "$mergeinfo" = "/branches/svnb2:3,8
#	/branches/svnb3:4,9"
#		
not ok - 6 merge existing merge
#	
#		git merge --no-ff svnb4 &&
#		git svn dcommit
#		
not ok - 7 check both parents' mergeinfo respected
#	
#		mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1)
#		test "$mergeinfo" = "/branches/svnb2:3,8
#	/branches/svnb3:4,9
#	/branches/svnb4:5-6,10-12
#	/branches/svnb5:6,11"
#		
not ok - 8 make further commits to branch
#	
#		git checkout svnb2 &&
#		touch newb2file &&
#		git add newb2file &&
#		git commit -m "later b2 commit" &&
#		touch newb2file-2 &&
#		git add newb2file-2 &&
#		git commit -m "later b2 commit 2" &&
#		git svn dcommit
#		
not ok - 9 second forward merge
#	
#		git checkout svnb1 &&
#		git merge --no-ff svnb2 &&
#		git svn dcommit
#		
not ok - 10 check new mergeinfo added
#	
#		mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb1)
#		test "$mergeinfo" = "/branches/svnb2:3,8,16-17
#	/branches/svnb3:4,9
#	/branches/svnb4:5-6,10-12
#	/branches/svnb5:6,11"
#		
not ok - 11 reintegration merge
#	
#		git checkout svnb4 &&
#		git merge --no-ff svnb1 &&
#		git svn dcommit
#		
not ok - 12 check reintegration mergeinfo
#	
#		mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/branches/svnb4)
#		test "$mergeinfo" = "/branches/svnb1:2-4,7-9,13-18
#	/branches/svnb2:3,8,16-17
#	/branches/svnb3:4,9
#	/branches/svnb4:5-6,10-12
#	/branches/svnb5:6,11"
#		
not ok - 13 dcommit a merge at the top of a stack
#	
#		git checkout svnb1 &&
#		touch anotherfile &&
#		git add anotherfile &&
#		git commit -m "a commit" &&
#		git merge svnb4 &&
#		git svn dcommit
#		
# failed 13 among 13 test(s)
1..13
make[3]: [t9161-git-svn-mergeinfo-push.sh] Error 1 (ignored)
*** t9162-git-svn-dcommit-interactive.sh ***
not ok - 1 initialize repo
#	
#		svn_cmd mkdir -m"mkdir test-interactive" "$svnrepo/test-interactive" &&
#		git svn clone "$svnrepo/test-interactive" test-interactive &&
#		cd test-interactive &&
#		touch foo && git add foo && git commit -m"foo: first commit" &&
#		git svn dcommit
#		
not ok - 2 answers: y [
] yes
#	
#		(
#			echo "change #1" >> foo && git commit -a -m"change #1" &&
#			echo "change #2" >> foo && git commit -a -m"change #2" &&
#			echo "change #3" >> foo && git commit -a -m"change #3" &&
#			( echo "y
#	
#	y" | GIT_SVN_NOTTY=1 git svn dcommit --interactive ) &&
#			test $(git rev-parse HEAD) = $(git rev-parse remotes/git-svn)
#		)
#		
not ok - 3 answers: yes yes no
#	
#		(
#			echo "change #1" >> foo && git commit -a -m"change #1" &&
#			echo "change #2" >> foo && git commit -a -m"change #2" &&
#			echo "change #3" >> foo && git commit -a -m"change #3" &&
#			( echo "yes
#	yes
#	no" | GIT_SVN_NOTTY=1 git svn dcommit --interactive ) &&
#			test $(git rev-parse HEAD^^^) = $(git rev-parse remotes/git-svn) &&
#			git reset --hard remotes/git-svn
#		)
#		
not ok - 4 answers: yes quit
#	
#		(
#			echo "change #1" >> foo && git commit -a -m"change #1" &&
#			echo "change #2" >> foo && git commit -a -m"change #2" &&
#			echo "change #3" >> foo && git commit -a -m"change #3" &&
#			( echo "yes
#	quit" | GIT_SVN_NOTTY=1 git svn dcommit --interactive ) &&
#			test $(git rev-parse HEAD^^^) = $(git rev-parse remotes/git-svn) &&
#			git reset --hard remotes/git-svn
#		)
#		
not ok - 5 answers: all
#	
#		(
#			echo "change #1" >> foo && git commit -a -m"change #1" &&
#			echo "change #2" >> foo && git commit -a -m"change #2" &&
#			echo "change #3" >> foo && git commit -a -m"change #3" &&
#			( echo "all" | GIT_SVN_NOTTY=1 git svn dcommit --interactive ) &&
#			test $(git rev-parse HEAD) = $(git rev-parse remotes/git-svn) &&
#			git reset --hard remotes/git-svn
#		)
#		
# failed 5 among 5 test(s)
1..5
make[3]: [t9162-git-svn-dcommit-interactive.sh] Error 1 (ignored)
*** t9200-git-cvsexportcommit.sh ***
ok 1 - New file
ok 2 - Remove two files, add two and update two
ok 3 - Fail to change binary more than one generation old
ok 4 - Remove only binary files
ok 5 - Remove only a text file
ok 6 - New file with spaces in file name
ok 7 - Update file with spaces in file name
ok 8 - File with non-ascii file name
ok 9 - Mismatching patch should fail
ok 10 - Retain execute bit
ok 11 - -w option should work with relative GIT_DIR
ok 12 - check files before directories
ok 13 - re-commit a removed filename which remains in CVS attic
ok 14 - commit a file with leading spaces in the name
ok 15 - use the same checkout for Git and CVS
# passed all 15 test(s)
1..15
*** t9300-fast-import.sh ***
ok 1 - setup: have pipes?
ok 2 - empty stream succeeds
ok 3 - A: create pack from stdin
ok 4 - A: verify pack
ok 5 - A: verify commit
ok 6 - A: verify tree
ok 7 - A: verify file2
ok 8 - A: verify file3
ok 9 - A: verify file4
ok 10 - A: verify tag/series-A
ok 11 - A: verify tag/series-A-blob
ok 12 - A: verify marks output
ok 13 - A: verify marks import
ok 14 - A: tag blob by sha1
ok 15 - A: verify marks import does not crash
ok 16 - A: verify pack
ok 17 - A: verify diff
ok 18 - A: export marks with large values
ok 19 - B: fail on invalid blob sha1
ok 20 - B: fail on invalid branch name ".badbranchname"
ok 21 - B: fail on invalid branch name "bad[branch]name"
ok 22 - B: accept branch name "TEMP_TAG"
ok 23 - B: accept empty committer
ok 24 - B: accept and fixup committer with no name
ok 25 - B: fail on invalid committer (1)
ok 26 - B: fail on invalid committer (2)
ok 27 - B: fail on invalid committer (3)
ok 28 - B: fail on invalid committer (4)
ok 29 - B: fail on invalid committer (5)
ok 30 - C: incremental import create pack from stdin
ok 31 - C: verify pack
ok 32 - C: validate reuse existing blob
ok 33 - C: verify commit
ok 34 - C: validate rename result
ok 35 - D: inline data in commit
ok 36 - D: verify pack
ok 37 - D: validate new files added
ok 38 - D: verify file5
ok 39 - D: verify file6
ok 40 - E: rfc2822 date, --date-format=raw
ok 41 - E: rfc2822 date, --date-format=rfc2822
ok 42 - E: verify pack
ok 43 - E: verify commit
ok 44 - F: non-fast-forward update skips
ok 45 - F: verify pack
ok 46 - F: verify other commit
ok 47 - G: non-fast-forward update forced
ok 48 - G: verify pack
ok 49 - G: branch changed, but logged
ok 50 - H: deletall, add 1
ok 51 - H: verify pack
ok 52 - H: validate old files removed, new files added
ok 53 - H: verify file
ok 54 - I: export-pack-edges
ok 55 - I: verify edge list
ok 56 - J: reset existing branch creates empty commit
ok 57 - J: branch has 1 commit, empty tree
ok 58 - J: tag must fail on empty branch
ok 59 - K: reinit branch with from
ok 60 - K: verify K^1 = branch^1
ok 61 - L: verify internal tree sorting
ok 62 - L: nested tree copy does not corrupt deltas
ok 63 - M: rename file in same subdirectory
ok 64 - M: rename file to new subdirectory
ok 65 - M: rename subdirectory to new subdirectory
ok 66 - N: copy file in same subdirectory
ok 67 - N: copy then modify subdirectory
ok 68 - N: copy dirty subdirectory
ok 69 - N: copy directory by id
ok 70 - N: read and copy directory
ok 71 - N: empty directory reads as missing
ok 72 - N: copy root directory by tree hash
ok 73 - N: delete directory by copying
ok 74 - N: modify copied tree
ok 75 - N: reject foo/ syntax
ok 76 - N: copy to root by id and modify
ok 77 - N: extract subtree
ok 78 - N: modify subtree, extract it, and modify again
ok 79 - O: comments are all skipped
ok 80 - O: blank lines not necessary after data commands
ok 81 - O: repack before next test
ok 82 - O: blank lines not necessary after other commands
ok 83 - O: progress outputs as requested by input
ok 84 - P: supermodule & submodule mix
ok 85 - P: verbatim SHA gitlinks
ok 86 - P: fail on inline gitlink
ok 87 - P: fail on blob mark in gitlink
ok 88 - Q: commit notes
ok 89 - Q: verify pack
ok 90 - Q: verify first commit
ok 91 - Q: verify second commit
ok 92 - Q: verify third commit
ok 93 - Q: verify first notes commit
ok 94 - Q: verify first notes tree
ok 95 - Q: verify first note for first commit
ok 96 - Q: verify first note for second commit
ok 97 - Q: verify first note for third commit
ok 98 - Q: verify second notes commit
ok 99 - Q: verify second notes tree
ok 100 - Q: verify second note for first commit
ok 101 - Q: verify first note for second commit
ok 102 - Q: verify first note for third commit
ok 103 - Q: verify third notes commit
ok 104 - Q: verify third notes tree
ok 105 - Q: verify third note for first commit
ok 106 - Q: verify fourth notes commit
ok 107 - Q: verify fourth notes tree
ok 108 - Q: verify second note for second commit
ok 109 - Q: deny note on empty branch
ok 110 - R: abort on unsupported feature
ok 111 - R: supported feature is accepted
ok 112 - R: abort on receiving feature after data command
ok 113 - R: only one import-marks feature allowed per stream
ok 114 - R: export-marks feature results in a marks file being created
ok 115 - R: export-marks options can be overriden by commandline options
ok 116 - R: catch typo in marks file name
ok 117 - R: import and output marks can be the same file
ok 118 - R: --import-marks=foo --output-marks=foo to create foo fails
ok 119 - R: --import-marks-if-exists
ok 120 - R: feature import-marks-if-exists
ok 121 - R: import to output marks works without any content
ok 122 - R: import marks prefers commandline marks file over the stream
ok 123 - R: multiple --import-marks= should be honoured
ok 124 - R: feature relative-marks should be honoured
ok 125 - R: feature no-relative-marks should be honoured
ok 126 - R: feature ls supported
ok 127 - R: feature cat-blob supported
ok 128 - R: cat-blob-fd must be a nonnegative integer
ok 129 - R: print old blob
ok 130 - R: in-stream cat-blob-fd not respected
ok 131 - R: print new blob
ok 132 - R: print new blob by sha1
ok 133 - setup: big file
ok 134 - R: print two blobs to stdout
ok 135 - R: copy using cat-file
ok 136 - R: print blob mid-commit
ok 137 - R: print staged blob within commit
ok 138 - R: quiet option results in no stats being output
ok 139 - R: feature done means terminating "done" is mandatory
ok 140 - R: terminating "done" with trailing gibberish is ok
ok 141 - R: terminating "done" within commit
ok 142 - R: die on unknown option
ok 143 - R: unknown commandline options are rejected
ok 144 - R: die on invalid option argument
ok 145 - R: ignore non-git options
ok 146 - R: blob bigger than threshold
ok 147 - R: verify created pack
ok 148 - R: verify written objects
ok 149 - R: blob appears only once
# passed all 149 test(s)
1..149
*** t9301-fast-import-notes.sh ***
ok 1 - set up master branch
ok 2 - add notes with simple M command
ok 3 - add notes with simple N command
ok 4 - update existing notes with N command
ok 5 - add concatentation notes with M command
ok 6 - verify that deleteall also removes notes
ok 7 - verify that later N commands override earlier M commands
ok 8 - add lots of commits and notes
ok 9 - verify that lots of notes trigger a fanout scheme
ok 10 - verify that non-notes are untouched by a fanout change
ok 11 - change a few existing notes
ok 12 - verify that changing notes respect existing fanout
ok 13 - remove lots of notes
ok 14 - verify that removing notes trigger fanout consolidation
ok 15 - verify that non-notes are untouched by a fanout change
ok 16 - add notes to 16 commits in each of 10 refs
# passed all 16 test(s)
1..16
*** t9350-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
not ok 19 - no exact-ref revisions included # TODO known breakage
ok 20 - path limiting with import-marks does not lose unmodified files
ok 21 - full-tree re-shows unmodified files
ok 22 - set-up a few more tags for tag export tests
ok 23 - tree_tag
ok 24 - tree_tag-obj
ok 25 - tag-obj_tag
ok 26 - tag-obj_tag-obj
ok 27 - directory becomes symlink
ok 28 - fast-export quotes pathnames
# still have 1 known breakage(s)
# passed all remaining 27 test(s)
1..28
*** t9400-git-cvsserver-server.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping git-cvsserver tests, Perl SQLite interface unavailable
*** t9401-git-cvsserver-crlf.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping git-cvsserver tests, Perl SQLite interface unavailable
*** t9500-gitweb-standalone-no-errors.sh ***
ok 1 - no commits: projects_list (implicit)
ok 2 - no commits: projects_index
ok 3 - no commits: .git summary (implicit)
ok 4 - no commits: .git commit (implicit HEAD)
ok 5 - no commits: .git commitdiff (implicit HEAD)
ok 6 - no commits: .git tree (implicit HEAD)
ok 7 - no commits: .git heads
ok 8 - no commits: .git tags
ok 9 - Make initial commit
ok 10 - projects_list (implicit)
ok 11 - projects_index
ok 12 - .git summary (implicit)
ok 13 - .git commit (implicit HEAD)
ok 14 - .git commitdiff (implicit HEAD, root commit)
ok 15 - .git commitdiff_plain (implicit HEAD, root commit)
ok 16 - .git commit (HEAD)
ok 17 - .git tree (implicit HEAD)
ok 18 - .git blob (file)
ok 19 - .git blob_plain (file)
ok 20 - .git commit (non-existent)
ok 21 - .git commitdiff (non-existent)
ok 22 - .git commitdiff (non-existent vs HEAD)
ok 23 - .git tree (0000000000000000000000000000000000000000)
ok 24 - .git tag (0000000000000000000000000000000000000000)
ok 25 - .git blob (non-existent)
ok 26 - .git blob_plain (non-existent)
ok 27 - commitdiff(0): root
ok 28 - commitdiff(0): file added
ok 29 - commitdiff(0): mode change
ok 30 - commitdiff(0): file renamed
ok 31 - commitdiff(0): file to symlink
ok 32 - commitdiff(0): file deleted
ok 33 - commitdiff(0): file copied / new file
ok 34 - commitdiff(0): mode change and modified
ok 35 - commitdiff(0): renamed and modified
ok 36 - commitdiff(0): renamed, mode change and modified
ok 37 - setup typechange commits
ok 38 - commitdiff(2): file renamed from foo to foo/baz
ok 39 - commitdiff(2): file renamed from foo/baz to foo
ok 40 - commitdiff(2): directory becomes file
ok 41 - commitdiff(2): file becomes directory
ok 42 - commitdiff(2): file becomes symlink
ok 43 - commitdiff(2): symlink becomes file
ok 44 - commitdiff(2): symlink becomes directory
ok 45 - commitdiff(2): directory becomes symlink
ok 46 - setup incomplete lines
ok 47 - commitdiff(1): addition of incomplete line
ok 48 - commitdiff(1): incomplete line as context line
ok 49 - commitdiff(1): change incomplete line
ok 50 - commitdiff(1): removal of incomplete line
ok 51 - Create a merge
ok 52 - commit(0): merge commit
ok 53 - commitdiff(0): merge commit
ok 54 - Prepare large commit
ok 55 - commit(1): large commit
ok 56 - commitdiff(1): large commit
ok 57 - side-by-side: addition of incomplete line
ok 58 - side-by-side: incomplete line as context line
ok 59 - side-by-side: changed incomplete line
ok 60 - side-by-side: removal of incomplete line
ok 61 - side-by-side: merge commit
ok 62 - tags: list of different types of tags
ok 63 - tag: Tag to commit object
ok 64 - tag: on lightweight tag (invalid)
ok 65 - logs: log (implicit HEAD)
ok 66 - logs: shortlog (implicit HEAD)
ok 67 - logs: history (implicit HEAD, file)
ok 68 - logs: history (implicit HEAD, non-existent file)
ok 69 - logs: history (implicit HEAD, deleted file)
ok 70 - path_info: project
ok 71 - path_info: project/branch
ok 72 - path_info: project/branch:file
ok 73 - path_info: project/branch:dir/
ok 74 - path_info: project/branch:file (non-existent)
ok 75 - path_info: project/branch:dir/ (non-existent)
ok 76 - path_info: project/branch:/file
ok 77 - path_info: project/:/file (implicit HEAD)
ok 78 - path_info: project/:/ (implicit HEAD, top tree)
ok 79 - feeds: OPML
ok 80 - feed: RSS
ok 81 - feed: Atom
ok 82 - encode(commit): utf8
ok 83 - encode(commit): iso-8859-1
ok 84 - encode(log): utf-8 and iso-8859-1
ok 85 - opt: log --no-merges
ok 86 - opt: atom --no-merges
ok 87 - opt: "file" history --no-merges
ok 88 - opt: log --no-such-option (invalid option)
ok 89 - opt: tree --no-merges (invalid option for action)
ok 90 - URL: no project URLs, no base URL
ok 91 - URL: project URLs via gitweb.url
ok 92 - URL: project URLs via cloneurl file
ok 93 - config override: projects list (implicit)
ok 94 - config override: tree view, features not overridden in repo config
ok 95 - config override: tree view, features disabled in repo config
ok 96 - config override: tree view, features enabled in repo config (1)
ok 97 - config override: tree view, features enabled in repo config (2)
ok 98 - search: preparation
ok 99 - search: commit author
ok 100 - search: commit message
ok 101 - search: grep
ok 102 - search: pickaxe
ok 103 - search: projects
ok 104 - README.html with non-ASCII characters (utf-8)
Skipping syntax highlighting test, because 'highlight' was not found
ok 105 # skip syntax highlighting (no highlight, unknown syntax) (missing HIGHLIGHT)
ok 106 # skip syntax highlighting (highlighted, shell script) (missing HIGHLIGHT)
ok 107 - forks: prepare
ok 108 - forks: projects list
ok 109 - forks: forks action
ok 110 - ctags: tag cloud in projects list
ok 111 - ctags: search projects by existing tag
ok 112 - ctags: search projects by non existent tag
ok 113 - ctags: malformed tag weights
ok 114 - categories: projects list, only default category
# passed all 114 test(s)
1..114
*** t9501-gitweb-standalone-http-status.sh ***
ok 1 - setup
ok 2 - snapshots: tgz only default format enabled
ok 3 - snapshots: all enabled in default, use default disabled value
ok 4 - snapshots: zip explicitly disabled
ok 5 - snapshots: tgz explicitly enabled
ok 6 - snapshots: good tree-ish id
ok 7 - snapshots: bad tree-ish id
ok 8 - snapshots: bad tree-ish id (tagged object)
ok 9 - snapshots: good object id
ok 10 - snapshots: bad object id
ok 11 - load checking: load too high (default action)
# passed all 11 test(s)
1..11
*** t9502-gitweb-standalone-parse-output.sh ***
ok 1 - setup
ok 2 - snapshot: full sha1
ok 3 - snapshot: shortened sha1
ok 4 - snapshot: almost full sha1
ok 5 - snapshot: HEAD
ok 6 - snapshot: short branch name (master)
ok 7 - snapshot: short tag name (first)
ok 8 - snapshot: full branch name (refs/heads/master)
ok 9 - snapshot: full tag name (refs/tags/first)
ok 10 - snapshot: hierarchical branch name (xx/test)
ok 11 - forks: setup
ok 12 - forks: not skipped unless "forks" feature enabled
ok 13 - forks: forks skipped if "forks" feature enabled
ok 14 - forks: "forks" action for forked repository
ok 15 - forks: can access forked repository
ok 16 - forks: project_index lists all projects (incl. forks)
# passed all 16 test(s)
1..16
*** t9600-cvsimport.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping cvsimport tests, cvsps not found
*** t9601-cvsimport-vendor-branch.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping cvsimport tests, cvsps not found
*** t9602-cvsimport-branches-tags.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping cvsimport tests, cvsps not found
*** t9603-cvsimport-patchsets.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping cvsimport tests, cvsps not found
*** t9700-perl-git.sh ***
ok 1 - set up test repository
# run 2: Perl API ($(PERL) $(@D)/t/t9700/test.pl)
ok 2 - use Git;
ok 3 - open repository
ok 4 - config scalar: string
ok 5 - config array: string
ok 6 - config scalar: nonexistent
ok 7 - config array: nonexistent
ok 8 - config_int: integer
ok 9 - config_int: nonexistent
ok 10 - config_bool: true
ok 11 - config_bool: false
ok 12 - config_path: ~/foo expansion
ok 13 - config_path: multiple values
ok 14 - get_color
ok 15 - config: duplicate entry in scalar context fails
ok 16 - config_bool: non-boolean values fail
ok 17 - ident scalar: author (type)
ok 18 - ident scalar: committer (type)
ok 19 - ident scalar: invalid ident string (no parsing)
ok 20 - ident array: author
ok 21 - ident array: author
ok 22 - ident array: ident string
ok 23 - ident array: invalid ident string
ok 24 - ident_person: author (type)
ok 25 - ident_person: ident string
ok 26 - ident_person: array
ok 27 - (get file hash)
ok 28 - cat_blob: size
ok 29 - cat_blob: data
ok 30 - hash_object: roundtrip
ok 31 - hash_and_insert_object: returns hash
ok 32 - cat_blob: roundtrip size
ok 33 - cat_blob: roundtrip data
ok 34 - repo_path
ok 35 - wc_path
ok 36 - wc_subdir initial
ok 37 - wc_subdir after wc_chdir
ok 38 - config after wc_chdir
ok 39 - repo_path (2)
ok 40 - wc_path (2)
ok 41 - wc_subdir initial (2)
ok 42 - rev-parse returned hash
ok 43 - log . does not show last commit
ok 44 - cat_blob(outside): size
1..44
# test_external test Perl API was ok
# test_external_without_stderr test no stderr: Perl API was ok
*** t9800-git-p4-basic.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping git-p4 tests; no p4 or p4d
*** t9801-git-p4-branch.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping git-p4 tests; no p4 or p4d
*** t9802-git-p4-filetype.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping git-p4 tests; no p4 or p4d
*** t9803-git-p4-shell-metachars.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping git-p4 tests; no p4 or p4d
*** t9805-git-p4-skip-submit-edit.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping git-p4 tests; no p4 or p4d
*** t9806-git-p4-options.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping git-p4 tests; no p4 or p4d
*** t9807-git-p4-submit.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping git-p4 tests; no p4 or p4d
*** t9808-git-p4-chdir.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping git-p4 tests; no p4 or p4d
*** t9809-git-p4-client-view.sh ***
# passed all 0 test(s)
1..0 # SKIP skipping git-p4 tests; no p4 or p4d
*** t9901-git-web--browse.sh ***
ok 1 - URL with an ampersand in it
ok 2 - URL with a semi-colon in it
ok 3 - URL with a hash in it
ok 4 - browser paths are properly quoted
ok 5 - browser command allows arbitrary shell code
# passed all 5 test(s)
1..5
/usr/gnu/bin/make aggregate-results
make[4]: Entering directory `$(@D)/t'
for f in test-results/t*-*.counts; do \
	echo "$f"; \
done | '/bin/bash' ./aggregate-results.sh

failed test(s): t0202 t0204 t7406 t9100 t9101 t9102 t9103 t9104 t9105 t9106 t9107 t9108 t9109 t9110 t9111 t9112 t9114 t9115 t9116 t9117 t9118 t9120 t9121 t9122 t9123 t9124 t9125 t9127 t9128 t9129 t9130 t9131 t9132 t9133 t9134 t9135 t9136 t9137 t9138 t9139 t9140 t9141 t9142 t9143 t9144 t9145 t9146 t9150 t9151 t9152 t9153 t9154 t9155 t9156 t9157 t9158 t9159 t9160 t9161 t9162

fixed   0
success 7760
failed  290
broken  46
total   8274
make[4]: Leaving directory `$(@D)/t'
/usr/gnu/bin/make clean
make[4]: Entering directory `$(@D)/t'
rm -f -r 'trash directory'.* test-results
rm -f -r valgrind/bin
rm -f .prove
make[4]: Leaving directory `$(@D)/t'
make[3]: Leaving directory `$(@D)/t'
make[2]: Leaving directory `$(@D)/t'
make[1]: Leaving directory `$(@D)'