components/git/test/results-64.master
author Danek Duvall <danek.duvall@oracle.com>
Mon, 12 Oct 2015 15:58:48 -0700
changeset 4944 2efba29a3b65
parent 4050 253de46fd78c
child 5672 4467fa93b3b7
permissions -rw-r--r--
20579345 git 2.6.1 21952988 problem in UTILITY/GIT

make[1]: Entering directory `$(@D)'
    * new prefix flags
    CC attr.o
    CC config.o
    CC exec_cmd.o
    CC gettext.o
    AR libgit.a
    LINK git-credential-store
    LINK git-daemon
    LINK git-fast-import
    LINK git-http-backend
    LINK git-imap-send
    LINK git-sh-i18n--envsubst
    LINK git-shell
    LINK git-show-index
    LINK git-upload-pack
    LINK git-remote-testsvn
    LINK git-http-fetch
    LINK git-http-push
    LINK git-credential-cache
    LINK git-credential-cache--daemon
    LINK git-remote-http
    LN/CP git-remote-https
    LN/CP git-remote-ftp
    LN/CP git-remote-ftps
    SUBDIR perl
make[2]: `perl.mak' is up to date.
    GEN git-p4
    CC git.o
    CC builtin/help.o
    CC builtin/init-db.o
    LINK git
    BUILTIN git-add
    BUILTIN git-am
    BUILTIN git-annotate
    BUILTIN git-apply
    BUILTIN git-archive
    BUILTIN git-bisect--helper
    BUILTIN git-blame
    BUILTIN git-branch
    BUILTIN git-bundle
    BUILTIN git-cat-file
    BUILTIN git-check-attr
    BUILTIN git-check-ignore
    BUILTIN git-check-mailmap
    BUILTIN git-check-ref-format
    BUILTIN git-checkout-index
    BUILTIN git-checkout
    BUILTIN git-clean
    BUILTIN git-clone
    BUILTIN git-column
    BUILTIN git-commit-tree
    BUILTIN git-commit
    BUILTIN git-config
    BUILTIN git-count-objects
    BUILTIN git-credential
    BUILTIN git-describe
    BUILTIN git-diff-files
    BUILTIN git-diff-index
    BUILTIN git-diff-tree
    BUILTIN git-diff
    BUILTIN git-fast-export
    BUILTIN git-fetch-pack
    BUILTIN git-fetch
    BUILTIN git-fmt-merge-msg
    BUILTIN git-for-each-ref
    BUILTIN git-fsck
    BUILTIN git-gc
    BUILTIN git-get-tar-commit-id
    BUILTIN git-grep
    BUILTIN git-hash-object
    BUILTIN git-help
    BUILTIN git-index-pack
    BUILTIN git-init-db
    BUILTIN git-interpret-trailers
    BUILTIN git-log
    BUILTIN git-ls-files
    BUILTIN git-ls-remote
    BUILTIN git-ls-tree
    BUILTIN git-mailinfo
    BUILTIN git-mailsplit
    BUILTIN git-merge
    BUILTIN git-merge-base
    BUILTIN git-merge-file
    BUILTIN git-merge-index
    BUILTIN git-merge-ours
    BUILTIN git-merge-recursive
    BUILTIN git-merge-tree
    BUILTIN git-mktag
    BUILTIN git-mktree
    BUILTIN git-mv
    BUILTIN git-name-rev
    BUILTIN git-notes
    BUILTIN git-pack-objects
    BUILTIN git-pack-redundant
    BUILTIN git-pack-refs
    BUILTIN git-patch-id
    BUILTIN git-prune-packed
    BUILTIN git-prune
    BUILTIN git-pull
    BUILTIN git-push
    BUILTIN git-read-tree
    BUILTIN git-receive-pack
    BUILTIN git-reflog
    BUILTIN git-remote
    BUILTIN git-remote-ext
    BUILTIN git-remote-fd
    BUILTIN git-repack
    BUILTIN git-replace
    BUILTIN git-rerere
    BUILTIN git-reset
    BUILTIN git-rev-list
    BUILTIN git-rev-parse
    BUILTIN git-revert
    BUILTIN git-rm
    BUILTIN git-send-pack
    BUILTIN git-shortlog
    BUILTIN git-show-branch
    BUILTIN git-show-ref
    BUILTIN git-stripspace
    BUILTIN git-symbolic-ref
    BUILTIN git-tag
    BUILTIN git-unpack-file
    BUILTIN git-unpack-objects
    BUILTIN git-update-index
    BUILTIN git-update-ref
    BUILTIN git-update-server-info
    BUILTIN git-upload-archive
    BUILTIN git-var
    BUILTIN git-verify-commit
    BUILTIN git-verify-pack
    BUILTIN git-verify-tag
    BUILTIN git-worktree
    BUILTIN git-write-tree
    BUILTIN git-cherry
    BUILTIN git-cherry-pick
    BUILTIN git-format-patch
    BUILTIN git-fsck-objects
    BUILTIN git-init
    BUILTIN git-merge-subtree
    BUILTIN git-show
    BUILTIN git-stage
    BUILTIN git-status
    BUILTIN git-whatchanged
    SUBDIR git-gui
    SUBDIR gitk-git
    SUBDIR perl
    SUBDIR templates
    LINK test-chmtime
    LINK test-ctype
    LINK test-config
    LINK test-date
    LINK test-delta
    LINK test-dump-cache-tree
    LINK test-dump-split-index
    LINK test-dump-untracked-cache
    LINK test-genrandom
    LINK test-hashmap
    LINK test-index-version
    LINK test-line-buffer
    LINK test-match-trees
    LINK test-mergesort
    LINK test-mktemp
    LINK test-parse-options
    LINK test-path-utils
    LINK test-prio-queue
    LINK test-read-cache
    LINK test-regex
    LINK test-revision-walking
    LINK test-run-command
    LINK test-scrap-cache-tree
    LINK test-sha1
    LINK test-sha1-array
    LINK test-sigchain
    LINK test-string-list
    LINK test-submodule-config
    LINK test-subprocess
    LINK test-svn-fe
    LINK test-urlmatch-normalization
    LINK test-wildmatch
/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
ok 4 - pretend we have a fully passing test suite
ok 5 - pretend we have a partially passing test suite
ok 6 - pretend we have a known breakage
ok 7 - pretend we have fixed a known breakage
ok 8 - pretend we have fixed one of two known breakages (run in sub test-lib)
ok 9 - pretend we have a pass, fail, and known breakage
ok 10 - pretend we have a mix of all possible results
ok 11 - test --verbose
ok 12 - test --verbose-only
ok 13 - GIT_SKIP_TESTS
ok 14 - GIT_SKIP_TESTS several tests
ok 15 - GIT_SKIP_TESTS sh pattern
ok 16 - --run basic
ok 17 - --run with a range
ok 18 - --run with two ranges
ok 19 - --run with a left open range
ok 20 - --run with a right open range
ok 21 - --run with basic negation
ok 22 - --run with two negations
ok 23 - --run a range and negation
ok 24 - --run range negation
ok 25 - --run include, exclude and include
ok 26 - --run include, exclude and include, comma separated
ok 27 - --run exclude and include
ok 28 - --run empty selectors
ok 29 - --run invalid range start
ok 30 - --run invalid range end
ok 31 - --run invalid selector
ok 32 - test runs if prerequisite is satisfied
ok 33 # skip unmet prerequisite causes test to be skipped (missing DONTHAVEIT)
ok 34 - test runs if prerequisites are satisfied
ok 35 # skip unmet prerequisites causes test to be skipped (missing DONTHAVEIT of HAVEIT,DONTHAVEIT)
ok 36 # skip unmet prerequisites causes test to be skipped (missing DONTHAVEIT of DONTHAVEIT,HAVEIT)
ok 37 - test runs if lazy prereq is satisfied
ok 38 # skip missing lazy prereqs skip tests (missing !LAZY_TRUE)
ok 39 - negative lazy prereqs checked
ok 40 # skip missing negative lazy prereqs will skip (missing LAZY_FALSE)
ok 41 - tests clean up after themselves
ok 42 - tests clean up even on failures
ok 43 - git update-index without --add should fail adding
ok 44 - git update-index with --add should succeed
ok 45 - writing tree out with git write-tree
ok 46 - validate object ID of a known tree
ok 47 - git update-index without --remove should fail removing
ok 48 - git update-index with --remove should be able to remove
ok 49 - git write-tree should be able to write an empty tree
ok 50 - validate object ID of a known tree
ok 51 - adding various types of objects with git update-index --add
ok 52 - showing stage with git ls-files --stage
ok 53 - validate git ls-files output for a known tree
ok 54 - writing tree out with git write-tree
ok 55 - validate object ID for a known tree
ok 56 - showing tree with git ls-tree
ok 57 - git ls-tree output for a known tree
ok 58 - showing tree with git ls-tree -r
ok 59 - git ls-tree -r output for a known tree
ok 60 - showing tree with git ls-tree -r -t
ok 61 - git ls-tree -r output for a known tree
ok 62 - writing partial tree out with git write-tree --prefix
ok 63 - validate object ID for a known tree
ok 64 - writing partial tree out with git write-tree --prefix
ok 65 - validate object ID for a known tree
ok 66 - put invalid objects into the index
ok 67 - writing this tree without --missing-ok
ok 68 - writing this tree with --missing-ok
ok 69 - git read-tree followed by write-tree should be idempotent
ok 70 - validate git diff-files output for a know cache/work tree state
ok 71 - git update-index --refresh should succeed
ok 72 - no diff after checkout and git update-index --refresh
ok 73 - git commit-tree records the correct tree in a commit
ok 74 - git commit-tree records the correct parent in a commit
ok 75 - git commit-tree omits duplicated parent in a commit
ok 76 - update-index D/F conflict
ok 77 - very long name in the index handled sanely
# passed all 77 test(s)
1..77
*** t0001-init.sh ***
ok 1 - plain
ok 2 - plain nested in bare
ok 3 - plain through aliased command, outside any git repo
ok 4 - plain nested through aliased command
ok 5 - plain nested in bare through aliased command
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 on .git file
ok 34 - re-init to update git link
ok 35 - re-init to move gitdir
ok 36 - re-init to move gitdir symlink
# passed all 36 test(s)
1..36
*** 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
ok 11 - setup_git_dir twice in subdir
# passed all 11 test(s)
1..11
*** 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 # skip additional case insensitivity tests (missing CASE_INSENSITIVE_FS)
ok 7 - unnormalized paths
ok 8 - relative paths
ok 9 - prefixes are not confused with leading directories
ok 10 - core.attributesfile
ok 11 - attribute test: read paths from stdin
ok 12 - attribute test: --all option
ok 13 - attribute test: --cached option
ok 14 - root subdir attribute test
ok 15 - negative patterns
ok 16 - patterns starting with exclamation
ok 17 - "**" test
ok 18 - "**" with no slashes test
ok 19 - using --git-dir and --work-tree
ok 20 - setup bare
ok 21 - bare repository: check that .gitattribute is ignored
ok 22 - bare repository: check that --cached honors index
ok 23 - bare repository: test info/attributes
# passed all 23 test(s)
1..23
*** 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
ok 2 - signals are propagated using shell convention
ok 3 - create blob
ok 4 - a constipated git dies with SIGPIPE
ok 5 - a constipated git dies with SIGPIPE even if parent ignores it
# passed all 5 test(s)
1..5
*** 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)
ok 46 - parse approxidate (2008-12-01)
ok 47 - parse approxidate (2009-12-01)
# passed all 47 test(s)
1..47
*** t0007-git-var.sh ***
ok 1 - get GIT_AUTHOR_IDENT
ok 2 - get GIT_COMMITTER_IDENT
ok 3 - requested identites are strict
ok 4 - git var -l lists variables
ok 5 - git var -l lists config
ok 6 - listing and asking for variables are exclusive
# passed all 6 test(s)
1..6
*** t0008-ignores.sh ***
ok 1 - setup
ok 2 - . corner-case
ok 3 - . corner-case with -q
ok 4 - . corner-case with --quiet
ok 5 - . corner-case with -v
ok 6 - . corner-case with -v -n
ok 7 - . corner-case with -v --non-matching
ok 8 - . corner-case with --verbose
ok 9 - . corner-case with --verbose -n
ok 10 - . corner-case with --verbose --non-matching
ok 11 - empty command line
ok 12 - empty command line with -q
ok 13 - empty command line with --quiet
ok 14 - empty command line with -v
ok 15 - empty command line with -v -n
ok 16 - empty command line with -v --non-matching
ok 17 - empty command line with --verbose
ok 18 - empty command line with --verbose -n
ok 19 - empty command line with --verbose --non-matching
ok 20 - --stdin with empty STDIN
ok 21 - --stdin with empty STDIN with -q
ok 22 - --stdin with empty STDIN with --quiet
ok 23 - --stdin with empty STDIN with -v
ok 24 - --stdin with empty STDIN with -v -n
ok 25 - --stdin with empty STDIN with -v --non-matching
ok 26 - --stdin with empty STDIN with --verbose
ok 27 - --stdin with empty STDIN with --verbose -n
ok 28 - --stdin with empty STDIN with --verbose --non-matching
ok 29 - -q with multiple args
ok 30 - --quiet with multiple args
ok 31 - -q -v
ok 32 - --quiet -v
ok 33 - -q --verbose
ok 34 - --quiet --verbose
ok 35 - --quiet with multiple args
ok 36 - erroneous use of --
ok 37 - erroneous use of -- with -q
ok 38 - erroneous use of -- with --quiet
ok 39 - erroneous use of -- with -v
ok 40 - erroneous use of -- with -v -n
ok 41 - erroneous use of -- with -v --non-matching
ok 42 - erroneous use of -- with --verbose
ok 43 - erroneous use of -- with --verbose -n
ok 44 - erroneous use of -- with --verbose --non-matching
ok 45 - --stdin with superfluous arg
ok 46 - --stdin with superfluous arg with -q
ok 47 - --stdin with superfluous arg with --quiet
ok 48 - --stdin with superfluous arg with -v
ok 49 - --stdin with superfluous arg with -v -n
ok 50 - --stdin with superfluous arg with -v --non-matching
ok 51 - --stdin with superfluous arg with --verbose
ok 52 - --stdin with superfluous arg with --verbose -n
ok 53 - --stdin with superfluous arg with --verbose --non-matching
ok 54 - --stdin -z with superfluous arg
ok 55 - --stdin -z with superfluous arg with -q
ok 56 - --stdin -z with superfluous arg with --quiet
ok 57 - --stdin -z with superfluous arg with -v
ok 58 - --stdin -z with superfluous arg with -v -n
ok 59 - --stdin -z with superfluous arg with -v --non-matching
ok 60 - --stdin -z with superfluous arg with --verbose
ok 61 - --stdin -z with superfluous arg with --verbose -n
ok 62 - --stdin -z with superfluous arg with --verbose --non-matching
ok 63 - -z without --stdin
ok 64 - -z without --stdin with -q
ok 65 - -z without --stdin with --quiet
ok 66 - -z without --stdin with -v
ok 67 - -z without --stdin with -v -n
ok 68 - -z without --stdin with -v --non-matching
ok 69 - -z without --stdin with --verbose
ok 70 - -z without --stdin with --verbose -n
ok 71 - -z without --stdin with --verbose --non-matching
ok 72 - -z without --stdin and superfluous arg
ok 73 - -z without --stdin and superfluous arg with -q
ok 74 - -z without --stdin and superfluous arg with --quiet
ok 75 - -z without --stdin and superfluous arg with -v
ok 76 - -z without --stdin and superfluous arg with -v -n
ok 77 - -z without --stdin and superfluous arg with -v --non-matching
ok 78 - -z without --stdin and superfluous arg with --verbose
ok 79 - -z without --stdin and superfluous arg with --verbose -n
ok 80 - -z without --stdin and superfluous arg with --verbose --non-matching
ok 81 - needs work tree
ok 82 - needs work tree with -q
ok 83 - needs work tree with --quiet
ok 84 - needs work tree with -v
ok 85 - needs work tree with -v -n
ok 86 - needs work tree with -v --non-matching
ok 87 - needs work tree with --verbose
ok 88 - needs work tree with --verbose -n
ok 89 - needs work tree with --verbose --non-matching
ok 90 - non-existent file at top-level not ignored
ok 91 - non-existent file at top-level not ignored with -q
ok 92 - non-existent file at top-level not ignored with --quiet
ok 93 - non-existent file at top-level not ignored with -v
ok 94 - non-existent file at top-level not ignored with -v -n
ok 95 - non-existent file at top-level not ignored with -v --non-matching
ok 96 - non-existent file at top-level not ignored with --verbose
ok 97 - non-existent file at top-level not ignored with --verbose -n
ok 98 - non-existent file at top-level not ignored with --verbose --non-matching
ok 99 - non-existent file at top-level not ignored with --no-index
ok 100 - non-existent file at top-level not ignored with --no-index -q
ok 101 - non-existent file at top-level not ignored with --no-index --quiet
ok 102 - non-existent file at top-level not ignored with --no-index -v
ok 103 - non-existent file at top-level not ignored with --no-index -v -n
ok 104 - non-existent file at top-level not ignored with --no-index -v --non-matching
ok 105 - non-existent file at top-level not ignored with --no-index --verbose
ok 106 - non-existent file at top-level not ignored with --no-index --verbose -n
ok 107 - non-existent file at top-level not ignored with --no-index --verbose --non-matching
ok 108 - non-existent file at top-level ignored
ok 109 - non-existent file at top-level ignored with -q
ok 110 - non-existent file at top-level ignored with --quiet
ok 111 - non-existent file at top-level ignored with -v
ok 112 - non-existent file at top-level ignored with -v -n
ok 113 - non-existent file at top-level ignored with -v --non-matching
ok 114 - non-existent file at top-level ignored with --verbose
ok 115 - non-existent file at top-level ignored with --verbose -n
ok 116 - non-existent file at top-level ignored with --verbose --non-matching
ok 117 - non-existent file at top-level ignored with --no-index
ok 118 - non-existent file at top-level ignored with --no-index -q
ok 119 - non-existent file at top-level ignored with --no-index --quiet
ok 120 - non-existent file at top-level ignored with --no-index -v
ok 121 - non-existent file at top-level ignored with --no-index -v -n
ok 122 - non-existent file at top-level ignored with --no-index -v --non-matching
ok 123 - non-existent file at top-level ignored with --no-index --verbose
ok 124 - non-existent file at top-level ignored with --no-index --verbose -n
ok 125 - non-existent file at top-level ignored with --no-index --verbose --non-matching
ok 126 - existing untracked file at top-level not ignored
ok 127 - existing untracked file at top-level not ignored with -q
ok 128 - existing untracked file at top-level not ignored with --quiet
ok 129 - existing untracked file at top-level not ignored with -v
ok 130 - existing untracked file at top-level not ignored with -v -n
ok 131 - existing untracked file at top-level not ignored with -v --non-matching
ok 132 - existing untracked file at top-level not ignored with --verbose
ok 133 - existing untracked file at top-level not ignored with --verbose -n
ok 134 - existing untracked file at top-level not ignored with --verbose --non-matching
ok 135 - existing untracked file at top-level not ignored with --no-index
ok 136 - existing untracked file at top-level not ignored with --no-index -q
ok 137 - existing untracked file at top-level not ignored with --no-index --quiet
ok 138 - existing untracked file at top-level not ignored with --no-index -v
ok 139 - existing untracked file at top-level not ignored with --no-index -v -n
ok 140 - existing untracked file at top-level not ignored with --no-index -v --non-matching
ok 141 - existing untracked file at top-level not ignored with --no-index --verbose
ok 142 - existing untracked file at top-level not ignored with --no-index --verbose -n
ok 143 - existing untracked file at top-level not ignored with --no-index --verbose --non-matching
ok 144 - existing tracked file at top-level not ignored
ok 145 - existing tracked file at top-level not ignored with -q
ok 146 - existing tracked file at top-level not ignored with --quiet
ok 147 - existing tracked file at top-level not ignored with -v
ok 148 - existing tracked file at top-level not ignored with -v -n
ok 149 - existing tracked file at top-level not ignored with -v --non-matching
ok 150 - existing tracked file at top-level not ignored with --verbose
ok 151 - existing tracked file at top-level not ignored with --verbose -n
ok 152 - existing tracked file at top-level not ignored with --verbose --non-matching
ok 153 - existing tracked file at top-level shown as ignored with --no-index
ok 154 - existing tracked file at top-level shown as ignored with --no-index -q
ok 155 - existing tracked file at top-level shown as ignored with --no-index --quiet
ok 156 - existing tracked file at top-level shown as ignored with --no-index -v
ok 157 - existing tracked file at top-level shown as ignored with --no-index -v -n
ok 158 - existing tracked file at top-level shown as ignored with --no-index -v --non-matching
ok 159 - existing tracked file at top-level shown as ignored with --no-index --verbose
ok 160 - existing tracked file at top-level shown as ignored with --no-index --verbose -n
ok 161 - existing tracked file at top-level shown as ignored with --no-index --verbose --non-matching
ok 162 - existing untracked file at top-level ignored
ok 163 - existing untracked file at top-level ignored with -q
ok 164 - existing untracked file at top-level ignored with --quiet
ok 165 - existing untracked file at top-level ignored with -v
ok 166 - existing untracked file at top-level ignored with -v -n
ok 167 - existing untracked file at top-level ignored with -v --non-matching
ok 168 - existing untracked file at top-level ignored with --verbose
ok 169 - existing untracked file at top-level ignored with --verbose -n
ok 170 - existing untracked file at top-level ignored with --verbose --non-matching
ok 171 - existing untracked file at top-level ignored with --no-index
ok 172 - existing untracked file at top-level ignored with --no-index -q
ok 173 - existing untracked file at top-level ignored with --no-index --quiet
ok 174 - existing untracked file at top-level ignored with --no-index -v
ok 175 - existing untracked file at top-level ignored with --no-index -v -n
ok 176 - existing untracked file at top-level ignored with --no-index -v --non-matching
ok 177 - existing untracked file at top-level ignored with --no-index --verbose
ok 178 - existing untracked file at top-level ignored with --no-index --verbose -n
ok 179 - existing untracked file at top-level ignored with --no-index --verbose --non-matching
ok 180 - mix of file types at top-level
ok 181 - mix of file types at top-level with -v
ok 182 - mix of file types at top-level with -v -n
ok 183 - mix of file types at top-level with -v --non-matching
ok 184 - mix of file types at top-level with --verbose
ok 185 - mix of file types at top-level with --verbose -n
ok 186 - mix of file types at top-level with --verbose --non-matching
ok 187 - mix of file types at top-level with --no-index
ok 188 - mix of file types at top-level with --no-index -v
ok 189 - mix of file types at top-level with --no-index -v -n
ok 190 - mix of file types at top-level with --no-index -v --non-matching
ok 191 - mix of file types at top-level with --no-index --verbose
ok 192 - mix of file types at top-level with --no-index --verbose -n
ok 193 - mix of file types at top-level with --no-index --verbose --non-matching
ok 194 - non-existent file in subdir a/ not ignored
ok 195 - non-existent file in subdir a/ not ignored with -q
ok 196 - non-existent file in subdir a/ not ignored with --quiet
ok 197 - non-existent file in subdir a/ not ignored with -v
ok 198 - non-existent file in subdir a/ not ignored with -v -n
ok 199 - non-existent file in subdir a/ not ignored with -v --non-matching
ok 200 - non-existent file in subdir a/ not ignored with --verbose
ok 201 - non-existent file in subdir a/ not ignored with --verbose -n
ok 202 - non-existent file in subdir a/ not ignored with --verbose --non-matching
ok 203 - non-existent file in subdir a/ not ignored with --no-index
ok 204 - non-existent file in subdir a/ not ignored with --no-index -q
ok 205 - non-existent file in subdir a/ not ignored with --no-index --quiet
ok 206 - non-existent file in subdir a/ not ignored with --no-index -v
ok 207 - non-existent file in subdir a/ not ignored with --no-index -v -n
ok 208 - non-existent file in subdir a/ not ignored with --no-index -v --non-matching
ok 209 - non-existent file in subdir a/ not ignored with --no-index --verbose
ok 210 - non-existent file in subdir a/ not ignored with --no-index --verbose -n
ok 211 - non-existent file in subdir a/ not ignored with --no-index --verbose --non-matching
ok 212 - non-existent file in subdir a/ ignored
ok 213 - non-existent file in subdir a/ ignored with -q
ok 214 - non-existent file in subdir a/ ignored with --quiet
ok 215 - non-existent file in subdir a/ ignored with -v
ok 216 - non-existent file in subdir a/ ignored with -v -n
ok 217 - non-existent file in subdir a/ ignored with -v --non-matching
ok 218 - non-existent file in subdir a/ ignored with --verbose
ok 219 - non-existent file in subdir a/ ignored with --verbose -n
ok 220 - non-existent file in subdir a/ ignored with --verbose --non-matching
ok 221 - non-existent file in subdir a/ ignored with --no-index
ok 222 - non-existent file in subdir a/ ignored with --no-index -q
ok 223 - non-existent file in subdir a/ ignored with --no-index --quiet
ok 224 - non-existent file in subdir a/ ignored with --no-index -v
ok 225 - non-existent file in subdir a/ ignored with --no-index -v -n
ok 226 - non-existent file in subdir a/ ignored with --no-index -v --non-matching
ok 227 - non-existent file in subdir a/ ignored with --no-index --verbose
ok 228 - non-existent file in subdir a/ ignored with --no-index --verbose -n
ok 229 - non-existent file in subdir a/ ignored with --no-index --verbose --non-matching
ok 230 - existing untracked file in subdir a/ not ignored
ok 231 - existing untracked file in subdir a/ not ignored with -q
ok 232 - existing untracked file in subdir a/ not ignored with --quiet
ok 233 - existing untracked file in subdir a/ not ignored with -v
ok 234 - existing untracked file in subdir a/ not ignored with -v -n
ok 235 - existing untracked file in subdir a/ not ignored with -v --non-matching
ok 236 - existing untracked file in subdir a/ not ignored with --verbose
ok 237 - existing untracked file in subdir a/ not ignored with --verbose -n
ok 238 - existing untracked file in subdir a/ not ignored with --verbose --non-matching
ok 239 - existing untracked file in subdir a/ not ignored with --no-index
ok 240 - existing untracked file in subdir a/ not ignored with --no-index -q
ok 241 - existing untracked file in subdir a/ not ignored with --no-index --quiet
ok 242 - existing untracked file in subdir a/ not ignored with --no-index -v
ok 243 - existing untracked file in subdir a/ not ignored with --no-index -v -n
ok 244 - existing untracked file in subdir a/ not ignored with --no-index -v --non-matching
ok 245 - existing untracked file in subdir a/ not ignored with --no-index --verbose
ok 246 - existing untracked file in subdir a/ not ignored with --no-index --verbose -n
ok 247 - existing untracked file in subdir a/ not ignored with --no-index --verbose --non-matching
ok 248 - existing tracked file in subdir a/ not ignored
ok 249 - existing tracked file in subdir a/ not ignored with -q
ok 250 - existing tracked file in subdir a/ not ignored with --quiet
ok 251 - existing tracked file in subdir a/ not ignored with -v
ok 252 - existing tracked file in subdir a/ not ignored with -v -n
ok 253 - existing tracked file in subdir a/ not ignored with -v --non-matching
ok 254 - existing tracked file in subdir a/ not ignored with --verbose
ok 255 - existing tracked file in subdir a/ not ignored with --verbose -n
ok 256 - existing tracked file in subdir a/ not ignored with --verbose --non-matching
ok 257 - existing tracked file in subdir a/ shown as ignored with --no-index
ok 258 - existing tracked file in subdir a/ shown as ignored with --no-index -q
ok 259 - existing tracked file in subdir a/ shown as ignored with --no-index --quiet
ok 260 - existing tracked file in subdir a/ shown as ignored with --no-index -v
ok 261 - existing tracked file in subdir a/ shown as ignored with --no-index -v -n
ok 262 - existing tracked file in subdir a/ shown as ignored with --no-index -v --non-matching
ok 263 - existing tracked file in subdir a/ shown as ignored with --no-index --verbose
ok 264 - existing tracked file in subdir a/ shown as ignored with --no-index --verbose -n
ok 265 - existing tracked file in subdir a/ shown as ignored with --no-index --verbose --non-matching
ok 266 - existing untracked file in subdir a/ ignored
ok 267 - existing untracked file in subdir a/ ignored with -q
ok 268 - existing untracked file in subdir a/ ignored with --quiet
ok 269 - existing untracked file in subdir a/ ignored with -v
ok 270 - existing untracked file in subdir a/ ignored with -v -n
ok 271 - existing untracked file in subdir a/ ignored with -v --non-matching
ok 272 - existing untracked file in subdir a/ ignored with --verbose
ok 273 - existing untracked file in subdir a/ ignored with --verbose -n
ok 274 - existing untracked file in subdir a/ ignored with --verbose --non-matching
ok 275 - existing untracked file in subdir a/ ignored with --no-index
ok 276 - existing untracked file in subdir a/ ignored with --no-index -q
ok 277 - existing untracked file in subdir a/ ignored with --no-index --quiet
ok 278 - existing untracked file in subdir a/ ignored with --no-index -v
ok 279 - existing untracked file in subdir a/ ignored with --no-index -v -n
ok 280 - existing untracked file in subdir a/ ignored with --no-index -v --non-matching
ok 281 - existing untracked file in subdir a/ ignored with --no-index --verbose
ok 282 - existing untracked file in subdir a/ ignored with --no-index --verbose -n
ok 283 - existing untracked file in subdir a/ ignored with --no-index --verbose --non-matching
ok 284 - mix of file types in subdir a/
ok 285 - mix of file types in subdir a/ with -v
ok 286 - mix of file types in subdir a/ with -v -n
ok 287 - mix of file types in subdir a/ with -v --non-matching
ok 288 - mix of file types in subdir a/ with --verbose
ok 289 - mix of file types in subdir a/ with --verbose -n
ok 290 - mix of file types in subdir a/ with --verbose --non-matching
ok 291 - mix of file types in subdir a/ with --no-index
ok 292 - mix of file types in subdir a/ with --no-index -v
ok 293 - mix of file types in subdir a/ with --no-index -v -n
ok 294 - mix of file types in subdir a/ with --no-index -v --non-matching
ok 295 - mix of file types in subdir a/ with --no-index --verbose
ok 296 - mix of file types in subdir a/ with --no-index --verbose -n
ok 297 - mix of file types in subdir a/ with --no-index --verbose --non-matching
ok 298 - sub-directory local ignore
ok 299 - sub-directory local ignore with --verbose
ok 300 - local ignore inside a sub-directory
ok 301 - local ignore inside a sub-directory with --verbose
ok 302 - nested include
ok 303 - nested include with -q
ok 304 - nested include with --quiet
ok 305 - nested include with -v
ok 306 - nested include with -v -n
ok 307 - nested include with -v --non-matching
ok 308 - nested include with --verbose
ok 309 - nested include with --verbose -n
ok 310 - nested include with --verbose --non-matching
ok 311 - ignored sub-directory
ok 312 - ignored sub-directory with -q
ok 313 - ignored sub-directory with --quiet
ok 314 - ignored sub-directory with -v
ok 315 - ignored sub-directory with -v -n
ok 316 - ignored sub-directory with -v --non-matching
ok 317 - ignored sub-directory with --verbose
ok 318 - ignored sub-directory with --verbose -n
ok 319 - ignored sub-directory with --verbose --non-matching
ok 320 - multiple files inside ignored sub-directory
ok 321 - multiple files inside ignored sub-directory with -v
ok 322 - cd to ignored sub-directory
ok 323 - cd to ignored sub-directory with -v
ok 324 - symlink
ok 325 - symlink with -q
ok 326 - symlink with --quiet
ok 327 - symlink with -v
ok 328 - symlink with -v -n
ok 329 - symlink with -v --non-matching
ok 330 - symlink with --verbose
ok 331 - symlink with --verbose -n
ok 332 - symlink with --verbose --non-matching
ok 333 - beyond a symlink
ok 334 - beyond a symlink with -q
ok 335 - beyond a symlink with --quiet
ok 336 - beyond a symlink with -v
ok 337 - beyond a symlink with -v -n
ok 338 - beyond a symlink with -v --non-matching
ok 339 - beyond a symlink with --verbose
ok 340 - beyond a symlink with --verbose -n
ok 341 - beyond a symlink with --verbose --non-matching
ok 342 - beyond a symlink from subdirectory
ok 343 - beyond a symlink from subdirectory with -q
ok 344 - beyond a symlink from subdirectory with --quiet
ok 345 - beyond a symlink from subdirectory with -v
ok 346 - beyond a symlink from subdirectory with -v -n
ok 347 - beyond a symlink from subdirectory with -v --non-matching
ok 348 - beyond a symlink from subdirectory with --verbose
ok 349 - beyond a symlink from subdirectory with --verbose -n
ok 350 - beyond a symlink from subdirectory with --verbose --non-matching
ok 351 - submodule
ok 352 - submodule with -q
ok 353 - submodule with --quiet
ok 354 - submodule with -v
ok 355 - submodule with -v -n
ok 356 - submodule with -v --non-matching
ok 357 - submodule with --verbose
ok 358 - submodule with --verbose -n
ok 359 - submodule with --verbose --non-matching
ok 360 - submodule from subdirectory
ok 361 - submodule from subdirectory with -q
ok 362 - submodule from subdirectory with --quiet
ok 363 - submodule from subdirectory with -v
ok 364 - submodule from subdirectory with -v -n
ok 365 - submodule from subdirectory with -v --non-matching
ok 366 - submodule from subdirectory with --verbose
ok 367 - submodule from subdirectory with --verbose -n
ok 368 - submodule from subdirectory with --verbose --non-matching
ok 369 - global ignore not yet enabled
ok 370 - global ignore
ok 371 - global ignore with -v
ok 372 - --stdin
ok 373 - --stdin -q
ok 374 - --stdin -v
ok 375 - --stdin -z
ok 376 - --stdin -z -q
ok 377 - --stdin -z -v
ok 378 - -z --stdin
ok 379 - -z --stdin -q
ok 380 - -z --stdin -v
ok 381 - --stdin from subdirectory
ok 382 - --stdin from subdirectory with -v
ok 383 - --stdin from subdirectory with -v -n
ok 384 - --stdin -z from subdirectory
ok 385 - --stdin -z from subdirectory with -v
ok 386 - -z --stdin from subdirectory
ok 387 - -z --stdin from subdirectory with -v
ok 388 - streaming support for --stdin
ok 389 - trailing whitespace is ignored
ok 390 - quoting allows trailing whitespace
ok 391 - correct handling of backslashes
ok 392 - info/exclude trumps core.excludesfile
# passed all 392 test(s)
1..392
*** t0009-prio-queue.sh ***
ok 1 - basic ordering
ok 2 - mixed put and get
ok 3 - notice empty queue
# passed all 3 test(s)
1..3
*** 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
*** t0011-hashmap.sh ***
ok 1 - hash functions
ok 2 - put
ok 3 - put (case insensitive)
ok 4 - replace
ok 5 - replace (case insensitive)
ok 6 - get
ok 7 - get (case insensitive)
ok 8 - add
ok 9 - add (case insensitive)
ok 10 - remove
ok 11 - remove (case insensitive)
ok 12 - iterate
ok 13 - iterate (case insensitive)
ok 14 - grow / shrink
ok 15 - string interning
# passed all 15 test(s)
1..15
*** 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 - safecrlf: git diff demotes safecrlf=true to warn
ok 8 - switch off autocrlf, safecrlf, reset HEAD
ok 9 - update with autocrlf=input
ok 10 - update with autocrlf=true
ok 11 - checkout with autocrlf=true
ok 12 - checkout with autocrlf=input
ok 13 - apply patch (autocrlf=input)
ok 14 - apply patch --cached (autocrlf=input)
ok 15 - apply patch --index (autocrlf=input)
ok 16 - apply patch (autocrlf=true)
ok 17 - apply patch --cached (autocrlf=true)
ok 18 - apply patch --index (autocrlf=true)
ok 19 - .gitattributes says two is binary
ok 20 - .gitattributes says two is input
ok 21 - .gitattributes says two and three are text
ok 22 - in-tree .gitattributes (1)
ok 23 - in-tree .gitattributes (2)
ok 24 - in-tree .gitattributes (3)
ok 25 - in-tree .gitattributes (4)
ok 26 - checkout with existing .gitattributes
ok 27 - checkout when deleting .gitattributes
ok 28 - invalid .gitattributes (must not crash)
ok 29 - setting up for new autocrlf tests
ok 30 - report no change after setting autocrlf
ok 31 - files are clean after checkout
ok 32 - LF only file gets CRLF with autocrlf
ok 33 - Mixed file is still mixed with autocrlf
ok 34 - CRLF only file has CRLF with autocrlf
ok 35 - New CRLF file gets LF in repo
# passed all 35 test(s)
1..35
*** t0021-conversion.sh ***
ok 1 - setup
ok 2 - check
ok 3 - expanded_in_repo
ok 4 - filter shell-escaped filenames
ok 5 - required filter should filter data
ok 6 - required filter smudge failure
ok 7 - required filter clean failure
ok 8 - filtering large input to small output should use little memory
ok 9 - filter that does not read is fine
ok 10 # skip filter large file (missing EXPENSIVE)
ok 11 - filter: clean empty file
ok 12 - filter: smudge empty file
# passed all 12 test(s)
1..12
*** 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
ok 6 # skip eol native is crlf (missing NATIVE_CRLF)
# passed all 6 test(s)
1..6
*** t0027-auto-crlf.sh ***
1..0 # SKIP EXPENSIVE not set
*** 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
ok 19 - strip comments with changed comment char
ok 20 - -c with single line
ok 21 - -c with single line followed by empty line
ok 22 - -c with newline only
ok 23 - --comment-lines with single line
ok 24 - -c with changed comment char
ok 25 - avoid SP-HT sequence in commented line
# passed all 25 test(s)
1..25
*** t0040-parse-options.sh ***
ok 1 - test help
ok 2 - OPT_BOOL() #1
ok 3 - OPT_BOOL() #2
ok 4 - OPT_BOOL() #3
ok 5 - OPT_BOOL() #4
ok 6 - OPT_BOOL() #5
ok 7 - OPT_BOOL() is idempotent #1
ok 8 - OPT_BOOL() is idempotent #2
ok 9 - OPT_BOOL() negation #1
ok 10 - OPT_BOOL() negation #2
ok 11 - OPT_BOOL() no negation #1
ok 12 - OPT_BOOL() no negation #2
ok 13 - OPT_BOOL() positivation
ok 14 - OPT_INT() negative
ok 15 - OPT_MAGNITUDE() simple
ok 16 - OPT_MAGNITUDE() kilo
ok 17 - OPT_MAGNITUDE() mega
ok 18 - OPT_MAGNITUDE() giga
ok 19 - OPT_MAGNITUDE() 3giga
ok 20 - short options
ok 21 - long options
ok 22 - missing required value
ok 23 - intermingled arguments
ok 24 - unambiguously abbreviated option
ok 25 - unambiguously abbreviated option with "="
ok 26 - ambiguously abbreviated option
ok 27 - non ambiguous option (after two options it abbreviates)
ok 28 - detect possible typos
ok 29 - detect possible typos
ok 30 - keep some options as arguments
ok 31 - OPT_DATE() works
ok 32 - OPT_CALLBACK() and OPT_BIT() work
ok 33 - OPT_CALLBACK() and callback errors work
ok 34 - OPT_BIT() and OPT_SET_INT() work
ok 35 - OPT_NEGBIT() and OPT_SET_INT() work
ok 36 - OPT_BIT() works
ok 37 - OPT_NEGBIT() works
ok 38 - OPT_COUNTUP() with PARSE_OPT_NODASH works
ok 39 - OPT_NUMBER_CALLBACK() works
ok 40 - negation of OPT_NONEG flags is not ambiguous
ok 41 - --list keeps list of strings
ok 42 - --no-list resets list
# passed all 42 test(s)
1..42
*** t0050-filesystem.sh ***
ok 1 - detection of case insensitive filesystem during repo init
ok 2 - detection of filesystem w/o symlink support during repo init
ok 3 - setup case tests
ok 4 - rename (case change)
ok 5 - merge (case change)
ok 6 # skip add (with different case) (missing CASE_INSENSITIVE_FS)
ok 7 - setup unicode normalization tests
ok 8 - rename (silent unicode normalization)
ok 9 - merge (silent unicode normalization)
# passed all 9 test(s)
1..9
*** 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
*** t0056-git-C.sh ***
ok 1 - "git -C <path>" runs git from the directory <path>
ok 2 - "git -C <path>" with an empty <path> is a no-op
ok 3 - Multiple -C options: "-C dir1 -C dir2" is equivalent to "-C dir1/dir2"
ok 4 - Effect on --git-dir option: "-C c --git-dir=a.git" is equivalent to "--git-dir c/a.git"
ok 5 - Order should not matter: "--git-dir=a.git -C c" is equivalent to "-C c --git-dir=a.git"
ok 6 - Effect on --work-tree option: "-C c/a.git --work-tree=../a"  is equivalent to "--work-tree=c/a --git-dir=c/a.git"
ok 7 - Order should not matter: "--work-tree=../a -C c/a.git" is equivalent to "-C c/a.git --work-tree=../a"
ok 8 - Effect on --git-dir and --work-tree options - "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=c/a.git --work-tree=c/a"
ok 9 - Order should not matter: "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=a.git -C c --work-tree=a"
ok 10 - Order should not matter: "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=a.git --work-tree=a -C c"
ok 11 - Relative followed by fullpath: "-C ./here -C /there" is equivalent to "-C /there"
# passed all 11 test(s)
1..11
*** 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: /foo / => 0
ok 50 - longest ancestor: /foo /fo => -1
ok 51 - longest ancestor: /foo /foo => -1
ok 52 - longest ancestor: /foo /bar => -1
ok 53 - longest ancestor: /foo /foo/bar => -1
ok 54 - longest ancestor: /foo /foo:/bar => -1
ok 55 - longest ancestor: /foo /:/foo:/bar => 0
ok 56 - longest ancestor: /foo /foo:/:/bar => 0
ok 57 - longest ancestor: /foo /:/bar:/foo => 0
ok 58 - longest ancestor: /foo/bar / => 0
ok 59 - longest ancestor: /foo/bar /fo => -1
ok 60 - longest ancestor: /foo/bar /foo => 4
ok 61 - longest ancestor: /foo/bar /foo/ba => -1
ok 62 - longest ancestor: /foo/bar /:/fo => 0
ok 63 - longest ancestor: /foo/bar /foo:/foo/ba => 4
ok 64 - longest ancestor: /foo/bar /bar => -1
ok 65 - longest ancestor: /foo/bar /fo => -1
ok 66 - longest ancestor: /foo/bar /foo:/bar => 4
ok 67 - longest ancestor: /foo/bar /:/foo:/bar => 4
ok 68 - longest ancestor: /foo/bar /foo:/:/bar => 4
ok 69 - longest ancestor: /foo/bar /:/bar:/fo => 0
ok 70 - longest ancestor: /foo/bar /:/bar => 0
ok 71 - longest ancestor: /foo/bar /foo => 4
ok 72 - longest ancestor: /foo/bar /foo:/bar => 4
ok 73 - longest ancestor: /foo/bar /bar => -1
ok 74 - strip_path_suffix
ok 75 - absolute path rejects the empty string
ok 76 - real path rejects the empty string
ok 77 - real path works on absolute paths 1
ok 78 - real path works on absolute paths 2
ok 79 - real path removes extra leading slashes
ok 80 - real path removes other extra slashes
ok 81 - real path works on symlinks
ok 82 - prefix_path works with absolute paths to work tree symlinks
ok 83 - prefix_path works with only absolute path to work tree
ok 84 - prefix_path rejects absolute path to dir with same beginning as work tree
ok 85 - prefix_path works with absolute path to a symlink to work tree having  same beginning as work tree
ok 86 - relative path: /foo/a/b/c/ /foo/a/b/ => c/
ok 87 - relative path: /foo/a/b/c/ /foo/a/b => c/
ok 88 - relative path: /foo/a//b//c/ ///foo/a/b// => c/
ok 89 - relative path: /foo/a/b /foo/a/b => ./
ok 90 - relative path: /foo/a/b/ /foo/a/b => ./
ok 91 - relative path: /foo/a /foo/a/b => ../
ok 92 - relative path: / /foo/a/b/ => ../../../
ok 93 - relative path: /foo/a/c /foo/a/b/ => ../c
ok 94 - relative path: /foo/a/c /foo/a/b => ../c
ok 95 - relative path: /foo/x/y /foo/a/b/ => ../../x/y
ok 96 - relative path: /foo/a/b <empty> => /foo/a/b
ok 97 - relative path: /foo/a/b <null> => /foo/a/b
ok 98 - relative path: foo/a/b/c/ foo/a/b/ => c/
ok 99 - relative path: foo/a/b/c/ foo/a/b => c/
ok 100 - relative path: foo/a/b//c foo/a//b => c
ok 101 - relative path: foo/a/b/ foo/a/b/ => ./
ok 102 - relative path: foo/a/b/ foo/a/b => ./
ok 103 - relative path: foo/a foo/a/b => ../
ok 104 - relative path: foo/x/y foo/a/b => ../../x/y
ok 105 - relative path: foo/a/c foo/a/b => ../c
ok 106 - relative path: foo/a/b /foo/x/y => foo/a/b
ok 107 - relative path: /foo/a/b foo/x/y => /foo/a/b
ok 108 # skip relative path: d:/a/b D:/a/c => ../b (missing MINGW)
ok 109 # skip relative path: C:/a/b D:/a/c => C:/a/b (missing MINGW)
ok 110 - relative path: foo/a/b <empty> => foo/a/b
ok 111 - relative path: foo/a/b <null> => foo/a/b
ok 112 - relative path: <empty> /foo/a/b => ./
ok 113 - relative path: <empty> <empty> => ./
ok 114 - relative path: <empty> <null> => ./
ok 115 - relative path: <null> <empty> => ./
ok 116 - relative path: <null> <null> => ./
ok 117 - relative path: <null> /foo/a/b => ./
ok 118 - git-path A=B info/grafts => .git/info/grafts
ok 119 - git-path GIT_GRAFT_FILE=foo info/grafts => foo
ok 120 - git-path GIT_GRAFT_FILE=foo info/////grafts => foo
ok 121 - git-path GIT_INDEX_FILE=foo index => foo
ok 122 - git-path GIT_INDEX_FILE=foo index/foo => .git/index/foo
ok 123 - git-path GIT_INDEX_FILE=foo index2 => .git/index2
ok 124 - setup fake objects directory foo
ok 125 - git-path GIT_OBJECT_DIRECTORY=foo objects => foo
ok 126 - git-path GIT_OBJECT_DIRECTORY=foo objects/foo => foo/foo
ok 127 - git-path GIT_OBJECT_DIRECTORY=foo objects2 => .git/objects2
ok 128 - setup common repository
ok 129 - git-path GIT_COMMON_DIR=bar index => .git/index
ok 130 - git-path GIT_COMMON_DIR=bar HEAD => .git/HEAD
ok 131 - git-path GIT_COMMON_DIR=bar logs/HEAD => .git/logs/HEAD
ok 132 - git-path GIT_COMMON_DIR=bar objects => bar/objects
ok 133 - git-path GIT_COMMON_DIR=bar objects/bar => bar/objects/bar
ok 134 - git-path GIT_COMMON_DIR=bar info/exclude => bar/info/exclude
ok 135 - git-path GIT_COMMON_DIR=bar info/grafts => bar/info/grafts
ok 136 - git-path GIT_COMMON_DIR=bar info/sparse-checkout => .git/info/sparse-checkout
ok 137 - git-path GIT_COMMON_DIR=bar remotes/bar => bar/remotes/bar
ok 138 - git-path GIT_COMMON_DIR=bar branches/bar => bar/branches/bar
ok 139 - git-path GIT_COMMON_DIR=bar logs/refs/heads/master => bar/logs/refs/heads/master
ok 140 - git-path GIT_COMMON_DIR=bar refs/heads/master => bar/refs/heads/master
ok 141 - git-path GIT_COMMON_DIR=bar hooks/me => bar/hooks/me
ok 142 - git-path GIT_COMMON_DIR=bar config => bar/config
ok 143 - git-path GIT_COMMON_DIR=bar packed-refs => bar/packed-refs
ok 144 - git-path GIT_COMMON_DIR=bar shallow => bar/shallow
# passed all 144 test(s)
1..144
*** t0061-run-command.sh ***
ok 1 - start_command reports ENOENT
ok 2 - run_command can run a command
ok 3 - run_command reports EACCES
ok 4 - unreadable directory in PATH
# passed all 4 test(s)
1..4
*** t0062-revision-walking.sh ***
ok 1 - setup
ok 2 - revision walking can be done twice
# passed all 2 test(s)
1..2
*** t0063-string-list.sh ***
ok 1 - split foo:bar:baz at :, max -1
ok 2 - split foo:bar:baz at :, max 0
ok 3 - split foo:bar:baz at :, max 1
ok 4 - split foo:bar:baz at :, max 2
ok 5 - split foo:bar: at :, max -1
ok 6 - split  at :, max -1
ok 7 - split : at :, max -1
ok 8 - test filter_string_list
ok 9 - test remove_duplicates
# passed all 9 test(s)
1..9
*** t0064-sha1-array.sh ***
ok 1 - ordered enumeration
ok 2 - ordered enumeration with duplicate suppression
ok 3 - lookup
ok 4 - lookup non-existing entry
ok 5 - lookup with duplicates
ok 6 - lookup non-existing entry with duplicates
ok 7 - lookup with almost duplicate values
ok 8 - lookup with single duplicate value
# passed all 8 test(s)
1..8
*** 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
ok 4 - git_mkstemps_mode does not fail if fd 0 is not open
ok 5 - check for a bug in the regex routines
# passed all 5 test(s)
1..5
*** 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 ***
ok 1 - initial commit has cache-tree
ok 2 - read-tree HEAD establishes cache-tree
ok 3 - git-add invalidates cache-tree
ok 4 - git-add in subdir invalidates cache-tree
ok 5 - git-add in subdir does not invalidate sibling cache-tree
ok 6 - update-index invalidates cache-tree
ok 7 - write-tree establishes cache-tree
ok 8 - test-scrap-cache-tree works
ok 9 - second commit has cache-tree
ok 10 - commit --interactive gives cache-tree on partial commit
ok 11 - commit in child dir has cache-tree
ok 12 - reset --hard gives cache-tree
ok 13 - reset --hard without index gives cache-tree
ok 14 - checkout gives cache-tree
ok 15 - checkout -b gives cache-tree
ok 16 - checkout -B gives cache-tree
ok 17 - merge --ff-only maintains cache-tree
ok 18 - merge maintains cache-tree
ok 19 - partial commit gives cache-tree
ok 20 - no phantom error when switching trees
ok 21 - switching trees does not invalidate shared index
# passed all 21 test(s)
1..21
*** 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}~1
ok 5 - merge @{-100} before checking out that many branches yet
# passed all 5 test(s)
1..5
*** 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
*** t0110-urlmatch-normalization.sh ***
ok 1 - url scheme
ok 2 - url authority
ok 3 - url port checks
ok 4 - url port normalization
ok 5 - url general escapes
ok 6 - url high-bit escapes
ok 7 - url utf-8 escapes
ok 8 - url username/password escapes
ok 9 - url normalized lengths
ok 10 - url . and .. segments
ok 11 - url equivalents
# passed all 11 test(s)
1..11
*** 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 0: Perl Git::I18N API (perl $(@D)/t/t0202/test.pl)
1..8
ok 1 - Testing Git::I18N with NO Perl gettext library
ok 2 - Git::I18N is located at $(@D)/t/../perl/blib/lib/Git/I18N.pm
ok 3 - sanity: Git::I18N has 1 export(s)
ok 4 - sanity: Git::I18N exports everything by default
ok 5 - sanity: __ has a $ prototype
ok 6 - Passing a string through __() in the C locale works
ok 7 - Without a gettext library + <C> locale <TEST: A Perl test string> turns into <TEST: A Perl test string>
ok 8 - Without a gettext library + <is> locale <TEST: A Perl test string> turns into <TEST: A Perl test string>
# test_external test Perl Git::I18N API was ok
# test_external_without_stderr test no stderr: Perl Git::I18N API was ok
*** 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: impossible ISO-8859-1 output
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
ok 20 - helpers can abort the process
# passed all 20 test(s)
1..20
*** 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
ok 12 - when xdg file does not exist, xdg file not created
ok 13 - setup xdg file
ok 14 - helper (store) has no existing data
ok 15 - helper (store) stores password
ok 16 - helper (store) can retrieve password
ok 17 - helper (store) requires matching protocol
ok 18 - helper (store) requires matching host
ok 19 - helper (store) requires matching username
ok 20 - helper (store) requires matching path
ok 21 - helper (store) can forget host
ok 22 - helper (store) can store multiple users
ok 23 - helper (store) can forget user
ok 24 - helper (store) remembers other user
ok 25 - when xdg file exists, home file not created
ok 26 - setup custom xdg file
ok 27 - helper (store) has no existing data
ok 28 - helper (store) stores password
ok 29 - helper (store) can retrieve password
ok 30 - helper (store) requires matching protocol
ok 31 - helper (store) requires matching host
ok 32 - helper (store) requires matching username
ok 33 - helper (store) requires matching path
ok 34 - helper (store) can forget host
ok 35 - helper (store) can store multiple users
ok 36 - helper (store) can forget user
ok 37 - helper (store) remembers other user
ok 38 - if custom xdg file exists, home and xdg files not created
ok 39 - get: use home file if both home and xdg files have matches
ok 40 - get: use xdg file if home file has no matches
ok 41 - get: use xdg file if home file is unreadable
ok 42 - store: if both xdg and home files exist, only store in home file
ok 43 - erase: erase matching credentials from both xdg and home files
# passed all 43 test(s)
1..43
*** t0303-credential-external.sh ***
1..0 # SKIP used to test external credential helpers
*** 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 - two-way reset should remove remnants too
ok 5 - Porcelain reset should remove remnants too
ok 6 - Porcelain checkout -f should remove remnants too
ok 7 - Porcelain checkout -f HEAD should remove remnants too
# passed all 7 test(s)
1..7
*** 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 - Type of blob is correct using --allow-unknown-type
ok 6 - Size of blob is correct using --allow-unknown-type
ok 7 - Content of blob is correct
ok 8 - Pretty content of blob is correct
ok 9 - --batch output of blob is correct
ok 10 - --batch-check output of blob is correct
ok 11 - custom --batch-check format
ok 12 - --batch-check with %(rest)
ok 13 - --batch without type (blob)
ok 14 - --batch without size (blob)
ok 15 - --batch-check without %(rest) considers whole line
ok 16 - tree exists
ok 17 - Type of tree is correct
ok 18 - Size of tree is correct
ok 19 - Type of tree is correct using --allow-unknown-type
ok 20 - Size of tree is correct using --allow-unknown-type
ok 21 - Pretty content of tree is correct
ok 22 - --batch-check output of tree is correct
ok 23 - custom --batch-check format
ok 24 - --batch-check with %(rest)
ok 25 - commit exists
ok 26 - Type of commit is correct
ok 27 - Size of commit is correct
ok 28 - Type of commit is correct using --allow-unknown-type
ok 29 - Size of commit is correct using --allow-unknown-type
ok 30 - Content of commit is correct
ok 31 - Pretty content of commit is correct
ok 32 - --batch output of commit is correct
ok 33 - --batch-check output of commit is correct
ok 34 - custom --batch-check format
ok 35 - --batch-check with %(rest)
ok 36 - --batch without type (commit)
ok 37 - --batch without size (commit)
ok 38 - tag exists
ok 39 - Type of tag is correct
ok 40 - Size of tag is correct
ok 41 - Type of tag is correct using --allow-unknown-type
ok 42 - Size of tag is correct using --allow-unknown-type
ok 43 - Content of tag is correct
ok 44 - Pretty content of tag is correct
ok 45 - --batch output of tag is correct
ok 46 - --batch-check output of tag is correct
ok 47 - custom --batch-check format
ok 48 - --batch-check with %(rest)
ok 49 - --batch without type (tag)
ok 50 - --batch without size (tag)
ok 51 - Reach a blob from a tag pointing to it
ok 52 - Passing -t with --batch fails
ok 53 - Passing --batch with -t fails
ok 54 - Passing -s with --batch fails
ok 55 - Passing --batch with -s fails
ok 56 - Passing -e with --batch fails
ok 57 - Passing --batch with -e fails
ok 58 - Passing -p with --batch fails
ok 59 - Passing --batch with -p fails
ok 60 - Passing <type> with --batch fails
ok 61 - Passing --batch with <type> fails
ok 62 - Passing sha1 with --batch fails
ok 63 - Passing -t with --batch-check fails
ok 64 - Passing --batch-check with -t fails
ok 65 - Passing -s with --batch-check fails
ok 66 - Passing --batch-check with -s fails
ok 67 - Passing -e with --batch-check fails
ok 68 - Passing --batch-check with -e fails
ok 69 - Passing -p with --batch-check fails
ok 70 - Passing --batch-check with -p fails
ok 71 - Passing <type> with --batch-check fails
ok 72 - Passing --batch-check with <type> fails
ok 73 - Passing sha1 with --batch-check fails
ok 74 - Passing -t with --follow-symlinks fails
ok 75 - Passing -s with --follow-symlinks fails
ok 76 - Passing -e with --follow-symlinks fails
ok 77 - Passing -p with --follow-symlinks fails
ok 78 - --batch-check for a non-existent named object
ok 79 - --batch-check for a non-existent hash
ok 80 - --batch for an existent and a non-existent hash
ok 81 - --batch-check for an emtpy line
ok 82 - empty --batch-check notices missing object
ok 83 - --batch with multiple sha1s gives correct format
ok 84 - --batch-check with multiple sha1s gives correct format
ok 85 - setup blobs which are likely to delta
ok 86 - confirm that neither loose blob is a delta
ok 87 - %(deltabase) reports packed delta bases
ok 88 - Type of broken object is correct
ok 89 - Size of broken object is correct
ok 90 - Type of broken object is correct when type is large
ok 91 - Size of large broken object is correct when type is large
ok 92 - prep for symlink tests
ok 93 - git cat-file --batch-check --follow-symlinks works for non-links
ok 94 - git cat-file --batch-check --follow-symlinks works for in-repo, same-dir links
ok 95 - git cat-file --batch-check --follow-symlinks works for in-repo, links to dirs
ok 96 - git cat-file --batch-check --follow-symlinks works for broken in-repo, same-dir links
ok 97 - git cat-file --batch-check --follow-symlinks works for same-dir links-to-links
ok 98 - git cat-file --batch-check --follow-symlinks works for parent-dir links
ok 99 - git cat-file --batch-check --follow-symlinks works for .. links
ok 100 - git cat-file --batch-check --follow-symlinks works for ../.. links
ok 101 - git cat-file --batch-check --follow-symlinks works for dir/ links
ok 102 - git cat-file --batch-check --follow-symlinks works for dir/subdir links
ok 103 - git cat-file --batch-check --follow-symlinks works for dir ->subdir links
ok 104 - git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks
ok 105 - git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks in dirs
ok 106 - git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks in subdirs
ok 107 - git cat-file --batch-check --follow-symlinks works for symlinks with internal ..
ok 108 - git cat-file --batch-check --follow-symlink breaks loops
ok 109 - git cat-file --batch --follow-symlink returns correct sha and mode
ok 110 - cat-file --batch-all-objects shows all objects
# passed all 110 test(s)
1..110
*** 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
ok 30 - hash-object complains about bogus type name
ok 31 - hash-object complains about truncated type name
ok 32 - --literally
ok 33 - --literally with extra-long type
# passed all 33 test(s)
1..33
*** 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
ok 20 - checkout without --ignore-skip-worktree-bits
ok 21 - checkout with --ignore-skip-worktree-bits
# passed all 21 test(s)
1..21
*** 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-read-tree-submodule.sh ***
ok 1 - git read-tree -u -m: added submodule creates empty directory
ok 2 - git read-tree -u -m: added submodule leaves existing empty directory alone
ok 3 - git read-tree -u -m: added submodule doesn't remove untracked unignored file with same name
ok 4 - git read-tree -u -m: replace tracked file with submodule creates empty directory
ok 5 - git read-tree -u -m: replace directory with submodule
ok 6 - git read-tree -u -m: removed submodule leaves submodule directory and its contents in place
ok 7 - git read-tree -u -m: removed submodule leaves submodule containing a .git directory alone
ok 8 - git read-tree -u -m: replace submodule with a directory must fail
ok 9 - git read-tree -u -m: replace submodule containing a .git directory with a directory must fail
not ok 10 - git read-tree -u -m: replace submodule with a file must fail # TODO known breakage
not ok 11 - git read-tree -u -m: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 12 - git read-tree -u -m: modified submodule does not update submodule work tree
ok 13 - git read-tree -u -m: modified submodule does not update submodule work tree to invalid commit
ok 14 - git read-tree -u -m: modified submodule does not update submodule work tree from invalid commit
ok 15 - git read-tree -u --reset: added submodule creates empty directory
ok 16 - git read-tree -u --reset: added submodule leaves existing empty directory alone
ok 17 - git read-tree -u --reset: added submodule does remove untracked unignored file with same name when forced
ok 18 - git read-tree -u --reset: replace tracked file with submodule creates empty directory
ok 19 - git read-tree -u --reset: replace directory with submodule
ok 20 - git read-tree -u --reset: removed submodule leaves submodule directory and its contents in place
ok 21 - git read-tree -u --reset: removed submodule leaves submodule containing a .git directory alone
not ok 22 - git read-tree -u --reset: replace submodule with a directory must fail # TODO known breakage
not ok 23 - git read-tree -u --reset: replace submodule containing a .git directory with a directory must fail # TODO known breakage
not ok 24 - git read-tree -u --reset: replace submodule with a file must fail # TODO known breakage
not ok 25 - git read-tree -u --reset: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 26 - git read-tree -u --reset: modified submodule does not update submodule work tree
ok 27 - git read-tree -u --reset: modified submodule does not update submodule work tree to invalid commit
ok 28 - git read-tree -u --reset: modified submodule does not update submodule work tree from invalid commit
# still have 6 known breakage(s)
# passed all remaining 22 test(s)
1..28
*** t1014-read-tree-confusing.sh ***
ok 1 - create base tree
ok 2 - enable core.protectHFS for rejection tests
ok 3 - enable core.protectNTFS for rejection tests
ok 4 - reject . at end of path
ok 5 - reject . as subtree
ok 6 - reject .. at end of path
ok 7 - reject .. as subtree
ok 8 - reject .git at end of path
ok 9 - reject .git as subtree
ok 10 - reject .GIT at end of path
ok 11 - reject .GIT as subtree
ok 12 - reject {u200c}.Git at end of path
ok 13 - reject {u200c}.Git as subtree
ok 14 - reject .gI{u200c}T at end of path
ok 15 - reject .gI{u200c}T as subtree
ok 16 - reject .GiT{u200c} at end of path
ok 17 - reject .GiT{u200c} as subtree
ok 18 - reject git~1 at end of path
ok 19 - reject git~1 as subtree
ok 20 - reject .git.{space} at end of path
ok 21 - reject .git.{space} as subtree
ok 22 - reject backslashes at end of path
ok 23 - reject backslashes as subtree
ok 24 - reject backslashes2 at end of path
ok 25 - reject backslashes2 as subtree
ok 26 - utf-8 paths allowed with core.protectHFS off
# passed all 26 test(s)
1..26
*** 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 (explicit GIT_DIR)
ok 14 - no file/rev ambiguity check inside a bare repo
ok 15 - detection should not be fooled by a symlink
# passed all 15 test(s)
1..15
*** 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
ok 5 - diff --raw
ok 6 - diff --stat
ok 7 - diff
ok 8 - diff --cached
ok 9 - hash-object
ok 10 - cat-file a large file
ok 11 - cat-file a large file from a tag
ok 12 - git-show a large file
ok 13 - index-pack
ok 14 - repack
ok 15 - pack-objects with large loose object
ok 16 - tar achiving
ok 17 - zip achiving, store only
ok 18 - zip achiving, deflate
ok 19 - fsck
# passed all 19 test(s)
1..19
*** t1051-large-conversion.sh ***
ok 1 - setup input tests
ok 2 - autocrlf=true converts on input
ok 3 - eol=crlf converts on input
ok 4 - ident converts on input
ok 5 - user-defined filters convert on input
ok 6 - setup output tests
ok 7 - autocrlf=true converts on output
ok 8 - eol=crlf converts on output
ok 9 - user-defined filters convert on output
ok 10 - ident converts on output
# passed all 10 test(s)
1..10
*** t1060-object-corruption.sh ***
ok 1 - setup corrupt repo
ok 2 - setup repo with missing object
ok 3 - setup repo with misnamed object
ok 4 - streaming a corrupt blob fails
ok 5 - read-tree -u detects bit-errors in blobs
ok 6 - read-tree -u detects missing objects
ok 7 - clone --no-local --bare detects corruption
ok 8 - clone --no-local --bare detects missing object
ok 9 - clone --no-local --bare detects misnamed object
ok 10 - clone --local detects corruption
ok 11 - error detected during checkout leaves repo intact
ok 12 - clone --local detects missing objects
not ok 13 - clone --local detects misnamed objects # TODO known breakage
# still have 1 known breakage(s)
# passed all remaining 12 test(s)
1..13
*** t1090-sparse-checkout-scope.sh ***
ok 1 - setup
ok 2 - create feature branch
ok 3 - perform sparse checkout of master
ok 4 - merge feature branch into sparse checkout of master
ok 5 - return to full checkout of master
# passed all 5 test(s)
1..5
*** t1100-commit-tree-options.sh ***
ok 1 - test preparation: write empty tree
ok 2 - construct commit
ok 3 - read commit
ok 4 - compare commit
ok 5 - flags and then non flags
# passed all 5 test(s)
1..5
*** 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 - multi-valued get returns final one
ok 27 - multi-valued get-all returns all
ok 28 - multivar replace
ok 29 - ambiguous unset
ok 30 - invalid unset
ok 31 - multivar unset
ok 32 - invalid key
ok 33 - correct key
ok 34 - hierarchical section
ok 35 - hierarchical section value
ok 36 - working --list
ok 37 - --list without repo produces empty output
ok 38 - --name-only --list
ok 39 - --get-regexp
ok 40 - --name-only --get-regexp
ok 41 - --add
ok 42 - get variable with no value
ok 43 - get variable with empty value
ok 44 - get-regexp variable with no value
ok 45 - get-regexp --bool variable with no value
ok 46 - get-regexp variable with empty value
ok 47 - get bool variable with no value
ok 48 - get bool variable with empty value
ok 49 - no arguments, but no crash
ok 50 - new section is partial match of another
ok 51 - new variable inserts into proper section
ok 52 - alternative --file (non-existing file should fail)
ok 53 - alternative GIT_CONFIG
ok 54 - alternative GIT_CONFIG (--file)
ok 55 - alternative GIT_CONFIG (--file=-)
ok 56 - setting a value in stdin is an error
ok 57 - editing stdin is an error
ok 58 - refer config from subdirectory
ok 59 - refer config from subdirectory via --file
ok 60 - --set in alternative file
ok 61 - rename section
ok 62 - rename succeeded
ok 63 - rename non-existing section
ok 64 - rename succeeded
ok 65 - rename another section
ok 66 - rename succeeded
ok 67 - rename a section with a var on the same line
ok 68 - rename succeeded
ok 69 - renaming empty section name is rejected
ok 70 - renaming to bogus section is rejected
ok 71 - remove section
ok 72 - section was removed properly
ok 73 - section ending
ok 74 - numbers
ok 75 - --int is at least 64 bits
ok 76 - invalid unit
ok 77 - bool
ok 78 - invalid bool (--get)
ok 79 - invalid bool (set)
ok 80 - set --bool
ok 81 - set --int
ok 82 - get --bool-or-int
ok 83 - set --bool-or-int
ok 84 - set --path
ok 85 - get --path
ok 86 - get --path copes with unset $HOME
ok 87 - get --path barfs on boolean variable
ok 88 - quoting
ok 89 - key with newline
ok 90 - value with newline
ok 91 - value continued on next line
ok 92 - --null --list
ok 93 - --null --get-regexp
ok 94 - inner whitespace kept verbatim
ok 95 - symlinked configuration
ok 96 - nonexistent configuration
ok 97 - symlink to nonexistent configuration
ok 98 - check split_cmdline return
ok 99 - git -c "key=value" support
ok 100 - git -c can represent empty string
ok 101 - key sanity-checking
ok 102 - git -c works with aliases of builtins
ok 103 - git -c does not split values on equals
ok 104 - git -c dies on bogus config
ok 105 - git -c complains about empty key
ok 106 - git -c complains about empty key and value
ok 107 - git config --edit works
ok 108 - git config --edit respects core.editor
ok 109 - barf on syntax error
ok 110 - barf on incomplete section header
ok 111 - barf on incomplete string
ok 112 - urlmatch
not ok 113 - unsetting the last key in a section removes header # TODO known breakage
not ok 114 - adding a key into an empty section reuses header # TODO known breakage
ok 115 - preserves existing permissions
# still have 2 known breakage(s)
# passed all remaining 113 test(s)
1..115
*** 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 - info/refs respects umask in unshared repo
ok 17 - git reflog expire honors core.sharedRepository
ok 18 - forced modes
# passed all 18 test(s)
1..18
*** 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
ok 6 - get many entries
ok 7 - get many entries by regex
ok 8 - add and replace one of many entries
ok 9 - replace many entries
ok 10 - unset many entries
ok 11 - --add appends new value after existing empty value
# passed all 11 test(s)
1..11
*** t1304-default-acl.sh ***
ok 1 - checking for a working acl setup
ok 2 # skip Setup test repo (missing SETFACL)
ok 3 # skip Objects creation does not break ACLs with restrictive umask (missing SETFACL)
ok 4 # skip git gc does not break ACLs with restrictive umask (missing SETFACL)
# passed all 4 test(s)
1..4
*** t1305-config-include.sh ***
ok 1 - include file by absolute path
ok 2 - include file by relative path
ok 3 - chained relative paths
ok 4 - include paths get tilde-expansion
ok 5 - include options can still be examined
ok 6 - listing includes option and expansion
ok 7 - single file lookup does not expand includes by default
ok 8 - single file list does not expand includes by default
ok 9 - writing config file does not expand includes
ok 10 - config modification does not affect includes
ok 11 - missing include files are ignored
ok 12 - absolute includes from command line work
ok 13 - relative includes from command line fail
ok 14 - absolute includes from blobs work
ok 15 - relative includes from blobs fail
ok 16 - absolute includes from stdin work
ok 17 - relative includes from stdin line fail
ok 18 - include cycles are detected
# passed all 18 test(s)
1..18
*** t1306-xdg-files.sh ***
ok 1 - read config: xdg file exists and ~/.gitconfig doesn't
ok 2 - read config: xdg file exists and ~/.gitconfig exists
ok 3 - read with --get: xdg file exists and ~/.gitconfig doesn't
ok 4 - "$XDG_CONFIG_HOME overrides $HOME/.config/git
ok 5 - read with --get: xdg file exists and ~/.gitconfig exists
ok 6 - read with --list: xdg file exists and ~/.gitconfig doesn't
ok 7 - read with --list: xdg file exists and ~/.gitconfig exists
ok 8 - Setup
ok 9 - Exclusion of a file in the XDG ignore file
ok 10 - $XDG_CONFIG_HOME overrides $HOME/.config/git/ignore
ok 11 - Exclusion in both XDG and local ignore files
ok 12 - Exclusion in a non-XDG global ignore file
ok 13 - Checking XDG ignore file when HOME is unset
ok 14 - Checking attributes in the XDG attributes file
ok 15 - Checking XDG attributes when HOME is unset
ok 16 - $XDG_CONFIG_HOME overrides $HOME/.config/git/attributes
ok 17 - Checking attributes in both XDG and local attributes files
ok 18 - Checking attributes in a non-XDG global attributes file
ok 19 - write: xdg file exists and ~/.gitconfig doesn't
ok 20 - write: xdg file exists and ~/.gitconfig exists
ok 21 - write: ~/.config/git/ exists and config file doesn't
# passed all 21 test(s)
1..21
*** t1307-config-blob.sh ***
ok 1 - create config blob
ok 2 - list config blob contents
ok 3 - fetch value from blob
ok 4 - reading non-existing value from blob is an error
ok 5 - reading from blob and file is an error
ok 6 - reading from missing ref is an error
ok 7 - reading from non-blob is an error
ok 8 - setting a value in a blob is an error
ok 9 - deleting a value in a blob is an error
ok 10 - editing a blob is an error
ok 11 - parse errors in blobs are properly attributed
ok 12 - can parse blob ending with CR
# passed all 12 test(s)
1..12
*** t1308-config-set.sh ***
ok 1 - setup default config
ok 2 - get value for a simple key
ok 3 - get value for a key with value as an empty string
ok 4 - get value for a key with value as NULL
ok 5 - upper case key
ok 6 - mixed case key
ok 7 - key and value with mixed case
ok 8 - key with case sensitive subsection
ok 9 - key with case insensitive section header
ok 10 - key with case insensitive section header & variable
ok 11 - find value with misspelled key
ok 12 - find value with the highest priority
ok 13 - find integer value for a key
ok 14 - find string value for a key
ok 15 - check line error when NULL string is queried
ok 16 - find integer if value is non parse-able
ok 17 - find bool value for the entered key
ok 18 - find multiple values
ok 19 - find value from a configset
ok 20 - find value with highest priority from a configset
ok 21 - find value_list for a key from a configset
ok 22 - proper error on non-existent files
ok 23 - proper error on non-accessible files
ok 24 - proper error on error in default config files
ok 25 - proper error on error in custom config files
ok 26 - check line errors for malformed values
# passed all 26 test(s)
1..26
*** 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 - update-ref does not create reflogs by default
ok 13 - update-ref creates reflogs with --create-reflog
ok 14 - create refs/heads/master (by HEAD)
ok 15 - pack refs
ok 16 - move refs/heads/master (by HEAD)
ok 17 - delete refs/heads/master (by HEAD) should remove both packed and loose refs/heads/master
ok 18 - delete symref without dereference
ok 19 - delete symref without dereference when the referred ref is packed
ok 20 - update-ref -d is not confused by self-reference
ok 21 - update-ref --no-deref -d can delete self-reference
ok 22 - update-ref --no-deref -d can delete reference to bad ref
ok 23 - (not) create HEAD with old sha1
ok 24 - (not) prior created .git/refs/heads/master
ok 25 - create HEAD
ok 26 - (not) change HEAD with wrong SHA1
ok 27 - (not) changed .git/refs/heads/master
ok 28 - create refs/heads/master (logged by touch)
ok 29 - update refs/heads/master (logged by touch)
ok 30 - set refs/heads/master (logged by touch)
ok 31 - verifying refs/heads/master's log
ok 32 - enable core.logAllRefUpdates
ok 33 - create refs/heads/master (logged by config)
ok 34 - update refs/heads/master (logged by config)
ok 35 - set refs/heads/master (logged by config)
ok 36 - verifying refs/heads/master's log
ok 37 - Query "master@{May 25 2005}" (before history)
ok 38 - Query master@{2005-05-25} (before history)
ok 39 - Query "master@{May 26 2005 23:31:59}" (1 second before history)
ok 40 - Query "master@{May 26 2005 23:32:00}" (exactly history start)
ok 41 - Query "master@{May 26 2005 23:32:30}" (first non-creation change)
ok 42 - Query "master@{2005-05-26 23:33:01}" (middle of history with gap)
ok 43 - Query "master@{2005-05-26 23:38:00}" (middle of history)
ok 44 - Query "master@{2005-05-26 23:43:00}" (exact end of history)
ok 45 - Query "master@{2005-05-28}" (past end of history)
ok 46 - creating initial files
ok 47 - git commit logged updates
ok 48 - git cat-file blob master:F (expect OTHER)
ok 49 - git cat-file blob master@{2005-05-26 23:30}:F (expect TEST)
ok 50 - git cat-file blob master@{2005-05-26 23:42}:F (expect OTHER)
ok 51 - stdin test setup
ok 52 - -z fails without --stdin
ok 53 - stdin works with no input
ok 54 - stdin fails on empty line
ok 55 - stdin fails on only whitespace
ok 56 - stdin fails on leading whitespace
ok 57 - stdin fails on unknown command
ok 58 - stdin fails on unbalanced quotes
ok 59 - stdin fails on invalid escape
ok 60 - stdin fails on junk after quoted argument
ok 61 - stdin fails create with no ref
ok 62 - stdin fails create with no new value
ok 63 - stdin fails create with too many arguments
ok 64 - stdin fails update with no ref
ok 65 - stdin fails update with no new value
ok 66 - stdin fails update with too many arguments
ok 67 - stdin fails delete with no ref
ok 68 - stdin fails delete with too many arguments
ok 69 - stdin fails verify with too many arguments
ok 70 - stdin fails option with unknown name
ok 71 - stdin fails with duplicate refs
ok 72 - stdin create ref works
ok 73 - stdin does not create reflogs by default
ok 74 - stdin creates reflogs with --create-reflog
ok 75 - stdin succeeds with quoted argument
ok 76 - stdin succeeds with escaped character
ok 77 - stdin update ref creates with zero old value
ok 78 - stdin update ref creates with empty old value
ok 79 - stdin create ref works with path with space to blob
ok 80 - stdin update ref fails with wrong old value
ok 81 - stdin update ref fails with bad old value
ok 82 - stdin create ref fails with bad new value
ok 83 - stdin create ref fails with zero new value
ok 84 - stdin update ref works with right old value
ok 85 - stdin delete ref fails with wrong old value
ok 86 - stdin delete ref fails with zero old value
ok 87 - stdin update symref works option no-deref
ok 88 - stdin delete symref works option no-deref
ok 89 - stdin delete ref works with right old value
ok 90 - stdin update/create/verify combination works
ok 91 - stdin verify succeeds for correct value
ok 92 - stdin verify succeeds for missing reference
ok 93 - stdin verify treats no value as missing
ok 94 - stdin verify fails for wrong value
ok 95 - stdin verify fails for mistaken null value
ok 96 - stdin verify fails for mistaken empty value
ok 97 - stdin update refs works with identity updates
ok 98 - stdin update refs fails with wrong old value
ok 99 - stdin delete refs works with packed and loose refs
ok 100 - stdin -z works on empty input
ok 101 - stdin -z fails on empty line
ok 102 - stdin -z fails on empty command
ok 103 - stdin -z fails on only whitespace
ok 104 - stdin -z fails on leading whitespace
ok 105 - stdin -z fails on unknown command
ok 106 - stdin -z fails create with no ref
ok 107 - stdin -z fails create with no new value
ok 108 - stdin -z fails create with too many arguments
ok 109 - stdin -z fails update with no ref
ok 110 - stdin -z fails update with too few args
ok 111 - stdin -z emits warning with empty new value
ok 112 - stdin -z fails update with no new value
ok 113 - stdin -z fails update with no old value
ok 114 - stdin -z fails update with too many arguments
ok 115 - stdin -z fails delete with no ref
ok 116 - stdin -z fails delete with no old value
ok 117 - stdin -z fails delete with too many arguments
ok 118 - stdin -z fails verify with too many arguments
ok 119 - stdin -z fails verify with no old value
ok 120 - stdin -z fails option with unknown name
ok 121 - stdin -z fails with duplicate refs
ok 122 - stdin -z create ref works
ok 123 - stdin -z update ref creates with zero old value
ok 124 - stdin -z update ref creates with empty old value
ok 125 - stdin -z create ref works with path with space to blob
ok 126 - stdin -z update ref fails with wrong old value
ok 127 - stdin -z update ref fails with bad old value
ok 128 - stdin -z create ref fails when ref exists
ok 129 - stdin -z create ref fails with bad new value
ok 130 - stdin -z create ref fails with empty new value
ok 131 - stdin -z update ref works with right old value
ok 132 - stdin -z delete ref fails with wrong old value
ok 133 - stdin -z delete ref fails with zero old value
ok 134 - stdin -z update symref works option no-deref
ok 135 - stdin -z delete symref works option no-deref
ok 136 - stdin -z delete ref works with right old value
ok 137 - stdin -z update/create/verify combination works
ok 138 - stdin -z verify succeeds for correct value
ok 139 - stdin -z verify succeeds for missing reference
ok 140 - stdin -z verify treats no value as missing
ok 141 - stdin -z verify fails for wrong value
ok 142 - stdin -z verify fails for mistaken null value
ok 143 - stdin -z verify fails for mistaken empty value
ok 144 - stdin -z update refs works with identity updates
ok 145 - stdin -z update refs fails with wrong old value
ok 146 - stdin -z delete refs works with packed and loose refs
ok 147 - large transaction creating branches does not burst open file limit
ok 148 - large transaction deleting branches does not burst open file limit
# passed all 148 test(s)
1..148
*** 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
ok 5 - symbolic-ref deletes HEAD
ok 6 - symbolic-ref deletes dangling HEAD
ok 7 - symbolic-ref fails to delete missing FOO
ok 8 - symbolic-ref fails to delete real ref
# passed all 8 test(s)
1..8
*** 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 'refs/heads/foo.' is invalid
ok 21 - ref name 'heads/foo..bar' is invalid
ok 22 - ref name 'heads/foo?bar' is invalid
ok 23 - ref name 'foo./bar' is valid
ok 24 - ref name 'heads/foo.lock' is invalid
ok 25 - ref name 'heads///foo.lock' is invalid
ok 26 - ref name 'foo.lock/bar' is invalid
ok 27 - ref name 'foo.lock///bar' is invalid
ok 28 - ref name 'heads/foo@bar' is valid
ok 29 - ref name 'heads/v@{ation' is invalid
ok 30 - ref name 'heads/foo\bar' is invalid
ok 31 - ref name 'heads/foo	' is invalid
ok 32 - ref name 'heads/foo' is invalid
ok 33 - ref name 'heads/fuß' is valid
ok 34 - ref name 'heads/*foo/bar' is valid with options --refspec-pattern
ok 35 - ref name 'heads/foo*/bar' is valid with options --refspec-pattern
ok 36 - ref name 'heads/f*o/bar' is valid with options --refspec-pattern
ok 37 - ref name 'heads/f*o*/bar' is invalid with options --refspec-pattern
ok 38 - ref name 'heads/foo*/bar*' is invalid with options --refspec-pattern
ok 39 - ref name 'foo' is invalid
ok 40 - ref name 'foo' is valid with options --allow-onelevel
ok 41 - ref name 'foo' is invalid with options --refspec-pattern
ok 42 - ref name 'foo' is valid with options --refspec-pattern --allow-onelevel
ok 43 - ref name 'foo' is invalid with options --normalize
ok 44 - ref name 'foo' is valid with options --allow-onelevel --normalize
ok 45 - ref name 'foo/bar' is valid
ok 46 - ref name 'foo/bar' is valid with options --allow-onelevel
ok 47 - ref name 'foo/bar' is valid with options --refspec-pattern
ok 48 - ref name 'foo/bar' is valid with options --refspec-pattern --allow-onelevel
ok 49 - ref name 'foo/bar' is valid with options --normalize
ok 50 - ref name 'foo/*' is invalid
ok 51 - ref name 'foo/*' is invalid with options --allow-onelevel
ok 52 - ref name 'foo/*' is valid with options --refspec-pattern
ok 53 - ref name 'foo/*' is valid with options --refspec-pattern --allow-onelevel
ok 54 - ref name '*/foo' is invalid
ok 55 - ref name '*/foo' is invalid with options --allow-onelevel
ok 56 - ref name '*/foo' is valid with options --refspec-pattern
ok 57 - ref name '*/foo' is valid with options --refspec-pattern --allow-onelevel
ok 58 - ref name '*/foo' is invalid with options --normalize
ok 59 - ref name '*/foo' is valid with options --refspec-pattern --normalize
ok 60 - ref name 'foo/*/bar' is invalid
ok 61 - ref name 'foo/*/bar' is invalid with options --allow-onelevel
ok 62 - ref name 'foo/*/bar' is valid with options --refspec-pattern
ok 63 - ref name 'foo/*/bar' is valid with options --refspec-pattern --allow-onelevel
ok 64 - ref name '*' is invalid
ok 65 - ref name '*' is invalid with options --allow-onelevel
ok 66 - ref name '*' is invalid with options --refspec-pattern
ok 67 - ref name '*' is valid with options --refspec-pattern --allow-onelevel
ok 68 - ref name 'foo/*/*' is invalid with options --refspec-pattern
ok 69 - ref name 'foo/*/*' is invalid with options --refspec-pattern --allow-onelevel
ok 70 - ref name '*/foo/*' is invalid with options --refspec-pattern
ok 71 - ref name '*/foo/*' is invalid with options --refspec-pattern --allow-onelevel
ok 72 - ref name '*/*/foo' is invalid with options --refspec-pattern
ok 73 - ref name '*/*/foo' is invalid with options --refspec-pattern --allow-onelevel
ok 74 - ref name '/foo' is invalid
ok 75 - ref name '/foo' is invalid with options --allow-onelevel
ok 76 - ref name '/foo' is invalid with options --refspec-pattern
ok 77 - ref name '/foo' is invalid with options --refspec-pattern --allow-onelevel
ok 78 - ref name '/foo' is invalid with options --normalize
ok 79 - ref name '/foo' is valid with options --allow-onelevel --normalize
ok 80 - ref name '/foo' is invalid with options --refspec-pattern --normalize
ok 81 - ref name '/foo' is valid with options --refspec-pattern --allow-onelevel --normalize
ok 82 - check-ref-format --branch @{-1}
ok 83 - check-ref-format --branch from subdir
ok 84 - ref name 'heads/foo' simplifies to 'heads/foo'
ok 85 - ref name 'refs///heads/foo' simplifies to 'refs/heads/foo'
ok 86 - ref name '/heads/foo' simplifies to 'heads/foo'
ok 87 - ref name '///heads/foo' simplifies to 'heads/foo'
ok 88 - check-ref-format --normalize rejects 'foo'
ok 89 - check-ref-format --normalize rejects '/foo'
ok 90 - check-ref-format --normalize rejects 'heads/foo/../bar'
ok 91 - check-ref-format --normalize rejects 'heads/./foo'
ok 92 - check-ref-format --normalize rejects 'heads\foo'
ok 93 - check-ref-format --normalize rejects 'heads/foo.lock'
ok 94 - check-ref-format --normalize rejects 'heads///foo.lock'
ok 95 - check-ref-format --normalize rejects 'foo.lock/bar'
ok 96 - check-ref-format --normalize rejects 'foo.lock///bar'
# passed all 96 test(s)
1..96
*** t1403-show-ref.sh ***
ok 1 - setup
ok 2 - show-ref
ok 3 - show-ref -q
ok 4 - show-ref --verify
ok 5 - show-ref --verify -q
ok 6 - show-ref -d
ok 7 - show-ref --heads, --tags, --head, pattern
# passed all 7 test(s)
1..7
*** t1404-update-ref-df-conflicts.sh ***
ok 1 - setup
ok 2 - existing loose ref is a simple prefix of new
ok 3 - existing packed ref is a simple prefix of new
ok 4 - existing loose ref is a deeper prefix of new
ok 5 - existing packed ref is a deeper prefix of new
ok 6 - new ref is a simple prefix of existing loose
ok 7 - new ref is a simple prefix of existing packed
ok 8 - new ref is a deeper prefix of existing loose
ok 9 - new ref is a deeper prefix of existing packed
ok 10 - one new ref is a simple prefix of another
# passed all 10 test(s)
1..10
*** 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
ok 13 - checkout should not delete log for packed ref
ok 14 - stale dirs do not cause d/f conflicts (reflogs on)
ok 15 - stale dirs do not cause d/f conflicts (reflogs off)
ok 16 - parsing reverse reflogs at BUFSIZ boundaries
# passed all 16 test(s)
1..16
*** 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 @{now} syntax shows reflog date (format=%gd)
ok 9 - using --date= shows reflog date (multiline)
ok 10 - using --date= shows reflog date (oneline)
ok 11 - using --date= shows reflog date (format=%gd)
ok 12 - log.date does not invoke "--date" magic (multiline)
ok 13 - log.date does not invoke "--date" magic (oneline)
ok 14 - log.date does not invoke "--date" magic (format=%gd)
ok 15 - --date magic does not override explicit @{0} syntax
ok 16 - empty reflog file
ok 17 - git log -g -p shows diffs vs. parents
ok 18 - reflog exists works
# passed all 18 test(s)
1..18
*** 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
*** t1413-reflog-detach.sh ***
ok 1 - setup
ok 2 - baseline
ok 3 - switch to branch
ok 4 - detach to other
ok 5 - detach to self
ok 6 - attach to self
ok 7 - attach to other
# passed all 7 test(s)
1..7
*** t1420-lost-found.sh ***
ok 1 - setup
ok 2 - lost and found something
# passed all 2 test(s)
1..2
*** t1430-bad-ref-name.sh ***
ok 1 - setup
ok 2 - fast-import: fail on invalid branch name ".badbranchname"
ok 3 - fast-import: fail on invalid branch name "bad[branch]name"
ok 4 - git branch shows badly named ref
ok 5 - branch -d can delete badly named ref
ok 6 - branch -D can delete badly named ref
ok 7 - branch -D cannot delete non-ref in .git dir
ok 8 - branch -D cannot delete ref in .git dir
ok 9 - branch -D cannot delete absolute path
ok 10 - git branch cannot create a badly named ref
ok 11 - branch -m cannot rename to a bad ref name
not ok 12 - branch -m can rename from a bad ref name # TODO known breakage
ok 13 - push cannot create a badly named ref
not ok 14 - push --mirror can delete badly named ref # TODO known breakage
ok 15 - rev-parse skips symref pointing to broken name
ok 16 - update-ref --no-deref -d can delete reference to broken name
ok 17 - update-ref -d can delete broken name
ok 18 - update-ref -d cannot delete non-ref in .git dir
ok 19 - update-ref -d cannot delete absolute path
ok 20 - update-ref --stdin fails create with bad ref name
ok 21 - update-ref --stdin fails update with bad ref name
ok 22 - update-ref --stdin fails delete with bad ref name
ok 23 - update-ref --stdin -z fails create with bad ref name
ok 24 - update-ref --stdin -z fails update with bad ref name
ok 25 - update-ref --stdin -z fails delete with bad ref name
# still have 2 known breakage(s)
# passed all remaining 23 test(s)
1..25
*** 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 - integer overflow in timestamps is reported
ok 13 - malformatted tree object
ok 14 - tag pointing to nonexistent
ok 15 - tag pointing to something else than its type
ok 16 - tag with incorrect tag name & missing tagger
ok 17 - tag with bad tagger
ok 18 - cleaned up
ok 19 - rev-list --verify-objects
ok 20 - rev-list --verify-objects with bad sha1
ok 21 - force fsck to ignore double author
ok 22 - fsck notices blob entry pointing to null sha1
ok 23 - fsck notices submodule entry pointing to null sha1
ok 24 - fsck notices . as blob
ok 25 - fsck notices . as tree
ok 26 - fsck notices .. as blob
ok 27 - fsck notices .. as tree
ok 28 - fsck notices .git as blob
ok 29 - fsck notices .git as tree
ok 30 - fsck notices .GIT as blob
ok 31 - fsck notices .GIT as tree
ok 32 - fsck notices .gI{u200c}T as blob
ok 33 - fsck notices .gI{u200c}T as tree
ok 34 - fsck notices .Git as blob
ok 35 - fsck notices .Git as tree
ok 36 - fsck notices git~1 as blob
ok 37 - fsck notices git~1 as tree
ok 38 - fsck notices .git. as blob
ok 39 - fsck notices .git. as tree
ok 40 - fsck notices .\.GIT\foobar as blob
ok 41 - fsck notices .\.GIT\foobar as tree
ok 42 - fsck notices .git\foobar as blob
ok 43 - fsck notices .git\foobar as tree
ok 44 - fsck allows .Ňit
ok 45 - fsck notices missing blob
ok 46 - fsck notices missing subtree
ok 47 - fsck notices missing root tree
ok 48 - fsck notices missing parent
ok 49 - fsck notices missing tagged object
ok 50 - fsck notices ref pointing to missing commit
ok 51 - fsck notices ref pointing to missing tag
ok 52 - fsck --connectivity-only
# passed all 52 test(s)
1..52
*** 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
ok 6 - empty prefix is actually written out
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
ok 32 - Multi-worktree setup
ok 33 - GIT_DIR set (1)
ok 34 - GIT_DIR set (2)
ok 35 - Auto discovery
ok 36 - $GIT_DIR/common overrides core.worktree
ok 37 - $GIT_WORK_TREE overrides $GIT_DIR/common
# passed all 37 test(s)
1..37
*** t1502-rev-parse-parseopt.sh ***
ok 1 - setup optionspec
ok 2 - test --parseopt help output
ok 3 - setup expect.1
ok 4 - test --parseopt
ok 5 - test --parseopt with mixed options and arguments
ok 6 - setup expect.2
ok 7 - test --parseopt with --
ok 8 - test --parseopt --stop-at-non-option
ok 9 - setup expect.3
ok 10 - test --parseopt --keep-dashdash
ok 11 - setup expect.4
ok 12 - test --parseopt --keep-dashdash --stop-at-non-option with --
ok 13 - setup expect.5
ok 14 - test --parseopt --keep-dashdash --stop-at-non-option without --
ok 15 - setup expect.6
ok 16 - test --parseopt --stuck-long
ok 17 - setup expect.7
ok 18 - test --parseopt --stuck-long and empty optional argument
ok 19 - setup expect.8
ok 20 - test --parseopt --stuck-long and long option with unset optional argument
ok 21 - test --parseopt --stuck-long and short option with unset optional argument
# passed all 21 test(s)
1..21
*** 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 - fails silently when using -q with deleted reflogs
ok 6 - fails silently when using -q with not enough reflogs
ok 7 - succeeds silently with -q and reflogs that do not go far back enough in time
ok 8 - no stdout output on error
ok 9 - use --default
ok 10 - master@{n} for various n
# passed all 10 test(s)
1..10
*** 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_top: prefix
ok 16 - subdir_ceil_at_top_slash: prefix
ok 17 - subdir_ceil_at_top_no_resolve
ok 18 - subdir_ceil_at_top_slash_no_resolve
ok 19 - subdir_ceil_at_subdir
ok 20 - subdir_ceil_at_subdir_slash
ok 21 - subdir_ceil_at_su
ok 22 - subdir_ceil_at_su_slash
ok 23 - subdir_ceil_at_sub_di
ok 24 - subdir_ceil_at_sub_di_slash
ok 25 - subdir_ceil_at_subdi
ok 26 - subdir_ceil_at_subdi_slash
ok 27 - second_of_two: prefix
ok 28 - first_of_two: prefix
ok 29 - second_of_three: prefix
ok 30 - git_dir_specified
ok 31 - sd_no_ceil
ok 32 - sd_ceil_empty
ok 33 - sd_ceil_at_trash: prefix
ok 34 - sd_ceil_at_trash_slash: prefix
ok 35 - sd_ceil_at_s: prefix
ok 36 - sd_ceil_at_s_slash: prefix
ok 37 - sd_ceil_at_sd
ok 38 - sd_ceil_at_sd_slash
ok 39 - sd_ceil_at_su
ok 40 - sd_ceil_at_su_slash
ok 41 - sd_ceil_at_s_di
ok 42 - sd_ceil_at_s_di_slash
ok 43 - sd_ceil_at_sdi
ok 44 - sd_ceil_at_sdi_slash
# passed all 44 test(s)
1..44
*** 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
ok 18 - <commit>:file correctly diagnosed after a pathname
ok 19 - dotdot is not an empty set
ok 20 - arg before dashdash must be a revision (missing)
ok 21 - arg before dashdash must be a revision (file)
ok 22 - arg before dashdash must be a revision (ambiguous)
# passed all 22 test(s)
1..22
*** 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 - upstream of branch with @ in middle
ok 6 - upstream of branch with @ at start
ok 7 - upstream of branch with @ at end
ok 8 - refs/heads/my-side@{upstream} does not resolve to my-side{upstream}
ok 9 - my-side@{u} resolves to correct commit
ok 10 - not-tracking@{u} fails
ok 11 - <branch>@{u}@{1} resolves correctly
ok 12 - @{u} without specifying branch fails on a detached HEAD
ok 13 - checkout -b new my-side@{u} forks from the same
ok 14 - merge my-side@{u} records the correct name
ok 15 - branch -d other@{u}
ok 16 - checkout other@{u}
ok 17 - branch@{u} works when tracking a local branch
ok 18 - branch@{u} error message when no upstream
ok 19 - @{u} error message when no upstream
ok 20 - branch@{u} error message with misspelt branch
ok 21 - @{u} error message when not on a branch
ok 22 - branch@{u} error message if upstream branch not fetched
ok 23 - pull works when tracking a local branch
ok 24 - @{u} works when tracking a local branch
ok 25 - log -g other@{u}
ok 26 - log -g other@{u}@{now}
ok 27 - @{reflog}-parsing does not look beyond colon
ok 28 - @{upstream}-parsing does not look beyond colon
# passed all 28 test(s)
1..28
*** t1508-at-combinations.sh ***
ok 1 - setup
ok 2 - HEAD = refs/heads/new-branch
ok 3 - @{1} = new-one
ok 4 - HEAD@{1} = new-one
ok 5 - @{now} = new-two
ok 6 - HEAD@{now} = new-two
ok 7 - @{-1} = refs/heads/old-branch
ok 8 - @{-1}@{0} = old-two
ok 9 - @{-1}@{1} = old-one
ok 10 - @{u} = refs/heads/upstream-branch
ok 11 - HEAD@{u} = refs/heads/upstream-branch
ok 12 - @{u}@{1} = upstream-one
ok 13 - @{-1}@{u} = refs/heads/master
ok 14 - @{-1}@{u}@{1} = master-one
ok 15 - @ = new-two
ok 16 - @@{u} = refs/heads/upstream-branch
ok 17 - @@/at-test = refs/heads/@@/at-test
ok 18 - @/at-test = refs/heads/@/at-test
ok 19 - @at-test = refs/heads/@at-test
ok 20 - @{u}@{-1} is nonsensical
ok 21 - @{0}@{0} is nonsensical
ok 22 - @{1}@{u} is nonsensical
ok 23 - HEAD@{-1} is nonsensical
ok 24 - @{-1}@{-1} is nonsensical
ok 25 - HEAD@{3} = old-two
ok 26 - @{3} is nonsensical
ok 27 - switch to old-branch
ok 28 - HEAD = refs/heads/old-branch
ok 29 - HEAD@{1} = new-two
ok 30 - @{1} = old-one
ok 31 - create path with @
ok 32 - @:normal = content
ok 33 - @:fun@ny = content
# passed all 33 test(s)
1..33
*** t1509-root-worktree.sh ***
1..0 # SKIP Test requiring writable / skipped. Read this test if you want to run 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 - #16d: bareness preserved across alias
ok 53 - #16e: bareness preserved by --bare
ok 54 - #17: GIT_WORK_TREE without explicit GIT_DIR is accepted (bare case)
ok 55 - #18: bare .git named by GIT_DIR has no worktree
ok 56 - #19: setup
ok 57 - #19: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 58 - #19: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 59 - #19: explicit GIT_WORK_TREE from parent of worktree
ok 60 - #19: explicit GIT_WORK_TREE from nephew of worktree
ok 61 - #19: chdir_to_toplevel uses worktree, not git dir
ok 62 - #19: chdir_to_toplevel uses worktree (from subdir)
ok 63 - #20a: core.worktree without GIT_DIR accepted (inside .git)
ok 64 - #20b/c: core.worktree and core.bare conflict
ok 65 - #20d: core.worktree and core.bare OK when working tree not needed
ok 66 - #21: setup, core.worktree warns before overriding core.bare
ok 67 - #21: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 68 - #21: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 69 - #21: explicit GIT_WORK_TREE from parent of worktree
ok 70 - #21: explicit GIT_WORK_TREE from nephew of worktree
ok 71 - #21: chdir_to_toplevel uses worktree, not git dir
ok 72 - #21: chdir_to_toplevel uses worktree (from subdir)
ok 73 - #22a: core.worktree = GIT_DIR = .git dir
ok 74 - #22b: core.worktree child of .git, GIT_DIR=.git
ok 75 - #22c: core.worktree = .git/.., GIT_DIR=.git
ok 76 - #22.2: core.worktree and core.bare conflict
ok 77 - #23: setup
ok 78 - #23: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 79 - #23: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 80 - #23: explicit GIT_WORK_TREE from parent of worktree
ok 81 - #23: explicit GIT_WORK_TREE from nephew of worktree
ok 82 - #23: chdir_to_toplevel uses worktree, not git dir
ok 83 - #23: chdir_to_toplevel uses worktree (from subdir)
ok 84 - #24: bare repo has no worktree (gitfile case)
ok 85 - #25: GIT_WORK_TREE accepted if GIT_DIR unset (bare gitfile case)
ok 86 - #26: bare repo has no worktree (GIT_DIR -> gitfile case)
ok 87 - #27: setup
ok 88 - #27: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 89 - #27: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 90 - #27: explicit GIT_WORK_TREE from parent of worktree
ok 91 - #27: explicit GIT_WORK_TREE from nephew of worktree
ok 92 - #27: chdir_to_toplevel uses worktree, not git dir
ok 93 - #27: chdir_to_toplevel uses worktree (from subdir)
ok 94 - #28: core.worktree and core.bare conflict (gitfile case)
ok 95 - #29: setup
ok 96 - #29: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 97 - #29: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 98 - #29: explicit GIT_WORK_TREE from parent of worktree
ok 99 - #29: explicit GIT_WORK_TREE from nephew of worktree
ok 100 - #29: chdir_to_toplevel uses worktree, not git dir
ok 101 - #29: chdir_to_toplevel uses worktree (from subdir)
ok 102 - #30: core.worktree and core.bare conflict (gitfile version)
ok 103 - #31: setup
ok 104 - #31: explicit GIT_WORK_TREE and GIT_DIR at toplevel
ok 105 - #31: explicit GIT_WORK_TREE and GIT_DIR in subdir
ok 106 - #31: explicit GIT_WORK_TREE from parent of worktree
ok 107 - #31: explicit GIT_WORK_TREE from nephew of worktree
ok 108 - #31: chdir_to_toplevel uses worktree, not git dir
ok 109 - #31: chdir_to_toplevel uses worktree (from subdir)
# passed all 109 test(s)
1..109
*** 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^{tag}
ok 7 - ref^{/.}
ok 8 - ref^{/non-existent}
ok 9 - ref^{/Initial}
# passed all 9 test(s)
1..9
*** t1512-rev-parse-disambiguation.sh ***
ok 1 - blob and tree
ok 2 - warn ambiguity when no candidate matches type hint
ok 3 - disambiguate tree-ish
ok 4 - disambiguate blob
ok 5 - disambiguate tree
ok 6 - first commit
ok 7 - disambiguate commit-ish
ok 8 - disambiguate commit
ok 9 - log name1..name2 takes only commit-ishes on both ends
ok 10 - rev-parse name1..name2 takes only commit-ishes on both ends
ok 11 - git log takes only commit-ish
ok 12 - git reset takes only commit-ish
ok 13 - first tag
not ok 14 - two semi-ambiguous commit-ish # TODO known breakage
not ok 15 - three semi-ambiguous tree-ish # TODO known breakage
ok 16 - parse describe name
ok 17 - more history
not ok 18 - parse describe name taking advantage of generation # TODO known breakage
ok 19 - parse describe name not ignoring ambiguity
ok 20 - ambiguous commit-ish
ok 21 - rev-parse --disambiguate
ok 22 - ambiguous 40-hex ref
ok 23 - ambiguous short sha1 ref
# still have 3 known breakage(s)
# passed all remaining 20 test(s)
1..23
*** t1513-rev-parse-prefix.sh ***
ok 1 - setup
ok 2 - empty prefix -- file
ok 3 - valid prefix -- file
ok 4 - valid prefix -- ../file
ok 5 - empty prefix HEAD:./path
ok 6 - valid prefix HEAD:./path
ok 7 - valid prefix HEAD:../path
ok 8 - prefix ignored with HEAD:top
ok 9 - disambiguate path with valid prefix
ok 10 - file and refs with prefix
ok 11 - two-levels deep
# passed all 11 test(s)
1..11
*** t1514-rev-parse-push.sh ***
ok 1 - setup
ok 2 - @{push} with default=nothing
ok 3 - @{push} with default=simple
ok 4 - triangular @{push} fails with default=simple
ok 5 - @{push} with default=current
ok 6 - @{push} with default=matching
ok 7 - @{push} with pushremote defined
ok 8 - @{push} with push refspecs
# passed all 8 test(s)
1..8
*** t1600-index.sh ***
ok 1 - setup
ok 2 - bogus GIT_INDEX_VERSION issues warning
ok 3 - out of bounds GIT_INDEX_VERSION issues warning
ok 4 - no warning with bogus GIT_INDEX_VERSION and existing index
ok 5 - out of bounds index.version issues warning
ok 6 - GIT_INDEX_VERSION takes precedence over config
# passed all 6 test(s)
1..6
*** t1700-split-index.sh ***
ok 1 - enable split index
ok 2 - add one file
ok 3 - disable split index
ok 4 - enable split index again, "one" now belongs to base index"
ok 5 - modify original file, base index untouched
ok 6 - add another file, which stays index
ok 7 - remove file not in base index
ok 8 - remove file in base index
ok 9 - add original file back
ok 10 - add new file
ok 11 - unify index, two files remain
# passed all 11 test(s)
1..11
*** 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 - 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
ok 9 - apply filter from working tree .gitattributes with --prefix
ok 10 - apply CRLF filter from working tree .gitattributes with --prefix
# passed all 10 test(s)
1..10
*** t2004-checkout-cache-temp.sh ***
ok 1 - setup
ok 2 - checkout one stage 0 to temporary file
ok 3 - checkout all stage 0 to temporary files
ok 4 - setup 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
ok 19 - emit well-formed relative path
# passed all 19 test(s)
1..19
*** 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 - checkout with complex relative path
ok 6 - relative path outside tree should fail
ok 7 - incorrect relative path to file should fail (1)
ok 8 - incorrect relative path should fail (2)
ok 9 - incorrect relative path should fail (3)
# passed all 9 test(s)
1..9
*** 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
ok 9 - accurate error message with more than one ref
# passed all 9 test(s)
1..9
*** 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...
ok 19 - "checkout -" works after a rebase A
ok 20 - "checkout -" works after a rebase A B
ok 21 - "checkout -" works after a rebase -i A
ok 22 - "checkout -" works after a rebase -i A B
# passed all 22 test(s)
1..22
*** 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
ok 7 - git checkout: added submodule creates empty directory
ok 8 - git checkout: added submodule leaves existing empty directory alone
ok 9 - git checkout: added submodule doesn't remove untracked unignored file with same name
ok 10 - git checkout: replace tracked file with submodule creates empty directory
ok 11 - git checkout: replace directory with submodule
ok 12 - git checkout: removed submodule leaves submodule directory and its contents in place
ok 13 - git checkout: removed submodule leaves submodule containing a .git directory alone
ok 14 - git checkout: replace submodule with a directory must fail
ok 15 - git checkout: replace submodule containing a .git directory with a directory must fail
not ok 16 - git checkout: replace submodule with a file must fail # TODO known breakage
not ok 17 - git checkout: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 18 - git checkout: modified submodule does not update submodule work tree
ok 19 - git checkout: modified submodule does not update submodule work tree to invalid commit
ok 20 - git checkout: modified submodule does not update submodule work tree from invalid commit
ok 21 - git checkout -f: added submodule creates empty directory
ok 22 - git checkout -f: added submodule leaves existing empty directory alone
ok 23 - git checkout -f: added submodule does remove untracked unignored file with same name when forced
ok 24 - git checkout -f: replace tracked file with submodule creates empty directory
ok 25 - git checkout -f: replace directory with submodule
ok 26 - git checkout -f: removed submodule leaves submodule directory and its contents in place
ok 27 - git checkout -f: removed submodule leaves submodule containing a .git directory alone
not ok 28 - git checkout -f: replace submodule with a directory must fail # TODO known breakage
not ok 29 - git checkout -f: replace submodule containing a .git directory with a directory must fail # TODO known breakage
not ok 30 - git checkout -f: replace submodule with a file must fail # TODO known breakage
not ok 31 - git checkout -f: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 32 - git checkout -f: modified submodule does not update submodule work tree
ok 33 - git checkout -f: modified submodule does not update submodule work tree to invalid commit
ok 34 - git checkout -f: modified submodule does not update submodule work tree from invalid commit
# still have 6 known breakage(s)
# passed all remaining 28 test(s)
1..34
*** 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
ok 6 - checking out in a newly created repo
# passed all 6 test(s)
1..6
*** 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
ok 13 - cannot --detach on an unborn branch
# passed all 13 test(s)
1..13
*** 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
ok 10 - wildcard ambiguation, paths win
ok 11 - wildcard ambiguation, refs lose
# passed all 11 test(s)
1..11
*** 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 warns orphaning 1 of 2 commits
ok 16 - checkout warns orphaning 1 of 2 commits: output
ok 17 - checkout does not warn leaving ref tip
ok 18 - checkout does not warn leaving ref tip
ok 19 - checkout does not warn leaving reachable commit
ok 20 - checkout does not warn leaving reachable commit
ok 21 - tracking count is accurate after orphan check
# passed all 21 test(s)
1..21
*** 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
ok 6 - the symlink remained
# passed all 6 test(s)
1..6
*** t2022-checkout-paths.sh ***
ok 1 - setup
ok 2 - checking out paths out of a tree does not clobber unrelated paths
ok 3 - do not touch unmerged entries matching $path but not in $tree
ok 4 - do not touch files that are already up-to-date
# passed all 4 test(s)
1..4
*** 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
*** t2024-checkout-dwim.sh ***
ok 1 - setup
ok 2 - checkout of non-existing branch fails
ok 3 - checkout of branch from multiple remotes fails #1
ok 4 - checkout of branch from a single remote succeeds #1
ok 5 - checkout of branch from a single remote succeeds #2
ok 6 - --no-guess suppresses branch auto-vivification
ok 7 - setup more remotes with unconventional refspecs
ok 8 - checkout of branch from multiple remotes fails #2
ok 9 - checkout of branch from multiple remotes fails #3
ok 10 - checkout of branch from a single remote succeeds #3
ok 11 - checkout of branch from a single remote succeeds #4
ok 12 - checkout of branch with a file having the same name fails
ok 13 - checkout <branch> -- succeeds, even if a file with the same name exists
ok 14 - loosely defined local base branch is reported correctly
# passed all 14 test(s)
1..14
*** t2025-worktree-add.sh ***
ok 1 - setup
ok 2 - "add" an existing worktree
ok 3 - "add" an existing empty worktree
ok 4 - "add" refuses to checkout locked branch
ok 5 - checking out paths not complaining about linked checkouts
ok 6 - "add" worktree
ok 7 - "add" worktree from a subdir
ok 8 - "add" from a linked checkout
ok 9 - "add" worktree creating new branch
ok 10 - die the same branch is already checked out
ok 11 - die the same branch is already checked out (symlink)
ok 12 - not die the same branch is already checked out
ok 13 - not die on re-checking out current branch
ok 14 - "add" from a bare repo
ok 15 - checkout from a bare repo without "add"
ok 16 - checkout with grafts
ok 17 - "add" from relative HEAD
ok 18 - "add -b" with <branch> omitted
ok 19 - "add --detach" with <branch> omitted
ok 20 - "add" with <branch> omitted
ok 21 - "add" auto-vivify does not clobber existing branch
ok 22 - "add" no auto-vivify with --detach and <branch> omitted
ok 23 - "add" -b/-B mutually exclusive
ok 24 - "add" -b/--detach mutually exclusive
ok 25 - "add" -B/--detach mutually exclusive
# passed all 25 test(s)
1..25
*** t2026-prune-linked-checkouts.sh ***
ok 1 - initialize
ok 2 - worktree prune on normal repo
ok 3 - prune files inside $GIT_DIR/worktrees
ok 4 - prune directories without gitdir
ok 5 - prune directories with unreadable gitdir
ok 6 - prune directories with invalid gitdir
ok 7 - prune directories with gitdir pointing to nowhere
ok 8 - not prune locked checkout
ok 9 - not prune recent checkouts
ok 10 - not prune proper checkouts
# passed all 10 test(s)
1..10
*** 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)
ok 9 - rerere forget (binary)
ok 10 - rerere forget (add-add conflict)
# passed all 10 test(s)
1..10
*** 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
ok 4 - --cacheinfo complains of missing arguments
ok 5 - --cacheinfo does not accept blob null sha1
ok 6 - --cacheinfo does not accept gitlink null sha1
ok 7 - --cacheinfo mode,sha1,path (new syntax)
ok 8 - .lock files cleaned up
# passed all 8 test(s)
1..8
*** 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 - non-qualified update in subdir updates from the root
ok 11 - replace a file with a symlink
ok 12 - add everything changed
ok 13 - touch and then add -u
ok 14 - touch and then add explicitly
ok 15 - add -n -u should not add but just report
ok 16 - add -u resolves unmerged paths
ok 17 - "add -u non-existent" should fail
# passed all 17 test(s)
1..17
*** 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
ok 3 - Just "git add" is a no-op
# passed all 3 test(s)
1..3
*** 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
ok 8 - cache-tree invalidates i-t-a paths
# passed all 8 test(s)
1..8
*** 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 \r\n 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 - excluded directory overrides content patterns
ok 13 - negated directory doesn't affect content patterns
ok 14 - subdirectory ignore (setup)
ok 15 - subdirectory ignore (toplevel)
ok 16 - subdirectory ignore (l1/l2)
ok 17 - subdirectory ignore (l1)
ok 18 - show/hide empty ignored directory (setup)
ok 19 - show empty ignored directory with --directory
ok 20 - hide empty ignored directory with --no-empty-directory
ok 21 - show/hide empty ignored sub-directory (setup)
ok 22 - show empty ignored sub-directory with --directory
ok 23 - hide empty ignored sub-directory with --no-empty-directory
ok 24 - pattern matches prefix completely
ok 25 - ls-files with "**" patterns
ok 26 - ls-files with "**" patterns and no slashes
# passed all 26 test(s)
1..26
*** 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
ok 5 - ls-files with absolute paths to symlinks
# passed all 5 test(s)
1..5
*** 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
*** t3006-ls-files-long.sh ***
ok 1 - setup
ok 2 - overly-long path by itself is not a problem
ok 3 - overly-long path does not replace another by mistake
# passed all 3 test(s)
1..3
*** 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 - git ls-files -k output (w/o icase)
ok 4 - git ls-files -k output (w/ icase)
ok 5 - git ls-files -m to show modified files.
ok 6 - validate git ls-files -m output.
# passed all 6 test(s)
1..6
*** 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 with 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-recursive w/ empty work tree - ours has rename
ok 28 - merge-recursive w/ empty work tree - theirs has rename
ok 29 - merge removes empty directories
not ok 30 - merge-recursive simple w/submodule # TODO known breakage
not ok 31 - merge-recursive simple w/submodule result # TODO known breakage
ok 32 - merge-recursive copy vs. rename
not ok 33 - merge-recursive rename vs. rename/symlink # TODO known breakage
# still have 3 known breakage(s)
# passed all remaining 30 test(s)
1..33
*** 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
*** t3033-merge-toplevel.sh ***
ok 1 - setup
ok 2 - merge an octopus into void
ok 3 - merge an octopus, fast-forward (ff)
ok 4 - merge octopus, non-fast-forward (ff)
ok 5 - merge octopus, fast-forward (does not ff)
ok 6 - merge octopus, non-fast-forward
ok 7 - merge FETCH_HEAD octopus into void
ok 8 - merge FETCH_HEAD octopus fast-forward (ff)
ok 9 - merge FETCH_HEAD octopus non-fast-forward (ff)
ok 10 - merge FETCH_HEAD octopus fast-forward (does not ff)
ok 11 - merge FETCH_HEAD octopus non-fast-forward
# 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
*** t3070-wildmatch.sh ***
ok 1 - wildmatch:     match 'foo' 'foo'
ok 2 - wildmatch:  no match 'foo' 'bar'
ok 3 - wildmatch:     match '' ''
ok 4 - wildmatch:     match 'foo' '???'
ok 5 - wildmatch:  no match 'foo' '??'
ok 6 - wildmatch:     match 'foo' '*'
ok 7 - wildmatch:     match 'foo' 'f*'
ok 8 - wildmatch:  no match 'foo' '*f'
ok 9 - wildmatch:     match 'foo' '*foo*'
ok 10 - wildmatch:     match 'foobar' '*ob*a*r*'
ok 11 - wildmatch:     match 'aaaaaaabababab' '*ab'
ok 12 - wildmatch:     match 'foo*' 'foo\*'
ok 13 - wildmatch:  no match 'foobar' 'foo\*bar'
ok 14 - wildmatch:     match 'f\oo' 'f\\oo'
ok 15 - wildmatch:     match 'ball' '*[al]?'
ok 16 - wildmatch:  no match 'ten' '[ten]'
ok 17 - wildmatch:  no match 'ten' '**[!te]'
ok 18 - wildmatch:  no match 'ten' '**[!ten]'
ok 19 - wildmatch:     match 'ten' 't[a-g]n'
ok 20 - wildmatch:  no match 'ten' 't[!a-g]n'
ok 21 - wildmatch:     match 'ton' 't[!a-g]n'
ok 22 - wildmatch:     match 'ton' 't[^a-g]n'
ok 23 - wildmatch:     match 'a]b' 'a[]]b'
ok 24 - wildmatch:     match 'a-b' 'a[]-]b'
ok 25 - wildmatch:     match 'a]b' 'a[]-]b'
ok 26 - wildmatch:  no match 'aab' 'a[]-]b'
ok 27 - wildmatch:     match 'aab' 'a[]a-]b'
ok 28 - wildmatch:     match ']' ']'
ok 29 - wildmatch:  no match 'foo/baz/bar' 'foo*bar'
ok 30 - wildmatch:  no match 'foo/baz/bar' 'foo**bar'
ok 31 - wildmatch:  no match 'foobazbar' 'foo**bar'
ok 32 - wildmatch:     match 'foo/baz/bar' 'foo/**/bar'
ok 33 - wildmatch:     match 'foo/baz/bar' 'foo/**/**/bar'
ok 34 - wildmatch:     match 'foo/b/a/z/bar' 'foo/**/bar'
ok 35 - wildmatch:     match 'foo/b/a/z/bar' 'foo/**/**/bar'
ok 36 - wildmatch:     match 'foo/bar' 'foo/**/bar'
ok 37 - wildmatch:     match 'foo/bar' 'foo/**/**/bar'
ok 38 - wildmatch:  no match 'foo/bar' 'foo?bar'
ok 39 - wildmatch:  no match 'foo/bar' 'foo[/]bar'
ok 40 - wildmatch:  no match 'foo/bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
ok 41 - wildmatch:     match 'foo-bar' 'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'
ok 42 - wildmatch:     match 'foo' '**/foo'
ok 43 - wildmatch:     match 'XXX/foo' '**/foo'
ok 44 - wildmatch:     match 'bar/baz/foo' '**/foo'
ok 45 - wildmatch:  no match 'bar/baz/foo' '*/foo'
ok 46 - wildmatch:  no match 'foo/bar/baz' '**/bar*'
ok 47 - wildmatch:     match 'deep/foo/bar/baz' '**/bar/*'
ok 48 - wildmatch:  no match 'deep/foo/bar/baz/' '**/bar/*'
ok 49 - wildmatch:     match 'deep/foo/bar/baz/' '**/bar/**'
ok 50 - wildmatch:  no match 'deep/foo/bar' '**/bar/*'
ok 51 - wildmatch:     match 'deep/foo/bar/' '**/bar/**'
ok 52 - wildmatch:  no match 'foo/bar/baz' '**/bar**'
ok 53 - wildmatch:     match 'foo/bar/baz/x' '*/bar/**'
ok 54 - wildmatch:  no match 'deep/foo/bar/baz/x' '*/bar/**'
ok 55 - wildmatch:     match 'deep/foo/bar/baz/x' '**/bar/*/*'
ok 56 - wildmatch:  no match 'acrt' 'a[c-c]st'
ok 57 - wildmatch:     match 'acrt' 'a[c-c]rt'
ok 58 - wildmatch:  no match ']' '[!]-]'
ok 59 - wildmatch:     match 'a' '[!]-]'
ok 60 - wildmatch:  no match '' '\'
ok 61 - wildmatch:  no match '\' '\'
ok 62 - wildmatch:  no match 'XXX/\' '*/\'
ok 63 - wildmatch:     match 'XXX/\' '*/\\'
ok 64 - wildmatch:     match 'foo' 'foo'
ok 65 - wildmatch:     match '@foo' '@foo'
ok 66 - wildmatch:  no match 'foo' '@foo'
ok 67 - wildmatch:     match '[ab]' '\[ab]'
ok 68 - wildmatch:     match '[ab]' '[[]ab]'
ok 69 - wildmatch:     match '[ab]' '[[:]ab]'
ok 70 - wildmatch:  no match '[ab]' '[[::]ab]'
ok 71 - wildmatch:     match '[ab]' '[[:digit]ab]'
ok 72 - wildmatch:     match '[ab]' '[\[:]ab]'
ok 73 - wildmatch:     match '?a?b' '\??\?b'
ok 74 - wildmatch:     match 'abc' '\a\b\c'
ok 75 - wildmatch:  no match 'foo' ''
ok 76 - wildmatch:     match 'foo/bar/baz/to' '**/t[o]'
ok 77 - wildmatch:     match 'a1B' '[[:alpha:]][[:digit:]][[:upper:]]'
ok 78 - wildmatch:  no match 'a' '[[:digit:][:upper:][:space:]]'
ok 79 - wildmatch:     match 'A' '[[:digit:][:upper:][:space:]]'
ok 80 - wildmatch:     match '1' '[[:digit:][:upper:][:space:]]'
ok 81 - wildmatch:  no match '1' '[[:digit:][:upper:][:spaci:]]'
ok 82 - wildmatch:     match ' ' '[[:digit:][:upper:][:space:]]'
ok 83 - wildmatch:  no match '.' '[[:digit:][:upper:][:space:]]'
ok 84 - wildmatch:     match '.' '[[:digit:][:punct:][:space:]]'
ok 85 - wildmatch:     match '5' '[[:xdigit:]]'
ok 86 - wildmatch:     match 'f' '[[:xdigit:]]'
ok 87 - wildmatch:     match 'D' '[[:xdigit:]]'
ok 88 - wildmatch:     match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'
ok 89 - wildmatch:     match '_' '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]'
ok 90 - wildmatch:     match '.' '[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'
ok 91 - wildmatch:     match '5' '[a-c[:digit:]x-z]'
ok 92 - wildmatch:     match 'b' '[a-c[:digit:]x-z]'
ok 93 - wildmatch:     match 'y' '[a-c[:digit:]x-z]'
ok 94 - wildmatch:  no match 'q' '[a-c[:digit:]x-z]'
ok 95 - wildmatch:     match ']' '[\\-^]'
ok 96 - wildmatch:  no match '[' '[\\-^]'
ok 97 - wildmatch:     match '-' '[\-_]'
ok 98 - wildmatch:     match ']' '[\]]'
ok 99 - wildmatch:  no match '\]' '[\]]'
ok 100 - wildmatch:  no match '\' '[\]]'
ok 101 - wildmatch:  no match 'ab' 'a[]b'
ok 102 - wildmatch:  no match 'a[]b' 'a[]b'
ok 103 - wildmatch:  no match 'ab[' 'ab['
ok 104 - wildmatch:  no match 'ab' '[!'
ok 105 - wildmatch:  no match 'ab' '[-'
ok 106 - wildmatch:     match '-' '[-]'
ok 107 - wildmatch:  no match '-' '[a-'
ok 108 - wildmatch:  no match '-' '[!a-'
ok 109 - wildmatch:     match '-' '[--A]'
ok 110 - wildmatch:     match '5' '[--A]'
ok 111 - wildmatch:     match ' ' '[ --]'
ok 112 - wildmatch:     match '$' '[ --]'
ok 113 - wildmatch:     match '-' '[ --]'
ok 114 - wildmatch:  no match '0' '[ --]'
ok 115 - wildmatch:     match '-' '[---]'
ok 116 - wildmatch:     match '-' '[------]'
ok 117 - wildmatch:  no match 'j' '[a-e-n]'
ok 118 - wildmatch:     match '-' '[a-e-n]'
ok 119 - wildmatch:     match 'a' '[!------]'
ok 120 - wildmatch:  no match '[' '[]-a]'
ok 121 - wildmatch:     match '^' '[]-a]'
ok 122 - wildmatch:  no match '^' '[!]-a]'
ok 123 - wildmatch:     match '[' '[!]-a]'
ok 124 - wildmatch:     match '^' '[a^bc]'
ok 125 - wildmatch:     match '-b]' '[a-]b]'
ok 126 - wildmatch:  no match '\' '[\]'
ok 127 - wildmatch:     match '\' '[\\]'
ok 128 - wildmatch:  no match '\' '[!\\]'
ok 129 - wildmatch:     match 'G' '[A-\\]'
ok 130 - wildmatch:  no match 'aaabbb' 'b*a'
ok 131 - wildmatch:  no match 'aabcaa' '*ba*'
ok 132 - wildmatch:     match ',' '[,]'
ok 133 - wildmatch:     match ',' '[\\,]'
ok 134 - wildmatch:     match '\' '[\\,]'
ok 135 - wildmatch:     match '-' '[,-.]'
ok 136 - wildmatch:  no match '+' '[,-.]'
ok 137 - wildmatch:  no match '-.]' '[,-.]'
ok 138 - wildmatch:     match '2' '[\1-\3]'
ok 139 - wildmatch:     match '3' '[\1-\3]'
ok 140 - wildmatch:  no match '4' '[\1-\3]'
ok 141 - wildmatch:     match '\' '[[-\]]'
ok 142 - wildmatch:     match '[' '[[-\]]'
ok 143 - wildmatch:     match ']' '[[-\]]'
ok 144 - wildmatch:  no match '-' '[[-\]]'
ok 145 - wildmatch:     match '-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 146 - wildmatch:  no match '-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 147 - wildmatch:  no match '-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1' '-*-*-*-*-*-*-12-*-*-*-m-*-*-*'
ok 148 - wildmatch:     match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
ok 149 - wildmatch:  no match 'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1' 'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'
ok 150 - wildmatch:     match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt' '**/*a*b*g*n*t'
ok 151 - wildmatch:  no match 'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz' '**/*a*b*g*n*t'
ok 152 - wildmatch:  no match 'foo' '*/*/*'
ok 153 - wildmatch:  no match 'foo/bar' '*/*/*'
ok 154 - wildmatch:     match 'foo/bba/arr' '*/*/*'
ok 155 - wildmatch:  no match 'foo/bb/aa/rr' '*/*/*'
ok 156 - wildmatch:     match 'foo/bb/aa/rr' '**/**/**'
ok 157 - wildmatch:     match 'abcXdefXghi' '*X*i'
ok 158 - wildmatch:  no match 'ab/cXd/efXg/hi' '*X*i'
ok 159 - wildmatch:     match 'ab/cXd/efXg/hi' '*/*X*/*/*i'
ok 160 - wildmatch:     match 'ab/cXd/efXg/hi' '**/*X*/**/*i'
ok 161 - pathmatch:     match 'foo' 'foo'
ok 162 - pathmatch:  no match 'foo' 'fo'
ok 163 - pathmatch:     match 'foo/bar' 'foo/bar'
ok 164 - pathmatch:     match 'foo/bar' 'foo/*'
ok 165 - pathmatch:     match 'foo/bba/arr' 'foo/*'
ok 166 - pathmatch:     match 'foo/bba/arr' 'foo/**'
ok 167 - pathmatch:     match 'foo/bba/arr' 'foo*'
ok 168 - pathmatch:     match 'foo/bba/arr' 'foo**'
ok 169 - pathmatch:     match 'foo/bba/arr' 'foo/*arr'
ok 170 - pathmatch:     match 'foo/bba/arr' 'foo/**arr'
ok 171 - pathmatch:  no match 'foo/bba/arr' 'foo/*z'
ok 172 - pathmatch:  no match 'foo/bba/arr' 'foo/**z'
ok 173 - pathmatch:     match 'foo/bar' 'foo?bar'
ok 174 - pathmatch:     match 'foo/bar' 'foo[/]bar'
ok 175 - pathmatch:  no match 'foo' '*/*/*'
ok 176 - pathmatch:  no match 'foo/bar' '*/*/*'
ok 177 - pathmatch:     match 'foo/bba/arr' '*/*/*'
ok 178 - pathmatch:     match 'foo/bb/aa/rr' '*/*/*'
ok 179 - pathmatch:     match 'abcXdefXghi' '*X*i'
ok 180 - pathmatch:     match 'ab/cXd/efXg/hi' '*/*X*/*/*i'
ok 181 - pathmatch:     match 'ab/cXd/efXg/hi' '*Xg*i'
ok 182 - wildmatch:  no match 'a' '[A-Z]'
ok 183 - wildmatch:     match 'A' '[A-Z]'
ok 184 - wildmatch:  no match 'A' '[a-z]'
ok 185 - wildmatch:     match 'a' '[a-z]'
ok 186 - wildmatch:  no match 'a' '[[:upper:]]'
ok 187 - wildmatch:     match 'A' '[[:upper:]]'
ok 188 - wildmatch:  no match 'A' '[[:lower:]]'
ok 189 - wildmatch:     match 'a' '[[:lower:]]'
ok 190 - wildmatch:  no match 'A' '[B-Za]'
ok 191 - wildmatch:     match 'a' '[B-Za]'
ok 192 - wildmatch:  no match 'A' '[B-a]'
ok 193 - wildmatch:     match 'a' '[B-a]'
ok 194 - wildmatch:  no match 'z' '[Z-y]'
ok 195 - wildmatch:     match 'Z' '[Z-y]'
ok 196 - iwildmatch:    match 'a' '[A-Z]'
ok 197 - iwildmatch:    match 'A' '[A-Z]'
ok 198 - iwildmatch:    match 'A' '[a-z]'
ok 199 - iwildmatch:    match 'a' '[a-z]'
ok 200 - iwildmatch:    match 'a' '[[:upper:]]'
ok 201 - iwildmatch:    match 'A' '[[:upper:]]'
ok 202 - iwildmatch:    match 'A' '[[:lower:]]'
ok 203 - iwildmatch:    match 'a' '[[:lower:]]'
ok 204 - iwildmatch:    match 'A' '[B-Za]'
ok 205 - iwildmatch:    match 'a' '[B-Za]'
ok 206 - iwildmatch:    match 'A' '[B-a]'
ok 207 - iwildmatch:    match 'a' '[B-a]'
ok 208 - iwildmatch:    match 'z' '[Z-y]'
ok 209 - iwildmatch:    match 'Z' '[Z-y]'
# passed all 209 test(s)
1..209
*** 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
ok 3 - ls-tree outside prefix
not ok 4 - ls-tree does not yet support negated pathspec # TODO known breakage
# still have 1 known breakage(s)
# passed all remaining 3 test(s)
1..4
*** 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 HEAD should fail
ok 7 - git branch -l d/e/f should create a branch and a log
ok 8 - git branch -d d/e/f should delete a branch and a log
ok 9 - git branch j/k should work after branch j has been deleted
ok 10 - git branch l should work after branch l/m has been deleted
ok 11 - git branch -m dumps usage
ok 12 - git branch -m m m/m should work
ok 13 - git branch -m n/n n should work
ok 14 - git branch -m o/o o should fail when o/p exists
ok 15 - git branch -m o/q o/p should fail when o/p exists
ok 16 - git branch -M o/q o/p should work when o/p exists
ok 17 - git branch -m -f o/q o/p should work when o/p exists
ok 18 - git branch -m q r/q should fail when r exists
ok 19 - git branch -M foo bar should fail when bar is checked out
ok 20 - git branch -M baz bam should succeed when baz is checked out
ok 21 - git branch -M master should work when master is checked out
ok 22 - git branch -M master master should work when master is checked out
ok 23 - git branch -M master2 master2 should work when master is checked out
ok 24 - git branch -v -d t should work
ok 25 - git branch -v -m t s should work
ok 26 - git branch -m -d t s should fail
ok 27 - git branch --list -d t should fail
ok 28 - git branch --column
ok 29 - git branch --column with an extremely long branch name
ok 30 - git branch with column.*
ok 31 - git branch --column -v should fail
ok 32 - git branch -v with column.ui ignored
ok 33 - git branch -m q q2 without config should succeed
ok 34 - git branch -m s/s s should work when s/t is deleted
ok 35 - config information was renamed, too
ok 36 - deleting a symref
ok 37 - deleting a dangling symref
ok 38 - deleting a self-referential symref
ok 39 - renaming a symref is not allowed
ok 40 - git branch -m u v should fail when the reflog for u is a symlink
ok 41 - test tracking setup via --track
ok 42 - test tracking setup (non-wildcard, matching)
ok 43 - tracking setup fails on non-matching refspec
ok 44 - test tracking setup via config
ok 45 - test overriding tracking setup via --no-track
ok 46 - no tracking without .fetch entries
ok 47 - test tracking setup via --track but deeper
ok 48 - test deleting branch deletes branch config
ok 49 - test deleting branch without config
ok 50 - test --track without .fetch entries
ok 51 - branch from non-branch HEAD w/autosetupmerge=always
ok 52 - branch from non-branch HEAD w/--track causes failure
ok 53 - branch from tag w/--track causes failure
ok 54 - --set-upstream-to fails on multiple branches
ok 55 - --set-upstream-to fails on detached HEAD
ok 56 - --set-upstream-to fails on a missing dst branch
ok 57 - --set-upstream-to fails on a missing src branch
ok 58 - --set-upstream-to fails on a non-ref
ok 59 - use --set-upstream-to modify HEAD
ok 60 - use --set-upstream-to modify a particular branch
ok 61 - --unset-upstream should fail if given a non-existent branch
ok 62 - test --unset-upstream on HEAD
ok 63 - --unset-upstream should fail on multiple branches
ok 64 - --unset-upstream should fail on detached HEAD
ok 65 - test --unset-upstream on a particular branch
ok 66 - --set-upstream shows message when creating a new branch that exists as remote-tracking
ok 67 - --set-upstream with two args only shows the deprecation message
ok 68 - --set-upstream with one arg only shows the deprecation message if the branch existed
ok 69 - --set-upstream-to notices an error to set branch as own upstream
ok 70 - git checkout -b g/h/i -l should create a branch and a log
ok 71 - checkout -b makes reflog by default
ok 72 - checkout -b does not make reflog when core.logAllRefUpdates = false
ok 73 - checkout -b with -l makes reflog when core.logAllRefUpdates = false
ok 74 - avoid ambiguous track
ok 75 - autosetuprebase local on a tracked local branch
ok 76 - autosetuprebase always on a tracked local branch
ok 77 - autosetuprebase remote on a tracked local branch
ok 78 - autosetuprebase never on a tracked local branch
ok 79 - autosetuprebase local on a tracked remote branch
ok 80 - autosetuprebase never on a tracked remote branch
ok 81 - autosetuprebase remote on a tracked remote branch
ok 82 - autosetuprebase always on a tracked remote branch
ok 83 - autosetuprebase unconfigured on a tracked remote branch
ok 84 - autosetuprebase unconfigured on a tracked local branch
ok 85 - autosetuprebase unconfigured on untracked local branch
ok 86 - autosetuprebase unconfigured on untracked remote branch
ok 87 - autosetuprebase never on an untracked local branch
ok 88 - autosetuprebase local on an untracked local branch
ok 89 - autosetuprebase remote on an untracked local branch
ok 90 - autosetuprebase always on an untracked local branch
ok 91 - autosetuprebase never on an untracked remote branch
ok 92 - autosetuprebase local on an untracked remote branch
ok 93 - autosetuprebase remote on an untracked remote branch
ok 94 - autosetuprebase always on an untracked remote branch
ok 95 - autosetuprebase always on detached HEAD
ok 96 - detect misconfigured autosetuprebase (bad value)
ok 97 - detect misconfigured autosetuprebase (no value)
ok 98 - attempt to delete a branch without base and unmerged to HEAD
ok 99 - attempt to delete a branch merged to its base
ok 100 - attempt to delete a branch merged to its base
ok 101 - use set-upstream on the current branch
ok 102 - use --edit-description
ok 103 - detect typo in branch name when using --edit-description
ok 104 - refuse --edit-description on unborn branch for now
ok 105 - --merged catches invalid object names
ok 106 - tracking with unexpected .fetch refspec
# passed all 106 test(s)
1..106
*** t3201-branch-contains.sh ***
ok 1 - setup
ok 2 - branch --contains=master
ok 3 - branch --contains master
ok 4 - branch --contains=side
ok 5 - branch --contains with pattern implies --list
ok 6 - side: branch --merged
ok 7 - branch --merged with pattern implies --list
ok 8 - side: branch --no-merged
ok 9 - master: branch --merged
ok 10 - master: branch --no-merged
ok 11 - branch --no-merged with pattern implies --list
ok 12 - implicit --list conflicts with modification options
ok 13 - branch --merged with --verbose
# passed all 13 test(s)
1..13
*** 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
ok 13 - git branch shows detached HEAD properly after moving
ok 14 - git branch shows detached HEAD properly from tag
ok 15 - git branch shows detached HEAD properly after moving from tag
# passed all 15 test(s)
1..15
*** t3210-pack-refs.sh ***
ok 1 - enable reflogs
ok 2 - prepare a trivial repository
ok 3 - see if git show-ref works as expected
ok 4 - see if a branch still exists when packed
ok 5 - git branch c/d should barf if branch c exists
ok 6 - see if a branch still exists after git pack-refs --prune
ok 7 - see if git pack-refs --prune remove ref files
ok 8 - see if git pack-refs --prune removes empty dirs
ok 9 - git branch g should work when git branch g/h has been deleted
ok 10 - git branch i/j/k should barf if branch i exists
ok 11 - test git branch k after branch k/l/m and k/lm have been deleted
ok 12 - test git branch n after some branch deletion and pruning
ok 13 - see if up-to-date packed refs are preserved
ok 14 - pack, prune and repack
ok 15 - explicit pack-refs with dangling packed reference
ok 16 - delete ref with dangling packed version
ok 17 - delete ref while another dangling packed ref
ok 18 - pack ref directly below refs/
ok 19 - disable reflogs
ok 20 - create packed foo/bar/baz branch
ok 21 - notice d/f conflict with existing directory
ok 22 - existing directory reports concrete ref
ok 23 - notice d/f conflict with existing ref
ok 24 - timeout if packed-refs.lock exists
ok 25 - retry acquiring packed-refs.lock
# passed all 25 test(s)
1..25
*** t3211-peel-ref.sh ***
ok 1 - create annotated tag in refs/tags
ok 2 - create annotated tag outside of refs/tags
ok 3 - set up expected show-ref output
ok 4 - refs are peeled outside of refs/tags (loose)
ok 5 - refs are peeled outside of refs/tags (packed)
ok 6 - create old-style pack-refs without fully-peeled
ok 7 - refs are peeled outside of refs/tags (old packed)
ok 8 - peeled refs survive deletion of packed ref
# passed all 8 test(s)
1..8
*** t3300-funny-names.sh ***
ok 1 - setup
ok 2 - setup: populate index and tree
ok 3 - ls-files prints space in filename verbatim
ok 4 - setup: add funny filename
ok 5 - ls-files quotes funny filename
ok 6 - ls-files -z does not quote funny filename
ok 7 - ls-tree quotes funny filename
ok 8 - diff-index --name-status quotes funny filename
ok 9 - diff-tree --name-status quotes funny filename
ok 10 - diff-index -z does not quote funny filename
ok 11 - diff-tree -z does not quote funny filename
ok 12 - diff-tree --find-copies-harder quotes funny filename
ok 13 - setup: remove unfunny index entry
ok 14 - diff-tree -M quotes funny filename
ok 15 - diff-index -M -p quotes funny filename
ok 16 - setup: mode change
ok 17 - diff-index -M -p with mode change quotes funny filename
ok 18 - diffstat for rename quotes funny filename
ok 19 - numstat for rename quotes funny filename
ok 20 - numstat without -M quotes funny filename
ok 21 - numstat for non-git rename diff quotes funny filename
# passed all 21 test(s)
1..21
*** 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 - show multi-line notes
ok 18 - show -F notes
ok 19 - Re-adding -F notes without -f fails
ok 20 - git log --pretty=raw does not show notes
ok 21 - git log --show-notes
ok 22 - git log --no-notes
ok 23 - git format-patch does not show notes
ok 24 - git format-patch --show-notes does show notes
ok 25 - git show  does show notes
ok 26 - git show --pretty does not show notes
ok 27 - git show --pretty=raw does not show notes
ok 28 - git show --pretty=short does not show notes
ok 29 - git show --pretty=medium does not show notes
ok 30 - git show --pretty=full does not show notes
ok 31 - git show --pretty=fuller does not show notes
ok 32 - git show --pretty=format:%s does not show notes
ok 33 - git show --oneline does not show notes
ok 34 - setup alternate notes ref
ok 35 - git log --notes shows default notes
ok 36 - git log --notes=X shows only X
ok 37 - git log --notes --notes=X shows both
ok 38 - git log --no-notes resets default state
ok 39 - git log --no-notes resets ref list
ok 40 - show -m notes
ok 41 - remove note with add -f -F /dev/null
ok 42 - do not create empty note with -m ""
ok 43 - create note with combination of -m and -F
ok 44 - remove note with "git notes remove"
ok 45 - removing non-existing note should not create new commit
ok 46 - removing more than one
ok 47 - removing is atomic
ok 48 - removing with --ignore-missing
ok 49 - removing with --ignore-missing but bogus ref
ok 50 - remove reads from --stdin
ok 51 - remove --stdin is also atomic
ok 52 - removing with --stdin --ignore-missing
ok 53 - list notes with "git notes list"
ok 54 - list notes with "git notes"
ok 55 - list specific note with "git notes list <object>"
ok 56 - listing non-existing notes fails
ok 57 - append to existing note with "git notes append"
ok 58 - "git notes list" does not expand to "git notes list HEAD"
ok 59 - appending empty string does not change existing note
ok 60 - git notes append == add when there is no existing note
ok 61 - appending empty string to non-existing note does not create note
ok 62 - create other note on a different notes ref (setup)
ok 63 - Do not show note on other ref by default
ok 64 - Do show note when ref is given in GIT_NOTES_REF
ok 65 - Do show note when ref is given in core.notesRef config
ok 66 - Do not show note when core.notesRef is overridden
ok 67 - Show all notes when notes.displayRef=refs/notes/*
ok 68 - core.notesRef is implicitly in notes.displayRef
ok 69 - notes.displayRef can be given more than once
ok 70 - notes.displayRef respects order
ok 71 - GIT_NOTES_DISPLAY_REF works
ok 72 - GIT_NOTES_DISPLAY_REF overrides config
ok 73 - --show-notes=* adds to GIT_NOTES_DISPLAY_REF
ok 74 - --no-standard-notes
ok 75 - --standard-notes
ok 76 - --show-notes=ref accumulates
ok 77 - Allow notes on non-commits (trees, blobs, tags)
ok 78 - create note from other note with "git notes add -C"
ok 79 - create note from non-existing note with "git notes add -C" fails
ok 80 - create note from non-blob with "git notes add -C" fails
ok 81 - create note from blob with "git notes add -C" reuses blob id
ok 82 - create note from other note with "git notes add -c"
ok 83 - create note from non-existing note with "git notes add -c" fails
ok 84 - append to note from other note with "git notes append -C"
ok 85 - create note from other note with "git notes append -c"
ok 86 - append to note from other note with "git notes append -c"
ok 87 - copy note with "git notes copy"
ok 88 - prevent overwrite with "git notes copy"
ok 89 - allow overwrite with "git notes copy -f"
ok 90 - cannot copy note from object without notes
ok 91 - git notes copy --stdin
ok 92 - git notes copy --for-rewrite (unconfigured)
ok 93 - git notes copy --for-rewrite (enabled)
ok 94 - git notes copy --for-rewrite (disabled)
ok 95 - git notes copy --for-rewrite (overwrite)
ok 96 - git notes copy --for-rewrite (ignore)
ok 97 - git notes copy --for-rewrite (append)
ok 98 - git notes copy --for-rewrite (append two to one)
ok 99 - git notes copy --for-rewrite (append empty)
ok 100 - GIT_NOTES_REWRITE_MODE works
ok 101 - GIT_NOTES_REWRITE_REF works
ok 102 - GIT_NOTES_REWRITE_REF overrides config
ok 103 - git notes copy diagnoses too many or too few parameters
ok 104 - git notes get-ref (no overrides)
ok 105 - git notes get-ref (core.notesRef)
ok 106 - git notes get-ref (GIT_NOTES_REF)
ok 107 - git notes get-ref (--ref)
ok 108 - setup testing of empty notes
ok 109 - 'git notes add' removes empty note
ok 110 - 'git notes add --allow-empty' stores empty note
ok 111 - 'git notes add -F /dev/null' removes empty note
ok 112 - 'git notes add -F /dev/null --allow-empty' stores empty note
ok 113 - 'git notes add -m ""' removes empty note
ok 114 - 'git notes add -m "" --allow-empty' stores empty note
ok 115 - 'git notes add -c "$empty_blob"' removes empty note
ok 116 - 'git notes add -c "$empty_blob" --allow-empty' stores empty note
ok 117 - 'git notes add -C "$empty_blob"' removes empty note
ok 118 - 'git notes add -C "$empty_blob" --allow-empty' stores empty note
ok 119 - 'git notes append' removes empty note
ok 120 - 'git notes append --allow-empty' stores empty note
ok 121 - 'git notes append -F /dev/null' removes empty note
ok 122 - 'git notes append -F /dev/null --allow-empty' stores empty note
ok 123 - 'git notes append -m ""' removes empty note
ok 124 - 'git notes append -m "" --allow-empty' stores empty note
ok 125 - 'git notes append -c "$empty_blob"' removes empty note
ok 126 - 'git notes append -c "$empty_blob" --allow-empty' stores empty note
ok 127 - 'git notes append -C "$empty_blob"' removes empty note
ok 128 - 'git notes append -C "$empty_blob" --allow-empty' stores empty note
ok 129 - 'git notes edit' removes empty note
ok 130 - 'git notes edit --allow-empty' stores empty note
ok 131 - empty notes are displayed by git log
# passed all 131 test(s)
1..131
*** t3302-notes-index-expensive.sh ***
ok 1 - setup 10
ok 2 - notes work
ok 3 - notes timing with /usr/bin/time
ok 4 # skip setup 100 (missing EXPENSIVE)
ok 5 # skip notes work (missing EXPENSIVE)
ok 6 # skip notes timing with /usr/bin/time (missing EXPENSIVE of USR_BIN_TIME,EXPENSIVE)
ok 7 # skip setup 1000 (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 setup 10000 (missing EXPENSIVE)
ok 11 # skip notes work (missing EXPENSIVE)
ok 12 # skip notes timing with /usr/bin/time (missing EXPENSIVE of USR_BIN_TIME,EXPENSIVE)
# passed all 12 test(s)
1..12
*** 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 invalid configuration option => Fail/No changes
ok 10 - merge z into y with "ours" strategy => Non-conflicting 3-way merge
ok 11 - reset to pre-merge state (y)
ok 12 - merge z into y with "ours" configuration option => Non-conflicting 3-way merge
ok 13 - reset to pre-merge state (y)
ok 14 - merge z into y with "ours" per-ref configuration option => Non-conflicting 3-way merge
ok 15 - reset to pre-merge state (y)
ok 16 - merge z into y with "theirs" strategy => Non-conflicting 3-way merge
ok 17 - reset to pre-merge state (y)
ok 18 - merge z into y with "theirs" strategy overriding configuration option "ours" => Non-conflicting 3-way merge
ok 19 - reset to pre-merge state (y)
ok 20 - merge z into y with "union" strategy => Non-conflicting 3-way merge
ok 21 - reset to pre-merge state (y)
ok 22 - merge z into y with "union" strategy overriding per-ref configuration => Non-conflicting 3-way merge
ok 23 - reset to pre-merge state (y)
ok 24 - merge z into y with "union" per-ref overriding general configuration => Non-conflicting 3-way merge
ok 25 - reset to pre-merge state (y)
ok 26 - merge z into y with "manual" per-ref only checks specific ref configuration => Conflicting 3-way merge
ok 27 - merge y into z with "union" strategy => Non-conflicting 3-way merge
ok 28 - reset to pre-merge state (z)
ok 29 - merge y into z with "cat_sort_uniq" strategy => Non-conflicting 3-way merge
ok 30 - reset to pre-merge state (z)
ok 31 - merge y into z with "cat_sort_uniq" strategy configuration option => Non-conflicting 3-way merge
# passed all 31 test(s)
1..31
*** 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 - do not allow mixing --commit and --abort
ok 11 - do not allow mixing --commit and --strategy
ok 12 - do not allow mixing --abort and --strategy
ok 13 - finalize conflicting merge (z => m)
ok 14 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge
ok 15 - abort notes merge
ok 16 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge
ok 17 - add + remove notes in finalized merge (z => m)
ok 18 - redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge
ok 19 - reset notes ref m to somewhere else (w)
ok 20 - fail to finalize conflicting merge if underlying ref has moved in the meantime (m != NOTES_MERGE_PARTIAL^1)
ok 21 - resolve situation by aborting the notes merge
ok 22 - switch cwd before committing notes merge
# passed all 22 test(s)
1..22
*** 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
*** t3320-notes-merge-worktrees.sh ***
ok 1 - setup commit
ok 2 - setup notes ref (x)
ok 3 - setup local branch (y)
ok 4 - setup remote branch (z)
ok 5 - modify notes ref ourselves (x)
ok 6 - create some new worktrees
ok 7 - merge z into y fails and sets NOTES_MERGE_REF
ok 8 - merge z into y while mid-merge in another workdir fails
ok 9 - merge z into x while mid-merge on y succeeds
# passed all 9 test(s)
1..9
*** 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, with <onto> and <upstream> specified as :/quuxery
ok 6 - the rebase operation should not have destroyed author information
ok 7 - the rebase operation should not have destroyed author information (2)
ok 8 - HEAD was detached during rebase
ok 9 - rebase from ambiguous branch name
ok 10 - rebase off of the previous branch using "-"
ok 11 - rebase a single mode change
ok 12 - rebase is not broken by diff.renames
ok 13 - setup: recover
ok 14 - Show verbose error when HEAD could not be detached
ok 15 - fail when upstream arg is missing and not on branch
ok 16 - fail when upstream arg is missing and not configured
ok 17 - default to common base in @{upstream}s reflog if no upstream arg
ok 18 - cherry-picked commits and fork-point work together
ok 19 - rebase -q is quiet
ok 20 - Rebase a commit that sprinkles CRs in
ok 21 - rebase can copy notes
ok 22 - rebase -m can copy notes
ok 23 - rebase commit with an ancient timestamp
# passed all 23 test(s)
1..23
*** 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
ok 11 - rebase --skip works with two conflicts in a row
# passed all 11 test(s)
1..11
*** 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 --keep-empty
ok 3 - rebase -i with the exec command
ok 4 - rebase -i with the exec command runs from tree root
ok 5 - rebase -i with the exec command checks tree cleanness
ok 6 - rebase -i with exec of inexistent command
ok 7 - no changes are a nop
ok 8 - test the [branch] option
ok 9 - test --onto <branch>
ok 10 - rebase on top of a non-conflicting commit
ok 11 - reflog for the branch shows state before rebase
ok 12 - exchange two commits
ok 13 - stop on conflicting pick
ok 14 - abort
ok 15 - abort with error when new base cannot be checked out
ok 16 - retain authorship
ok 17 - squash
ok 18 - retain authorship when squashing
ok 19 - -p handles "no changes" gracefully
not ok 20 - exchange two commits with -p # TODO known breakage
ok 21 - preserve merges with -p
ok 22 - edit ancestor with -p
ok 23 - --continue tries to commit
ok 24 - verbose flag is heeded, even after --continue
ok 25 - multi-squash only fires up editor once
ok 26 - multi-fixup does not fire up editor
ok 27 - commit message used after conflict
ok 28 - commit message retained after conflict
ok 29 - squash and fixup generate correct log messages
ok 30 - squash ignores comments
ok 31 - squash ignores blank lines
ok 32 - squash works as expected
ok 33 - interrupted squash works as expected
ok 34 - interrupted squash works as expected (case 2)
ok 35 - --continue tries to commit, even for "edit"
ok 36 - aborted --continue does not squash commits after "edit"
ok 37 - auto-amend only edited commits after "edit"
ok 38 - clean error after failed "exec"
ok 39 - rebase a detached HEAD
ok 40 - rebase a commit violating pre-commit
ok 41 - rebase with a file named HEAD in worktree
ok 42 - do "noop" when there is nothing to cherry-pick
ok 43 - submodule rebase setup
ok 44 - submodule rebase -i
ok 45 - submodule conflict setup
ok 46 - rebase -i continue with only submodule staged
ok 47 - rebase -i continue with unstaged submodule
ok 48 - avoid unnecessary reset
ok 49 - reword
ok 50 - rebase -i can copy notes
ok 51 - rebase -i can copy notes over a fixup
ok 52 - rebase while detaching HEAD
ok 53 - always cherry-pick with --no-ff
ok 54 - set up commits with funny messages
ok 55 - rebase-i history with funny messages
ok 56 - prepare for rebase -i --exec
ok 57 - running "git rebase -i --exec git show HEAD"
ok 58 - running "git rebase --exec git show HEAD -i"
ok 59 - running "git rebase -ix git show HEAD"
ok 60 - rebase -ix with several <CMD>
ok 61 - rebase -ix with several instances of --exec
ok 62 - rebase -ix with --autosquash
ok 63 - rebase --exec without -i shows error message
ok 64 - rebase -i --exec without <CMD>
ok 65 - rebase -i --root re-order and drop commits
ok 66 - rebase -i --root retain root commit author and message
ok 67 - rebase -i --root temporary sentinel commit
ok 68 - rebase -i --root fixup root commit
ok 69 - rebase --edit-todo does not works on non-interactive rebase
ok 70 - rebase --edit-todo can be used to modify todo
ok 71 - rebase -i produces readable reflog
ok 72 - rebase -i respects core.commentchar
ok 73 - rebase -i, with <onto> and <upstream> specified as :/quuxery
ok 74 - rebase -i with --strategy and -X
ok 75 - rebase -i error on commits with \ in message
ok 76 - short SHA-1 setup
ok 77 - short SHA-1 collide
ok 78 - respect core.abbrev
ok 79 - todo count
ok 80 - rebase -i commits that overwrite untracked files (pick)
ok 81 - rebase -i commits that overwrite untracked files (squash)
ok 82 - rebase -i commits that overwrite untracked files (no ff)
ok 83 - rebase --continue removes CHERRY_PICK_HEAD
ok 84 - drop
ok 85 - rebase -i respects rebase.missingCommitsCheck = ignore
ok 86 - rebase -i respects rebase.missingCommitsCheck = warn
ok 87 - rebase -i respects rebase.missingCommitsCheck = error
ok 88 - static check of bad command
ok 89 - static check of bad SHA-1
# still have 1 known breakage(s)
# passed all remaining 88 test(s)
1..89
*** t3405-rebase-malformed.sh ***
ok 1 - setup
ok 2 - rebase commit with multi-line subject
ok 3 - rebase commit with diff in message
# passed all 3 test(s)
1..3
*** t3406-rebase-message.sh ***
ok 1 - setup
ok 2 - rebase -m
ok 3 - rebase against master twice
ok 4 - rebase against master twice with --force
ok 5 - rebase against master twice from another branch
ok 6 - rebase fast-forward to master
ok 7 - rebase --stat
ok 8 - rebase w/config rebase.stat
ok 9 - rebase -n overrides config rebase.stat config
ok 10 - rebase --onto outputs the invalid ref
# passed all 10 test(s)
1..10
*** 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 - --continue works after a conflict
ok 3 - rebase -p preserves no-ff merges
ok 4 - rebase -p ignores merge.log config
# passed all 4 test(s)
1..4
*** 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 fails with too many args
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
ok 13 - fixup! fixup!
ok 14 - fixup! squash!
ok 15 - squash! squash!
ok 16 - squash! fixup!
ok 17 - autosquash with custom inst format
# passed all 17 test(s)
1..17
*** 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 - non-interactive rebase --continue with rerere enabled
ok 5 - rebase --continue can not be used with other options
ok 6 - rebase --continue remembers merge strategy and options
ok 7 - rebase --continue remembers --rerere-autoupdate
# passed all 7 test(s)
1..7
*** 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
*** t3420-rebase-autostash.sh ***
ok 1 - setup
ok 2 - rebase: fast-forward rebase
ok 3 - rebase: noop rebase
ok 4 - rebase: dirty worktree, non-conflicting rebase
ok 5 - rebase: dirty index, non-conflicting rebase
ok 6 - rebase: conflicting rebase
ok 7 - rebase: --continue
ok 8 - rebase: --skip
ok 9 - rebase: --abort
ok 10 - rebase: non-conflicting rebase, conflicting stash
ok 11 - rebase --merge: dirty worktree, non-conflicting rebase
ok 12 - rebase --merge: dirty index, non-conflicting rebase
ok 13 - rebase --merge: conflicting rebase
ok 14 - rebase --merge: --continue
ok 15 - rebase --merge: --skip
ok 16 - rebase --merge: --abort
ok 17 - rebase --merge: non-conflicting rebase, conflicting stash
ok 18 - rebase --interactive: dirty worktree, non-conflicting rebase
ok 19 - rebase --interactive: dirty index, non-conflicting rebase
ok 20 - rebase --interactive: conflicting rebase
ok 21 - rebase --interactive: --continue
ok 22 - rebase --interactive: --skip
ok 23 - rebase --interactive: --abort
ok 24 - rebase --interactive: non-conflicting rebase, conflicting stash
ok 25 - abort rebase -i with --autostash
# passed all 25 test(s)
1..25
*** t3421-rebase-topology-linear.sh ***
ok 1 - setup
ok 2 - simple rebase 
ok 3 - simple rebase -m
ok 4 - simple rebase -i
ok 5 - simple rebase -p
ok 6 - rebase  is no-op if upstream is an ancestor
ok 7 - rebase -m is no-op if upstream is an ancestor
ok 8 - rebase -i is no-op if upstream is an ancestor
ok 9 - rebase -p is no-op if upstream is an ancestor
ok 10 - rebase  -f rewrites even if upstream is an ancestor
ok 11 - rebase -m -f rewrites even if upstream is an ancestor
ok 12 - rebase -i -f rewrites even if upstream is an ancestor
not ok 13 - rebase -p -f rewrites even if upstream is an ancestor # TODO known breakage
ok 14 - rebase  fast-forwards from ancestor of upstream
ok 15 - rebase -m fast-forwards from ancestor of upstream
ok 16 - rebase -i fast-forwards from ancestor of upstream
ok 17 - rebase -p fast-forwards from ancestor of upstream
ok 18 - setup of linear history for range selection tests
ok 19 - rebase  drops patches in upstream
not ok 20 - rebase -m drops patches in upstream # TODO known breakage
ok 21 - rebase -i drops patches in upstream
ok 22 - rebase -p drops patches in upstream
ok 23 - rebase  can drop last patch if in upstream
not ok 24 - rebase -m can drop last patch if in upstream # TODO known breakage
ok 25 - rebase -i can drop last patch if in upstream
ok 26 - rebase -p can drop last patch if in upstream
ok 27 - rebase  --onto drops patches in upstream
not ok 28 - rebase -m --onto drops patches in upstream # TODO known breakage
ok 29 - rebase -i --onto drops patches in upstream
ok 30 - rebase -p --onto drops patches in upstream
ok 31 - rebase  --onto does not drop patches in onto
ok 32 - rebase -m --onto does not drop patches in onto
ok 33 - rebase -i --onto does not drop patches in onto
ok 34 - rebase -p --onto does not drop patches in onto
ok 35 - setup of linear history for empty commit tests
ok 36 - rebase  drops empty commit
ok 37 - rebase -m drops empty commit
ok 38 - rebase -i drops empty commit
ok 39 - rebase -p drops empty commit
ok 40 - rebase  --keep-empty
not ok 41 - rebase -m --keep-empty # TODO known breakage
ok 42 - rebase -i --keep-empty
not ok 43 - rebase -p --keep-empty # TODO known breakage
ok 44 - rebase  --keep-empty keeps empty even if already in upstream
not ok 45 - rebase -m --keep-empty keeps empty even if already in upstream # TODO known breakage
not ok 46 - rebase -i --keep-empty keeps empty even if already in upstream # TODO known breakage
not ok 47 - rebase -p --keep-empty keeps empty even if already in upstream # TODO known breakage
ok 48 - setup of linear history for test involving root
ok 49 - rebase  --onto --root
not ok 50 - rebase -m --onto --root # TODO known breakage
ok 51 - rebase -i --onto --root
ok 52 - rebase -p --onto --root
ok 53 - rebase  without --onto --root with disjoint history
not ok 54 - rebase -m without --onto --root with disjoint history # TODO known breakage
ok 55 - rebase -i without --onto --root with disjoint history
not ok 56 - rebase -p without --onto --root with disjoint history # TODO known breakage
ok 57 - rebase  --onto --root drops patch in onto
not ok 58 - rebase -m --onto --root drops patch in onto # TODO known breakage
ok 59 - rebase -i --onto --root drops patch in onto
ok 60 - rebase -p --onto --root drops patch in onto
ok 61 - rebase  --onto --root with merge-base does not go to root
ok 62 - rebase -m --onto --root with merge-base does not go to root
ok 63 - rebase -i --onto --root with merge-base does not go to root
not ok 64 - rebase -p --onto --root with merge-base does not go to root # TODO known breakage
ok 65 - rebase  without --onto --root with disjoint history drops patch in onto
not ok 66 - rebase -m without --onto --root with disjoint history drops patch in onto # TODO known breakage
ok 67 - rebase -i without --onto --root with disjoint history drops patch in onto
not ok 68 - rebase -p without --onto --root with disjoint history drops patch in onto # TODO known breakage
not ok 69 - rebase  --root on linear history is a no-op # TODO known breakage
not ok 70 - rebase -m --root on linear history is a no-op # TODO known breakage
not ok 71 - rebase -i --root on linear history is a no-op # TODO known breakage
not ok 72 - rebase -p --root on linear history is a no-op # TODO known breakage
ok 73 - rebase  -f --root on linear history causes re-write
ok 74 - rebase -m -f --root on linear history causes re-write
ok 75 - rebase -i -f --root on linear history causes re-write
ok 76 - rebase -p -f --root on linear history causes re-write
# still have 20 known breakage(s)
# passed all remaining 56 test(s)
1..76
*** t3425-rebase-topology-merges.sh ***
ok 1 - setup of non-linear-history
ok 2 - rebase  after merge from upstream
ok 3 - rebase -m after merge from upstream
ok 4 - rebase -i after merge from upstream
ok 5 - rebase  of non-linear history is linearized in place
ok 6 - rebase -m of non-linear history is linearized in place
ok 7 - rebase -i of non-linear history is linearized in place
ok 8 - rebase  of non-linear history is linearized upstream
ok 9 - rebase -m of non-linear history is linearized upstream
ok 10 - rebase -i of non-linear history is linearized upstream
ok 11 - rebase  of non-linear history with merges after upstream merge is linearized
ok 12 - rebase -m of non-linear history with merges after upstream merge is linearized
ok 13 - rebase -i of non-linear history with merges after upstream merge is linearized
ok 14 - rebase -p is no-op in non-linear history
ok 15 - rebase -p is no-op when base inside second parent
not ok 16 - rebase -p --root on non-linear history is a no-op # TODO known breakage
ok 17 - rebase -p re-creates merge from side branch
ok 18 - rebase -p re-creates internal merge
ok 19 - rebase -p can re-create two branches on onto
ok 20 - setup of non-linear-history for patch-equivalence tests
ok 21 - rebase -p re-creates history around dropped commit matching upstream
ok 22 - rebase -p --onto in merged history drops patches in upstream
ok 23 - rebase -p --onto in merged history does not drop patches in onto
ok 24 - setup of non-linear-history for dropping whole side
not ok 25 - rebase -p drops merge commit when entire first-parent side is dropped # TODO known breakage
ok 26 - rebase -p drops merge commit when entire second-parent side is dropped
ok 27 - setup of non-linear-history for empty commits
ok 28 - rebase -p re-creates empty internal merge commit
ok 29 - rebase -p re-creates empty merge commit
# still have 2 known breakage(s)
# passed all remaining 27 test(s)
1..29
*** t3426-rebase-submodule.sh ***
ok 1 - git_rebase: added submodule creates empty directory
ok 2 - git_rebase: added submodule leaves existing empty directory alone
ok 3 - git_rebase: added submodule doesn't remove untracked unignored file with same name
ok 4 - git_rebase: replace tracked file with submodule creates empty directory
ok 5 - git_rebase: replace directory with submodule
ok 6 - git_rebase: removed submodule leaves submodule directory and its contents in place
ok 7 - git_rebase: removed submodule leaves submodule containing a .git directory alone
ok 8 - git_rebase: replace submodule with a directory must fail
ok 9 - git_rebase: replace submodule containing a .git directory with a directory must fail
not ok 10 - git_rebase: replace submodule with a file must fail # TODO known breakage
not ok 11 - git_rebase: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 12 - git_rebase: modified submodule does not update submodule work tree
ok 13 - git_rebase: modified submodule does not update submodule work tree to invalid commit
ok 14 - git_rebase: modified submodule does not update submodule work tree from invalid commit
ok 15 - git_rebase_interactive: added submodule creates empty directory
ok 16 - git_rebase_interactive: added submodule leaves existing empty directory alone
ok 17 - git_rebase_interactive: added submodule doesn't remove untracked unignored file with same name
ok 18 - git_rebase_interactive: replace tracked file with submodule creates empty directory
not ok 19 - git_rebase_interactive: replace directory with submodule # TODO known breakage
ok 20 - git_rebase_interactive: removed submodule leaves submodule directory and its contents in place
ok 21 - git_rebase_interactive: removed submodule leaves submodule containing a .git directory alone
ok 22 - git_rebase_interactive: replace submodule with a directory must fail
ok 23 - git_rebase_interactive: replace submodule containing a .git directory with a directory must fail
not ok 24 - git_rebase_interactive: replace submodule with a file must fail # TODO known breakage
not ok 25 - git_rebase_interactive: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 26 - git_rebase_interactive: modified submodule does not update submodule work tree
ok 27 - git_rebase_interactive: modified submodule does not update submodule work tree to invalid commit
ok 28 - git_rebase_interactive: modified submodule does not update submodule work tree from invalid commit
# still have 5 known breakage(s)
# passed all remaining 23 test(s)
1..28
*** 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
ok 8 - cherry-pick on unborn branch
ok 9 - cherry-pick "-" to pick from previous branch
ok 10 - cherry-pick "-" is meaningless without checkout
ok 11 - cherry-pick "-" works with arguments
# passed all 11 test(s)
1..11
*** 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
ok 6 - cherry-pick a commit with an empty message with --allow-empty-message
ok 7 - cherry pick an empty non-ff commit without --allow-empty
ok 8 - cherry pick an empty non-ff commit with --allow-empty
ok 9 - cherry pick with --keep-redundant-commits
ok 10 - cherry-pick a commit that becomes no-op (prep)
ok 11 - cherry-pick a no-op without --keep-redundant
ok 12 - cherry-pick a no-op with --keep-redundant
# passed all 12 test(s)
1..12
*** 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
ok 11 - cherry-pick --ff on unborn branch
# passed all 11 test(s)
1..11
*** 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 - advice from failed cherry-pick --no-commit
ok 5 - failed cherry-pick sets CHERRY_PICK_HEAD
ok 6 - successful cherry-pick does not set CHERRY_PICK_HEAD
ok 7 - cherry-pick --no-commit does not set CHERRY_PICK_HEAD
ok 8 - cherry-pick w/dirty tree does not set CHERRY_PICK_HEAD
ok 9 - cherry-pick --strategy=resolve w/dirty tree does not set CHERRY_PICK_HEAD
ok 10 - GIT_CHERRY_PICK_HELP suppresses CHERRY_PICK_HEAD
ok 11 - git reset clears CHERRY_PICK_HEAD
ok 12 - failed commit does not clear CHERRY_PICK_HEAD
ok 13 - cancelled commit does not clear CHERRY_PICK_HEAD
ok 14 - successful commit clears CHERRY_PICK_HEAD
ok 15 - failed cherry-pick produces dirty index
ok 16 - failed cherry-pick registers participants in index
ok 17 - failed cherry-pick describes conflict in work tree
ok 18 - diff3 -m style
ok 19 - revert also handles conflicts sanely
ok 20 - failed revert sets REVERT_HEAD
ok 21 - successful revert does not set REVERT_HEAD
ok 22 - revert --no-commit sets REVERT_HEAD
ok 23 - revert w/dirty tree does not set REVERT_HEAD
ok 24 - GIT_CHERRY_PICK_HELP does not suppress REVERT_HEAD
ok 25 - git reset clears REVERT_HEAD
ok 26 - failed commit does not clear REVERT_HEAD
ok 27 - revert conflict, diff3 -m style
ok 28 - failed cherry-pick does not forget -s
ok 29 - commit after failed cherry-pick does not add duplicated -s
ok 30 - commit after failed cherry-pick adds -s at the right place
ok 31 - commit --amend -s places the sign-off at the right place
# passed all 31 test(s)
1..31
*** t3508-cherry-pick-many-commits.sh ***
ok 1 - setup
ok 2 - cherry-pick first..fourth works
ok 3 - cherry-pick three one two works
ok 4 - cherry-pick three one two: fails
ok 5 - output to keep user entertained during multi-pick
ok 6 - cherry-pick --strategy resolve first..fourth works
ok 7 - output during multi-pick indicates merge strategy
ok 8 - cherry-pick --ff first..fourth works
ok 9 - cherry-pick -n first..fourth works
ok 10 - revert first..fourth works
ok 11 - revert ^first fourth works
ok 12 - revert fourth fourth~1 fourth~2 works
ok 13 - cherry-pick -3 fourth works
ok 14 - cherry-pick --stdin works
# passed all 14 test(s)
1..14
*** 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
not ok 31 - --signoff is automatically propagated to resolved conflict # TODO known breakage
not ok 32 - --signoff dropped for implicit commit of resolution, multi-pick case # TODO known breakage
not ok 33 - sign-off needs to be reaffirmed after conflict resolution, single-pick case # TODO known breakage
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
# still have 3 known breakage(s)
# passed all remaining 36 test(s)
1..39
*** t3511-cherry-pick-x.sh ***
ok 1 - setup
ok 2 - cherry-pick -x inserts blank line after one line subject
ok 3 - cherry-pick -s inserts blank line after one line subject
ok 4 - cherry-pick -s inserts blank line after non-conforming footer
ok 5 - cherry-pick -x inserts blank line when conforming footer not found
ok 6 - cherry-pick -s inserts blank line when conforming footer not found
ok 7 - cherry-pick -x -s inserts blank line when conforming footer not found
ok 8 - cherry-pick -s adds sob when last sob doesnt match committer
ok 9 - cherry-pick -x -s adds sob when last sob doesnt match committer
ok 10 - cherry-pick -s refrains from adding duplicate trailing sob
ok 11 - cherry-pick -x -s adds sob even when trailing sob exists for committer
ok 12 - cherry-pick -x treats "(cherry picked from..." line as part of footer
ok 13 - cherry-pick -s treats "(cherry picked from..." line as part of footer
ok 14 - cherry-pick -x -s treats "(cherry picked from..." line as part of footer
ok 15 - cherry-pick preserves commit message
# passed all 15 test(s)
1..15
*** t3512-cherry-pick-submodule.sh ***
ok 1 - git cherry-pick: added submodule creates empty directory
ok 2 - git cherry-pick: added submodule leaves existing empty directory alone
ok 3 - git cherry-pick: added submodule doesn't remove untracked unignored file with same name
ok 4 - git cherry-pick: replace tracked file with submodule creates empty directory
not ok 5 - git cherry-pick: replace directory with submodule # TODO known breakage
ok 6 - git cherry-pick: removed submodule leaves submodule directory and its contents in place
ok 7 - git cherry-pick: removed submodule leaves submodule containing a .git directory alone
not ok 8 - git cherry-pick: replace submodule with a directory must fail # TODO known breakage
not ok 9 - git cherry-pick: replace submodule containing a .git directory with a directory must fail # TODO known breakage
not ok 10 - git cherry-pick: replace submodule with a file must fail # TODO known breakage
not ok 11 - git cherry-pick: replace submodule containing a .git directory with a file must fail # TODO known breakage
not ok 12 - git cherry-pick: modified submodule does not update submodule work tree # TODO known breakage
not ok 13 - git cherry-pick: modified submodule does not update submodule work tree to invalid commit # TODO known breakage
not ok 14 - git cherry-pick: modified submodule does not update submodule work tree from invalid commit # TODO known breakage
# still have 8 known breakage(s)
# passed all remaining 6 test(s)
1..14
*** t3513-revert-submodule.sh ***
ok 1 - git_revert: added submodule creates empty directory
ok 2 - git_revert: added submodule leaves existing empty directory alone
ok 3 - git_revert: added submodule doesn't remove untracked unignored file with same name
ok 4 - git_revert: replace tracked file with submodule creates empty directory
not ok 5 - git_revert: replace directory with submodule # TODO known breakage
ok 6 - git_revert: removed submodule leaves submodule directory and its contents in place
ok 7 - git_revert: removed submodule leaves submodule containing a .git directory alone
ok 8 - git_revert: replace submodule with a directory must fail
ok 9 - git_revert: replace submodule containing a .git directory with a directory must fail
not ok 10 - git_revert: replace submodule with a file must fail # TODO known breakage
not ok 11 - git_revert: replace submodule containing a .git directory with a file must fail # TODO known breakage
not ok 12 - git_revert: modified submodule does not update submodule work tree # TODO known breakage
not ok 13 - git_revert: modified submodule does not update submodule work tree to invalid commit # TODO known breakage
not ok 14 - git_revert: modified submodule does not update submodule work tree from invalid commit # TODO known breakage
# still have 6 known breakage(s)
# passed all remaining 8 test(s)
1..14
*** 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
ok 37 - rm removes empty submodules from work tree
ok 38 - rm removes removed submodule from index and .gitmodules
ok 39 - rm removes work tree of unmodified submodules
ok 40 - rm removes a submodule with a trailing /
ok 41 - rm fails when given a file with a trailing /
ok 42 - rm succeeds when given a directory with a trailing /
ok 43 - rm of a populated submodule with different HEAD fails unless forced
ok 44 - rm --cached leaves work tree of populated submodules and .gitmodules alone
ok 45 - rm --dry-run does not touch the submodule or .gitmodules
ok 46 - rm does not complain when no .gitmodules file is found
ok 47 - rm will error out on a modified .gitmodules file unless staged
ok 48 - rm issues a warning when section is not found in .gitmodules
ok 49 - rm of a populated submodule with modifications fails unless forced
ok 50 - rm of a populated submodule with untracked files fails unless forced
ok 51 - setup submodule conflict
ok 52 - rm removes work tree of unmodified conflicted submodule
ok 53 - rm of a conflicted populated submodule with different HEAD fails unless forced
ok 54 - rm of a conflicted populated submodule with modifications fails unless forced
ok 55 - rm of a conflicted populated submodule with untracked files fails unless forced
ok 56 - rm of a conflicted populated submodule with a .git directory fails even when forced
ok 57 - rm of a conflicted unpopulated submodule succeeds
ok 58 - rm of a populated submodule with a .git directory fails even when forced
ok 59 - setup subsubmodule
ok 60 - rm recursively removes work tree of unmodified submodules
ok 61 - rm of a populated nested submodule with different nested HEAD fails unless forced
ok 62 - rm of a populated nested submodule with nested modifications fails unless forced
ok 63 - rm of a populated nested submodule with nested untracked files fails unless forced
ok 64 - rm of a populated nested submodule with a nested .git directory fails even when forced
ok 65 - checking out a commit after submodule removal needs manual updates
ok 66 - rm of d/f when d has become a non-directory
ok 67 - rm of d/f when d has become a dangling symlink
ok 68 - rm of file when it has become a directory
ok 69 - rm across a symlinked leading path (no index)
not ok 70 - rm across a symlinked leading path (w/ index) # TODO known breakage
ok 71 - setup for testing rm messages
ok 72 - rm files with different staged content
ok 73 - rm files with different staged content without hints
ok 74 - rm file with local modification
ok 75 - rm file with local modification without hints
ok 76 - rm file with changes in the index
ok 77 - rm file with changes in the index without hints
ok 78 - rm files with two different errors
# still have 1 known breakage(s)
# passed all remaining 77 test(s)
1..78
*** 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 - error out when attempting to add ignored ones but add others
ok 14 - add ignored ones with -f
ok 15 - add ignored ones with -f
ok 16 - add ignored ones with -f
ok 17 - .gitignore with subdirectory
ok 18 - check correct prefix detection
ok 19 - git add with filemode=0, symlinks=0, and unmerged entries
ok 20 - git add with filemode=0, symlinks=0 prefers stage 2 over stage 1
ok 21 - git add --refresh
ok 22 - git add --refresh with pathspec
ok 23 - git add should fail atomically upon an unreadable file
ok 24 - git add --ignore-errors
ok 25 - git add (add.ignore-errors)
ok 26 - git add (add.ignore-errors = false)
ok 27 - --no-ignore-errors overrides config
ok 28 - git add 'fo\[ou\]bar' ignores foobar
ok 29 - git add to resolve conflicts on otherwise ignored path
ok 30 - "add non-existent" should fail
ok 31 - git add -A on empty repo does not error out
ok 32 - "git add ." in empty repo
ok 33 - git add --dry-run of existing changed file
ok 34 - git add --dry-run of non-existing file
ok 35 - git add --dry-run of an existing file output
ok 36 - git add --dry-run --ignore-missing of non-existing file
ok 37 - git add --dry-run --ignore-missing of non-existing file output
# passed all 37 test(s)
1..37
*** 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)"
not ok 36 - split hunk "add -p (no, yes, edit)" # TODO known breakage
ok 37 - patch mode ignores unmerged entries
# still have 1 known breakage(s)
# passed all remaining 36 test(s)
1..37
*** t3702-add-edit.sh ***
ok 1 - setup
ok 2 - add -e
ok 3 - add -e notices editor failure
# passed all 3 test(s)
1..3
*** 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
ok 3 - UTF-16 refused because of NULs
ok 4 - UTF-8 invalid characters refused
ok 5 - UTF-8 overlong sequences rejected
ok 6 - UTF-8 non-characters refused
ok 7 - UTF-8 non-characters refused
ok 8 - ISO8859-1 setup
ok 9 - eucJP setup
ok 10 - ISO-2022-JP setup
ok 11 - check encoding header for ISO8859-1
ok 12 - check encoding header for eucJP
ok 13 - check encoding header for ISO-2022-JP
ok 14 - config to remove customization
ok 15 - ISO8859-1 should be shown in UTF-8 now
ok 16 - eucJP should be shown in UTF-8 now
ok 17 - ISO-2022-JP should be shown in UTF-8 now
ok 18 - config to add customization
ok 19 - ISO8859-1 should be shown in itself now
ok 20 - eucJP should be shown in itself now
ok 21 - ISO-2022-JP should be shown in itself now
ok 22 - config to tweak customization
ok 23 - ISO8859-1 should be shown in UTF-8 now
ok 24 - eucJP should be shown in UTF-8 now
ok 25 - ISO-2022-JP should be shown in UTF-8 now
ok 26 - eucJP should be shown in eucJP now
ok 27 - ISO-2022-JP should be shown in eucJP now
ok 28 - eucJP should be shown in ISO-2022-JP now
ok 29 - ISO-2022-JP should be shown in ISO-2022-JP now
ok 30 - No conversion with ISO8859-1
ok 31 - No conversion with eucJP
ok 32 - No conversion with ISO-2022-JP
ok 33 - commit --fixup with eucJP encoding
ok 34 - commit --squash with ISO-2022-JP encoding
# passed all 34 test(s)
1..34
*** 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)
ok 16 - am (U/U)
ok 17 - am (L/L)
ok 18 - am (U/L)
ok 19 - am --no-utf8 (U/L)
ok 20 - am (L/U)
# passed all 20 test(s)
1..20
*** 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 - stash drop complains of extra options
ok 10 - drop top stash
ok 11 - drop middle stash
ok 12 - stash pop
ok 13 - stash branch
ok 14 - apply -q is quiet
ok 15 - save -q is quiet
ok 16 - pop -q is quiet
ok 17 - pop -q --index works and is quiet
ok 18 - drop -q is quiet
ok 19 - stash -k
ok 20 - stash --no-keep-index
ok 21 - stash --invalid-option
ok 22 - stash an added file
ok 23 - stash rm then recreate
ok 24 - stash rm and ignore
ok 25 - stash rm and ignore (stage .gitignore)
ok 26 - stash file to symlink
ok 27 - stash file to symlink (stage rm)
ok 28 - stash file to symlink (full stage)
ok 29 - stash symlink to file
ok 30 - this must have re-created the symlink
ok 31 - unstash must re-create the file
ok 32 - stash symlink to file (stage rm)
ok 33 - this must have re-created the symlink
ok 34 - unstash must re-create the file
ok 35 - stash symlink to file (full stage)
ok 36 - this must have re-created the symlink
ok 37 - unstash must re-create the file
not ok 38 - stash directory to file # TODO known breakage
not ok 39 - stash file to directory # TODO known breakage
ok 40 - stash branch - no stashes on stack, stash-like argument
ok 41 - stash branch - stashes on stack, stash-like argument
ok 42 - stash show format defaults to --stat
ok 43 - stash show - stashes on stack, stash-like argument
ok 44 - stash show -p - stashes on stack, stash-like argument
ok 45 - stash show - no stashes on stack, stash-like argument
ok 46 - stash show -p - no stashes on stack, stash-like argument
ok 47 - stash drop - fail early if specified stash is not a stash reference
ok 48 - stash pop - fail early if specified stash is not a stash reference
ok 49 - ref with non-existent reflog
ok 50 - invalid ref of the form stash@{n}, n >= N
ok 51 - stash branch should not drop the stash if the branch exists
ok 52 - stash apply shows status same as git status (relative to current directory)
ok 53 - stash where working directory contains "HEAD" file
ok 54 - store called with invalid commit
ok 55 - store updates stash ref and reflog
ok 56 - handle stash specification with spaces
ok 57 - setup stash with index and worktree changes
ok 58 - stash list implies --first-parent -m
ok 59 - stash list --cc shows combined diff
# still have 2 known breakage(s)
# passed all remaining 57 test(s)
1..59
*** 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
not ok 7 - stash -p with split hunk # TODO known breakage
# still have 1 known breakage(s)
# passed all remaining 6 test(s)
1..7
*** 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
*** t3906-stash-submodule.sh ***
not ok 1 - git_stash: added submodule creates empty directory # TODO known breakage
not ok 2 - git_stash: added submodule leaves existing empty directory alone # TODO known breakage
ok 3 - git_stash: added submodule doesn't remove untracked unignored file with same name
not ok 4 - git_stash: replace tracked file with submodule creates empty directory # TODO known breakage
not ok 5 - git_stash: replace directory with submodule # TODO known breakage
not ok 6 - git_stash: removed submodule leaves submodule directory and its contents in place # TODO known breakage
not ok 7 - git_stash: removed submodule leaves submodule containing a .git directory alone # TODO known breakage
ok 8 - git_stash: replace submodule with a directory must fail
ok 9 - git_stash: replace submodule containing a .git directory with a directory must fail
not ok 10 - git_stash: replace submodule with a file must fail # TODO known breakage
not ok 11 - git_stash: replace submodule containing a .git directory with a file must fail # TODO known breakage
not ok 12 - git_stash: modified submodule does not update submodule work tree # TODO known breakage
not ok 13 - git_stash: modified submodule does not update submodule work tree to invalid commit # TODO known breakage
not ok 14 - git_stash: modified submodule does not update submodule work tree from invalid commit # TODO known breakage
# still have 11 known breakage(s)
# passed all remaining 3 test(s)
1..14
*** t3910-mac-os-precompose.sh ***
1..0 # SKIP filesystem does not corrupt utf-8
*** 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.
ok 4 - git diff-files -s after editing work tree
ok 5 - git diff-files --no-patch as synonym for -s
ok 6 - git diff-files --no-patch --patch shows the patch
ok 7 - git diff-files --no-patch --patch-with-raw shows the patch and raw data
ok 8 - git diff-files --patch --no-patch does not show the patch
# passed all 8 test(s)
1..8
*** 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
ok 9 - rename pretty print with nothing in common
ok 10 - rename pretty print with common prefix
ok 11 - rename pretty print with common suffix
ok 12 - rename pretty print with common prefix and suffix
ok 13 - rename pretty print common prefix and suffix overlap
# passed all 13 test(s)
1..13
*** 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 - prepare binary file
# 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 (#1)
ok 4 - run diff with -B and -M (#2)
ok 5 - swap file0 and file1
ok 6 - run diff with -B (#3)
ok 7 - run diff with -B and -M (#4)
ok 8 - make file0 into something completely different
ok 9 - run diff with -B (#5)
ok 10 - run diff with -B -M (#6)
ok 11 - run diff with -M (#7)
ok 12 - file1 edited to look like file0 and file0 rename-edited to file2
ok 13 - run diff with -B (#8)
ok 14 - run diff with -B -C (#9)
# passed all 14 test(s)
1..14
*** 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
ok 14 - setup submodules
ok 15 - diff-tree ignores trailing slash on submodule path
ok 16 - diff multiple wildcard pathspecs
ok 17 - diff-cache ignores trailing slash on submodule path
# passed all 17 test(s)
1..17
*** t4011-diff-symlink.sh ***
ok 1 - diff new symlink and file
ok 2 - diff unchanged symlink and file
ok 3 - diff removed symlink and file
ok 4 - diff identical, but newly created symlink and file
ok 5 - diff different symlink and file
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 - apply --stat output for binary file change
ok 3 - diff --shortstat output for binary file change
ok 4 - diff --shortstat output for binary file change only
ok 5 - apply --numstat notices binary file change
ok 6 - apply --numstat understands diff --binary format
ok 7 - apply detecting corrupt patch correctly
ok 8 - apply detecting corrupt patch correctly
ok 9 - initial commit
ok 10 - diff-index with --binary
ok 11 - apply binary patch
ok 12 - diff --no-index with binary creation
ok 13 - diff --stat with binary files and big change count
# passed all 13 test(s)
1..13
*** 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
ok 147 - diff-tree --stdin with log formatting
# passed all 147 test(s)
1..147
*** t4014-format-patch.sh ***
ok 1 - setup
ok 2 - format-patch --ignore-if-in-upstream
ok 3 - format-patch --ignore-if-in-upstream
ok 4 - format-patch --ignore-if-in-upstream handles tags
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 (ascii)
not ok 15 - additional command line cc (rfc822) # TODO known breakage
ok 16 - command line headers
ok 17 - configuration headers and command line headers
ok 18 - command line To: header (ascii)
not ok 19 - command line To: header (rfc822) # TODO known breakage
not ok 20 - command line To: header (rfc2047) # TODO known breakage
ok 21 - configuration To: header (ascii)
not ok 22 - configuration To: header (rfc822) # TODO known breakage
not ok 23 - configuration To: header (rfc2047) # TODO known breakage
ok 24 - --no-to overrides config.to
ok 25 - --no-to and --to replaces config.to
ok 26 - --no-cc overrides config.cc
ok 27 - --no-add-header overrides config.headers
ok 28 - multiple files
ok 29 - reroll count
ok 30 - reroll count (-v)
ok 31 - no threading
ok 32 - thread
ok 33 - thread in-reply-to
ok 34 - thread cover-letter
ok 35 - thread cover-letter in-reply-to
ok 36 - thread explicit shallow
ok 37 - thread deep
ok 38 - thread deep in-reply-to
ok 39 - thread deep cover-letter
ok 40 - thread deep cover-letter in-reply-to
ok 41 - thread via config
ok 42 - thread deep via config
ok 43 - thread config + override
ok 44 - thread config + --no-thread
ok 45 - excessive subject
ok 46 - cover-letter inherits diff options
ok 47 - shortlog of cover-letter wraps overly-long onelines
ok 48 - format-patch respects -U
ok 49 - format-patch -p suppresses stat
ok 50 - format-patch from a subdirectory (1)
ok 51 - format-patch from a subdirectory (2)
ok 52 - format-patch from a subdirectory (3)
ok 53 - format-patch --in-reply-to
ok 54 - format-patch --signoff
ok 55 - format-patch --notes --signoff
ok 56 - options no longer allowed for format-patch
ok 57 - format-patch --numstat should produce a patch
ok 58 - format-patch -- <path>
ok 59 - format-patch --ignore-if-in-upstream HEAD
ok 60 - format-patch --signature
ok 61 - format-patch with format.signature config
ok 62 - format-patch --signature overrides format.signature
ok 63 - format-patch --no-signature ignores format.signature
ok 64 - format-patch --signature --cover-letter
ok 65 - format.signature="" suppresses signatures
ok 66 - format-patch --no-signature suppresses signatures
ok 67 - format-patch --signature="" suppresses signatures
ok 68 - prepare mail-signature input
ok 69 - --signature-file=file works
ok 70 - format.signaturefile works
ok 71 - --no-signature suppresses format.signaturefile 
ok 72 - --signature-file overrides format.signaturefile
ok 73 - --signature overrides format.signaturefile
ok 74 # skip format-patch --stdout paginates (missing TTY)
ok 75 # skip format-patch --stdout pagination can be disabled (missing TTY)
ok 76 - format-patch handles multi-line subjects
ok 77 - format-patch handles multi-line encoded subjects
ok 78 - format-patch wraps extremely long subject (ascii)
ok 79 - format-patch wraps extremely long subject (rfc2047)
ok 80 - format-patch quotes dot in from-headers
ok 81 - format-patch quotes double-quote in from-headers
ok 82 - format-patch uses rfc2047-encoded from-headers when necessary
ok 83 - rfc2047-encoded from-headers leave no rfc822 specials
ok 84 - format-patch wraps moderately long from-header (ascii)
ok 85 - format-patch wraps extremely long from-header (ascii)
ok 86 - format-patch wraps extremely long from-header (rfc822)
ok 87 - format-patch wraps extremely long from-header (rfc2047)
ok 88 - subject lines do not have 822 atom-quoting
ok 89 - subject prefixes have space prepended
ok 90 - empty subject prefix does not have extra space
ok 91 - --from=ident notices bogus ident
ok 92 - --from=ident replaces author
ok 93 - --from uses committer ident
ok 94 - --from omits redundant in-body header
ok 95 - in-body headers trigger content encoding
ok 96 - signoff: commit with no body
ok 97 - signoff: commit with only subject
ok 98 - signoff: commit with only subject that does not end with NL
ok 99 - signoff: no existing signoffs
ok 100 - signoff: no existing signoffs and no trailing NL
ok 101 - signoff: some random signoff
ok 102 - signoff: misc conforming footer elements
ok 103 - signoff: some random signoff-alike
ok 104 - signoff: not really a signoff
ok 105 - signoff: not really a signoff (2)
ok 106 - signoff: valid S-o-b paragraph in the middle
ok 107 - signoff: the same signoff at the end
ok 108 - signoff: the same signoff at the end, no trailing NL
ok 109 - signoff: the same signoff NOT at the end
ok 110 - signoff: detect garbage in non-conforming footer
ok 111 - signoff: footer begins with non-signoff without @ sign
ok 112 - format patch ignores color.ui
ok 113 - cover letter using branch description (1)
ok 114 - cover letter using branch description (2)
ok 115 - cover letter using branch description (3)
ok 116 - cover letter using branch description (4)
ok 117 - cover letter using branch description (5)
ok 118 - cover letter using branch description (6)
ok 119 - cover letter with nothing
ok 120 - cover letter auto
ok 121 - cover letter auto user override
# still have 5 known breakage(s)
# passed all remaining 116 test(s)
1..121
*** t4015-diff-whitespace.sh ***
ok 1 - Ray Lehtiniemi's example
ok 2 - another test, without options
ok 3 - ignore-blank-lines: only new lines
ok 4 - ignore-blank-lines: only new lines with space
ok 5 - ignore-blank-lines: after change
ok 6 - ignore-blank-lines: before change
ok 7 - ignore-blank-lines: between changes
ok 8 - ignore-blank-lines: between changes (with interhunkctx)
ok 9 - ignore-blank-lines: scattered spaces
ok 10 - ignore-blank-lines: spaces coalesce
ok 11 - ignore-blank-lines: mix changes and blank lines
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
ok 57 - diff that introduces and removes ws breakages
ok 58 - the same with --ws-error-highlight
# passed all 58 test(s)
1..58
*** t4016-diff-quote.sh ***
ok 1 - setup
ok 2 - setup expected files
ok 3 - git diff --summary -M HEAD
ok 4 - git diff --numstat -M HEAD
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 - setup
ok 2 - builtin ada pattern compiles
ok 3 - builtin ada wordRegex pattern compiles
ok 4 - builtin bibtex pattern compiles
ok 5 - builtin bibtex wordRegex pattern compiles
ok 6 - builtin cpp pattern compiles
ok 7 - builtin cpp wordRegex pattern compiles
ok 8 - builtin csharp pattern compiles
ok 9 - builtin csharp wordRegex pattern compiles
ok 10 - builtin fortran pattern compiles
ok 11 - builtin fortran wordRegex pattern compiles
ok 12 - builtin fountain pattern compiles
ok 13 - builtin fountain wordRegex pattern compiles
ok 14 - builtin html pattern compiles
ok 15 - builtin html wordRegex pattern compiles
ok 16 - builtin java pattern compiles
ok 17 - builtin java wordRegex pattern compiles
ok 18 - builtin matlab pattern compiles
ok 19 - builtin matlab wordRegex pattern compiles
ok 20 - builtin objc pattern compiles
ok 21 - builtin objc wordRegex pattern compiles
ok 22 - builtin pascal pattern compiles
ok 23 - builtin pascal wordRegex pattern compiles
ok 24 - builtin perl pattern compiles
ok 25 - builtin perl wordRegex pattern compiles
ok 26 - builtin php pattern compiles
ok 27 - builtin php wordRegex pattern compiles
ok 28 - builtin python pattern compiles
ok 29 - builtin python wordRegex pattern compiles
ok 30 - builtin ruby pattern compiles
ok 31 - builtin ruby wordRegex pattern compiles
ok 32 - builtin tex pattern compiles
ok 33 - builtin tex wordRegex pattern compiles
ok 34 - builtin custom1 pattern compiles
ok 35 - builtin custom1 wordRegex pattern compiles
ok 36 - builtin custom2 pattern compiles
ok 37 - builtin custom2 wordRegex pattern compiles
ok 38 - builtin custom3 pattern compiles
ok 39 - builtin custom3 wordRegex pattern compiles
ok 40 - last regexp must not be negated
ok 41 - setup hunk header tests
ok 42 - hunk header: README
ok 43 - hunk header: cpp-c++-function
ok 44 - hunk header: cpp-class-constructor
ok 45 - hunk header: cpp-class-constructor-mem-init
ok 46 - hunk header: cpp-class-definition
ok 47 - hunk header: cpp-class-definition-derived
ok 48 - hunk header: cpp-class-destructor
ok 49 - hunk header: cpp-function-returning-global-type
ok 50 - hunk header: cpp-function-returning-nested
ok 51 - hunk header: cpp-function-returning-pointer
ok 52 - hunk header: cpp-function-returning-reference
ok 53 - hunk header: cpp-gnu-style-function
ok 54 - hunk header: cpp-namespace-definition
ok 55 - hunk header: cpp-operator-definition
ok 56 - hunk header: cpp-skip-access-specifiers
ok 57 - hunk header: cpp-skip-comment-block
ok 58 - hunk header: cpp-skip-labels
ok 59 - hunk header: cpp-struct-definition
ok 60 - hunk header: cpp-struct-single-line
ok 61 - hunk header: cpp-template-function-definition
ok 62 - hunk header: cpp-union-definition
ok 63 - hunk header: cpp-void-c-function
ok 64 - hunk header: custom1-pattern
ok 65 - hunk header: custom2-match-to-end-of-line
ok 66 - hunk header: custom3-alternation-in-pattern
ok 67 - hunk header: fountain-scene
ok 68 - hunk header: java-class-member-function
ok 69 - hunk header: perl-skip-end-of-heredoc
ok 70 - hunk header: perl-skip-forward-decl
ok 71 - hunk header: perl-skip-sub-in-pod
ok 72 - hunk header: perl-sub-definition
ok 73 - hunk header: perl-sub-definition-kr-brace
# passed all 73 test(s)
1..73
*** 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 - typechange diff
ok 6 - diff.external
ok 7 - diff.external should apply only to diff
ok 8 - diff.external and --no-ext-diff
ok 9 - diff attribute
ok 10 - diff attribute should apply only to diff
ok 11 - diff attribute and --no-ext-diff
ok 12 - diff attribute
ok 13 - diff attribute should apply only to diff
ok 14 - diff attribute and --no-ext-diff
ok 15 - GIT_EXTERNAL_DIFF trumps diff.external
ok 16 - attributes trump GIT_EXTERNAL_DIFF and diff.external
ok 17 - no diff with -diff
ok 18 - force diff with "diff"
ok 19 - GIT_EXTERNAL_DIFF with more than one changed files
ok 20 - GIT_EXTERNAL_DIFF path counter/total
ok 21 - GIT_EXTERNAL_DIFF generates pretty paths
ok 22 - external diff with autocrlf = true
ok 23 - diff --cached
ok 24 - clean up crlf leftovers
ok 25 - submodule diff
# passed all 25 test(s)
1..25
*** 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
ok 7 - prepare a file that ends with an incomplete line
ok 8 - rewrite the middle 90% of sequence file and terminate with newline
ok 9 - confirm that sequence file is considered a rewrite
ok 10 - no newline at eof is on its own line without -B
ok 11 - no newline at eof is on its own line with -B
# passed all 11 test(s)
1..11
*** 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 - attr negation
ok 9 - long color specification
ok 10 - absurdly long color specification
ok 11 - 0-7 are aliases for basic ANSI color names
ok 12 - 256 colors
ok 13 - 24-bit colors
ok 14 - "normal" yields no color at all"
ok 15 - -1 is a synonym for "normal"
ok 16 - color too small
ok 17 - color too big
ok 18 - extra character after color number
ok 19 - extra character after color name
ok 20 - extra character after attribute
ok 21 - unknown color slots are ignored (diff)
ok 22 - unknown color slots are ignored (branch)
ok 23 - unknown color slots are ignored (status)
# passed all 23 test(s)
1..23
*** 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 - show commit produces text
ok 7 - diff-tree produces binary
ok 8 - log produces text
ok 9 - format-patch produces binary
ok 10 - status -v produces text
ok 11 - show blob produces binary
ok 12 - show --textconv blob produces text
ok 13 - show --no-textconv blob produces binary
ok 14 - grep-diff (-G) operates on textconv data (add)
ok 15 - grep-diff (-G) operates on textconv data (modification)
ok 16 - pickaxe (-S) operates on textconv data (add)
ok 17 - pickaxe (-S) operates on textconv data (modification)
ok 18 - diffstat does not run textconv
ok 19 - textconv does not act on symlinks
# passed all 19 test(s)
1..19
*** 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 --numstat shows binary changes
ok 6 - diff --stat counts binary rewrite as 0 lines
ok 7 - setup textconv
ok 8 - rewrite diff respects textconv
# passed all 8 test(s)
1..8
*** 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 - unset default driver
ok 22 - diff driver 'ada'
ok 23 - diff driver 'bibtex'
ok 24 - diff driver 'cpp'
ok 25 - diff driver 'csharp'
ok 26 - diff driver 'fortran'
ok 27 - diff driver 'html'
ok 28 - diff driver 'java'
ok 29 - diff driver 'matlab'
ok 30 - diff driver 'objc'
ok 31 - diff driver 'pascal'
ok 32 - diff driver 'perl'
ok 33 - diff driver 'php'
ok 34 - diff driver 'python'
ok 35 - diff driver 'ruby'
ok 36 - diff driver 'tex'
ok 37 - word-diff with diff.sbe
ok 38 - word-diff with no newline at EOF
ok 39 - setup history with two files
ok 40 - wordRegex for the first file does not apply to the second
# passed all 40 test(s)
1..40
*** 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
ok 15 - git diff, one file outside repo
ok 16 - git diff, both files outside repo
ok 17 - git diff --ignore-space-at-eol, one file outside repo
ok 18 - git diff --ignore-space-at-eol, both files outside repo
ok 19 - git diff --ignore-all-space, one file outside repo
ok 20 - git diff --ignore-all-space, both files outside repo
ok 21 - git diff --quiet ignores stat-change only entries
# passed all 21 test(s)
1..21
*** 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
ok 5 - setup for --cc --raw
ok 6 - check --cc --raw with four trees
ok 7 - check --cc --raw with forty trees
ok 8 - setup combined ignore spaces
ok 9 - check combined output (no ignore space)
ok 10 - check combined output (ignore space at eol)
ok 11 - check combined output (ignore space change)
ok 12 - check combined output (ignore all spaces)
ok 13 - combine diff coalesce simple
ok 14 - combine diff coalesce tricky
not ok 15 - combine diff coalesce three parents # TODO known breakage
ok 16 - combine diff missing delete bug
ok 17 - combine diff gets tree sorting right
# still have 1 known breakage(s)
# passed all remaining 16 test(s)
1..17
*** 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
ok 4 - find-copies-harder is not confused by mode bits
# passed all 4 test(s)
1..4
*** 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 - added submodule, set diff.submodule
ok 3 - --submodule=short overrides diff.submodule
ok 4 - diff.submodule does not affect plumbing
ok 5 - modified submodule(forward)
ok 6 - modified submodule(forward)
ok 7 - modified submodule(forward) --submodule
ok 8 - modified submodule(forward) --submodule=short
ok 9 - modified submodule(backward)
ok 10 - modified submodule(backward and forward)
ok 11 - typechanged submodule(submodule->blob), --cached
ok 12 - typechanged submodule(submodule->blob)
ok 13 - typechanged submodule(submodule->blob)
ok 14 - nonexistent commit
ok 15 - typechanged submodule(blob->submodule)
ok 16 - submodule is up to date
ok 17 - submodule contains untracked content
ok 18 - submodule contains untracked content (untracked ignored)
ok 19 - submodule contains untracked content (dirty ignored)
ok 20 - submodule contains untracked content (all ignored)
ok 21 - submodule contains untracked and modifed content
ok 22 - submodule contains untracked and modifed content (untracked ignored)
ok 23 - submodule contains untracked and modifed content (dirty ignored)
ok 24 - submodule contains untracked and modifed content (all ignored)
ok 25 - submodule contains modifed content
ok 26 - submodule is modified
ok 27 - modified submodule contains untracked content
ok 28 - modified submodule contains untracked content (untracked ignored)
ok 29 - modified submodule contains untracked content (dirty ignored)
ok 30 - modified submodule contains untracked content (all ignored)
ok 31 - modified submodule contains untracked and modifed content
ok 32 - modified submodule contains untracked and modifed content (untracked ignored)
ok 33 - modified submodule contains untracked and modifed content (dirty ignored)
ok 34 - modified submodule contains untracked and modifed content (all ignored)
ok 35 - modified submodule contains modifed content
ok 36 - deleted submodule
ok 37 - multiple submodules
ok 38 - path filter
ok 39 - given commit
ok 40 - given commit --submodule
ok 41 - given commit --submodule=short
ok 42 - setup .git file for sm2
ok 43 - diff --submodule with .git file
ok 44 - diff --submodule with objects referenced by alternates
# passed all 44 test(s)
1..44
*** 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
ok 7 - log notes cache and still use cache for -p
# passed all 7 test(s)
1..7
*** 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 - --numstat --relative=subdir/
ok 6 - --numstat --relative=subdir
ok 7 - --numstat --relative=sub
ok 8 - --stat --relative=subdir/
ok 9 - --stat --relative=subdir
ok 10 - --stat --relative=sub
ok 11 - --raw --relative=subdir/
ok 12 - --raw --relative=subdir
ok 13 - --raw --relative=sub
# passed all 13 test(s)
1..13
*** 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 (--numstat)
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
ok 41 - --shortstat --dirstat should output only one dirstat
# passed all 41 test(s)
1..41
*** 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
ok 2 - mode-only change show as a 0-line change
ok 3 - binary changes do not count in lines
ok 4 - exclude unmerged entries from total file count
# passed all 4 test(s)
1..4
*** 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
*** t4052-stat-output.sh ***
ok 1 - preparation
ok 2 - format-patch: small change with long name gives more space to the name
ok 3 - format-patch --stat=width: a long name is given more room when the bar is short
ok 4 - format-patch --stat-width=width with long name
ok 5 - format-patch --stat=...,name-width with long name
ok 6 - format-patch --stat-name-width with long name
ok 7 - diff: small change with long name gives more space to the name
ok 8 - diff --stat=width: a long name is given more room when the bar is short
ok 9 - diff --stat-width=width with long name
ok 10 - diff --stat=...,name-width with long name
ok 11 - diff --stat-name-width with long name
ok 12 - show: small change with long name gives more space to the name
ok 13 - show --stat=width: a long name is given more room when the bar is short
ok 14 - show --stat-width=width with long name
ok 15 - show --stat=...,name-width with long name
ok 16 - show --stat-name-width with long name
ok 17 - log: small change with long name gives more space to the name
ok 18 - log --stat=width: a long name is given more room when the bar is short
ok 19 - log --stat-width=width with long name
ok 20 - log --stat=...,name-width with long name
ok 21 - log --stat-name-width with long name
ok 22 - preparation for big change tests
ok 23 - format-patch ignores COLUMNS (big change)
ok 24 - format-patch --graph ignores COLUMNS (big change)
ok 25 - diff respects COLUMNS (big change)
ok 26 - show respects COLUMNS (big change)
ok 27 - log respects COLUMNS (big change)
ok 28 - log --graph respects COLUMNS (big change)
ok 29 - format-patch ignores not enough COLUMNS (big change)
ok 30 - format-patch --graph ignores not enough COLUMNS (big change)
ok 31 - diff respects not enough COLUMNS (big change)
ok 32 - show respects not enough COLUMNS (big change)
ok 33 - log respects not enough COLUMNS (big change)
ok 34 - log --graph respects not enough COLUMNS (big change)
ok 35 - format-patch ignores statGraphWidth config
ok 36 - format-patch --graph ignores statGraphWidth config
ok 37 - diff respects statGraphWidth config
ok 38 - show respects statGraphWidth config
ok 39 - log respects statGraphWidth config
ok 40 - log --graph respects statGraphWidth config
ok 41 - format-patch --stat=width with big change
ok 42 - format-patch --stat-width=width with big change
ok 43 - format-patch --stat-graph-width with big change
ok 44 - format-patch --stat-width=width --graph with big change
ok 45 - format-patch --stat-graph-width --graph with big change
ok 46 - diff --stat=width with big change
ok 47 - diff --stat-width=width with big change
ok 48 - diff --stat-graph-width with big change
ok 49 - show --stat=width with big change
ok 50 - show --stat-width=width with big change
ok 51 - show --stat-graph-width with big change
ok 52 - log --stat=width with big change
ok 53 - log --stat-width=width with big change
ok 54 - log --stat-graph-width with big change
ok 55 - log --stat-width=width --graph with big change
ok 56 - log --stat-graph-width --graph with big change
ok 57 - preparation for long filename tests
ok 58 - format-patch --stat=width with big change is more balanced
ok 59 - format-patch --stat=width --graph with big change is balanced
ok 60 - diff --stat=width with big change is more balanced
ok 61 - show --stat=width with big change is more balanced
ok 62 - log --stat=width with big change is more balanced
ok 63 - log --stat=width --graph with big change is balanced
ok 64 - format-patch ignores COLUMNS (long filename)
ok 65 - format-patch --graph ignores COLUMNS (long filename)
ok 66 - diff respects COLUMNS (long filename)
ok 67 - show respects COLUMNS (long filename)
ok 68 - log respects COLUMNS (long filename)
ok 69 - log --graph respects COLUMNS (long filename)
ok 70 - format-patch ignores prefix greater than COLUMNS (big change)
ok 71 - format-patch --graph ignores prefix greater than COLUMNS (big change)
ok 72 - diff respects prefix greater than COLUMNS (big change)
ok 73 - show respects prefix greater than COLUMNS (big change)
ok 74 - log respects prefix greater than COLUMNS (big change)
ok 75 - log --graph respects prefix greater than COLUMNS (big change)
ok 76 - merge --stat respects COLUMNS (big change)
ok 77 - merge --stat respects COLUMNS (long filename)
# passed all 77 test(s)
1..77
*** t4053-diff-no-index.sh ***
ok 1 - setup
ok 2 - git diff --no-index directories
ok 3 - git diff --no-index relative path outside repo
ok 4 - git diff --no-index with broken index
ok 5 - git diff outside repo with broken index
ok 6 - git diff --no-index executed outside repo gives correct error message
ok 7 - diff D F and diff F D
ok 8 - turning a file into a directory
# passed all 8 test(s)
1..8
*** t4054-diff-bogus-tree.sh ***
ok 1 - create bogus tree
ok 2 - create tree with matching file
ok 3 - raw diff shows null sha1 (addition)
ok 4 - raw diff shows null sha1 (removal)
ok 5 - raw diff shows null sha1 (modification)
ok 6 - raw diff shows null sha1 (other direction)
ok 7 - raw diff shows null sha1 (reverse)
ok 8 - raw diff shows null sha1 (index)
ok 9 - patch fails due to bogus sha1 (addition)
ok 10 - patch fails due to bogus sha1 (removal)
ok 11 - patch fails due to bogus sha1 (modification)
ok 12 - patch fails due to bogus sha1 (other direction)
ok 13 - patch fails due to bogus sha1 (reverse)
ok 14 - patch fails due to bogus sha1 (index)
# passed all 14 test(s)
1..14
*** t4055-diff-context.sh ***
ok 1 - setup
ok 2 - the default number of context lines is 3
ok 3 - diff.context honored by "log"
ok 4 - The -U option overrides diff.context
ok 5 - diff.context honored by "diff"
ok 6 - plumbing not affected
ok 7 - non-integer config parsing
ok 8 - negative integer config parsing
ok 9 - -U0 is valid, so is diff.context=0
# passed all 9 test(s)
1..9
*** t4056-diff-order.sh ***
ok 1 - setup
ok 2 - no order (=tree object order)
ok 3 - missing orderfile
ok 4 - unreadable orderfile
ok 5 - orderfile using option (1)
ok 6 - orderfile is fifo (1)
ok 7 - orderfile using config (1)
ok 8 - cancelling configured orderfile (1)
ok 9 - orderfile using option (2)
ok 10 - orderfile is fifo (2)
ok 11 - orderfile using config (2)
ok 12 - cancelling configured orderfile (2)
ok 13 - setup for testing combine-diff order
ok 14 - combine-diff: no order (=tree object order)
ok 15 - combine-diff: orderfile using option (1)
ok 16 - combine-diff: orderfile using option (2)
# passed all 16 test(s)
1..16
*** t4057-diff-combined-paths.sh ***
ok 1 - trivial merge - combine-diff empty
ok 2 - only one trully conflicting path
ok 3 - merge introduces new file
ok 4 - merge removed a file
# passed all 4 test(s)
1..4
*** t4058-diff-duplicates.sh ***
ok 1 - create trees with duplicate entries
ok 2 - diff-tree between trees
ok 3 - diff-tree with renames
# 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 -p0 diff -- should not fail.
ok 4 - stat binary diff (copy) -- should not fail.
ok 5 - check binary diff -- should fail.
ok 6 - check binary diff (copy) -- should fail.
ok 7 - check incomplete binary diff with replacement -- should fail.
ok 8 - check incomplete binary diff with replacement (copy) -- should fail.
ok 9 - check binary diff with replacement.
ok 10 - check binary diff with replacement (copy).
ok 11 - apply binary diff -- should fail.
ok 12 - apply binary diff -- should fail.
ok 13 - apply binary diff (copy) -- should fail.
ok 14 - apply binary diff (copy) -- should fail.
ok 15 - apply binary diff with full-index
ok 16 - apply binary diff with full-index (copy)
ok 17 - apply full-index binary diff in new repo
ok 18 - apply binary diff without replacement.
ok 19 - apply binary diff without replacement (copy).
ok 20 - apply binary diff.
ok 21 - apply binary diff (copy).
ok 22 - apply binary -p0 diff
# passed all 22 test(s)
1..22
*** 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 fails (leading whitespace differences matter)
ok 9 - re-create file (with --ignore-whitespace)
ok 10 - patch5 fails (--no-ignore-whitespace)
# passed all 10 test(s)
1..10
*** t4108-apply-threeway.sh ***
ok 1 - setup
ok 2 - apply without --3way
ok 3 - apply with --3way
ok 4 - apply with --3way with rerere enabled
ok 5 - apply -3 with add/add conflict setup
ok 6 - apply -3 with add/add conflict
ok 7 - apply -3 with add/add conflict (dirty working tree)
# passed all 7 test(s)
1..7
*** 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 half-broken patch from subdir of toplevel
ok 7 - apply from .git dir
ok 8 - apply from subdir of .git dir
ok 9 - apply --cached from .git dir
ok 10 - apply --cached from subdir of .git dir
# passed all 10 test(s)
1..10
*** 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 --reject is incompatible with --3way
ok 3 - apply without --reject should fail
ok 4 - apply without --reject should fail
ok 5 - apply with --reject should fail but update the file
ok 6 - apply with --reject should fail but update the file
ok 7 - the same test with --verbose
ok 8 - apply cleanly with --verbose
# passed all 8 test(s)
1..8
*** 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
ok 11 - in subdir with traditional patch input
# passed all 11 test(s)
1..11
*** 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
ok 4 - do not read from beyond symbolic link
ok 5 - do not follow symbolic link (setup)
ok 6 - do not follow symbolic link (same input)
ok 7 - do not follow symbolic link (existing)
# passed all 7 test(s)
1..7
*** 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
ok 75 - whitespace=fix to expand
ok 76 - whitespace check skipped for excluded paths
# passed all 76 test(s)
1..76
*** 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
ok 3 - apply exits non-zero with no-op patch
# passed all 3 test(s)
1..3
*** t4137-apply-submodule.sh ***
ok 1 - apply_index: added submodule creates empty directory
ok 2 - apply_index: added submodule leaves existing empty directory alone
ok 3 - apply_index: added submodule doesn't remove untracked unignored file with same name
ok 4 - apply_index: replace tracked file with submodule creates empty directory
ok 5 - apply_index: replace directory with submodule
ok 6 - apply_index: removed submodule leaves submodule directory and its contents in place
ok 7 - apply_index: removed submodule leaves submodule containing a .git directory alone
ok 8 - apply_index: replace submodule with a directory must fail
ok 9 - apply_index: replace submodule containing a .git directory with a directory must fail
not ok 10 - apply_index: replace submodule with a file must fail # TODO known breakage
not ok 11 - apply_index: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 12 - apply_index: modified submodule does not update submodule work tree
ok 13 - apply_index: modified submodule does not update submodule work tree to invalid commit
ok 14 - apply_index: modified submodule does not update submodule work tree from invalid commit
ok 15 - apply_3way: added submodule creates empty directory
ok 16 - apply_3way: added submodule leaves existing empty directory alone
ok 17 - apply_3way: added submodule doesn't remove untracked unignored file with same name
ok 18 - apply_3way: replace tracked file with submodule creates empty directory
ok 19 - apply_3way: replace directory with submodule
ok 20 - apply_3way: removed submodule leaves submodule directory and its contents in place
ok 21 - apply_3way: removed submodule leaves submodule containing a .git directory alone
ok 22 - apply_3way: replace submodule with a directory must fail
ok 23 - apply_3way: replace submodule containing a .git directory with a directory must fail
not ok 24 - apply_3way: replace submodule with a file must fail # TODO known breakage
not ok 25 - apply_3way: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 26 - apply_3way: modified submodule does not update submodule work tree
ok 27 - apply_3way: modified submodule does not update submodule work tree to invalid commit
ok 28 - apply_3way: modified submodule does not update submodule work tree from invalid commit
# still have 4 known breakage(s)
# passed all remaining 24 test(s)
1..28
*** t4138-apply-ws-expansion.sh ***
ok 1 - setup
ok 2 - apply with ws expansion (t=$t)
ok 3 - apply with ws expansion (t=$t)
ok 4 - apply with ws expansion (t=$t)
ok 5 - apply with ws expansion (t=$t)
# passed all 5 test(s)
1..5
*** t4139-apply-escape.sh ***
ok 1 - bump git repo one level down
ok 2 - cannot create file containing ..
ok 3 - can create file containing .. with --unsafe-paths
ok 4 - cannot create file containing .. (index)
ok 5 - cannot create file containing .. with --unsafe-paths (index)
ok 6 - cannot delete file containing ..
ok 7 - can delete file containing .. with --unsafe-paths
ok 8 - cannot delete file containing .. (index)
ok 9 - symlink escape via ..
ok 10 - symlink escape via .. (index)
ok 11 - symlink escape via absolute path
ok 12 - symlink escape via absolute path (index)
# passed all 12 test(s)
1..12
*** t4150-am.sh ***
ok 1 - setup: messages
ok 2 - setup
ok 3 - am applies patch correctly
ok 4 - am fails if index is dirty
ok 5 - am applies patch e-mail not in a mbox
ok 6 - am applies patch e-mail not in a mbox with CRLF
ok 7 - am applies patch e-mail with preceding whitespace
ok 8 - am applies stgit patch
ok 9 - am --patch-format=stgit applies stgit patch
ok 10 - am applies stgit series
ok 11 - am applies hg patch
ok 12 - am --patch-format=hg applies hg patch
ok 13 - am with applypatch-msg hook
ok 14 - am with failing applypatch-msg hook
ok 15 - am with pre-applypatch hook
ok 16 - am with failing pre-applypatch hook
ok 17 - am with post-applypatch hook
ok 18 - am with failing post-applypatch hook
ok 19 - am --scissors cuts the message at the scissors line
ok 20 - am --no-scissors overrides mailinfo.scissors
ok 21 - setup: new author and committer
ok 22 - am changes committer and keeps author
ok 23 - am --signoff adds Signed-off-by: line
ok 24 - am stays in branch
ok 25 - am --signoff does not add Signed-off-by: line if already there
ok 26 - am without --keep removes Re: and [PATCH] stuff
ok 27 - am --keep really keeps the subject
ok 28 - am --keep-non-patch really keeps the non-patch part
ok 29 - setup am -3
ok 30 - am -3 falls back to 3-way merge
ok 31 - am -3 -p0 can read --no-prefix patch
ok 32 - am with config am.threeWay falls back to 3-way merge
ok 33 - am with config am.threeWay overridden by --no-3way
ok 34 - am can rename a file
ok 35 - am -3 can rename a file
ok 36 - am -3 can rename a file after falling back to 3-way merge
ok 37 - am -3 -q is quiet
ok 38 - am pauses on conflict
ok 39 - am --skip works
ok 40 - am --abort removes a stray directory
ok 41 - am refuses patches when paused
ok 42 - am --resolved works
ok 43 - am --resolved fails if index has no changes
ok 44 - am --resolved fails if index has unmerged entries
ok 45 - am takes patches from a Pine mailbox
ok 46 - am fails on mail without patch
ok 47 - am fails on empty patch
ok 48 - am works from stdin in subdirectory
ok 49 - am works from file (relative path given) in subdirectory
ok 50 - am works from file (absolute path given) in subdirectory
ok 51 - am --committer-date-is-author-date
ok 52 - am without --committer-date-is-author-date
ok 53 - am --ignore-date
ok 54 - am into an unborn branch
ok 55 - am newline in subject
ok 56 - am -q is quiet
ok 57 - am empty-file does not infloop
ok 58 - am --message-id really adds the message id
ok 59 - am.messageid really adds the message id
ok 60 - am --message-id -s signs off after the message id
ok 61 - am -3 works with rerere
ok 62 - am -s unexpected trailer block
# passed all 62 test(s)
1..62
*** 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 -3 --skip removes otherfile-4
ok 9 - am -3 --abort removes otherfile-4
ok 10 - am --abort will keep the local commits intact
ok 11 - am --abort will keep dirty index intact
ok 12 - am -3 stops on conflict on unborn branch
ok 13 - am -3 --skip clears index on unborn branch
ok 14 - am -3 --abort removes otherfile-4 on unborn branch
ok 15 - am -3 --abort on unborn branch removes applied commits
ok 16 - am --abort on unborn branch will keep local commits intact
ok 17 - am --skip leaves index stat info alone
ok 18 - am --abort leaves index stat info alone
# passed all 18 test(s)
1..18
*** 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
*** t4153-am-resume-override-opts.sh ***
ok 1 - setup
ok 2 # skip --3way overrides --no-3way (missing TTY)
ok 3 - --no-quiet overrides --quiet
ok 4 - --signoff overrides --no-signoff
ok 5 # skip --reject overrides --no-reject (missing TTY)
# passed all 5 test(s)
1..5
*** 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 should add newline when input line matches wraplen
ok 9 - shortlog encoding
ok 10 - shortlog ignores commits with missing authors
ok 11 - shortlog with revision pseudo options
# passed all 11 test(s)
1..11
*** t4202-log.sh ***
You do not seem to have gpg installed
ok 1 - setup
ok 2 - pretty
ok 3 - pretty (tformat)
ok 4 - pretty (shortcut)
ok 5 - format
ok 6 - format %w(11,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 config log.follow works like --follow
ok 16 - git config log.follow does not die with multiple paths
ok 17 - git config log.follow does not die with no paths
ok 18 - git config log.follow is overridden by --no-follow
ok 19 - git log --no-walk <commits> sorts by commit time
ok 20 - git log --no-walk=sorted <commits> sorts by commit time
ok 21 - git log --no-walk=unsorted <commits> leaves list of commits as given
ok 22 - git show <commits> leaves list of commits as given
ok 23 - setup case sensitivity tests
ok 24 - log --grep
ok 25 - log --invert-grep --grep
ok 26 - log --invert-grep --grep -i
ok 27 - log --grep option parsing
ok 28 - log -i --grep
ok 29 - log --grep -i
ok 30 - log -F -E --grep=<ere> uses ere
ok 31 - simple log --graph
ok 32 - set up merge history
ok 33 - log --graph with merge
ok 34 - log --raw --graph -m with merge
ok 35 - diff-tree --graph
ok 36 - log --graph with full output
ok 37 - set up more tangled history
ok 38 - log --graph with merge
ok 39 - log.decorate configuration
ok 40 - reflog is expected format
ok 41 - whatchanged is expected format
ok 42 - log.abbrevCommit configuration
ok 43 - show added path under "--follow -M"
ok 44 - git log -c --follow
ok 45 - log --graph with diff and stats
ok 46 - dotdot is a parent directory
ok 47 # skip log --graph --show-signature (missing GPG)
ok 48 # skip log --graph --show-signature for merged tag (missing GPG)
ok 49 - log --graph --no-walk is forbidden
ok 50 - log diagnoses bogus HEAD
# passed all 50 test(s)
1..50
*** t4203-mailmap.sh ***
ok 1 - setup
ok 2 - check-mailmap no arguments
ok 3 - check-mailmap arguments
ok 4 - check-mailmap --stdin
ok 5 - check-mailmap --stdin arguments
ok 6 - check-mailmap bogus contact
ok 7 - No mailmap
ok 8 - default .mailmap
ok 9 - mailmap.file set
ok 10 - mailmap.file override
ok 11 - mailmap.file non-existent
ok 12 - name entry after email entry
ok 13 - name entry after email entry, case-insensitive
ok 14 - No mailmap files, but configured
ok 15 - setup mailmap blob tests
ok 16 - mailmap.blob set
ok 17 - mailmap.blob overrides .mailmap
ok 18 - mailmap.file overrides mailmap.blob
ok 19 - mailmap.blob can be missing
ok 20 - mailmap.blob defaults to off in non-bare repo
ok 21 - mailmap.blob defaults to HEAD:.mailmap in bare repo
ok 22 - mailmap.blob can handle blobs without trailing newline
ok 23 - cleanup after mailmap.blob tests
ok 24 - single-character name
ok 25 - preserve canonical email case
ok 26 - Shortlog output (complex mapping)
ok 27 - Log output (complex mapping)
ok 28 - Log output with --use-mailmap
ok 29 - Log output with log.mailmap
ok 30 - Grep author with --use-mailmap
ok 31 - Grep author with log.mailmap
ok 32 - Only grep replaced author with --use-mailmap
ok 33 - Blame output (complex mapping)
ok 34 - commit --author honors mailmap
# passed all 34 test(s)
1..34
*** 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 - file order is irrelevant with --stable
ok 8 - file order is relevant with --unstable
ok 9 - default is unstable
ok 10 - patchid.stable = true is stable
ok 11 - patchid.stable = false is unstable
ok 12 - --unstable overrides patchid.stable = true
ok 13 - --stable overrides patchid.stable = false
ok 14 - patch-id supports git-format-patch MIME output
ok 15 - patch-id handles no-nl-at-eof markers
# passed all 15 test(s)
1..15
*** 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 with %s (ISO8859-1 encoding)
ok 6 - alias user-defined tformat with %s (utf-8 encoding)
ok 7 - alias user-defined tformat
ok 8 - alias non-existent format
ok 9 - alias of an alias
ok 10 - alias masking an alias
ok 11 - alias loop
ok 12 - NUL separation
ok 13 - NUL termination
ok 14 - NUL separation with --stat
not ok 15 - NUL termination with --stat # TODO known breakage
ok 16 - setup more commits
ok 17 - left alignment formatting
ok 18 - left alignment formatting. i18n.logOutputEncoding
ok 19 - left alignment formatting at the nth column
ok 20 - left alignment formatting at the nth column. i18n.logOutputEncoding
ok 21 - left alignment formatting with no padding
ok 22 - left alignment formatting with no padding. i18n.logOutputEncoding
ok 23 - left alignment formatting with trunc
ok 24 - left alignment formatting with trunc. i18n.logOutputEncoding
ok 25 - left alignment formatting with ltrunc
ok 26 - left alignment formatting with ltrunc. i18n.logOutputEncoding
ok 27 - left alignment formatting with mtrunc
ok 28 - left alignment formatting with mtrunc. i18n.logOutputEncoding
ok 29 - right alignment formatting
ok 30 - right alignment formatting. i18n.logOutputEncoding
ok 31 - right alignment formatting at the nth column
ok 32 - right alignment formatting at the nth column. i18n.logOutputEncoding
ok 33 - right alignment formatting with no padding
ok 34 - right alignment formatting with no padding. i18n.logOutputEncoding
ok 35 - center alignment formatting
ok 36 - center alignment formatting. i18n.logOutputEncoding
ok 37 - center alignment formatting at the nth column
ok 38 - center alignment formatting at the nth column. i18n.logOutputEncoding
ok 39 - center alignment formatting with no padding
ok 40 - center alignment formatting with no padding. i18n.logOutputEncoding
ok 41 - left/right alignment formatting with stealing
ok 42 - left/right alignment formatting with stealing. i18n.logOutputEncoding
ok 43 - strbuf_utf8_replace() not producing NUL
ok 44 - ISO and ISO-strict date formats display the same values
ok 45 - log decoration properly follows tag chain
ok 46 - clean log decoration
# still have 1 known breakage(s)
# passed all remaining 45 test(s)
1..46
*** 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 not be ambiguous
ok 3 - "git log :/a" should be ambiguous (applied both rev and worktree)
ok 4 - "git log :/a -- " should not be ambiguous
ok 5 - "git log -- :/a" should not be ambiguous
ok 6 - "git log :" should be ambiguous
ok 7 - git log -- :
ok 8 - git log HEAD -- :/
ok 9 - command line pathspec parsing for "git log"
# passed all 9 test(s)
1..9
*** t4209-log-pickaxe.sh ***
ok 1 - setup
ok 2 - log --grep (match)
ok 3 - log --grep (nomatch)
ok 4 - log --grep --regexp-ignore-case (match)
ok 5 - log --grep -i (match)
ok 6 - log --grep --regexp-ignore-case (nomatch)
ok 7 - log --grep -i (nomatch)
ok 8 - log --author (match)
ok 9 - log --author (nomatch)
ok 10 - log --author --regexp-ignore-case (match)
ok 11 - log --author -i (match)
ok 12 - log --author --regexp-ignore-case (nomatch)
ok 13 - log --author -i (nomatch)
ok 14 - log -G (nomatch)
ok 15 - log -G (match)
ok 16 - log -G --regexp-ignore-case (nomatch)
ok 17 - log -G -i (nomatch)
ok 18 - log -G --regexp-ignore-case (match)
ok 19 - log -G -i (match)
ok 20 - log -G --textconv (missing textconv tool)
ok 21 - log -G --no-textconv (missing textconv tool)
ok 22 - log -S (nomatch)
ok 23 - log -S (match)
ok 24 - log -S --regexp-ignore-case (match)
ok 25 - log -S -i (match)
ok 26 - log -S --regexp-ignore-case (nomatch)
ok 27 - log -S -i (nomatch)
ok 28 - log -S --pickaxe-regex (nomatch)
ok 29 - log -S --pickaxe-regex (match)
ok 30 - log -S --pickaxe-regex --regexp-ignore-case (match)
ok 31 - log -S --pickaxe-regex -i (match)
ok 32 - log -S --pickaxe-regex --regexp-ignore-case (nomatch)
ok 33 - log -S --pickaxe-regex -i (nomatch)
ok 34 - log -S --textconv (missing textconv tool)
ok 35 - log -S --no-textconv (missing textconv tool)
# passed all 35 test(s)
1..35
*** t4210-log-i18n.sh ***
ok 1 - create commits in different encodings
ok 2 - log --grep searches in log output encoding (utf8)
ok 3 - log --grep searches in log output encoding (latin1)
ok 4 - log --grep does not find non-reencoded values (utf8)
ok 5 - log --grep does not find non-reencoded values (latin1)
# passed all 5 test(s)
1..5
*** t4211-line-log.sh ***
ok 1 - setup (import history)
ok 2 - -L 4,12:a.c simple
ok 3 - -L 4,+9:a.c simple
ok 4 - -L '/long f/,/^}/:a.c' simple
ok 5 - -L :f:a.c simple
ok 6 - -L '/main/,/^}/:a.c' simple
ok 7 - -L :main:a.c simple
ok 8 - -L 1,+4:a.c simple
ok 9 - -L 20:a.c simple
ok 10 - -L '/long f/',/^}/:a.c -L /main/,/^}/:a.c simple
ok 11 - -L 24,+1:a.c simple
ok 12 - -M -L '/long f/,/^}/:b.c' move-support
ok 13 - -M -L ':f:b.c' parallel-change
ok 14 - -L 4,12:a.c -L :main:a.c simple
ok 15 - -L 4,18:a.c -L ^:main:a.c simple
ok 16 - -L :main:a.c -L 4,18:a.c simple
ok 17 - -L 4:a.c -L 8,12:a.c simple
ok 18 - -L 8,12:a.c -L 4:a.c simple
ok 19 - invalid args: -L
ok 20 - invalid args: -L b.c
ok 21 - invalid args: -L 1:
ok 22 - invalid args: -L 1:nonexistent
ok 23 - invalid args: -L 1:simple
ok 24 - invalid args: -L '/foo:b.c'
ok 25 - invalid args: -L 1000:b.c
ok 26 - invalid args: -L 1,1000:b.c
ok 27 - invalid args: -L :b.c
ok 28 - invalid args: -L :foo:b.c
ok 29 - -L X (X == nlines)
ok 30 - -L X (X == nlines + 1)
ok 31 - -L X (X == nlines + 2)
ok 32 - -L ,Y (Y == nlines)
ok 33 - -L ,Y (Y == nlines + 1)
ok 34 - -L ,Y (Y == nlines + 2)
ok 35 - -L with --first-parent and a merge
# passed all 35 test(s)
1..35
*** t4212-log-corrupt.sh ***
ok 1 - setup
ok 2 - fsck notices broken commit
ok 3 - git log with broken author email
ok 4 - git log --format with broken author email
ok 5 - unparsable dates produce sentinel value
ok 6 - unparsable dates produce sentinel value (%ad)
ok 7 - date parser recognizes integer overflow
ok 8 - date parser recognizes time_t overflow
ok 9 - absurdly far-in-future date
# passed all 9 test(s)
1..9
*** 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 overridden by --no-keep-cr
ok 6 - am with dos files with --keep-cr continue
ok 7 - am with unix files config am.keepcr overridden 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
*** t4255-am-submodule.sh ***
ok 1 - am: added submodule creates empty directory
ok 2 - am: added submodule leaves existing empty directory alone
ok 3 - am: added submodule doesn't remove untracked unignored file with same name
ok 4 - am: replace tracked file with submodule creates empty directory
ok 5 - am: replace directory with submodule
ok 6 - am: removed submodule leaves submodule directory and its contents in place
ok 7 - am: removed submodule leaves submodule containing a .git directory alone
ok 8 - am: replace submodule with a directory must fail
ok 9 - am: replace submodule containing a .git directory with a directory must fail
not ok 10 - am: replace submodule with a file must fail # TODO known breakage
not ok 11 - am: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 12 - am: modified submodule does not update submodule work tree
ok 13 - am: modified submodule does not update submodule work tree to invalid commit
ok 14 - am: modified submodule does not update submodule work tree from invalid commit
ok 15 - am_3way: added submodule creates empty directory
ok 16 - am_3way: added submodule leaves existing empty directory alone
ok 17 - am_3way: added submodule doesn't remove untracked unignored file with same name
ok 18 - am_3way: replace tracked file with submodule creates empty directory
ok 19 - am_3way: replace directory with submodule
ok 20 - am_3way: removed submodule leaves submodule directory and its contents in place
ok 21 - am_3way: removed submodule leaves submodule containing a .git directory alone
not ok 22 - am_3way: replace submodule with a directory must fail # TODO known breakage
not ok 23 - am_3way: replace submodule containing a .git directory with a directory must fail # TODO known breakage
not ok 24 - am_3way: replace submodule with a file must fail # TODO known breakage
not ok 25 - am_3way: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 26 - am_3way: modified submodule does not update submodule work tree
ok 27 - am_3way: modified submodule does not update submodule work tree to invalid commit
ok 28 - am_3way: modified submodule does not update submodule work tree from invalid commit
ok 29 - setup diff.submodule
ok 30 - diff.submodule unset
ok 31 - diff.submodule unset with extra file
ok 32 - diff.submodule=log
ok 33 - diff.submodule=log with extra file
# still have 6 known breakage(s)
# passed all remaining 27 test(s)
1..33
*** 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 remove A, B (same)
ok 14 - file change A, remove B
ok 15 - file remove A, change B
ok 16 - tree add A, B (same)
ok 17 - tree add A, B (different)
ok 18 - tree unchanged A, removed B
ok 19 - turn file to tree
ok 20 - turn tree to file
# passed all 20 test(s)
1..20
*** t5000-tar-tree.sh ***
ok 1 - populate workdir
ok 2 - add ignored file
ok 3 - add files to repository
ok 4 - setup export-subst
ok 5 - create bare clone
ok 6 - remove ignored file
ok 7 - git archive
ok 8 -  extract tar archive
ok 9 # skip  interpret pax headers (missing TAR_NEEDS_PAX_FALLBACK)
ok 10 -  validate filenames
ok 11 -  validate file contents
ok 12 - git archive --prefix=prefix/
ok 13 -  extract tar archive
ok 14 # skip  interpret pax headers (missing TAR_NEEDS_PAX_FALLBACK)
ok 15 -  validate filenames
ok 16 -  validate file contents
ok 17 - git-archive --prefix=olde-
ok 18 -  extract tar archive
ok 19 # skip  interpret pax headers (missing TAR_NEEDS_PAX_FALLBACK)
ok 20 -  validate filenames
ok 21 -  validate file contents
ok 22 - git archive on large files
ok 23 - git archive in a bare repo
ok 24 - git archive vs. the same in a bare repo
ok 25 - git archive with --output
ok 26 - git archive --remote
ok 27 - validate file modification time
ok 28 - git get-tar-commit-id
ok 29 - git archive with --output, override inferred format
ok 30 - git archive --list outside of a git repo
ok 31 - clients cannot access unreachable commits
ok 32 - upload-archive can allow unreachable commits
ok 33 - setup tar filters
ok 34 - archive --list mentions user filter
ok 35 - archive --list shows only enabled remote filters
ok 36 - invoke tar filter by format
ok 37 - invoke tar filter by extension
ok 38 - default output format remains tar
ok 39 - extension matching requires dot
ok 40 - only enabled filters are available remotely
ok 41 - git archive --format=tgz
ok 42 - git archive --format=tar.gz
ok 43 - infer tgz from .tgz filename
ok 44 - infer tgz from .tar.gz filename
ok 45 - extract tgz file
ok 46 - remote tar.gz is allowed by default
ok 47 - remote tar.gz can be disabled
ok 48 - archive and :(glob)
ok 49 - catch non-matching pathspec
# passed all 49 test(s)
1..49
*** 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
# passed all 19 test(s)
1..19
*** t5002-archive-attr-pattern.sh ***
ok 1 - setup
ok 2 - git archive
ok 3 -  archive/ignored does not exist
ok 4 -  archive/not-ignored-dir/ignored does not exist
ok 5 -  archive/not-ignored-dir/ignored-only-if-dir exists
ok 6 -  archive/not-ignored-dir/ exists
ok 7 -  archive/ignored-only-if-dir/ does not exist
ok 8 -  archive/ignored-ony-if-dir/ignored-by-ignored-dir does not exist
ok 9 -  archive/ignored-without-slash/ does not exist
ok 10 -  archive/ignored-without-slash/foo does not exist
ok 11 -  archive/wildcard-without-slash/ does not exist
ok 12 -  archive/wildcard-without-slash/foo does not exist
ok 13 -  archive/deep/and/slashless/ does not exist
ok 14 -  archive/deep/and/slashless/foo does not exist
ok 15 -  archive/deep/with/wildcard/ does not exist
ok 16 -  archive/deep/with/wildcard/foo does not exist
ok 17 -  archive/one-level-lower/ exists
ok 18 -  archive/one-level-lower/two-levels-lower/ignored-only-if-dir/ does not exist
ok 19 -  archive/one-level-lower/two-levels-lower/ignored-ony-if-dir/ignored-by-ignored-dir does not exist
# passed all 19 test(s)
1..19
*** t5003-archive-zip.sh ***
ok 1 - populate workdir
ok 2 - add symlink
ok 3 - prepare file list
ok 4 - add ignored file
ok 5 - add files to repository
ok 6 - setup export-subst and diff attributes
ok 7 - create bare clone
ok 8 - remove ignored file
ok 9 - git archive --format=zip
ok 10 -  extract ZIP archive
ok 11 -  validate filenames
ok 12 -  validate file contents
ok 13 -  extract ZIP archive with EOL conversion
ok 14 -  validate that text files are converted
ok 15 -  validate that binary files are unchanged
ok 16 -  validate that diff files are converted
ok 17 -  validate that -diff files are unchanged
ok 18 - git archive --format=zip in a bare repo
ok 19 - git archive --format=zip vs. the same in a bare repo
ok 20 - git archive --format=zip with --output
ok 21 - git archive with --output, inferring format
ok 22 - git archive --format=zip with prefix
ok 23 -  extract ZIP archive
ok 24 -  validate filenames
ok 25 -  validate file contents
ok 26 -  extract ZIP archive with EOL conversion
ok 27 -  validate that text files are converted
ok 28 -  validate that binary files are unchanged
ok 29 -  validate that diff files are converted
ok 30 -  validate that -diff files are unchanged
ok 31 - git archive -0 --format=zip on large files
ok 32 -  extract ZIP archive
ok 33 -  validate filenames
ok 34 -  validate file contents
ok 35 -  extract ZIP archive with EOL conversion
ok 36 -  validate that text files are converted
ok 37 -  validate that binary files are unchanged
ok 38 -  validate that diff files are converted
ok 39 -  validate that -diff files are unchanged
ok 40 - git archive --format=zip on large files
ok 41 -  extract ZIP archive
ok 42 -  validate filenames
ok 43 -  validate file contents
ok 44 -  extract ZIP archive with EOL conversion
ok 45 -  validate that text files are converted
ok 46 -  validate that binary files are unchanged
ok 47 -  validate that diff files are converted
ok 48 -  validate that -diff files are unchanged
# passed all 48 test(s)
1..48
*** t5004-archive-corner-cases.sh ***
ok 1 - create commit with empty tree
ok 2 - tar archive of commit with empty tree
ok 3 - tar archive of empty tree is empty
ok 4 - tar archive of empty tree with prefix
ok 5 - zip archive of empty tree is empty
ok 6 - zip archive of empty tree with prefix
ok 7 - archive complains about pathspec on empty tree
ok 8 - create a commit with an empty subtree
ok 9 - archive empty subtree with no pathspec
ok 10 - archive empty subtree by direct pathspec
ok 11 - zip archive with many entries
# passed all 11 test(s)
1..11
*** 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 - mailinfo 0017
ok 19 - split box with rfc2047 samples
ok 20 - mailinfo rfc2047/0001
ok 21 - mailinfo rfc2047/0002
ok 22 - mailinfo rfc2047/0003
ok 23 - mailinfo rfc2047/0004
ok 24 - mailinfo rfc2047/0005
ok 25 - mailinfo rfc2047/0006
ok 26 - mailinfo rfc2047/0007
ok 27 - mailinfo rfc2047/0008
ok 28 - mailinfo rfc2047/0009
ok 29 - mailinfo rfc2047/0010
ok 30 - mailinfo rfc2047/0011
ok 31 - respect NULs
ok 32 - Preserve NULs out of MIME encoded message
ok 33 - mailinfo on from header without name works
ok 34 - mailinfo finds headers after embedded From line
ok 35 - mailinfo on message with quoted >From
# passed all 35 test(s)
1..35
*** 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 asks HEAD to be pulled
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 - pack-objects with bogus arguments
ok 4 - unpack without delta
ok 5 - check unpack without delta
ok 6 - pack with REF_DELTA
ok 7 - unpack with REF_DELTA
ok 8 - check unpack with REF_DELTA
ok 9 - pack with OFS_DELTA
ok 10 - unpack with OFS_DELTA
ok 11 - check unpack with OFS_DELTA
ok 12 - compare delta flavors
ok 13 - use packed objects
ok 14 - use packed deltified (REF_DELTA) objects
ok 15 - use packed deltified (OFS_DELTA) objects
ok 16 - survive missing objects/pack directory
ok 17 - verify pack
ok 18 - verify pack -v
ok 19 - verify-pack catches mismatched .idx and .pack files
ok 20 - verify-pack catches a corrupted pack signature
ok 21 - verify-pack catches a corrupted pack version
ok 22 - verify-pack catches a corrupted type/size of the 1st packed object data
ok 23 - verify-pack catches a corrupted sum of the index file itself
ok 24 - build pack index for an existing pack
ok 25 - unpacking with --strict
ok 26 - index-pack with --strict
ok 27 - honor pack.packSizeLimit
ok 28 - verify resulting packs
ok 29 - tolerate packsizelimit smaller than biggest object
ok 30 - verify resulting packs
ok 31 - fake a SHA1 hash collision
ok 32 - make sure index-pack detects the SHA1 collision
ok 33 - make sure index-pack detects the SHA1 collision (large blobs)
# passed all 33 test(s)
1..33
*** 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 - pack-objects --index-version=2, is not accepted
ok 12 - index v2: force some 64-bit offsets with pack-objects
ok 13 - index v2: verify a pack with some 64-bit offsets
ok 14 - 64-bit offsets: should be different from previous index v2 results
ok 15 - index v2: force some 64-bit offsets with index-pack
ok 16 - 64-bit offsets: index-pack result should match pack-objects one
ok 17 - index-pack --verify on 64-bit offset v2 (cheat)
ok 18 - index-pack --verify on 64-bit offset v2
ok 19 - [index v1] 1) stream pack to repository
ok 20 - [index v1] 2) create a stealth corruption in a delta base reference
ok 21 - [index v1] 3) corrupted delta happily returned wrong data
ok 22 - [index v1] 4) confirm that the pack is actually corrupted
ok 23 - [index v1] 5) pack-objects happily reuses corrupted data
ok 24 - [index v1] 6) newly created pack is BAD !
ok 25 - [index v2] 1) stream pack to repository
ok 26 - [index v2] 2) create a stealth corruption in a delta base reference
ok 27 - [index v2] 3) corrupted delta happily returned wrong data
ok 28 - [index v2] 4) confirm that the pack is actually corrupted
ok 29 - [index v2] 5) pack-objects refuses to reuse corrupted data
ok 30 - [index v2] 6) verify-pack detects CRC mismatch
ok 31 - running index-pack in the object store
ok 32 - index-pack --strict warns upon missing tagger in tag
# passed all 32 test(s)
1..32
*** 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 - corruption of delta base reference pointing to wrong object
ok 25 - ... but having a loose copy allows for full recovery
ok 26 - ... and then a repack "clears" the corruption
ok 27 - corrupting header to have too small output buffer fails unpack
# passed all 27 test(s)
1..27
*** 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 detached HEAD with no reflog
ok 10 - prune: prune former HEAD after checking out branch
ok 11 - prune: do not prune heads listed as an argument
ok 12 - gc --no-prune
ok 13 - gc respects gc.pruneExpire
ok 14 - gc --prune=<date>
ok 15 - gc --prune=never
ok 16 - gc respects gc.pruneExpire=never
ok 17 - prune --expire=never
ok 18 - gc: prune old objects after local clone
ok 19 - garbage report in count-objects -v
ok 20 - prune .git/shallow
ok 21 - prune: handle alternate object database
# passed all 21 test(s)
1..21
*** 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
*** t5308-pack-detect-duplicates.sh ***
ok 1 - pack with no duplicates
ok 2 - index-pack will allow duplicate objects by default
ok 3 - create batch-check test vectors
ok 4 - lookup in duplicated pack (binary search)
ok 5 - lookup in duplicated pack (GIT_USE_LOOKUP)
ok 6 - index-pack can reject packs with duplicates
# passed all 6 test(s)
1..6
*** t5309-pack-delta-cycles.sh ***
ok 1 - index-pack works with a single delta (A->B)
ok 2 - index-pack works with a single delta (B->A)
ok 3 - index-pack detects missing base objects
ok 4 - index-pack detects REF_DELTA cycles
not ok 5 - failover to an object in another pack # TODO known breakage
not ok 6 - failover to a duplicate object in the same pack # TODO known breakage
# still have 2 known breakage(s)
# passed all remaining 4 test(s)
1..6
*** t5310-pack-bitmaps.sh ***
ok 1 - setup repo with moderate-sized history
ok 2 - full repack creates bitmaps
ok 3 - rev-list --test-bitmap verifies bitmaps
ok 4 - counting commits via bitmap (full bitmap)
ok 5 - counting partial commits via bitmap (full bitmap)
ok 6 - counting non-linear history (full bitmap)
ok 7 - counting commits with limiting (full bitmap)
ok 8 - enumerate --objects (full bitmap)
ok 9 - bitmap --objects handles non-commit objects (full bitmap)
ok 10 - clone from bitmapped repository
ok 11 - setup further non-bitmapped commits
ok 12 - counting commits via bitmap (partial bitmap)
ok 13 - counting partial commits via bitmap (partial bitmap)
ok 14 - counting non-linear history (partial bitmap)
ok 15 - counting commits with limiting (partial bitmap)
ok 16 - enumerate --objects (partial bitmap)
ok 17 - bitmap --objects handles non-commit objects (partial bitmap)
ok 18 - fetch (partial bitmap)
ok 19 - incremental repack cannot create bitmaps
ok 20 - incremental repack can disable bitmaps
ok 21 - full repack, reusing previous bitmaps
ok 22 - fetch (full bitmap)
ok 23 - create objects for missing-HAVE tests
ok 24 - pack with missing blob
ok 25 - pack with missing tree
ok 26 - pack with missing parent
ok 27 # skip we can read jgit bitmaps (missing JGIT)
ok 28 # skip jgit can read our bitmaps (missing JGIT)
ok 29 - splitting packs does not generate bogus bitmaps
# passed all 29 test(s)
1..29
*** t5311-pack-bitmaps-shallow.sh ***
ok 1 - setup shallow repo
ok 2 - turn on bitmaps in the parent
ok 3 - shallow fetch from bitmapped repo
# passed all 3 test(s)
1..3
*** t5312-prune-corruption.sh ***
ok 1 - disable reflogs
ok 2 - create history reachable only from a bogus-named ref
ok 3 - pruning does not drop bogus object
ok 4 - put bogus object into pack
ok 5 - destructive repack keeps packed object
ok 6 - clean up bogus ref
ok 7 - create history with missing tip commit
ok 8 - pruning with a corrupted tip does not drop history
ok 9 - pack-refs does not silently delete broken loose ref
ok 10 - create packed-refs file with broken ref
ok 11 - pack-refs does not silently delete broken packed ref
ok 12 - pack-refs does not drop broken refs during deletion
# passed all 12 test(s)
1..12
*** 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 - receive-pack runs auto-gc in remote repo
ok 12 - pushing explicit refspecs respects forcing
ok 13 - pushing wildcard refspecs respects forcing
ok 14 - deny pushing to delete current branch
# passed all 14 test(s)
1..14
*** 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
ok 13 - pre-receive hook that forgets to read its input
# passed all 13 test(s)
1..13
*** 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)
ok 14 - git rebase -i (exec)
# passed all 14 test(s)
1..14
*** t5408-send-pack-stdin.sh ***
ok 1 - setup refs
ok 2 - refs on cmdline
ok 3 - refs over stdin
ok 4 - stdin lines are full refspecs
ok 5 - stdin mixed with cmdline
ok 6 - cmdline refs written in order
ok 7 - --stdin refs come after cmdline
ok 8 - refspecs and --mirror do not mix (cmdline)
ok 9 - refspecs and --mirror do not mix (stdin)
# passed all 9 test(s)
1..9
*** 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 - single branch clone
ok 7 - single branch object count
ok 8 - single given branch clone
ok 9 - clone shallow depth 1
ok 10 - clone shallow depth 1 with fsck
ok 11 - clone shallow
ok 12 - clone shallow depth count
ok 13 - clone shallow object count
ok 14 - clone shallow object count (part 2)
ok 15 - fsck in shallow repo
ok 16 - simple fetch in shallow repo
ok 17 - no changes expected
ok 18 - fetch same depth in shallow repo
ok 19 - no changes expected
ok 20 - add two more
ok 21 - pull in shallow repo
ok 22 - clone shallow object count
ok 23 - add two more (part 2)
ok 24 - deepening pull in shallow repo
ok 25 - clone shallow object count
ok 26 - deepening fetch in shallow repo
ok 27 - clone shallow object count
ok 28 - pull in shallow repo with missing merge base
ok 29 - additional simple shallow deepenings
ok 30 - clone shallow depth count
ok 31 - clone shallow object count
ok 32 - fetch --no-shallow on full repo
ok 33 - fetch --depth --no-shallow
ok 34 - turn shallow to complete repository
ok 35 - clone shallow without --no-single-branch
ok 36 - clone shallow object count
ok 37 - clone shallow with --branch
ok 38 - clone shallow object count
ok 39 - clone shallow with detached HEAD
ok 40 - shallow clone pulling tags
ok 41 - shallow cloning single tag
ok 42 - clone shallow with packed refs
ok 43 - fetch in shallow repo unreachable shallow objects
ok 44 - fetch creating new shallow root
ok 45 - setup tests for the --stdin parameter
ok 46 - fetch refs from cmdline
ok 47 - fetch refs from stdin
ok 48 - fetch mixed refs from cmdline and stdin
ok 49 - test duplicate refs from stdin
ok 50 - set up tests of missing reference
ok 51 - test lonely missing ref
ok 52 - test missing ref after existing
ok 53 - test missing ref before existing
ok 54 - test --all, --depth, and explicit head
ok 55 - test --all, --depth, and explicit tag
ok 56 - shallow fetch with tags does not break the repository
ok 57 - fetch-pack --diag-url ssh+git://host/repo
ok 58 - fetch-pack --diag-url ssh+git://host/~repo
ok 59 - fetch-pack --diag-url ssh+git://host:/repo
ok 60 - fetch-pack --diag-url ssh+git://host:/~repo
ok 61 - fetch-pack --diag-url ssh+git://user@host/repo
ok 62 - fetch-pack --diag-url ssh+git://user@host/~repo
ok 63 - fetch-pack --diag-url ssh+git://user@host:/repo
ok 64 - fetch-pack --diag-url ssh+git://user@host:/~repo
ok 65 - fetch-pack --diag-url ssh+git://user@[::1]/repo
ok 66 - fetch-pack --diag-url ssh+git://user@[::1]/~repo
ok 67 - fetch-pack --diag-url ssh+git://user@[::1]:/repo
ok 68 - fetch-pack --diag-url ssh+git://user@[::1]:/~repo
ok 69 - fetch-pack --diag-url ssh+git://user@::1/repo
ok 70 - fetch-pack --diag-url ssh+git://user@::1/~repo
ok 71 - fetch-pack --diag-url ssh+git://user@::1:/repo
ok 72 - fetch-pack --diag-url ssh+git://user@::1:/~repo
ok 73 - fetch-pack --diag-url ssh+git://host:22/repo
ok 74 - fetch-pack --diag-url ssh+git://User@host:22/repo
ok 75 - fetch-pack --diag-url ssh+git://User@[::1]:22/repo
ok 76 - fetch-pack --diag-url git+ssh://host/repo
ok 77 - fetch-pack --diag-url git+ssh://host/~repo
ok 78 - fetch-pack --diag-url git+ssh://host:/repo
ok 79 - fetch-pack --diag-url git+ssh://host:/~repo
ok 80 - fetch-pack --diag-url git+ssh://user@host/repo
ok 81 - fetch-pack --diag-url git+ssh://user@host/~repo
ok 82 - fetch-pack --diag-url git+ssh://user@host:/repo
ok 83 - fetch-pack --diag-url git+ssh://user@host:/~repo
ok 84 - fetch-pack --diag-url git+ssh://user@[::1]/repo
ok 85 - fetch-pack --diag-url git+ssh://user@[::1]/~repo
ok 86 - fetch-pack --diag-url git+ssh://user@[::1]:/repo
ok 87 - fetch-pack --diag-url git+ssh://user@[::1]:/~repo
ok 88 - fetch-pack --diag-url git+ssh://user@::1/repo
ok 89 - fetch-pack --diag-url git+ssh://user@::1/~repo
ok 90 - fetch-pack --diag-url git+ssh://user@::1:/repo
ok 91 - fetch-pack --diag-url git+ssh://user@::1:/~repo
ok 92 - fetch-pack --diag-url git+ssh://host:22/repo
ok 93 - fetch-pack --diag-url git+ssh://User@host:22/repo
ok 94 - fetch-pack --diag-url git+ssh://User@[::1]:22/repo
ok 95 - fetch-pack --diag-url git://host/repo
ok 96 - fetch-pack --diag-url git://host/~repo
ok 97 - fetch-pack --diag-url git://host:/repo
ok 98 - fetch-pack --diag-url git://host:/~repo
ok 99 - fetch-pack --diag-url git://user@host/repo
ok 100 - fetch-pack --diag-url git://user@host/~repo
ok 101 - fetch-pack --diag-url git://user@host:/repo
ok 102 - fetch-pack --diag-url git://user@host:/~repo
ok 103 - fetch-pack --diag-url git://user@[::1]/repo
ok 104 - fetch-pack --diag-url git://user@[::1]/~repo
ok 105 - fetch-pack --diag-url git://user@[::1]:/repo
ok 106 - fetch-pack --diag-url git://user@[::1]:/~repo
ok 107 - fetch-pack --diag-url git://user@::1/repo
ok 108 - fetch-pack --diag-url git://user@::1/~repo
ok 109 - fetch-pack --diag-url git://user@::1:/repo
ok 110 - fetch-pack --diag-url git://user@::1:/~repo
ok 111 - fetch-pack --diag-url git://host:22/repo
ok 112 - fetch-pack --diag-url git://User@host:22/repo
ok 113 - fetch-pack --diag-url git://User@[::1]:22/repo
ok 114 - fetch-pack --diag-url ssh://host/repo
ok 115 - fetch-pack --diag-url ssh://host/~repo
ok 116 - fetch-pack --diag-url ssh://host:/repo
ok 117 - fetch-pack --diag-url ssh://host:/~repo
ok 118 - fetch-pack --diag-url ssh://user@host/repo
ok 119 - fetch-pack --diag-url ssh://user@host/~repo
ok 120 - fetch-pack --diag-url ssh://user@host:/repo
ok 121 - fetch-pack --diag-url ssh://user@host:/~repo
ok 122 - fetch-pack --diag-url ssh://user@[::1]/repo
ok 123 - fetch-pack --diag-url ssh://user@[::1]/~repo
ok 124 - fetch-pack --diag-url ssh://user@[::1]:/repo
ok 125 - fetch-pack --diag-url ssh://user@[::1]:/~repo
ok 126 - fetch-pack --diag-url ssh://user@::1/repo
ok 127 - fetch-pack --diag-url ssh://user@::1/~repo
ok 128 - fetch-pack --diag-url ssh://user@::1:/repo
ok 129 - fetch-pack --diag-url ssh://user@::1:/~repo
ok 130 - fetch-pack --diag-url ssh://host:22/repo
ok 131 - fetch-pack --diag-url ssh://User@host:22/repo
ok 132 - fetch-pack --diag-url ssh://User@[::1]:22/repo
ok 133 - fetch-pack --diag-url file://User@[::1]/repo
ok 134 - fetch-pack --diag-url file://User@[::1]/~repo
ok 135 - fetch-pack --diag-url ./nohost:repo
ok 136 - fetch-pack --diag-url ./file:nohost/~repo
ok 137 - fetch-pack --diag-url ./nohost:12:repo
ok 138 - fetch-pack --diag-url ./file:nohost:12/~repo
ok 139 - fetch-pack --diag-url ./[::1]:repo
ok 140 - fetch-pack --diag-url ./file:[::1]/~repo
ok 141 - fetch-pack --diag-url ./[::1]:23:repo
ok 142 - fetch-pack --diag-url ./file:[::1]:23/~repo
ok 143 - fetch-pack --diag-url ./[:repo
ok 144 - fetch-pack --diag-url ./file:[/~repo
ok 145 - fetch-pack --diag-url ./[:aa:repo
ok 146 - fetch-pack --diag-url ./file:[:aa/~repo
ok 147 - fetch-pack --diag-url host:repo
ok 148 - fetch-pack --diag-url host:/~repo
ok 149 - fetch-pack --diag-url [::1]:repo
ok 150 - fetch-pack --diag-url [::1]:/~repo
ok 151 - fetch-pack --diag-url ssh+git://host/re:po
ok 152 - fetch-pack --diag-url ssh+git://host/~re:po
ok 153 - fetch-pack --diag-url ssh+git://host:/re:po
ok 154 - fetch-pack --diag-url ssh+git://host:/~re:po
ok 155 - fetch-pack --diag-url ssh+git://user@host/re:po
ok 156 - fetch-pack --diag-url ssh+git://user@host/~re:po
ok 157 - fetch-pack --diag-url ssh+git://user@host:/re:po
ok 158 - fetch-pack --diag-url ssh+git://user@host:/~re:po
ok 159 - fetch-pack --diag-url ssh+git://user@[::1]/re:po
ok 160 - fetch-pack --diag-url ssh+git://user@[::1]/~re:po
ok 161 - fetch-pack --diag-url ssh+git://user@[::1]:/re:po
ok 162 - fetch-pack --diag-url ssh+git://user@[::1]:/~re:po
ok 163 - fetch-pack --diag-url ssh+git://user@::1/re:po
ok 164 - fetch-pack --diag-url ssh+git://user@::1/~re:po
ok 165 - fetch-pack --diag-url ssh+git://user@::1:/re:po
ok 166 - fetch-pack --diag-url ssh+git://user@::1:/~re:po
ok 167 - fetch-pack --diag-url ssh+git://host:22/re:po
ok 168 - fetch-pack --diag-url ssh+git://User@host:22/re:po
ok 169 - fetch-pack --diag-url ssh+git://User@[::1]:22/re:po
ok 170 - fetch-pack --diag-url git+ssh://host/re:po
ok 171 - fetch-pack --diag-url git+ssh://host/~re:po
ok 172 - fetch-pack --diag-url git+ssh://host:/re:po
ok 173 - fetch-pack --diag-url git+ssh://host:/~re:po
ok 174 - fetch-pack --diag-url git+ssh://user@host/re:po
ok 175 - fetch-pack --diag-url git+ssh://user@host/~re:po
ok 176 - fetch-pack --diag-url git+ssh://user@host:/re:po
ok 177 - fetch-pack --diag-url git+ssh://user@host:/~re:po
ok 178 - fetch-pack --diag-url git+ssh://user@[::1]/re:po
ok 179 - fetch-pack --diag-url git+ssh://user@[::1]/~re:po
ok 180 - fetch-pack --diag-url git+ssh://user@[::1]:/re:po
ok 181 - fetch-pack --diag-url git+ssh://user@[::1]:/~re:po
ok 182 - fetch-pack --diag-url git+ssh://user@::1/re:po
ok 183 - fetch-pack --diag-url git+ssh://user@::1/~re:po
ok 184 - fetch-pack --diag-url git+ssh://user@::1:/re:po
ok 185 - fetch-pack --diag-url git+ssh://user@::1:/~re:po
ok 186 - fetch-pack --diag-url git+ssh://host:22/re:po
ok 187 - fetch-pack --diag-url git+ssh://User@host:22/re:po
ok 188 - fetch-pack --diag-url git+ssh://User@[::1]:22/re:po
ok 189 - fetch-pack --diag-url git://host/re:po
ok 190 - fetch-pack --diag-url git://host/~re:po
ok 191 - fetch-pack --diag-url git://host:/re:po
ok 192 - fetch-pack --diag-url git://host:/~re:po
ok 193 - fetch-pack --diag-url git://user@host/re:po
ok 194 - fetch-pack --diag-url git://user@host/~re:po
ok 195 - fetch-pack --diag-url git://user@host:/re:po
ok 196 - fetch-pack --diag-url git://user@host:/~re:po
ok 197 - fetch-pack --diag-url git://user@[::1]/re:po
ok 198 - fetch-pack --diag-url git://user@[::1]/~re:po
ok 199 - fetch-pack --diag-url git://user@[::1]:/re:po
ok 200 - fetch-pack --diag-url git://user@[::1]:/~re:po
ok 201 - fetch-pack --diag-url git://user@::1/re:po
ok 202 - fetch-pack --diag-url git://user@::1/~re:po
ok 203 - fetch-pack --diag-url git://user@::1:/re:po
ok 204 - fetch-pack --diag-url git://user@::1:/~re:po
ok 205 - fetch-pack --diag-url git://host:22/re:po
ok 206 - fetch-pack --diag-url git://User@host:22/re:po
ok 207 - fetch-pack --diag-url git://User@[::1]:22/re:po
ok 208 - fetch-pack --diag-url ssh://host/re:po
ok 209 - fetch-pack --diag-url ssh://host/~re:po
ok 210 - fetch-pack --diag-url ssh://host:/re:po
ok 211 - fetch-pack --diag-url ssh://host:/~re:po
ok 212 - fetch-pack --diag-url ssh://user@host/re:po
ok 213 - fetch-pack --diag-url ssh://user@host/~re:po
ok 214 - fetch-pack --diag-url ssh://user@host:/re:po
ok 215 - fetch-pack --diag-url ssh://user@host:/~re:po
ok 216 - fetch-pack --diag-url ssh://user@[::1]/re:po
ok 217 - fetch-pack --diag-url ssh://user@[::1]/~re:po
ok 218 - fetch-pack --diag-url ssh://user@[::1]:/re:po
ok 219 - fetch-pack --diag-url ssh://user@[::1]:/~re:po
ok 220 - fetch-pack --diag-url ssh://user@::1/re:po
ok 221 - fetch-pack --diag-url ssh://user@::1/~re:po
ok 222 - fetch-pack --diag-url ssh://user@::1:/re:po
ok 223 - fetch-pack --diag-url ssh://user@::1:/~re:po
ok 224 - fetch-pack --diag-url ssh://host:22/re:po
ok 225 - fetch-pack --diag-url ssh://User@host:22/re:po
ok 226 - fetch-pack --diag-url ssh://User@[::1]:22/re:po
ok 227 - fetch-pack --diag-url file://User@[::1]/re:po
ok 228 - fetch-pack --diag-url file://User@[::1]/~re:po
ok 229 - fetch-pack --diag-url ./nohost:re:po
ok 230 - fetch-pack --diag-url ./file:nohost/~re:po
ok 231 - fetch-pack --diag-url ./nohost:12:re:po
ok 232 - fetch-pack --diag-url ./file:nohost:12/~re:po
ok 233 - fetch-pack --diag-url ./[::1]:re:po
ok 234 - fetch-pack --diag-url ./file:[::1]/~re:po
ok 235 - fetch-pack --diag-url ./[::1]:23:re:po
ok 236 - fetch-pack --diag-url ./file:[::1]:23/~re:po
ok 237 - fetch-pack --diag-url ./[:re:po
ok 238 - fetch-pack --diag-url ./file:[/~re:po
ok 239 - fetch-pack --diag-url ./[:aa:re:po
ok 240 - fetch-pack --diag-url ./file:[:aa/~re:po
ok 241 - fetch-pack --diag-url host:re:po
ok 242 - fetch-pack --diag-url host:/~re:po
ok 243 - fetch-pack --diag-url [::1]:re:po
ok 244 - fetch-pack --diag-url [::1]:/~re:po
ok 245 - fetch-pack --diag-url ssh+git://host/re/po
ok 246 - fetch-pack --diag-url ssh+git://host/~re/po
ok 247 - fetch-pack --diag-url ssh+git://host:/re/po
ok 248 - fetch-pack --diag-url ssh+git://host:/~re/po
ok 249 - fetch-pack --diag-url ssh+git://user@host/re/po
ok 250 - fetch-pack --diag-url ssh+git://user@host/~re/po
ok 251 - fetch-pack --diag-url ssh+git://user@host:/re/po
ok 252 - fetch-pack --diag-url ssh+git://user@host:/~re/po
ok 253 - fetch-pack --diag-url ssh+git://user@[::1]/re/po
ok 254 - fetch-pack --diag-url ssh+git://user@[::1]/~re/po
ok 255 - fetch-pack --diag-url ssh+git://user@[::1]:/re/po
ok 256 - fetch-pack --diag-url ssh+git://user@[::1]:/~re/po
ok 257 - fetch-pack --diag-url ssh+git://user@::1/re/po
ok 258 - fetch-pack --diag-url ssh+git://user@::1/~re/po
ok 259 - fetch-pack --diag-url ssh+git://user@::1:/re/po
ok 260 - fetch-pack --diag-url ssh+git://user@::1:/~re/po
ok 261 - fetch-pack --diag-url ssh+git://host:22/re/po
ok 262 - fetch-pack --diag-url ssh+git://User@host:22/re/po
ok 263 - fetch-pack --diag-url ssh+git://User@[::1]:22/re/po
ok 264 - fetch-pack --diag-url git+ssh://host/re/po
ok 265 - fetch-pack --diag-url git+ssh://host/~re/po
ok 266 - fetch-pack --diag-url git+ssh://host:/re/po
ok 267 - fetch-pack --diag-url git+ssh://host:/~re/po
ok 268 - fetch-pack --diag-url git+ssh://user@host/re/po
ok 269 - fetch-pack --diag-url git+ssh://user@host/~re/po
ok 270 - fetch-pack --diag-url git+ssh://user@host:/re/po
ok 271 - fetch-pack --diag-url git+ssh://user@host:/~re/po
ok 272 - fetch-pack --diag-url git+ssh://user@[::1]/re/po
ok 273 - fetch-pack --diag-url git+ssh://user@[::1]/~re/po
ok 274 - fetch-pack --diag-url git+ssh://user@[::1]:/re/po
ok 275 - fetch-pack --diag-url git+ssh://user@[::1]:/~re/po
ok 276 - fetch-pack --diag-url git+ssh://user@::1/re/po
ok 277 - fetch-pack --diag-url git+ssh://user@::1/~re/po
ok 278 - fetch-pack --diag-url git+ssh://user@::1:/re/po
ok 279 - fetch-pack --diag-url git+ssh://user@::1:/~re/po
ok 280 - fetch-pack --diag-url git+ssh://host:22/re/po
ok 281 - fetch-pack --diag-url git+ssh://User@host:22/re/po
ok 282 - fetch-pack --diag-url git+ssh://User@[::1]:22/re/po
ok 283 - fetch-pack --diag-url git://host/re/po
ok 284 - fetch-pack --diag-url git://host/~re/po
ok 285 - fetch-pack --diag-url git://host:/re/po
ok 286 - fetch-pack --diag-url git://host:/~re/po
ok 287 - fetch-pack --diag-url git://user@host/re/po
ok 288 - fetch-pack --diag-url git://user@host/~re/po
ok 289 - fetch-pack --diag-url git://user@host:/re/po
ok 290 - fetch-pack --diag-url git://user@host:/~re/po
ok 291 - fetch-pack --diag-url git://user@[::1]/re/po
ok 292 - fetch-pack --diag-url git://user@[::1]/~re/po
ok 293 - fetch-pack --diag-url git://user@[::1]:/re/po
ok 294 - fetch-pack --diag-url git://user@[::1]:/~re/po
ok 295 - fetch-pack --diag-url git://user@::1/re/po
ok 296 - fetch-pack --diag-url git://user@::1/~re/po
ok 297 - fetch-pack --diag-url git://user@::1:/re/po
ok 298 - fetch-pack --diag-url git://user@::1:/~re/po
ok 299 - fetch-pack --diag-url git://host:22/re/po
ok 300 - fetch-pack --diag-url git://User@host:22/re/po
ok 301 - fetch-pack --diag-url git://User@[::1]:22/re/po
ok 302 - fetch-pack --diag-url ssh://host/re/po
ok 303 - fetch-pack --diag-url ssh://host/~re/po
ok 304 - fetch-pack --diag-url ssh://host:/re/po
ok 305 - fetch-pack --diag-url ssh://host:/~re/po
ok 306 - fetch-pack --diag-url ssh://user@host/re/po
ok 307 - fetch-pack --diag-url ssh://user@host/~re/po
ok 308 - fetch-pack --diag-url ssh://user@host:/re/po
ok 309 - fetch-pack --diag-url ssh://user@host:/~re/po
ok 310 - fetch-pack --diag-url ssh://user@[::1]/re/po
ok 311 - fetch-pack --diag-url ssh://user@[::1]/~re/po
ok 312 - fetch-pack --diag-url ssh://user@[::1]:/re/po
ok 313 - fetch-pack --diag-url ssh://user@[::1]:/~re/po
ok 314 - fetch-pack --diag-url ssh://user@::1/re/po
ok 315 - fetch-pack --diag-url ssh://user@::1/~re/po
ok 316 - fetch-pack --diag-url ssh://user@::1:/re/po
ok 317 - fetch-pack --diag-url ssh://user@::1:/~re/po
ok 318 - fetch-pack --diag-url ssh://host:22/re/po
ok 319 - fetch-pack --diag-url ssh://User@host:22/re/po
ok 320 - fetch-pack --diag-url ssh://User@[::1]:22/re/po
ok 321 - fetch-pack --diag-url file://User@[::1]/re/po
ok 322 - fetch-pack --diag-url file://User@[::1]/~re/po
ok 323 - fetch-pack --diag-url ./nohost:re/po
ok 324 - fetch-pack --diag-url ./file:nohost/~re/po
ok 325 - fetch-pack --diag-url ./nohost:12:re/po
ok 326 - fetch-pack --diag-url ./file:nohost:12/~re/po
ok 327 - fetch-pack --diag-url ./[::1]:re/po
ok 328 - fetch-pack --diag-url ./file:[::1]/~re/po
ok 329 - fetch-pack --diag-url ./[::1]:23:re/po
ok 330 - fetch-pack --diag-url ./file:[::1]:23/~re/po
ok 331 - fetch-pack --diag-url ./[:re/po
ok 332 - fetch-pack --diag-url ./file:[/~re/po
ok 333 - fetch-pack --diag-url ./[:aa:re/po
ok 334 - fetch-pack --diag-url ./file:[:aa/~re/po
ok 335 - fetch-pack --diag-url host:re/po
ok 336 - fetch-pack --diag-url host:/~re/po
ok 337 - fetch-pack --diag-url [::1]:re/po
ok 338 - fetch-pack --diag-url [::1]:/~re/po
ok 339 # skip fetch-pack --diag-url file://c:/repo (missing MINGW)
ok 340 # skip fetch-pack --diag-url c:repo (missing MINGW)
# passed all 340 test(s)
1..340
*** 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
ok 10 - push with receive.fsck.skipList
ok 11 - push with receive.fsck.missingEmail=warn
ok 12 - receive.fsck.unterminatedHeader=warn triggers error
# passed all 12 test(s)
1..12
*** t5505-remote.sh ***
ok 1 - setup
ok 2 - remote information for the origin
ok 3 - add another remote
ok 4 - check remote-tracking
ok 5 - remote forces tracking branches
ok 6 - remove remote
ok 7 - remove remote
ok 8 - remove remote protects local branches
ok 9 - show
ok 10 - show -n
ok 11 - prune
ok 12 - set-head --delete
ok 13 - set-head --auto
ok 14 - set-head --auto has no problem w/multiple HEADs
ok 15 - set-head explicit
ok 16 - prune --dry-run
ok 17 - add --mirror && prune
ok 18 - add --mirror=fetch
ok 19 - fetch mirrors act as mirrors during fetch
ok 20 - fetch mirrors can prune
ok 21 - fetch mirrors do not act as mirrors during push
ok 22 - add fetch mirror with specific branches
ok 23 - fetch mirror respects specific branches
ok 24 - add --mirror=push
ok 25 - push mirrors act as mirrors during push
ok 26 - push mirrors do not act as mirrors during fetch
ok 27 - push mirrors do not allow you to specify refs
ok 28 - add alt && prune
ok 29 - add with reachable tags (default)
ok 30 - add --tags
ok 31 - add --no-tags
ok 32 - reject --no-no-tags
ok 33 - update
ok 34 - update with arguments
ok 35 - update --prune
ok 36 - update default
ok 37 - update default (overridden, with funny whitespace)
ok 38 - update (with remotes.default defined)
ok 39 - "remote show" does not show symbolic refs
ok 40 - reject adding remote with an invalid name
ok 41 - rename a remote
ok 42 - rename does not update a non-default fetch refspec
ok 43 - rename a remote with name part of fetch spec
ok 44 - rename a remote with name prefix of other remote
ok 45 - migrate a remote from named file in $GIT_DIR/remotes
ok 46 - migrate a remote from named file in $GIT_DIR/branches
ok 47 - migrate a remote from named file in $GIT_DIR/branches (2)
ok 48 - remote prune to cause a dangling symref
ok 49 - show empty remote
ok 50 - remote set-branches requires a remote
ok 51 - remote set-branches
ok 52 - remote set-branches with --mirror
ok 53 - new remote
ok 54 - remote set-url bar
ok 55 - remote set-url baz bar
ok 56 - remote set-url zot bar
ok 57 - remote set-url --push zot baz
ok 58 - remote set-url --push zot
ok 59 - remote set-url --push qux zot
ok 60 - remote set-url --push foo qu+x
ok 61 - remote set-url --push --add aaa
ok 62 - remote set-url --push bar aaa
ok 63 - remote set-url --push --delete bar
ok 64 - remote set-url --push --delete foo
ok 65 - remote set-url --add bbb
ok 66 - remote set-url --delete .*
ok 67 - remote set-url --delete bbb
ok 68 - remote set-url --delete baz
ok 69 - remote set-url --add ccc
ok 70 - remote set-url --delete baz
ok 71 - extra args: setup
ok 72 - extra args: add nick url
ok 73 - extra args: rename origin newname
ok 74 - extra args: remove origin
ok 75 - extra args: set-head origin master
ok 76 - extra args: set-url origin newurl oldurl
ok 77 - add remote matching the "insteadOf" URL
# passed all 77 test(s)
1..77
*** 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 handles overlapping refspecs
ok 9 - fetch --prune --tags prunes branches but not tags
ok 10 - fetch --prune --tags with branch does not prune other things
ok 11 - fetch --prune --tags with refspec prunes based on refspec
ok 12 - fetch tags when there is no tags
ok 13 - fetch following tags
ok 14 - fetch uses remote ref names to describe new refs
ok 15 - fetch must not resolve short tag name
ok 16 - fetch can now resolve short remote name
ok 17 - create bundle 1
ok 18 - header of bundle looks right
ok 19 - create bundle 2
ok 20 - unbundle 1
ok 21 - bundle 1 has only 3 files 
ok 22 - unbundle 2
ok 23 - bundle does not prerequisite objects
ok 24 - bundle should be able to create a full history
ok 25 - fetch via rsync
ok 26 - push via rsync
ok 27 - push via rsync
ok 28 - fetch with a non-applying branch.<name>.merge
ok 29 - fetch from GIT URL with a non-applying branch.<name>.merge [1]
ok 30 - fetch from GIT URL with a non-applying branch.<name>.merge [2]
ok 31 - fetch from GIT URL with a non-applying branch.<name>.merge [3]
ok 32 - quoting of a strangely named repo
ok 33 - bundle should record HEAD correctly
ok 34 - mark initial state of origin/master
ok 35 - explicit fetch should update tracking
ok 36 - explicit pull should update tracking
ok 37 - explicit --refmap is allowed only with command-line refspec
ok 38 - explicit --refmap option overrides remote.*.fetch
ok 39 - explicitly empty --refmap option disables remote.*.fetch
ok 40 - configured fetch updates tracking
ok 41 - non-matching refspecs do not confuse tracking update
ok 42 - pushing nonexistent branch by mistake should not segv
ok 43 - auto tag following fetches minimum
ok 44 - refuse to fetch into the current branch
ok 45 - fetch into the current branch with --update-head-ok
ok 46 - fetch --dry-run
ok 47 - should be able to fetch with duplicate refspecs
ok 48 - prune fetch.prune=unset remote.origin.prune=unset; kept
ok 49 - prune fetch.prune=unset remote.origin.prune=unset --no-prune; kept
ok 50 - prune fetch.prune=unset remote.origin.prune=unset --prune; pruned
ok 51 - prune fetch.prune=false remote.origin.prune=unset; kept
ok 52 - prune fetch.prune=false remote.origin.prune=unset --no-prune; kept
ok 53 - prune fetch.prune=false remote.origin.prune=unset --prune; pruned
ok 54 - prune fetch.prune=true remote.origin.prune=unset; pruned
ok 55 - prune fetch.prune=true remote.origin.prune=unset --prune; pruned
ok 56 - prune fetch.prune=true remote.origin.prune=unset --no-prune; kept
ok 57 - prune fetch.prune=unset remote.origin.prune=false; kept
ok 58 - prune fetch.prune=unset remote.origin.prune=false --no-prune; kept
ok 59 - prune fetch.prune=unset remote.origin.prune=false --prune; pruned
ok 60 - prune fetch.prune=false remote.origin.prune=false; kept
ok 61 - prune fetch.prune=false remote.origin.prune=false --no-prune; kept
ok 62 - prune fetch.prune=false remote.origin.prune=false --prune; pruned
ok 63 - prune fetch.prune=true remote.origin.prune=false; kept
ok 64 - prune fetch.prune=true remote.origin.prune=false --prune; pruned
ok 65 - prune fetch.prune=true remote.origin.prune=false --no-prune; kept
ok 66 - prune fetch.prune=unset remote.origin.prune=true; pruned
ok 67 - prune fetch.prune=unset remote.origin.prune=true --no-prune; kept
ok 68 - prune fetch.prune=unset remote.origin.prune=true --prune; pruned
ok 69 - prune fetch.prune=false remote.origin.prune=true; pruned
ok 70 - prune fetch.prune=false remote.origin.prune=true --no-prune; kept
ok 71 - prune fetch.prune=false remote.origin.prune=true --prune; pruned
ok 72 - prune fetch.prune=true remote.origin.prune=true; pruned
ok 73 - prune fetch.prune=true remote.origin.prune=true --prune; pruned
ok 74 - prune fetch.prune=true remote.origin.prune=true --no-prune; kept
ok 75 - all boundary commits are excluded
ok 76 - fetch --prune prints the remotes url
ok 77 - branchname D/F conflict resolved by --prune
ok 78 - fetching a one-level ref works
# passed all 78 test(s)
1..78
*** 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
ok 35 - push refs/heads/*/for-linus:refs/remotes/mine/*-blah
ok 36 - fetch refs/heads*/for-linus:refs/remotes/mine/*
ok 37 - push refs/heads*/for-linus:refs/remotes/mine/*
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/*g*/for-linus:refs/remotes/mine/* (invalid)
ok 41 - push refs/heads/*g*/for-linus:refs/remotes/mine/* (invalid)
ok 42 - fetch refs/heads/*/for-linus:refs/remotes/mine/*
ok 43 - push refs/heads/*/for-linus:refs/remotes/mine/*
ok 44 - fetch refs/heads/Ä
ok 45 - fetch refs/heads/	tab (invalid)
# passed all 45 test(s)
1..45
*** 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
ok 15 - set up some extra tags for ref hiding
ok 16 - Hide some refs with transfer.hiderefs
ok 17 - Override hiding of transfer.hiderefs
ok 18 - Hide some refs with uploadpack.hiderefs
ok 19 - Override hiding of uploadpack.hiderefs
ok 20 - overrides work between mixed transfer/upload-pack hideRefs
# passed all 20 test(s)
1..20
*** 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)
ok 10 - git fetch --all --no-tags
ok 11 - git fetch --all --tags
# passed all 11 test(s)
1..11
*** 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 remote.pushdefault
ok 36 - push with config remote.*.pushurl
ok 37 - push with config branch.*.pushremote
ok 38 - branch.*.pushremote config order is irrelevant
ok 39 - push with dry-run
ok 40 - push updates local refs
ok 41 - push updates up-to-date local refs
ok 42 - push preserves up-to-date packed refs
ok 43 - push does not update local refs on failure
ok 44 - allow deleting an invalid remote ref
ok 45 - pushing valid refs triggers post-receive and post-update hooks
ok 46 - deleting dangling ref triggers hooks with correct args
ok 47 - deletion of a non-existent ref is not fed to post-receive and post-update hooks
ok 48 - deletion of a non-existent ref alone does trigger post-receive and post-update hooks
ok 49 - mixed ref updates, deletes, invalid deletes trigger hooks with correct input
ok 50 - allow deleting a ref using --delete
ok 51 - allow deleting a tag using --delete
ok 52 - push --delete without args aborts
ok 53 - push --delete refuses src:dest refspecs
ok 54 - warn on push to HEAD of non-bare repository
ok 55 - deny push to HEAD of non-bare repository
ok 56 - allow push to HEAD of bare repository (bare)
ok 57 - allow push to HEAD of non-bare repository (config)
ok 58 - fetch with branches
ok 59 - fetch with branches containing #
ok 60 - push with branches
ok 61 - push with branches containing #
ok 62 - push into aliased refs (consistent)
ok 63 - push into aliased refs (inconsistent)
ok 64 - push requires --force to update lightweight tag
ok 65 - push --porcelain
ok 66 - push --porcelain bad url
ok 67 - push --porcelain rejected
ok 68 - push --porcelain --dry-run rejected
ok 69 - push --prune
ok 70 - push --prune refspec
ok 71 - push to update a ref hidden by transfer.hiderefs
ok 72 - push to update a ref hidden by receive.hiderefs
ok 73 - fetch exact SHA1
ok 74 - shallow fetch reachable SHA1 (but not a ref), allowtipsha1inwant=true
ok 75 - deny fetch unreachable SHA1, allowtipsha1inwant=true
ok 76 - shallow fetch reachable SHA1 (but not a ref), allowtipsha1inwant=false
ok 77 - deny fetch unreachable SHA1, allowtipsha1inwant=false
ok 78 - fetch follows tags by default
ok 79 - pushing a specific ref applies remote.$name.push as refmap
ok 80 - with no remote.$name.push, it is not used as refmap
ok 81 - with no remote.$name.push, upstream mapping is used
ok 82 - push does not follow tags by default
ok 83 - push --follow-tag only pushes relevant tags
ok 84 - push --no-thin must produce non-thin pack
ok 85 - pushing a tag pushes the tagged object
ok 86 - push into bare respects core.logallrefupdates
ok 87 - fetch into bare respects core.logallrefupdates
ok 88 - receive.denyCurrentBranch = updateInstead
ok 89 - updateInstead with push-to-checkout hook
# passed all 89 test(s)
1..89
*** 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 - pulling into void using master:master
ok 4 - pulling into void does not overwrite untracked files
ok 5 - pulling into void does not overwrite staged files
ok 6 - pulling into void does not remove new staged files
ok 7 - pulling into void must not create an octopus
ok 8 - test . as a remote
ok 9 - the default remote . should not break explicit pull
ok 10 - fail if wildcard spec does not match any refs
ok 11 - fail if no branches specified with non-default remote
ok 12 - fail if not on a branch
ok 13 - fail if no configuration for current branch
ok 14 - pull --all: fail if no configuration for current branch
ok 15 - fail if upstream branch does not exist
ok 16 - fail if the index has unresolved entries
ok 17 - fast-forwards working tree if branch head is updated
ok 18 - fast-forward fails with conflicting work tree
ok 19 - --rebase
ok 20 - --rebase fails with multiple branches
ok 21 - pull --rebase succeeds with dirty working directory and rebase.autostash set
ok 22 - pull.rebase
ok 23 - branch.to-rebase.rebase
ok 24 - branch.to-rebase.rebase should override pull.rebase
ok 25 - preserve merge setup
ok 26 - pull.rebase=false create a new merge commit
ok 27 - pull.rebase=true flattens keep-merge
ok 28 - pull.rebase=1 is treated as true and flattens keep-merge
ok 29 - pull.rebase=preserve rebases and merges keep-merge
ok 30 - pull.rebase=invalid fails
ok 31 - --rebase=false create a new merge commit
ok 32 - --rebase=true rebases and flattens keep-merge
ok 33 - --rebase=preserve rebases and merges keep-merge
ok 34 - --rebase=invalid fails
ok 35 - --rebase overrides pull.rebase=preserve and flattens keep-merge
ok 36 - --rebase with rebased upstream
ok 37 - --rebase -f with rebased upstream
ok 38 - --rebase with rebased default upstream
ok 39 - rebased upstream + fetch + pull --rebase
ok 40 - pull --rebase dies early with dirty working directory
ok 41 - pull --rebase works on branch yet to be born
ok 42 - pull --rebase fails on unborn branch with staged changes
ok 43 - setup for detecting upstreamed changes
ok 44 - git pull --rebase detects upstreamed changes
ok 45 - setup for avoiding reapplying old patches
ok 46 - git pull --rebase does not reapply old patches
ok 47 - git pull --rebase against local branch
# passed all 47 test(s)
1..47
*** t5521-pull-options.sh ***
ok 1 - setup
ok 2 - git pull -q
ok 3 - git pull -q --rebase
ok 4 - git pull
ok 5 - git pull --rebase
ok 6 - git pull -v
ok 7 - git pull -v --rebase
ok 8 - git pull -v -q
ok 9 - git pull -q -v
ok 10 - git pull --force
ok 11 - git pull --all
ok 12 - git pull --dry-run
ok 13 - git pull --all --dry-run
# passed all 13 test(s)
1..13
*** 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 - setup bare parent
ok 2 - setup local commit
ok 3 - push -u master:master
ok 4 - push -u master:other
ok 5 - push -u --dry-run master:otherX
ok 6 - push -u master2:master2
ok 7 - push -u master2:other2
ok 8 - push -u :master2
ok 9 - push -u --all
ok 10 - push -u HEAD
ok 11 # skip progress messages go to tty (missing TTY)
ok 12 - progress messages do not go to non-tty
ok 13 - progress messages go to non-tty (forced)
ok 14 # skip push -q suppresses progress (missing TTY)
ok 15 # skip push --no-progress suppresses progress (missing TTY)
ok 16 # skip quiet push (missing TTY)
# passed all 16 test(s)
1..16
*** t5524-pull-msg.sh ***
ok 1 - setup
ok 2 - pull
ok 3 - --log=1 limits shortlog length
# passed all 3 test(s)
1..3
*** 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
ok 3 - try to create repo with absurdly long refname
ok 4 # skip fetch handles extremely long refname (missing LONG_REF)
ok 5 # skip push handles extremely long refname (missing LONG_REF)
# passed all 5 test(s)
1..5
*** t5528-push-default.sh ***
ok 1 - setup bare remotes
ok 2 - "upstream" pushes to configured upstream
ok 3 - "upstream" does not push on unconfigured remote
ok 4 - "upstream" does not push on unconfigured branch
ok 5 - "upstream" does not push when remotes do not match
ok 6 - push from/to new branch with upstream, matching and simple
ok 7 - push from/to new branch with current creates remote branch
ok 8 - push to existing branch, with no upstream configured
ok 9 - push to existing branch, upstream configured with same name
ok 10 - push to existing branch, upstream configured with different name
ok 11 - push.default = current success in central workflows
ok 12 - push.default = upstream success in central workflows
ok 13 - push.default = simple failure in central workflows
ok 14 - push.default = matching success in central workflows
ok 15 - push.default = current success in triangular workflows
ok 16 - push.default = upstream failure in triangular workflows
ok 17 - push.default = simple success in triangular workflows
ok 18 - push.default = matching success in triangular workflows
ok 19 - default behavior allows "simple" push
ok 20 - default behavior rejects non-simple push
ok 21 - default triangular behavior acts like "current"
# passed all 21 test(s)
1..21
*** t5529-push-errors.sh ***
ok 1 - setup commits
ok 2 - setup remote
ok 3 - setup fake receive-pack
ok 4 - detect missing branches early
ok 5 - detect missing sha1 expressions early
ok 6 - detect ambiguous refs early
# passed all 6 test(s)
1..6
*** 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
ok 8 - push unpushed submodules when not needed
ok 9 - push unpushed submodules when not needed 2
ok 10 - push unpushed submodules recursively
ok 11 - push unpushable submodule recursively fails
# passed all 11 test(s)
1..11
*** 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
*** t5533-push-cas.sh ***
ok 1 - setup
ok 2 - push to update (protected)
ok 3 - push to update (protected, forced)
ok 4 - push to update (protected, tracking)
ok 5 - push to update (protected, tracking, forced)
ok 6 - push to update (allowed)
ok 7 - push to update (allowed, tracking)
ok 8 - push to update (allowed even though no-ff)
ok 9 - push to delete (protected)
ok 10 - push to delete (protected, forced)
ok 11 - push to delete (allowed)
ok 12 - cover everything with default force-with-lease (protected)
ok 13 - cover everything with default force-with-lease (allowed)
# passed all 13 test(s)
1..13
*** t5534-push-signed.sh ***
You do not seem to have gpg installed
ok 1 - setup
ok 2 - unsigned push does not send push certificate
ok 3 - talking with a receiver without push certificate support
ok 4 - push --signed fails with a receiver without push certificate support
ok 5 # skip no certificate for a signed push with no update (missing GPG)
ok 6 # skip signed push sends push certificate (missing GPG)
ok 7 # skip fail without key and heed user.signingkey (missing GPG)
# passed all 7 test(s)
1..7
*** t5535-fetch-push-symref.sh ***
ok 1 - setup
ok 2 - push
ok 3 - fetch
# passed all 3 test(s)
1..3
*** t5536-fetch-conflicts.sh ***
ok 1 - setup
ok 2 - fetch with no conflict
ok 3 - fetch conflict: config vs. config
ok 4 - fetch duplicate: config vs. config
ok 5 - fetch conflict: arg overrides config
ok 6 - fetch conflict: arg vs. arg
ok 7 - fetch conflict: criss-cross args
# passed all 7 test(s)
1..7
*** t5537-fetch-shallow.sh ***
ok 1 - setup
ok 2 - setup shallow clone
ok 3 - clone from shallow clone
ok 4 - fetch from shallow clone
ok 5 - fetch --depth from shallow clone
ok 6 - fetch --unshallow from shallow clone
ok 7 - fetch something upstream has but hidden by clients shallow boundaries
ok 8 - fetch that requires changes in .git/shallow is filtered
ok 9 - fetch --update-shallow
ok 10 - shallow fetch from a read-only repo
# passed all 10 test(s)
1..10
*** t5538-push-shallow.sh ***
ok 1 - setup
ok 2 - push from shallow clone
ok 3 - push from shallow clone, with grafted roots
ok 4 - add new shallow root with receive.updateshallow on
ok 5 - push from shallow to shallow
ok 6 - push from full to shallow
# passed all 6 test(s)
1..6
*** t5539-fetch-http-shallow.sh ***
1..0 # SKIP no web server found at '/usr/sbin/apache2'
*** t5540-http-push-webdav.sh ***
1..0 # SKIP no web server found at '/usr/sbin/apache2'
*** t5541-http-push-smart.sh ***
You do not seem to have gpg installed
1..0 # SKIP no web server found at '/usr/sbin/apache2'
*** t5542-push-http-shallow.sh ***
1..0 # SKIP no web server found at '/usr/sbin/apache2'
*** t5543-atomic-push.sh ***
ok 1 - atomic push works for a single branch
ok 2 - atomic push works for two branches
ok 3 - atomic push works in combination with --mirror
ok 4 - atomic push works in combination with --force
ok 5 - atomic push fails if one branch fails
ok 6 - atomic push fails if one tag fails remotely
ok 7 - atomic push obeys update hook preventing a branch to be pushed
ok 8 - atomic push is not advertised if configured
# passed all 8 test(s)
1..8
*** t5550-http-fetch-dumb.sh ***
1..0 # SKIP no web server found at '/usr/sbin/apache2'
*** t5551-http-fetch-smart.sh ***
1..0 # SKIP no web server found at '/usr/sbin/apache2'
*** 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 ***
1..0 # SKIP no web server found at '/usr/sbin/apache2'
*** t5570-git-daemon.sh ***
ok 1 - setup repository
ok 2 - create git-accessible bare repository
ok 3 - clone git repository
ok 4 - fetch changes via git protocol
ok 5 - remote detects correct HEAD
ok 6 - prepare pack objects
ok 7 - fetch notices corrupt pack
ok 8 - fetch notices corrupt idx
ok 9 - clone non-existent
ok 10 - push disabled
ok 11 - read access denied
ok 12 - not exported
ok 13 - clone non-existent
ok 14 - push disabled
ok 15 - read access denied
ok 16 - not exported
ok 17 - access repo via interpolated hostname
ok 18 - hostname cannot break out of directory
# passed all 18 test(s)
1..18
*** t5571-pre-push-hook.sh ***
ok 1 - setup
ok 2 - push with failing hook
ok 3 - --no-verify bypasses hook
ok 4 - push with hook
ok 5 - add a branch
ok 6 - push to default
ok 7 - push non-branches
ok 8 - push delete
ok 9 - push to URL
# passed all 9 test(s)
1..9
*** t5572-pull-submodule.sh ***
ok 1 - git_pull: added submodule creates empty directory
ok 2 - git_pull: added submodule leaves existing empty directory alone
ok 3 - git_pull: added submodule doesn't remove untracked unignored file with same name
ok 4 - git_pull: replace tracked file with submodule creates empty directory
ok 5 - git_pull: replace directory with submodule
ok 6 - git_pull: removed submodule leaves submodule directory and its contents in place
ok 7 - git_pull: removed submodule leaves submodule containing a .git directory alone
ok 8 - git_pull: replace submodule with a directory must fail
ok 9 - git_pull: replace submodule containing a .git directory with a directory must fail
not ok 10 - git_pull: replace submodule with a file must fail # TODO known breakage
not ok 11 - git_pull: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 12 - git_pull: modified submodule does not update submodule work tree
ok 13 - git_pull: modified submodule does not update submodule work tree to invalid commit
ok 14 - git_pull: modified submodule does not update submodule work tree from invalid commit
ok 15 - git_pull_ff: added submodule creates empty directory
ok 16 - git_pull_ff: added submodule leaves existing empty directory alone
ok 17 - git_pull_ff: added submodule doesn't remove untracked unignored file with same name
ok 18 - git_pull_ff: replace tracked file with submodule creates empty directory
ok 19 - git_pull_ff: replace directory with submodule
ok 20 - git_pull_ff: removed submodule leaves submodule directory and its contents in place
ok 21 - git_pull_ff: removed submodule leaves submodule containing a .git directory alone
ok 22 - git_pull_ff: replace submodule with a directory must fail
ok 23 - git_pull_ff: replace submodule containing a .git directory with a directory must fail
not ok 24 - git_pull_ff: replace submodule with a file must fail # TODO known breakage
not ok 25 - git_pull_ff: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 26 - git_pull_ff: modified submodule does not update submodule work tree
ok 27 - git_pull_ff: modified submodule does not update submodule work tree to invalid commit
ok 28 - git_pull_ff: modified submodule does not update submodule work tree from invalid commit
ok 29 - git_pull_ff_only: added submodule creates empty directory
ok 30 - git_pull_ff_only: added submodule leaves existing empty directory alone
ok 31 - git_pull_ff_only: added submodule doesn't remove untracked unignored file with same name
ok 32 - git_pull_ff_only: replace tracked file with submodule creates empty directory
ok 33 - git_pull_ff_only: replace directory with submodule
ok 34 - git_pull_ff_only: removed submodule leaves submodule directory and its contents in place
ok 35 - git_pull_ff_only: removed submodule leaves submodule containing a .git directory alone
ok 36 - git_pull_ff_only: replace submodule with a directory must fail
ok 37 - git_pull_ff_only: replace submodule containing a .git directory with a directory must fail
not ok 38 - git_pull_ff_only: replace submodule with a file must fail # TODO known breakage
not ok 39 - git_pull_ff_only: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 40 - git_pull_ff_only: modified submodule does not update submodule work tree
ok 41 - git_pull_ff_only: modified submodule does not update submodule work tree to invalid commit
ok 42 - git_pull_ff_only: modified submodule does not update submodule work tree from invalid commit
ok 43 - git_pull_noff: added submodule creates empty directory
ok 44 - git_pull_noff: added submodule leaves existing empty directory alone
ok 45 - git_pull_noff: added submodule doesn't remove untracked unignored file with same name
ok 46 - git_pull_noff: replace tracked file with submodule creates empty directory
not ok 47 - git_pull_noff: replace directory with submodule # TODO known breakage
ok 48 - git_pull_noff: removed submodule leaves submodule directory and its contents in place
ok 49 - git_pull_noff: removed submodule leaves submodule containing a .git directory alone
not ok 50 - git_pull_noff: replace submodule with a directory must fail # TODO known breakage
not ok 51 - git_pull_noff: replace submodule containing a .git directory with a directory must fail # TODO known breakage
not ok 52 - git_pull_noff: replace submodule with a file must fail # TODO known breakage
not ok 53 - git_pull_noff: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 54 - git_pull_noff: modified submodule does not update submodule work tree
ok 55 - git_pull_noff: modified submodule does not update submodule work tree to invalid commit
ok 56 - git_pull_noff: modified submodule does not update submodule work tree from invalid commit
# still have 11 known breakage(s)
# passed all remaining 45 test(s)
1..56
*** 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
ok 6 - failed clone --separate-git-dir should not leave any directories
# passed all 6 test(s)
1..6
*** 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 --mirror with detached HEAD
ok 12 - clone --bare with detached HEAD
ok 13 - clone --bare names the local repository <name>.git
ok 14 - clone --mirror does not repeat tags
ok 15 - clone to destination with trailing /
ok 16 - clone to destination with extra trailing /
ok 17 - clone to an existing empty directory
ok 18 - clone to an existing non-empty directory
ok 19 - clone to an existing path
ok 20 - clone a void
ok 21 - clone respects global branch.autosetuprebase
ok 22 - respect url-encoding of file://
ok 23 - do not query-string-decode + in URLs
ok 24 - do not respect url-encoding of non-url path
ok 25 - clone separate gitdir
ok 26 - clone separate gitdir: output
ok 27 - clone from .git file
ok 28 - fetch from .git gitfile
ok 29 - fetch from gitfile parent
ok 30 - clone separate gitdir where target already exists
ok 31 - clone --reference from original
ok 32 - clone with more than one --reference
ok 33 - clone from original with relative alternate
ok 34 - clone checking out a tag
ok 35 - setup ssh wrapper
ok 36 - clone myhost:src uses ssh
ok 37 - clone local path foo:bar
ok 38 - bracketed hostnames are still ssh
ok 39 - uplink is not treated as putty
ok 40 - plink is treated specially (as putty)
ok 41 - plink.exe is treated specially (as putty)
ok 42 - tortoiseplink is like putty, with extra arguments
ok 43 - setup ssh wrapper
ok 44 - clone c:temp is ssl
ok 45 # skip clone c:temp is dos drive (missing MINGW)
ok 46 - clone host:rep
ok 47 - clone host:rep/home/project
ok 48 - clone host:123
ok 49 - clone [::1]:rep
ok 50 - clone [::1]:rep/home/project
ok 51 - clone [::1]:123
ok 52 - clone host:/~repo
ok 53 - clone [::1]:/~repo
ok 54 - clone foo/bar:baz is not ssh
ok 55 - clone [foo]bar/baz:qux is not ssh
ok 56 - clone [foo/bar]:baz is not ssh
ok 57 - clone ssh://host.xz/home/user/repo
ok 58 - clone ssh://host.xz/~repo
ok 59 - clone ssh://host.xz:/home/user/repo
ok 60 - clone ssh://host.xz:/~repo
ok 61 - clone ssh://host.xz:22/home/user/repo
ok 62 - clone ssh://host.xz:22/~repo
ok 63 - clone ssh://::1/home/user/repo
ok 64 - clone ssh://[::1]/home/user/repo
ok 65 - clone ssh://[::1]:/home/user/repo
ok 66 - clone ssh://user@::1/home/user/repo
ok 67 - clone ssh://user@[::1]/home/user/repo
ok 68 - clone ssh://user@[::1]:/home/user/repo
ok 69 - clone ssh://[user@::1]/home/user/repo
ok 70 - clone ssh://[user@::1]:/home/user/repo
ok 71 - clone ssh://::1/~repo
ok 72 - clone ssh://[::1]/~repo
ok 73 - clone ssh://user@::1/~repo
ok 74 - clone ssh://user@[::1]/~repo
ok 75 - clone ssh://[user@::1]/~repo
ok 76 - clone ssh://[::1]:22/home/user/repo
ok 77 - clone ssh://user@[::1]:22/home/user/repo
ok 78 - clone ssh://[user@::1]:22/home/user/repo
ok 79 - clone ssh://[::1]:22/~repo
ok 80 - clone ssh://user@[::1]:22/~repo
ok 81 - clone ssh://[user@::1]:22/~repo
ok 82 - clone from a repository with two identical branches
ok 83 - shallow clone locally
ok 84 - GIT_TRACE_PACKFILE produces a usable pack
# passed all 84 test(s)
1..84
*** 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
*** t5603-clone-dirname.sh ***
ok 1 - setup ssh wrapper
ok 2 - clone of host:foo goes to foo (non-bare)
ok 3 - clone of host:foo goes to foo.git (bare)
ok 4 - clone of host:foo.git goes to foo (non-bare)
ok 5 - clone of host:foo.git goes to foo.git (bare)
ok 6 - clone of host:foo/.git goes to foo (non-bare)
ok 7 - clone of host:foo/.git goes to foo.git (bare)
ok 8 - clone of ssh://host/foo goes to foo (non-bare)
ok 9 - clone of ssh://host/foo goes to foo.git (bare)
ok 10 - clone of ssh://host/foo.git goes to foo (non-bare)
ok 11 - clone of ssh://host/foo.git goes to foo.git (bare)
ok 12 - clone of ssh://host/foo/.git goes to foo (non-bare)
ok 13 - clone of ssh://host/foo/.git goes to foo.git (bare)
ok 14 - clone of ssh://host/foo/ goes to foo (non-bare)
ok 15 - clone of ssh://host/foo/// goes to foo (non-bare)
ok 16 - clone of ssh://host/foo/.git/ goes to foo (non-bare)
ok 17 - clone of ssh://host/foo.git/ goes to foo (non-bare)
ok 18 - clone of ssh://host/foo.git/// goes to foo (non-bare)
ok 19 - clone of ssh://host/foo///.git/ goes to foo (non-bare)
ok 20 - clone of ssh://host/foo/.git/// goes to foo (non-bare)
ok 21 - clone of host:foo/ goes to foo (non-bare)
ok 22 - clone of host:foo/// goes to foo (non-bare)
ok 23 - clone of host:foo.git/ goes to foo (non-bare)
ok 24 - clone of host:foo/.git/ goes to foo (non-bare)
ok 25 - clone of host:foo.git/// goes to foo (non-bare)
ok 26 - clone of host:foo///.git/ goes to foo (non-bare)
ok 27 - clone of host:foo/.git/// goes to foo (non-bare)
ok 28 - clone of ssh://host/ goes to host (non-bare)
ok 29 - clone of ssh://host:1234/ goes to host (non-bare)
ok 30 - clone of ssh://user@host/ goes to host (non-bare)
ok 31 - clone of host:/ goes to host (non-bare)
ok 32 - clone of ssh://user:password@host/ goes to host (non-bare)
ok 33 - clone of ssh://user:password@host:1234/ goes to host (non-bare)
ok 34 - clone of ssh://user:passw@rd@host:1234/ goes to host (non-bare)
ok 35 - clone of user@host:/ goes to host (non-bare)
ok 36 - clone of user:password@host:/ goes to host (non-bare)
ok 37 - clone of user:passw@rd@host:/ goes to host (non-bare)
ok 38 - clone of ssh://host/foo@bar goes to foo@bar (non-bare)
ok 39 - clone of ssh://host/[email protected] goes to foo@bar (non-bare)
ok 40 - clone of ssh://user:password@host/foo@bar goes to foo@bar (non-bare)
ok 41 - clone of ssh://user:passw@rd@host/[email protected] goes to foo@bar (non-bare)
ok 42 - clone of host:/foo@bar goes to foo@bar (non-bare)
ok 43 - clone of host:/[email protected] goes to foo@bar (non-bare)
ok 44 - clone of user:password@host:/foo@bar goes to foo@bar (non-bare)
ok 45 - clone of user:passw@rd@host:/[email protected] goes to foo@bar (non-bare)
ok 46 - clone of ssh://user:password@host/test:1234 goes to 1234 (non-bare)
ok 47 - clone of ssh://user:password@host/test:1234.git goes to 1234 (non-bare)
# passed all 47 test(s)
1..47
*** 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 - cloning with multiple references drops duplicates
ok 22 - clone with reference from a tagged repository
ok 23 - prepare branched repository
ok 24 - fetch with incomplete alternates
ok 25 - clone using repo with gitfile as a reference
ok 26 - clone using repo pointed at by gitfile as reference
ok 27 - clone and dissociate from reference
# passed all 27 test(s)
1..27
*** 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
ok 18 - cloning file:// does not hardlink
ok 19 - cloning a local path with --no-local does not hardlink
ok 20 - cloning locally respects "-u" for fetching refs
# passed all 20 test(s)
1..20
*** t5702-clone-options.sh ***
ok 1 - setup
ok 2 - clone -o
ok 3 - redirected clone does not show progress
ok 4 - redirected clone -v does show progress
# passed all 4 test(s)
1..4
*** t5704-bundle.sh ***
ok 1 - setup
ok 2 - annotated 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
ok 7 - ridiculously long subject in boundary
ok 8 - prerequisites with an empty commit message
# still have 2 known breakage(s)
# passed all remaining 6 test(s)
1..8
*** 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
ok 7 - clone -b not allowed with empty repos
# passed all 7 test(s)
1..7
*** 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
*** t5709-clone-refspec.sh ***
ok 1 - setup
ok 2 - by default all branches will be kept updated
ok 3 - by default no tags will be kept updated
ok 4 - --single-branch while HEAD pointing at master
ok 5 - --single-branch while HEAD pointing at side
ok 6 - --single-branch with explicit --branch side
ok 7 - --single-branch with explicit --branch with tag fetches updated tag
ok 8 - --single-branch with --mirror
ok 9 - --single-branch with explicit --branch and --mirror
ok 10 - --single-branch with detached
# passed all 10 test(s)
1..10
*** 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
*** t5801-remote-helpers.sh ***
You do not seem to have gpg installed
ok 1 - setup repository
ok 2 - cloning from local repo
ok 3 - create new commit on remote
ok 4 - pulling from local repo
ok 5 - pushing to local repo
ok 6 - fetch new branch
ok 7 - fetch multiple branches
ok 8 - push when remote has extra refs
ok 9 - push new branch by name
ok 10 - push new branch with old:new refspec
ok 11 - push new branch with HEAD:new refspec
ok 12 - push delete branch
ok 13 - forced push
ok 14 - cloning without refspec
ok 15 - pulling without refspecs
ok 16 - pushing without refspecs
ok 17 - pulling without marks
not ok 18 - pushing without marks # TODO known breakage
ok 19 - push all with existing object
ok 20 - push ref with existing object
ok 21 # skip push signed tag (missing GPG)
ok 22 # skip push signed tag with signed-tags capability (missing GPG)
ok 23 - push update refs
ok 24 - push update refs disabled by no-private-update
ok 25 - push update refs failure
ok 26 - proper failure checks for fetching
ok 27 - proper failure checks for pushing
ok 28 - push messages
ok 29 - fetch HEAD
ok 30 - fetch url
# still have 1 known breakage(s)
# passed all remaining 29 test(s)
1..30
*** t5802-connect-helper.sh ***
ok 1 - setup
ok 2 - clone
ok 3 - update following tag
ok 4 - update backfilled tag
ok 5 - update backfilled tag without primary transfer
# passed all 5 test(s)
1..5
*** t5810-proto-disable-local.sh ***
ok 1 - setup repository to clone
ok 2 - clone file:// (enabled)
ok 3 - fetch file:// (enabled)
ok 4 - push file:// (enabled)
ok 5 - push file:// (disabled)
ok 6 - fetch file:// (disabled)
ok 7 - clone file:// (disabled)
ok 8 - clone path (enabled)
ok 9 - fetch path (enabled)
ok 10 - push path (enabled)
ok 11 - push path (disabled)
ok 12 - fetch path (disabled)
ok 13 - clone path (disabled)
# passed all 13 test(s)
1..13
*** t5811-proto-disable-git.sh ***
ok 1 - create git-accessible repo
ok 2 - clone git:// (enabled)
ok 3 - fetch git:// (enabled)
ok 4 - push git:// (enabled)
ok 5 - push git:// (disabled)
ok 6 - fetch git:// (disabled)
ok 7 - clone git:// (disabled)
# passed all 7 test(s)
1..7
*** t5812-proto-disable-http.sh ***
1..0 # SKIP no web server found at '/usr/sbin/apache2'
*** t5813-proto-disable-ssh.sh ***
ok 1 - setup ssh wrapper
ok 2 - setup repository to clone
ok 3 - clone host:path (enabled)
ok 4 - fetch host:path (enabled)
ok 5 - push host:path (enabled)
ok 6 - push host:path (disabled)
ok 7 - fetch host:path (disabled)
ok 8 - clone host:path (disabled)
ok 9 - clone ssh:// (enabled)
ok 10 - fetch ssh:// (enabled)
ok 11 - push ssh:// (enabled)
ok 12 - push ssh:// (disabled)
ok 13 - fetch ssh:// (disabled)
ok 14 - clone ssh:// (disabled)
ok 15 - clone git+ssh:// (enabled)
ok 16 - fetch git+ssh:// (enabled)
ok 17 - push git+ssh:// (enabled)
ok 18 - push git+ssh:// (disabled)
ok 19 - fetch git+ssh:// (disabled)
ok 20 - clone git+ssh:// (disabled)
# passed all 20 test(s)
1..20
*** t5814-proto-disable-ext.sh ***
ok 1 - setup ext wrapper
ok 2 - setup repository to clone
ok 3 - clone remote-helper (enabled)
ok 4 - fetch remote-helper (enabled)
ok 5 - push remote-helper (enabled)
ok 6 - push remote-helper (disabled)
ok 7 - fetch remote-helper (disabled)
ok 8 - clone remote-helper (disabled)
# passed all 8 test(s)
1..8
*** t5815-submodule-protos.sh ***
ok 1 - setup ext wrapper
ok 2 - setup ssh wrapper
ok 3 - setup repository with submodules
ok 4 - clone with recurse-submodules fails
ok 5 - setup individual updates
ok 6 - update of ssh allowed
ok 7 - update of ext not allowed
ok 8 - user can override whitelist
# passed all 8 test(s)
1..8
*** 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
ok 5 - rev-list A..B and rev-list ^A B are the same
ok 6 - propagate uninteresting flag down correctly
ok 7 - symleft flag bit is propagated down from tag
ok 8 - rev-list can show index objects
ok 9 - --bisect and --first-parent can not be combined
# passed all 9 test(s)
1..9
*** 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 - simple date order
ok 4 - simple author-date order
ok 5 - two diamonds topo order (g6)
ok 6 - multiple heads
ok 7 - multiple heads, prune at a1
ok 8 - multiple heads, prune at l1
ok 9 - cross-epoch, head at l5, prune at l1
ok 10 - duplicated head arguments
ok 11 - prune near topo
ok 12 - head has no parent
ok 13 - two nodes - one head, one base
ok 14 - three nodes one head, one internal, one base
ok 15 - linear prune l2 ^root
ok 16 - linear prune l2 ^l0
ok 17 - linear prune l2 ^l1
ok 18 - linear prune l5 ^a4
ok 19 - linear prune l5 ^l3
ok 20 - linear prune l5 ^l4
ok 21 - max-count 10 - topo order
ok 22 - max-count 10 - non topo order
ok 23 - --max-age=c3, no --topo-order
ok 24 - one specified head reachable from another a4, c3, --topo-order
ok 25 - one specified head reachable from another c3, a4, --topo-order
ok 26 - one specified head reachable from another a4, c3, no --topo-order
ok 27 - one specified head reachable from another c3, a4, no --topo-order
ok 28 - graph with c3 and a4 parents of head
ok 29 - graph with a4 and c3 parents of head
ok 30 - head ^head --topo-order
ok 31 - head ^head no --topo-order
ok 32 - simple topo order (l5r1)
ok 33 - simple topo order (r1l5)
ok 34 - don't print things unreachable from one branch
ok 35 - --topo-order a4 l3
# passed all 35 test(s)
1..35
*** 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 subject-truncated
ok 11 - format body
ok 12 - format raw-body
ok 13 - format colors
ok 14 - format advanced-colors
ok 15 - %C(auto) does not enable color by default
ok 16 - %C(auto) enables colors for color.diff
ok 17 - %C(auto) enables colors for color.ui
ok 18 - %C(auto) respects --color
ok 19 - %C(auto) respects --no-color
ok 20 # skip %C(auto) respects --color=auto (stdout is tty) (missing TTY)
ok 21 - %C(auto) respects --color=auto (stdout not tty)
ok 22 - setup complex body
ok 23 - format complex-encoding
ok 24 - format complex-subject
ok 25 - format complex-subject-trunc
ok 26 - format complex-subject-mtrunc
ok 27 - format complex-subject-ltrunc
ok 28 - prepare expected messages (for test %b)
ok 29 - format complex-body
ok 30 - format complex-subject-commitencoding-unset
ok 31 - format complex-subject-commitencoding-unset-trunc
ok 32 - format complex-subject-commitencoding-unset-mtrunc
ok 33 - format complex-subject-commitencoding-unset-ltrunc
ok 34 - format complex-body-commitencoding-unset
ok 35 - %x00 shows NUL
ok 36 - %ad respects --date=
ok 37 - empty email
ok 38 - del LF before empty (1)
ok 39 - del LF before empty (2)
ok 40 - add LF before non-empty (1)
ok 41 - add LF before non-empty (2)
ok 42 - add SP before non-empty (1)
ok 43 - add SP before non-empty (2)
ok 44 - --abbrev
ok 45 - %H is not affected by --abbrev-commit
ok 46 - %h is not affected by --abbrev-commit
ok 47 - "%h %gD: %gs" is same as git-reflog
ok 48 - "%h %gD: %gs" is same as git-reflog (with date)
ok 49 - "%h %gD: %gs" is same as git-reflog (with --abbrev)
ok 50 - %gd shortens ref name
ok 51 - reflog identity
ok 52 - oneline with empty message
ok 53 - single-character name is parsed correctly
ok 54 - unused %G placeholders are passed through
# passed all 54 test(s)
1..54
*** 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
ok 14 - ancestors with the same commit time
# passed all 14 test(s)
1..14
*** 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
ok 10 - using reflog to find the fork point
ok 11 - merge-base --octopus --all for complex tree
# passed all 11 test(s)
1..11
*** 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
ok 10 - log --full-history E -- lost
ok 11 - full history simplification without parent
ok 12 - --full-diff is not affected by --parents
# passed all 12 test(s)
1..12
*** 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
ok 4 - rev-list --graph --no-walk is forbidden
# passed all 4 test(s)
1..4
*** 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-parse --exclude with --branches
ok 18 - rev-parse --exclude with --all
ok 19 - rev-parse accumulates multiple --exclude
ok 20 - rev-list --glob=refs/heads/subspace/*
ok 21 - rev-list --glob refs/heads/subspace/*
ok 22 - rev-list not confused by option-like --glob arg
ok 23 - rev-list --glob=heads/subspace/*
ok 24 - rev-list --glob=refs/heads/subspace/
ok 25 - rev-list --glob=heads/subspace/
ok 26 - rev-list --glob=heads/subspace
ok 27 - rev-list --branches=subspace/*
ok 28 - rev-list --branches=subspace/
ok 29 - rev-list --branches=subspace
ok 30 - rev-list --branches
ok 31 - rev-list --glob=heads/someref/* master
ok 32 - rev-list --glob=heads/subspace/* --glob=heads/other/*
ok 33 - rev-list --glob=heads/*
ok 34 - rev-list --tags=foo
ok 35 - rev-list --tags
ok 36 - rev-list --remotes=foo
ok 37 - rev-list --exclude with --branches
ok 38 - rev-list --exclude with --all
ok 39 - rev-list accumulates multiple --exclude
not ok 40 - rev-list may want to succeed with empty output on no input (1) # TODO known breakage
not ok 41 - rev-list may want to succeed with empty output on no input (2) # TODO known breakage
not ok 42 - rev-list may want to succeed with empty output on no input (3) # TODO known breakage
ok 43 - shortlog accepts --glob/--tags/--remotes
not ok 44 - shortlog accepts --glob as detached option # TODO known breakage
not ok 45 - shortlog --glob is not confused by option-like argument # TODO known breakage
# still have 7 known breakage(s)
# passed all remaining 38 test(s)
1..45
*** 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-path D..M -- M.t
ok 6 - rev-list F...I
ok 7 - rev-list --ancestry-path F...I
ok 8 - rev-list G..M -- G.t
ok 9 - rev-list --ancestry-path G..M -- G.t
ok 10 - rev-list --ancestry-path --simplify-merges G^..M -- G.t
ok 11 - setup criss-cross
ok 12 - criss-cross: rev-list --ancestry-path cb..bc
ok 13 - criss-cross: rev-list --ancestry-path --all ^cb
# passed all 13 test(s)
1..13
*** 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
ok 46 - do not follow renames for empty files
# passed all 46 test(s)
1..46
*** 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)
not ok 5 - merge without conflict (missing LF at EOF) # TODO known breakage
not ok 6 - merge result added missing LF # TODO known breakage
ok 7 - merge without conflict (missing LF at EOF, away from change in the other file)
ok 8 - merge does not add LF away of change
ok 9 - merge with conflicts
ok 10 - expected conflict markers
ok 11 - merge conflicting with --ours
ok 12 - merge conflicting with --theirs
ok 13 - merge conflicting with --union
ok 14 - merge with conflicts, using -L
ok 15 - expected conflict markers, with -L
ok 16 - conflict in removed tail
ok 17 - expected conflict markers
ok 18 - binary files cannot be merged
ok 19 - MERGE_ZEALOUS simplifies non-conflicts
ok 20 - ZEALOUS_ALNUM
ok 21 - "diff3 -m" style output (1)
ok 22 - "diff3 -m" style output (2)
ok 23 - marker size
ok 24 - conflict at EOF without LF resolved by --ours
ok 25 - conflict at EOF without LF resolved by --theirs
ok 26 - conflict at EOF without LF resolved by --union
# still have 2 known breakage(s)
# passed all remaining 24 test(s)
1..26
*** 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
ok 7 - merge fast-forward octopus
# passed all 7 test(s)
1..7
*** 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: successful 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
ok 54 - bisect log: successfull result
ok 55 - bisect log: only skip commits left
ok 56 - "git bisect bad HEAD" behaves as "git bisect bad"
# passed all 56 test(s)
1..56
*** 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 - a/b was resolved as symlink
ok 8 - Handle D/F conflict, do not lose a/b-2/c/d in merge (recursive)
ok 9 - a/b was resolved as symlink
ok 10 - Handle F/D conflict, do not lose a/b-2/c/d in merge (resolve)
ok 11 - a/b was resolved as symlink
ok 12 - Handle F/D conflict, do not lose a/b-2/c/d in merge (recursive)
ok 13 - a/b was resolved as symlink
not ok 14 - do not lose untracked in merge (resolve) # TODO known breakage
ok 15 - do not lose untracked in merge (recursive)
ok 16 - do not lose modifications in merge (resolve)
ok 17 - do not lose modifications in merge (recursive)
ok 18 - setup a merge where dir a/b-2 changed to symlink
ok 19 - merge should not have D/F conflicts (resolve)
ok 20 - a/b-2 was resolved as symlink
ok 21 - merge should not have D/F conflicts (recursive)
ok 22 - a/b-2 was resolved as symlink
ok 23 - merge should not have F/D conflicts (recursive)
ok 24 - a/b-2 was resolved as symlink
# still have 1 known breakage(s)
# passed all remaining 23 test(s)
1..24
*** 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 - binary file with -Xours/-Xtheirs
ok 6 - pull passes -X to underlying merge
# passed all 6 test(s)
1..6
*** 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
*** t6039-merge-ignorecase.sh ***
1..0 # SKIP skipping case insensitive tests - case sensitive file system
*** t6040-tracking-info.sh ***
ok 1 - setup
ok 2 - branch -v
ok 3 - branch -vv
ok 4 - checkout (diverged from upstream)
ok 5 - checkout with local tracked branch
ok 6 - checkout (upstream is gone)
ok 7 - checkout (up-to-date with upstream)
ok 8 - status (diverged from upstream)
ok 9 - status (upstream is gone)
ok 10 - status (up-to-date with upstream)
ok 11 - status -s -b (diverged from upstream)
ok 12 - status -s -b (upstream is gone)
ok 13 - status -s -b (up-to-date with upstream)
ok 14 - fail to track lightweight tags
ok 15 - fail to track annotated tags
ok 16 - setup tracking with branch --set-upstream on existing branch
ok 17 - --set-upstream does not change branch
ok 18 - --set-upstream @{-1}
# passed all 18 test(s)
1..18
*** t6041-bisect-submodule.sh ***
ok 1 - git_bisect: added submodule creates empty directory
ok 2 - git_bisect: added submodule leaves existing empty directory alone
ok 3 - git_bisect: added submodule doesn't remove untracked unignored file with same name
ok 4 - git_bisect: replace tracked file with submodule creates empty directory
ok 5 - git_bisect: replace directory with submodule
ok 6 - git_bisect: removed submodule leaves submodule directory and its contents in place
ok 7 - git_bisect: removed submodule leaves submodule containing a .git directory alone
ok 8 - git_bisect: replace submodule with a directory must fail
ok 9 - git_bisect: replace submodule containing a .git directory with a directory must fail
not ok 10 - git_bisect: replace submodule with a file must fail # TODO known breakage
not ok 11 - git_bisect: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 12 - git_bisect: modified submodule does not update submodule work tree
ok 13 - git_bisect: modified submodule does not update submodule work tree to invalid commit
ok 14 - git_bisect: modified submodule does not update submodule work tree from invalid commit
# still have 2 known breakage(s)
# passed all remaining 12 test(s)
1..14
*** 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 ***
You do not seem to have gpg installed
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 - "git replace" resolves sha1
ok 11 - create parallel branch without the bug
ok 12 - push to cloned repo
ok 13 - push branch with replacement
ok 14 - fetch branch with replacement
ok 15 - bisect and replacements
ok 16 - index-pack and replacements
ok 17 - not just commits
ok 18 - replaced and replacement objects must be of the same type
ok 19 - -f option bypasses the type check
ok 20 - git cat-file --batch works on replace objects
ok 21 - test --format bogus
ok 22 - test --format short
ok 23 - test --format medium
ok 24 - test --format long
ok 25 - setup a fake editor
ok 26 - --edit with and without already replaced object
ok 27 - --edit and change nothing or command failed
ok 28 - replace ref cleanup
ok 29 - --graft with and without already replaced object
ok 30 # skip set up a signed commit (missing GPG)
ok 31 # skip --graft with a signed commit (missing GPG)
ok 32 # skip set up a merge commit with a mergetag (missing GPG)
ok 33 # skip --graft on a commit with a mergetag (missing GPG)
# passed all 33 test(s)
1..33
*** 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 - setup
ok 2 - start is valid
ok 3 - start^0
ok 4 - start^1 not valid
ok 5 - second^1 = second^
ok 6 - final^1^1^1
ok 7 - final^1^1^1 = final^^^
ok 8 - final^1^2
ok 9 - final^1^2 != final^1^1
ok 10 - final^1^3 not valid
ok 11 - --verify start2^1
ok 12 - --verify start2^0
ok 13 - final^1^@ = final^1^1 final^1^2
ok 14 - final^1^! = final^1 ^final^1^1 ^final^1^2
ok 15 - large graft octopus
ok 16 - repack for next test
ok 17 - short SHA-1 works
# passed all 17 test(s)
1..17
*** t6110-rev-list-sparse.sh ***
ok 1 - setup
ok 2 - rev-list --first-parent --boundary
# passed all 2 test(s)
1..2
*** t6111-rev-list-treesame.sh ***
ok 1 - setup
ok 2 - log 
ok 3 - log 
ok 4 - log --topo-order
ok 5 - log -- file
ok 6 - log --parents -- file
ok 7 - log --full-history -- file
ok 8 - log --full-history --parents -- file
ok 9 - log --simplify-merges -- file
ok 10 - log --first-parent
ok 11 - log --first-parent -- file
ok 12 - log F..M
ok 13 - log F..M --topo-order
ok 14 - log F..M -- file
ok 15 - log --parents F..M -- file
ok 16 - log F..M --full-history -- file
ok 17 - log F..M --full-history --parents -- file
ok 18 - log F..M --simplify-merges -- file
ok 19 - log F..M --ancestry-path
ok 20 - log F..M --ancestry-path -- file
ok 21 - log F..M --ancestry-path --parents -- file
ok 22 - log F..M --ancestry-path --simplify-merges -- file
ok 23 - log F..M --first-parent
ok 24 - log F..M --first-parent -- file
ok 25 - log E..M --ancestry-path
ok 26 - log E..M --ancestry-path -- file
ok 27 - log E..M --ancestry-path --parents -- file
ok 28 - log E..M --ancestry-path --simplify-merges -- file
ok 29 - log G..M
ok 30 - log G..M --topo-order
ok 31 - log G..M -- file
ok 32 - log G..M --parents -- file
ok 33 - log G..M --full-history -- file
ok 34 - log G..M --full-history --parents -- file
ok 35 - log G..M --simplify-merges -- file
ok 36 - log G..M --ancestry-path
ok 37 - log G..M --ancestry-path -- file
ok 38 - log G..M --ancestry-path --parents -- file
ok 39 - log G..M --ancestry-path --simplify-merges -- file
ok 40 - log B..F
ok 41 - log B..F -- file
ok 42 - log B..F --parents -- file
ok 43 - log B..F --full-history -- file
ok 44 - log B..F --full-history --parents -- file
ok 45 - log B..F --simplify-merges -- file
ok 46 - log B..F --ancestry-path
ok 47 - log B..F --ancestry-path -- file
ok 48 - log B..F --ancestry-path --parents -- file
ok 49 - log B..F --ancestry-path --simplify-merges -- file
ok 50 - log B..F --first-parent
ok 51 - log B..F --first-parent -- file
ok 52 - log E F ^B -- file
ok 53 - log E...F -- file
ok 54 - log C..F
ok 55 - log C..F -- file
ok 56 - log C..F --parents -- file
ok 57 - log C..F --full-history -- file
ok 58 - log C..F --full-history --parents -- file
ok 59 - log C..F --simplify-merges -- file
ok 60 - log C..F --ancestry-path
ok 61 - log C..F --ancestry-path -- file
ok 62 - log C..F --ancestry-path --parents -- file
ok 63 - log C..F --ancestry-path --simplify-merges -- file
ok 64 - log C..F --first-parent
ok 65 - log C..F --first-parent -- file
# passed all 65 test(s)
1..65
*** 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 --tags
ok 20 - describe --first-parent --tags
ok 21 - describe --contains defaults to HEAD without commit-ish
ok 22 - describe --all A^0
ok 23 - no warning was displayed for A
ok 24 - rename tag A to Q locally
ok 25 - describe HEAD
ok 26 - warning was displayed for Q
ok 27 - rename tag Q back to A
ok 28 - pack tag refs
ok 29 - describe HEAD
ok 30 - describe --dirty
ok 31 - set-up dirty work tree
ok 32 - describe --dirty
ok 33 - describe --dirty=.mod
ok 34 - describe --dirty HEAD
ok 35 - set-up matching pattern tests
ok 36 - describe --match=test-*
ok 37 - describe --tags --match=test1-*
ok 38 - describe --tags --match=test2-*
ok 39 - describe --long --tags --match=test2-* HEAD^
ok 40 - name-rev with exact tags
ok 41 - describe --contains with the exact tags
# passed all 41 test(s)
1..41
*** t6130-pathspec-noglob.sh ***
ok 1 - create commits with glob characters
ok 2 - vanilla pathspec matches literally
ok 3 - star pathspec globs
ok 4 - star pathspec globs
ok 5 - bracket pathspec globs and matches literal brackets
ok 6 - bracket pathspec globs and matches literal brackets
ok 7 - no-glob option matches literally (vanilla)
ok 8 - no-glob option matches literally (vanilla)
ok 9 - no-glob option matches literally (star)
ok 10 - no-glob option matches literally (star)
ok 11 - no-glob option matches literally (bracket)
ok 12 - no-glob option matches literally (bracket)
ok 13 - no-glob option disables :(literal)
ok 14 - no-glob environment variable works
ok 15 - blame takes global pathspec flags
ok 16 - setup xxx/bar
ok 17 - **/ works with :(glob)
ok 18 - **/ does not work with --noglob-pathspecs
ok 19 - **/ works with :(glob) and --noglob-pathspecs
ok 20 - **/ works with --glob-pathspecs
ok 21 - **/ does not work with :(literal) and --glob-pathspecs
# passed all 21 test(s)
1..21
*** t6131-pathspec-icase.sh ***
ok 1 - create commits with glob characters
ok 2 - tree_entry_interesting matches bar
ok 3 - tree_entry_interesting matches :(icase)bar
ok 4 - tree_entry_interesting matches :(icase)bar with prefix
ok 5 - tree_entry_interesting matches :(icase)bar with empty prefix
ok 6 - match_pathspec matches :(icase)bar
ok 7 - match_pathspec matches :(icase)bar with prefix
ok 8 - match_pathspec matches :(icase)bar with empty prefix
ok 9 - "git diff" can take magic :(icase) pathspec
# passed all 9 test(s)
1..9
*** t6132-pathspec-exclude.sh ***
ok 1 - setup
ok 2 - exclude only should error out
ok 3 - t_e_i() exclude sub
ok 4 - t_e_i() exclude sub/sub/file
ok 5 - t_e_i() exclude sub using mnemonic
ok 6 - t_e_i() exclude :(icase)SUB
ok 7 - t_e_i() exclude sub2 from sub
ok 8 - t_e_i() exclude sub/*file
ok 9 - t_e_i() exclude :(glob)sub/*/file
ok 10 - m_p_d() exclude sub
ok 11 - m_p_d() exclude sub/sub/file
ok 12 - m_p_d() exclude sub using mnemonic
ok 13 - m_p_d() exclude :(icase)SUB
ok 14 - m_p_d() exclude sub2 from sub
ok 15 - m_p_d() exclude sub/*file
ok 16 - m_p_d() exclude :(glob)sub/*/file
# passed all 16 test(s)
1..16
*** 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 FETCH_HEAD
ok 6 - merge.log=3 limits shortlog length
ok 7 - merge.log=5 shows all 5 commits
ok 8 - --log=5 with custom comment character
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
ok 24 - merge-msg with "merging" an annotated tag
# passed all 24 test(s)
1..24
*** t6300-for-each-ref.sh ***
You do not seem to have gpg installed
ok 1 - setup
ok 2 - basic atom: head refname
ok 3 - basic atom: head upstream
ok 4 - basic atom: head push
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 *objectname
ok 14 - basic atom: head *objecttype
ok 15 - basic atom: head author
ok 16 - basic atom: head authorname
ok 17 - basic atom: head authoremail
ok 18 - basic atom: head authordate
ok 19 - basic atom: head committer
ok 20 - basic atom: head committername
ok 21 - basic atom: head committeremail
ok 22 - basic atom: head committerdate
ok 23 - basic atom: head tag
ok 24 - basic atom: head tagger
ok 25 - basic atom: head taggername
ok 26 - basic atom: head taggeremail
ok 27 - basic atom: head taggerdate
ok 28 - basic atom: head creator
ok 29 - basic atom: head creatordate
ok 30 - basic atom: head subject
ok 31 - basic atom: head contents:subject
ok 32 - basic atom: head body
ok 33 - basic atom: head contents:body
ok 34 - basic atom: head contents:signature
ok 35 - basic atom: head contents
ok 36 - basic atom: head HEAD
ok 37 - basic atom: tag refname
ok 38 - basic atom: tag upstream
ok 39 - basic atom: tag push
ok 40 - basic atom: tag objecttype
ok 41 - basic atom: tag objectsize
ok 42 - basic atom: tag objectname
ok 43 - basic atom: tag tree
ok 44 - basic atom: tag parent
ok 45 - basic atom: tag numparent
ok 46 - basic atom: tag object
ok 47 - basic atom: tag type
ok 48 - basic atom: tag *objectname
ok 49 - basic atom: tag *objecttype
ok 50 - basic atom: tag author
ok 51 - basic atom: tag authorname
ok 52 - basic atom: tag authoremail
ok 53 - basic atom: tag authordate
ok 54 - basic atom: tag committer
ok 55 - basic atom: tag committername
ok 56 - basic atom: tag committeremail
ok 57 - basic atom: tag committerdate
ok 58 - basic atom: tag tag
ok 59 - basic atom: tag tagger
ok 60 - basic atom: tag taggername
ok 61 - basic atom: tag taggeremail
ok 62 - basic atom: tag taggerdate
ok 63 - basic atom: tag creator
ok 64 - basic atom: tag creatordate
ok 65 - basic atom: tag subject
ok 66 - basic atom: tag contents:subject
ok 67 - basic atom: tag body
ok 68 - basic atom: tag contents:body
ok 69 - basic atom: tag contents:signature
ok 70 - basic atom: tag contents
ok 71 - basic atom: tag HEAD
ok 72 - Check invalid atoms names are errors
ok 73 - Check format specifiers are ignored in naming date atoms
ok 74 - Check valid format specifiers for date fields
ok 75 - Check invalid format specifiers are errors
ok 76 - Check unformatted date fields output
ok 77 - Check format "default" formatted date fields output
ok 78 - Check format "relative" date fields output
ok 79 - Check format "short" date fields output
ok 80 - Check format "local" date fields output
ok 81 - Check format "iso8601" date fields output
ok 82 - Check format "rfc2822" date fields output
ok 83 - Check format of strftime date fields
ok 84 - exercise strftime with odd fields
ok 85 - Verify ascending sort
ok 86 - Verify descending sort
ok 87 - Quoting style: shell
ok 88 - Quoting style: perl
ok 89 - Quoting style: python
ok 90 - Quoting style: tcl
ok 91 - more than one quoting style: --perl --shell
ok 92 - more than one quoting style: -s --python
ok 93 - more than one quoting style: --python --tcl
ok 94 - more than one quoting style: --tcl --perl
ok 95 - Check short refname format
ok 96 - Check short upstream format
ok 97 - setup for upstream:track[short]
ok 98 - Check upstream:track format
ok 99 - Check upstream:trackshort format
ok 100 - Check that :track[short] cannot be used with other atoms
ok 101 - Check that :track[short] works when upstream is invalid
ok 102 - %(push) supports tracking specifiers, too
ok 103 - Check short objectname format
ok 104 - Check for invalid refname format
ok 105 - Check %(color:...) 
ok 106 - Check ambiguous head and tag refs (strict)
ok 107 - Check ambiguous head and tag refs (loose)
ok 108 - Check ambiguous head and tag refs II (loose)
ok 109 - an unusual tag with an incomplete line
ok 110 - create tag with subject and body content
ok 111 - basic atom: refs/tags/subject-body subject
ok 112 - basic atom: refs/tags/subject-body body
ok 113 - basic atom: refs/tags/subject-body contents
ok 114 - create tag with multiline subject
ok 115 - basic atom: refs/tags/multiline subject
ok 116 - basic atom: refs/tags/multiline contents:subject
ok 117 - basic atom: refs/tags/multiline body
ok 118 - basic atom: refs/tags/multiline contents:body
ok 119 - basic atom: refs/tags/multiline contents:signature
ok 120 - basic atom: refs/tags/multiline contents
ok 121 # skip create signed tags (missing GPG)
ok 122 # skip basic atom: refs/tags/signed-empty subject (missing GPG)
ok 123 # skip basic atom: refs/tags/signed-empty contents:subject (missing GPG)
ok 124 # skip basic atom: refs/tags/signed-empty body (missing GPG)
ok 125 # skip basic atom: refs/tags/signed-empty contents:body (missing GPG)
ok 126 # skip basic atom: refs/tags/signed-empty contents:signature (missing GPG)
ok 127 # skip basic atom: refs/tags/signed-empty contents (missing GPG)
ok 128 # skip basic atom: refs/tags/signed-short subject (missing GPG)
ok 129 # skip basic atom: refs/tags/signed-short contents:subject (missing GPG)
ok 130 # skip basic atom: refs/tags/signed-short body (missing GPG)
ok 131 # skip basic atom: refs/tags/signed-short contents:body (missing GPG)
ok 132 # skip basic atom: refs/tags/signed-short contents:signature (missing GPG)
ok 133 # skip basic atom: refs/tags/signed-short contents (missing GPG)
ok 134 # skip basic atom: refs/tags/signed-long subject (missing GPG)
ok 135 # skip basic atom: refs/tags/signed-long contents:subject (missing GPG)
ok 136 # skip basic atom: refs/tags/signed-long body (missing GPG)
ok 137 # skip basic atom: refs/tags/signed-long contents:body (missing GPG)
ok 138 # skip basic atom: refs/tags/signed-long contents:signature (missing GPG)
ok 139 # skip basic atom: refs/tags/signed-long contents (missing GPG)
ok 140 - Verify sort with multiple keys
# passed all 140 test(s)
1..140
*** t6301-for-each-ref-errors.sh ***
ok 1 - setup
ok 2 - Broken refs are reported correctly
ok 3 - NULL_SHA1 refs are reported correctly
ok 4 - Missing objects are reported correctly
# passed all 4 test(s)
1..4
*** t6500-gc.sh ***
ok 1 - gc empty repository
ok 2 - gc does not leave behind pid file
ok 3 - gc --gobbledegook
ok 4 - gc -h with invalid configuration
# passed all 4 test(s)
1..4
*** t6501-freshen-objects.sh ***
ok 1 - make repo completely empty (loose)
ok 2 - disable reflogs (loose)
ok 3 - setup basic history (loose)
ok 4 - create and abandon some objects (loose)
ok 5 - simulate time passing (loose)
ok 6 - start writing new commit with old blob (loose)
ok 7 - simultaneous gc (loose)
ok 8 - finish writing out commit (loose)
ok 9 - repository passes fsck (loose)
ok 10 - abandon objects again (loose)
ok 11 - start writing new commit with same tree (loose)
ok 12 - simultaneous gc (loose)
ok 13 - finish writing out commit (loose)
ok 14 - make repo completely empty (repack)
ok 15 - disable reflogs (repack)
ok 16 - setup basic history (repack)
ok 17 - create and abandon some objects (repack)
ok 18 - simulate time passing (repack)
ok 19 - start writing new commit with old blob (repack)
ok 20 - simultaneous gc (repack)
ok 21 - finish writing out commit (repack)
ok 22 - repository passes fsck (repack)
ok 23 - abandon objects again (repack)
ok 24 - start writing new commit with same tree (repack)
ok 25 - simultaneous gc (repack)
ok 26 - finish writing out commit (repack)
ok 27 - do not complain about existing broken links
# passed all 27 test(s)
1..27
*** 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 - moving to absent target with trailing slash
ok 13 - clean up
ok 14 - moving to existing untracked target with trailing slash
ok 15 - moving to existing tracked target with trailing slash
ok 16 - clean up
ok 17 - adding another file
ok 18 - moving whole subdirectory
ok 19 - commiting the change
ok 20 - checking the commit
ok 21 - succeed when source is a prefix of destination
ok 22 - moving whole subdirectory into subdirectory
ok 23 - commiting the change
ok 24 - checking the commit
ok 25 - do not move directory over existing directory
ok 26 - move into "."
ok 27 - Michael Cassar's test case
ok 28 - Sergey Vlasov's test case
ok 29 - absolute pathname
ok 30 - absolute pathname outside should fail
ok 31 - git mv to move multiple sources into a directory
ok 32 - git mv should not change sha1 of moved cache entry
ok 33 - git mv should overwrite symlink to a file
ok 34 - git mv should overwrite file with a symlink
ok 35 - check moved symlink
ok 36 - setup submodule
ok 37 - git mv cannot move a submodule in a file
ok 38 - git mv moves a submodule with a .git directory and no .gitmodules
ok 39 - git mv moves a submodule with a .git directory and .gitmodules
ok 40 - git mv moves a submodule with gitfile
ok 41 - mv does not complain when no .gitmodules file is found
ok 42 - mv will error out on a modified .gitmodules file unless staged
ok 43 - mv issues a warning when section is not found in .gitmodules
ok 44 - mv --dry-run does not touch the submodule or .gitmodules
ok 45 - checking out a commit before submodule moved needs manual updates
ok 46 - mv -k does not accidentally destroy submodules
# passed all 46 test(s)
1..46
*** 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 - tree-filter works with -d
ok 8 - Fail if commit filter fails
ok 9 - rewrite, renaming a specific file
ok 10 - test that the file was renamed
ok 11 - rewrite, renaming a specific directory
ok 12 - test that the directory was renamed
ok 13 - rewrite one branch, keeping a side branch
ok 14 - common ancestor is still common (unchanged)
ok 15 - filter subdirectory only
ok 16 - subdirectory filter result looks okay
ok 17 - more setup
ok 18 - use index-filter to move into a subdirectory
ok 19 - stops when msg filter fails
ok 20 - author information is preserved
ok 21 - remove a certain author's commits
ok 22 - barf on invalid name
ok 23 - "map" works in commit filter
ok 24 - Name needing quotes
ok 25 - Subdirectory filter with disappearing trees
ok 26 - Tag name filtering retains tag message
ok 27 - Tag name filtering strips gpg signature
ok 28 - Tag name filtering allows slashes in tag names
ok 29 - Prune empty commits
ok 30 - prune empty collapsed merges
ok 31 - --remap-to-ancestor with filename filters
ok 32 - automatic remapping to ancestor with filename filters
ok 33 - setup submodule
ok 34 - rewrite submodule with another content
ok 35 - replace submodule revision
ok 36 - filter commit message without trailing newline
# passed all 36 test(s)
1..36
*** 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 - creating a tag with --create-reflog should create reflog
ok 9 - --create-reflog does not create reflog on failure
ok 10 - listing all tags if one exists should succeed
ok 11 - listing all tags if one exists should output that tag
ok 12 - listing a tag using a matching pattern should succeed
ok 13 - listing a tag using a matching pattern should output that tag
ok 14 - listing tags using a non-matching pattern should suceed
ok 15 - listing tags using a non-matching pattern should output nothing
ok 16 - trying to create a tag with the name of one existing should fail
ok 17 - trying to create a tag with a non-valid name should fail
ok 18 - creating a tag using HEAD directly should succeed
ok 19 - --force can create a tag with the name of one existing
ok 20 - --force is moot with a non-existing tag name
Deleted tag 'newtag' (was 86e17e4)
Deleted tag 'forcetag' (was 86e17e4)
ok 21 - trying to delete an unknown tag should fail
ok 22 - trying to delete tags without params should succeed and do nothing
ok 23 - deleting two existing tags in one command should succeed
ok 24 - creating a tag with the name of another deleted one should succeed
ok 25 - trying to delete two tags, existing and not, should fail in the 2nd
ok 26 - trying to delete an already deleted tag should fail
ok 27 - listing all tags should print them ordered
ok 28 - listing tags with substring as pattern must print those matching
ok 29 - listing tags with a suffix as pattern must print those matching
ok 30 - listing tags with a prefix as pattern must print those matching
ok 31 - listing tags using a name as pattern must print that one matching
ok 32 - listing tags using a name as pattern must print that one matching
ok 33 - listing tags with ? in the pattern should print those matching
ok 34 - listing tags using v.* should print nothing because none have v.
ok 35 - listing tags using v* should print only those having v
ok 36 - tag -l can accept multiple patterns
ok 37 - listing tags in column
ok 38 - listing tags in column with column.*
ok 39 - listing tag with -n --column should fail
ok 40 - listing tags -n in column with column.ui ignored
ok 41 - a non-annotated tag created without parameters should point to HEAD
ok 42 - trying to verify an unknown tag should fail
ok 43 - trying to verify a non-annotated and non-signed tag should fail
ok 44 - trying to verify many non-annotated or unknown tags, should fail
ok 45 - creating an annotated tag with -m message should succeed
ok 46 - creating an annotated tag with -F messagefile should succeed
ok 47 - creating an annotated tag with -F - should succeed
ok 48 - trying to create a tag with a non-existing -F file should fail
ok 49 - trying to create tags giving both -m or -F options should fail
ok 50 - creating a tag with an empty -m message should succeed
ok 51 - creating a tag with an empty -F messagefile should succeed
ok 52 - extra blanks in the message for an annotated tag should be removed
ok 53 - creating a tag with blank -m message with spaces should succeed
ok 54 - creating a tag with blank -F messagefile with spaces should succeed
ok 55 - creating a tag with -F file of spaces and no newline should succeed
ok 56 - creating a tag using a -F messagefile with #comments should succeed
ok 57 - creating a tag with a #comment in the -m message should succeed
ok 58 - creating a tag with #comments in the -F messagefile should succeed
ok 59 - creating a tag with a file of #comment and no newline should succeed
ok 60 - listing the one-line message of a non-signed tag should succeed
ok 61 - listing the zero-lines message of a non-signed tag should succeed
ok 62 - listing many message lines of a non-signed tag should succeed
ok 63 - annotations for blobs are empty
ok 64 # skip trying to verify an annotated non-signed tag should fail (missing GPG)
ok 65 # skip trying to verify a file-annotated non-signed tag should fail (missing GPG)
ok 66 # skip trying to verify two annotated non-signed tags should fail (missing GPG)
ok 67 # skip creating a signed tag with -m message should succeed (missing GPG)
ok 68 # skip sign with a given key id (missing GPG)
ok 69 # skip sign with an unknown id (1) (missing GPG)
ok 70 # skip sign with an unknown id (2) (missing GPG)
ok 71 # skip -u implies signed tag (missing GPG)
ok 72 # skip creating a signed tag with -F messagefile should succeed (missing GPG)
ok 73 # skip creating a signed tag with -F - should succeed (missing GPG)
ok 74 # skip -s implies annotated tag (missing GPG)
ok 75 # skip trying to create a signed tag with non-existing -F file should fail (missing GPG)
ok 76 # skip verifying a signed tag should succeed (missing GPG)
ok 77 # skip verifying two signed tags in one command should succeed (missing GPG)
ok 78 # skip verifying many signed and non-signed tags should fail (missing GPG)
ok 79 # skip verifying a forged tag should fail (missing GPG)
ok 80 # skip creating a signed tag with an empty -m message should succeed (missing GPG)
ok 81 # skip creating a signed tag with an empty -F messagefile should succeed (missing GPG)
ok 82 # skip extra blanks in the message for a signed tag should be removed (missing GPG)
ok 83 # skip creating a signed tag with a blank -m message should succeed (missing GPG)
ok 84 # skip creating a signed tag with blank -F file with spaces should succeed (missing GPG)
ok 85 # skip creating a signed tag with spaces and no newline should succeed (missing GPG)
ok 86 # skip creating a signed tag with a -F file with #comments should succeed (missing GPG)
ok 87 # skip creating a signed tag with #commented -m message should succeed (missing GPG)
ok 88 # skip creating a signed tag with #commented -F messagefile should succeed (missing GPG)
ok 89 # skip creating a signed tag with a #comment and no newline should succeed (missing GPG)
ok 90 # skip listing the one-line message of a signed tag should succeed (missing GPG)
ok 91 # skip listing the zero-lines message of a signed tag should succeed (missing GPG)
ok 92 # skip listing many message lines of a signed tag should succeed (missing GPG)
ok 93 # skip creating a signed tag pointing to a tree should succeed (missing GPG)
ok 94 # skip creating a signed tag pointing to a blob should succeed (missing GPG)
ok 95 # skip creating a signed tag pointing to another tag should succeed (missing GPG)
ok 96 # skip creating a signed tag with rfc1991 (missing RFC1991,GPG of GPG,RFC1991)
ok 97 # skip reediting a signed tag body omits signature (missing RFC1991,GPG of GPG,RFC1991)
ok 98 # skip verifying rfc1991 signature (missing RFC1991,GPG of GPG,RFC1991)
ok 99 # skip list tag with rfc1991 signature (missing RFC1991,GPG of GPG,RFC1991)
ok 100 # skip verifying rfc1991 signature without --rfc1991 (missing RFC1991,GPG of GPG,RFC1991)
ok 101 # skip list tag with rfc1991 signature without --rfc1991 (missing RFC1991,GPG of GPG,RFC1991)
ok 102 # skip reediting a signed tag body omits signature (missing RFC1991,GPG of GPG,RFC1991)
ok 103 # skip git tag -s fails if gpg is misconfigured (missing GPG)
ok 104 # skip verify signed tag fails when public key is not present (missing GPG)
ok 105 - git tag -a fails if tag annotation is empty
ok 106 - message in editor has initial comment
ok 107 - message in editor has initial comment: first line
ok 108 - message in editor has initial comment: remainder
ok 109 - overwriting an annoted tag should use its previous body
ok 110 - filename for the message is relative to cwd
ok 111 - filename for the message is relative to cwd
ok 112 - creating second commit and tag
ok 113 - creating third commit without tag
ok 114 - checking that first commit is in all tags (hash)
ok 115 - checking that first commit is in all tags (tag)
ok 116 - checking that first commit is in all tags (relative)
ok 117 - checking that second commit only has one tag
ok 118 - checking that third commit has no tags
ok 119 - creating simple branch
ok 120 - checking that branch head only has one tag
ok 121 - merging original branch into this branch
ok 122 - checking that original branch head has one tag now
ok 123 - checking that initial commit is in all tags
ok 124 - mixing incompatibles modes and options is forbidden
ok 125 - --points-at cannot be used in non-list mode
ok 126 - --points-at finds lightweight tags
ok 127 - --points-at finds annotated tags of commits
ok 128 - --points-at finds annotated tags of tags
ok 129 - multiple --points-at are OR-ed together
ok 130 - lexical sort
ok 131 - version sort
ok 132 - reverse version sort
ok 133 - reverse lexical sort
ok 134 - configured lexical sort
ok 135 - option override configured sort
ok 136 - invalid sort parameter on command line
ok 137 - invalid sort parameter in configuratoin
ok 138 - version sort with prerelease reordering
ok 139 - reverse version sort with prerelease reordering
ok 140 - --contains works in a deep repo
# passed all 140 test(s)
1..140
*** 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 - setup
ok 3 # skip some commands use a pager (missing TTY)
ok 4 # skip pager runs from subdir (missing TTY)
ok 5 # skip LESS and LV envvars are set for pagination (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)
ok 76 - command with underscores does not complain
# passed all 76 test(s)
1..76
*** t7007-show.sh ***
ok 1 - setup
ok 2 - showing a tag that point at a missing object
ok 3 - set up a bit of history
ok 4 - showing two commits
ok 5 - showing a range walks (linear)
ok 6 - showing a range walks (Y shape, ^ first)
ok 7 - showing a range walks (Y shape, ^ last)
ok 8 - showing with -N walks
ok 9 - showing annotated tag
ok 10 - showing annotated tag plus commit
ok 11 - showing range
ok 12 - -s suppresses diff
ok 13 - --quiet suppresses diff
ok 14 - show --graph is forbidden
# passed all 14 test(s)
1..14
*** 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 --cached respects binary diff attribute
ok 21 - grep --cached respects binary diff attribute (2)
ok 22 - grep revision respects binary diff attribute
ok 23 - grep respects not-binary diff attribute
ok 24 - setup textconv filters
ok 25 - grep does not honor textconv
ok 26 - grep --textconv honors textconv
ok 27 - grep --no-textconv does not honor textconv
ok 28 - grep --textconv blob honors textconv
# still have 1 known breakage(s)
# passed all remaining 27 test(s)
1..28
*** t7009-filter-branch-null-sha1.sh ***
ok 1 - setup: base commits
ok 2 - setup: a commit with a bogus null sha1 in the tree
ok 3 - setup: bring HEAD and index in sync
ok 4 - filter commands are still checked
ok 5 - removing the broken entry works
# passed all 5 test(s)
1..5
*** 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 --deleted
ok 7 - ls-files --deleted
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
*** t7030-verify-tag.sh ***
You do not seem to have gpg installed
ok 1 # skip create signed tags (missing GPG)
ok 2 # skip verify and show signatures (missing GPG)
ok 3 # skip detect fudged signature (missing GPG)
ok 4 # skip verify signatures with --raw (missing GPG)
# passed all 4 test(s)
1..4
*** 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
ok 11 - status when conflicts with add and rm advice (deleted by them)
ok 12 - prepare for conflicts
ok 13 - status when conflicts with add and rm advice (both deleted)
ok 14 - status when conflicts with only rm advice (both deleted)
# passed all 14 test(s)
1..14
*** t7061-wtstatus-ignore.sh ***
ok 1 - status untracked directory with --ignored
ok 2 - same with gitignore starting with BOM
ok 3 - status untracked directory with --ignored -u
ok 4 - status prefixed untracked directory with --ignored
ok 5 - status prefixed untracked sub-directory with --ignored -u
ok 6 - status ignored directory with --ignore
ok 7 - status ignored directory with --ignore -u
ok 8 - status empty untracked directory with --ignore
ok 9 - status empty untracked directory with --ignore -u
ok 10 - status untracked directory with ignored files with --ignore
ok 11 - status untracked directory with ignored files with --ignore -u
ok 12 - status ignored tracked directory with --ignore
ok 13 - status ignored tracked directory with --ignore -u
ok 14 - status ignored tracked directory and ignored file with --ignore
ok 15 - status ignored tracked directory and ignored file with --ignore -u
ok 16 - status ignored tracked directory and uncommitted file with --ignore
ok 17 - status ignored tracked directory and uncommitted file with --ignore -u
ok 18 - status ignored tracked directory with uncommitted file in untracked subdir with --ignore
ok 19 - status ignored tracked directory with uncommitted file in untracked subdir with --ignore -u
ok 20 - status ignored tracked directory with uncommitted file in tracked subdir with --ignore
ok 21 - status ignored tracked directory with uncommitted file in tracked subdir with --ignore -u
# passed all 21 test(s)
1..21
*** t7062-wtstatus-ignorecase.sh ***
ok 1 - status with hash collisions
# passed all 1 test(s)
1..1
*** t7063-status-untracked-cache.sh ***
ok 1 - setup
ok 2 - untracked cache is empty
ok 3 - status first time (empty cache)
ok 4 - untracked cache after first status
ok 5 - status second time (fully populated cache)
ok 6 - untracked cache after second status
ok 7 - modify in root directory, one dir invalidation
ok 8 - verify untracked cache dump
ok 9 - new .gitignore invalidates recursively
ok 10 - verify untracked cache dump
ok 11 - new info/exclude invalidates everything
ok 12 - verify untracked cache dump
ok 13 - move two from tracked to untracked
ok 14 - status after the move
ok 15 - verify untracked cache dump
ok 16 - move two from untracked to tracked
ok 17 - status after the move
ok 18 - verify untracked cache dump
ok 19 - set up for sparse checkout testing
ok 20 - status after commit
ok 21 - untracked cache correct after commit
ok 22 - set up sparse checkout
ok 23 - create/modify files, some of which are gitignored
ok 24 - test sparse status with untracked cache
ok 25 - untracked cache correct after status
ok 26 - test sparse status again with untracked cache
ok 27 - set up for test of subdir and sparse checkouts
ok 28 - test sparse status with untracked cache and subdir
ok 29 - verify untracked cache dump (sparse/subdirs)
ok 30 - test sparse status again with untracked cache and subdir
ok 31 - move entry in subdir from untracked to cached
ok 32 - move entry in subdir from cached to untracked
# passed all 32 test(s)
1..32
*** t7101-reset-empty-subdirs.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 - reset --hard message
ok 3 - reset --hard message (ISO8859-1 logoutputencoding)
ok 4 - giving a non existing revision should fail
ok 5 - reset --soft with unmerged index should fail
ok 6 - giving paths with options different than --mixed should fail
ok 7 - giving unrecognized options should fail
ok 8 - trying to do reset --soft with pending merge should fail
ok 9 - trying to do reset --soft with pending checkout merge should fail
ok 10 - resetting to HEAD with no changes should succeed and do nothing
ok 11 - --soft reset only should show changes in diff --cached
ok 12 - changing files and redo the last commit should succeed
ok 13 - --hard reset should change the files and undo commits permanently
ok 14 - redoing changes adding them without commit them should succeed
ok 15 - --mixed reset to HEAD should unadd the files
ok 16 - redoing the last two commits should succeed
ok 17 - --hard reset to HEAD should clear a failed merge
ok 18 - --hard reset to ORIG_HEAD should clear a fast-forward merge
ok 19 - test --mixed <paths>
ok 20 - test resetting the index at give paths
ok 21 - resetting an unmodified path is a no-op
ok 22 - --mixed refreshes the index
ok 23 - resetting specific path that is unmerged
ok 24 - disambiguation (1)
ok 25 - disambiguation (2)
ok 26 - disambiguation (3)
ok 27 - disambiguation (4)
ok 28 - reset with paths accepts tree
ok 29 - reset -N keeps removed files as intent-to-add
ok 30 - reset --mixed sets up work tree
# passed all 30 test(s)
1..30
*** 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-hard.sh ***
ok 1 - setup
ok 2 - reset --hard should restore unmerged ones
ok 3 - reset --hard did not corrupt index or 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
*** t7106-reset-unborn-branch.sh ***
ok 1 - setup
ok 2 - reset
ok 3 - reset HEAD
ok 4 - reset $file
ok 5 - reset -p
ok 6 - reset --soft is a no-op
ok 7 - reset --hard
# passed all 7 test(s)
1..7
*** 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
*** t7112-reset-submodule.sh ***
ok 1 - git reset --keep: added submodule creates empty directory
ok 2 - git reset --keep: added submodule leaves existing empty directory alone
ok 3 - git reset --keep: added submodule doesn't remove untracked unignored file with same name
ok 4 - git reset --keep: replace tracked file with submodule creates empty directory
ok 5 - git reset --keep: replace directory with submodule
ok 6 - git reset --keep: removed submodule leaves submodule directory and its contents in place
ok 7 - git reset --keep: removed submodule leaves submodule containing a .git directory alone
ok 8 - git reset --keep: replace submodule with a directory must fail
ok 9 - git reset --keep: replace submodule containing a .git directory with a directory must fail
not ok 10 - git reset --keep: replace submodule with a file must fail # TODO known breakage
not ok 11 - git reset --keep: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 12 - git reset --keep: modified submodule does not update submodule work tree
ok 13 - git reset --keep: modified submodule does not update submodule work tree to invalid commit
ok 14 - git reset --keep: modified submodule does not update submodule work tree from invalid commit
ok 15 - git reset --merge: added submodule creates empty directory
ok 16 - git reset --merge: added submodule leaves existing empty directory alone
ok 17 - git reset --merge: added submodule doesn't remove untracked unignored file with same name
ok 18 - git reset --merge: replace tracked file with submodule creates empty directory
ok 19 - git reset --merge: replace directory with submodule
ok 20 - git reset --merge: removed submodule leaves submodule directory and its contents in place
ok 21 - git reset --merge: removed submodule leaves submodule containing a .git directory alone
ok 22 - git reset --merge: replace submodule with a directory must fail
ok 23 - git reset --merge: replace submodule containing a .git directory with a directory must fail
not ok 24 - git reset --merge: replace submodule with a file must fail # TODO known breakage
not ok 25 - git reset --merge: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 26 - git reset --merge: modified submodule does not update submodule work tree
ok 27 - git reset --merge: modified submodule does not update submodule work tree to invalid commit
ok 28 - git reset --merge: modified submodule does not update submodule work tree from invalid commit
ok 29 - git reset --hard: added submodule creates empty directory
ok 30 - git reset --hard: added submodule leaves existing empty directory alone
ok 31 - git reset --hard: added submodule does remove untracked unignored file with same name when forced
ok 32 - git reset --hard: replace tracked file with submodule creates empty directory
ok 33 - git reset --hard: replace directory with submodule
ok 34 - git reset --hard: removed submodule leaves submodule directory and its contents in place
ok 35 - git reset --hard: removed submodule leaves submodule containing a .git directory alone
not ok 36 - git reset --hard: replace submodule with a directory must fail # TODO known breakage
not ok 37 - git reset --hard: replace submodule containing a .git directory with a directory must fail # TODO known breakage
not ok 38 - git reset --hard: replace submodule with a file must fail # TODO known breakage
not ok 39 - git reset --hard: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 40 - git reset --hard: modified submodule does not update submodule work tree
ok 41 - git reset --hard: modified submodule does not update submodule work tree to invalid commit
ok 42 - git reset --hard: modified submodule does not update submodule work tree from invalid commit
# still have 8 known breakage(s)
# passed all remaining 34 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 - switch to another branch while carrying a deletion
ok 11 - checkout to detach HEAD (with advice declined)
ok 12 - checkout to detach HEAD
ok 13 - checkout to detach HEAD with branchname^
ok 14 - checkout to detach HEAD with :/message
ok 15 - checkout to detach HEAD with HEAD^0
ok 16 - checkout with ambiguous tag/branch names
ok 17 - checkout with ambiguous tag/branch names
ok 18 - switch branches while in subdirectory
ok 19 - checkout specific path while in subdirectory
ok 20 - checkout w/--track sets up tracking
ok 21 - checkout w/autosetupmerge=always sets up tracking
ok 22 - checkout w/--track from non-branch HEAD fails
ok 23 - checkout w/--track from tag fails
ok 24 - detach a symbolic link HEAD
ok 25 - checkout with --track fakes a sensible -b <name>
ok 26 - checkout with --track, but without -b, fails with too short tracked name
ok 27 - checkout an unmerged path should fail
ok 28 - checkout with an unmerged path can be ignored
ok 29 - checkout unmerged stage
ok 30 - checkout with --merge
ok 31 - checkout with --merge, in diff3 -m style
ok 32 - checkout --conflict=merge, overriding config
ok 33 - checkout --conflict=diff3
ok 34 - failing checkout -b should not break working tree
ok 35 - switch out of non-branch
ok 36 - custom merge driver with checkout -m
# passed all 36 test(s)
1..36
*** 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 -d -x with ignored tracked directory
ok 20 - git clean -X
ok 21 - git clean -d -X
ok 22 - git clean -d -X with ignored tracked directory
ok 23 - clean.requireForce defaults to true
ok 24 - clean.requireForce
ok 25 - clean.requireForce and -n
ok 26 - clean.requireForce and -f
ok 27 - core.excludesfile
ok 28 - removal failure
ok 29 - nested git work tree
ok 30 - should clean things that almost look like git but are not
ok 31 - should not clean submodules
ok 32 - should avoid cleaning possible submodules
ok 33 - nested (empty) git should be kept
ok 34 - nested bare repositories should be cleaned
not ok 35 - nested (empty) bare repositories should be cleaned even when in .git # TODO known breakage
not ok 36 - nested (non-empty) bare repositories should be cleaned even when in .git # TODO known breakage
ok 37 - giving path in nested git work tree will remove it
ok 38 - giving path to nested .git will not remove it
ok 39 - giving path to nested .git/ will remove contents
ok 40 - force removal of nested git work tree
ok 41 - git clean -e
ok 42 - git clean -d with an unreadable empty directory
ok 43 - git clean -d respects pathspecs (dir is prefix of pathspec)
ok 44 - git clean -d respects pathspecs (pathspec is prefix of dir)
# still have 2 known breakage(s)
# passed all remaining 42 test(s)
1..44
*** t7301-clean-interactive.sh ***
ok 1 - setup
ok 2 - git clean -i (c: clean hotkey)
ok 3 - git clean -i (cl: clean prefix)
ok 4 - git clean -i (quit)
ok 5 - git clean -i (Ctrl+D)
ok 6 - git clean -id (filter all)
ok 7 - git clean -id (filter patterns)
ok 8 - git clean -id (filter patterns 2)
ok 9 - git clean -id (select - all)
ok 10 - git clean -id (select - none)
ok 11 - git clean -id (select - number)
ok 12 - git clean -id (select - number 2)
ok 13 - git clean -id (select - number 3)
ok 14 - git clean -id (select - filenames)
ok 15 - git clean -id (select - range)
ok 16 - git clean -id (select - range 2)
ok 17 - git clean -id (inverse select)
ok 18 - git clean -id (ask)
ok 19 - git clean -id (ask - Ctrl+D)
ok 20 - git clean -id with prefix and path (filter)
ok 21 - git clean -id with prefix and path (select by name)
ok 22 - git clean -id with prefix and path (ask)
# passed all 22 test(s)
1..22
*** t7400-submodule-basic.sh ***
ok 1 - setup - initial commit
ok 2 - configuration parsing
ok 3 - setup - repository in init subdirectory
ok 4 - setup - commit with gitlink
ok 5 - setup - hide init subdirectory
ok 6 - setup - repository to add submodules to
ok 7 - submodule add
ok 8 - submodule add to .gitignored path fails
ok 9 - submodule add to .gitignored path with --force
ok 10 - submodule add --branch
ok 11 - submodule add with ./ in path
ok 12 - submodule add with /././ in path
ok 13 - submodule add with // in path
ok 14 - submodule add with /.. in path
ok 15 - submodule add with ./, /.. and // in path
ok 16 - submodule add in subdirectory
ok 17 - submodule add in subdirectory with relative path should fail
ok 18 - setup - add an example entry to .gitmodules
ok 19 - status should fail for unmapped paths
ok 20 - setup - map path in .gitmodules
ok 21 - status should only print one line
ok 22 - setup - fetch commit name from submodule
ok 23 - status should initially be "missing"
ok 24 - init should register submodule url in .git/config
ok 25 - init should fail with unknown submodule
ok 26 - update should fail with unknown submodule
ok 27 - status should fail with unknown submodule
ok 28 - sync should fail with unknown submodule
ok 29 - update should fail when path is used by a file
ok 30 - update should fail when path is used by a nonempty directory
ok 31 - update should work when path is an empty dir
ok 32 - status should be "up-to-date" after update
ok 33 - status "up-to-date" from subdirectory
ok 34 - status "up-to-date" from subdirectory with path
ok 35 - status should be "modified" after submodule commit
ok 36 - the --cached sha1 should be rev1
ok 37 - git diff should report the SHA1 of the new submodule commit
ok 38 - update should checkout rev1
ok 39 - status should be "up-to-date" after update
ok 40 - checkout superproject with subproject already present
ok 41 - apply submodule diff
ok 42 - update --init
ok 43 - update --init from subdirectory
ok 44 - do not add files from a submodule
ok 45 - gracefully add/reset submodule with a trailing slash
ok 46 - ls-files gracefully handles trailing slash
ok 47 - moving to a commit without submodule does not leave empty dir
ok 48 - submodule <invalid-subcommand> fails
ok 49 - add submodules without specifying an explicit path
ok 50 - add should fail when path is used by a file
ok 51 - add should fail when path is used by an existing directory
ok 52 - use superproject as upstream when path is relative and no url is set there
ok 53 - set up for relative path tests
ok 54 - ../subrepo works with URL - ssh://hostname/repo
ok 55 - ../subrepo works with port-qualified URL - ssh://hostname:22/repo
ok 56 - ../subrepo path works with local path - //somewhere else/repo
ok 57 - ../subrepo works with file URL - file:///tmp/repo
ok 58 - ../subrepo works with helper URL- helper:://hostname/repo
ok 59 - ../subrepo works with scp-style URL - user@host:repo
ok 60 - ../subrepo works with scp-style URL - user@host:path/to/repo
ok 61 - ../subrepo works with relative local path - foo
ok 62 - ../subrepo works with relative local path - foo/bar
ok 63 - ../subrepo works with relative local path - ./foo
ok 64 - ../subrepo works with relative local path - ./foo/bar
ok 65 - ../subrepo works with relative local path - ../foo
ok 66 - ../subrepo works with relative local path - ../foo/bar
ok 67 - ../bar/a/b/c works with relative local path - ../foo/bar.git
ok 68 - moving the superproject does not break submodules
ok 69 - submodule add --name allows to replace a submodule with another at the same path
ok 70 - submodule add with an existing name fails unless forced
ok 71 - set up a second submodule
ok 72 - submodule deinit should remove the whole submodule section from .git/config
ok 73 - submodule deinit from subdirectory
ok 74 - submodule deinit . deinits all initialized submodules
ok 75 - submodule deinit deinits a submodule when its work tree is missing or empty
ok 76 - submodule deinit fails when the submodule contains modifications unless forced
ok 77 - submodule deinit fails when the submodule contains untracked files unless forced
ok 78 - submodule deinit fails when the submodule HEAD does not match unless forced
ok 79 - submodule deinit is silent when used on an uninitialized submodule
ok 80 - submodule deinit fails when submodule has a .git directory even when forced
ok 81 - submodule with UTF-8 name
ok 82 - submodule add clone shallow submodule
# passed all 82 test(s)
1..82
*** t7401-submodule-summary.sh ***
ok 1 - added submodule
ok 2 - added submodule (subdirectory)
ok 3 - added submodule (subdirectory only)
ok 4 - added submodule (subdirectory with explicit path)
ok 5 - modified submodule(forward)
ok 6 - modified submodule(forward), --files
ok 7 - no ignore=all setting has any effect
ok 8 - modified submodule(backward)
ok 9 - modified submodule(backward and forward)
ok 10 - --summary-limit
ok 11 - typechanged submodule(submodule->blob), --cached
ok 12 - typechanged submodule(submodule->blob), --files
ok 13 - typechanged submodule(submodule->blob)
ok 14 - nonexistent commit
ok 15 - typechanged submodule(blob->submodule)
ok 16 - deleted submodule
ok 17 - multiple submodules
ok 18 - path filter
ok 19 - given commit
ok 20 - --for-status
ok 21 - fail when using --files together with --cached
ok 22 - should not fail in an empty repo
# passed all 22 test(s)
1..22
*** 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
ok 6 - rebasing submodule that should conflict
# passed all 6 test(s)
1..6
*** 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 --recursive" should update all submodule URLs
ok 6 - reset submodule URLs
ok 7 - "git submodule sync" should update submodule URLs - subdirectory
ok 8 - "git submodule sync --recursive" should update all submodule URLs - subdirectory
ok 9 - "git submodule sync" should update known submodule URLs
ok 10 - "git submodule sync" should not vivify uninteresting submodule
ok 11 - "git submodule sync" handles origin URL of the form foo
ok 12 - "git submodule sync" handles origin URL of the form foo/bar
ok 13 - "git submodule sync --recursive" propagates changes in origin
ok 14 - "git submodule sync" handles origin URL of the form ./foo
ok 15 - "git submodule sync" handles origin URL of the form ./foo/bar
ok 16 - "git submodule sync" handles origin URL of the form ../foo
ok 17 - "git submodule sync" handles origin URL of the form ../foo/bar
ok 18 - "git submodule sync" handles origin URL of the form ../foo/bar with deeply nested submodule
# passed all 18 test(s)
1..18
*** 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 from subdirectory
ok 4 - submodule update does not fetch already present commits
ok 5 - submodule update should fail due to local changes
ok 6 - submodule update should throw away changes with --force 
ok 7 - submodule update --force forcibly checks out submodules
ok 8 - submodule update --remote should fetch upstream changes
ok 9 - local config should override .gitmodules branch
ok 10 - submodule update --rebase staying on master
ok 11 - submodule update --merge staying on master
ok 12 - submodule update - rebase in .git/config
ok 13 - submodule update - checkout in .git/config but --rebase given
ok 14 - submodule update - merge in .git/config
ok 15 - submodule update - checkout in .git/config but --merge given
ok 16 - submodule update - checkout in .git/config
ok 17 - submodule update - command in .git/config
ok 18 - submodule update - command in .git/config catches failure
ok 19 - submodule init does not copy command into .git/config
ok 20 - submodule init picks up rebase
ok 21 - submodule init picks up merge
ok 22 - submodule update --merge  - ignores --merge  for new submodules
ok 23 - submodule update --rebase - ignores --rebase for new submodules
ok 24 - submodule update ignores update=merge config for new submodules
ok 25 - submodule update ignores update=rebase config for new submodules
ok 26 - submodule init picks up update=none
ok 27 - submodule update - update=none in .git/config
ok 28 - submodule update - update=none in .git/config but --checkout given
ok 29 - submodule update --init skips submodule with update=none
ok 30 - submodule update continues after checkout error
ok 31 - submodule update continues after recursive checkout error
ok 32 - submodule update exit immediately in case of merge conflict
ok 33 - submodule update exit immediately after recursive rebase error
ok 34 - add different submodules to the same path
ok 35 - submodule add places git-dir in superprojects git-dir
ok 36 - submodule update places git-dir in superprojects git-dir
ok 37 - submodule add places git-dir in superprojects git-dir recursive
ok 38 - submodule update places git-dir in superprojects git-dir recursive
ok 39 - submodule add properly re-creates deeper level submodules
ok 40 - submodule update properly revives a moved submodule
ok 41 - submodule update can handle symbolic links in pwd
ok 42 - submodule update clone shallow submodule
ok 43 - submodule update --recursive drops module name before recursing
# passed all 43 test(s)
1..43
*** t7407-submodule-foreach.sh ***
ok 1 - setup a submodule tree
ok 2 - test basic "submodule foreach" usage
ok 3 - test "submodule foreach" from subdirectory
ok 4 - setup nested submodules
ok 5 - use "submodule foreach" to checkout 2nd level submodule
ok 6 - use "foreach --recursive" to checkout all submodules
ok 7 - test messages from "foreach --recursive"
ok 8 - test "foreach --quiet --recursive"
ok 9 - use "update --recursive" to checkout all submodules
ok 10 - test "status --recursive"
ok 11 - ensure "status --cached --recursive" preserves the --cached flag
ok 12 - use "git clone --recursive" to checkout all submodules
ok 13 - test "update --recursive" with a flag with spaces
ok 14 - use "update --recursive nested1" to checkout all submodules rooted in nested1
ok 15 - command passed to foreach retains notion of stdin
ok 16 - command passed to foreach --recursive retains notion of stdin
ok 17 - multi-argument command passed to foreach is not shell-evaluated twice
# passed all 17 test(s)
1..17
*** t7408-submodule-reference.sh ***
ok 1 - preparing first repository
ok 2 - preparing second repository
ok 3 - preparing superproject
ok 4 - submodule add --reference
ok 5 - after add: existence of info/alternates
ok 6 - that reference gets used with add
ok 7 - cloning superproject
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
*** t7409-submodule-detached-worktree.sh ***
ok 1 - submodule on detached working tree
ok 2 - submodule on detached working pointed by core.worktree
# passed all 2 test(s)
1..2
*** t7410-submodule-checkout-to.sh ***
ok 1 - setup: make origin
ok 2 - setup: clone
ok 3 - checkout main
not ok 4 - can see submodule diffs just after checkout # TODO known breakage
ok 5 - checkout main and initialize independed clones
ok 6 - can see submodule diffs after independed cloning
# still have 1 known breakage(s)
# passed all remaining 5 test(s)
1..6
*** t7411-submodule-config.sh ***
ok 1 - submodule config cache setup
ok 2 - test parsing and lookup of submodule config by path
ok 3 - test parsing and lookup of submodule config by name
ok 4 - error in one submodule config lets continue
ok 5 - reading of local configuration
ok 6 - local error in fetchrecursesubmodule dies early
ok 7 - error in history in fetchrecursesubmodule lets continue
# passed all 7 test(s)
1..7
*** 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 -C empty respects --allow-empty-message
ok 25 - commit --fixup provides correct one-line commit message
ok 26 - commit --squash works with -F
ok 27 - commit --squash works with -m
ok 28 - commit --squash works with -C
ok 29 - commit --squash works with -c
ok 30 - commit --squash works with -C for same commit
ok 31 - commit --squash works with -c for same commit
ok 32 - commit --squash works with editor
ok 33 - invalid message options when using --fixup
# passed all 33 test(s)
1..33
*** 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 - --dry-run fails with nothing to commit
ok 11 - --short fails with nothing to commit
ok 12 - --porcelain fails with nothing to commit
ok 13 - --long fails with nothing to commit
ok 14 - setup: non-initial commit
ok 15 - --dry-run with stuff to commit returns ok
not ok 16 - --short with stuff to commit returns ok # TODO known breakage
not ok 17 - --porcelain with stuff to commit returns ok # TODO known breakage
ok 18 - --long with stuff to commit returns ok
ok 19 - commit message from non-existing file
ok 20 - empty commit message
ok 21 - template "emptyness" check does not kick in with -F
ok 22 - template "emptyness" check
ok 23 - setup: commit message from file
ok 24 - amend commit
ok 25 - amend --only ignores staged contents
ok 26 - set up editor
ok 27 - amend without launching editor
ok 28 - --amend --edit
ok 29 - --amend --edit of empty message
ok 30 - -m --edit
ok 31 - -m and -F do not mix
ok 32 - using message from other commit
ok 33 - editing message from other commit
ok 34 - message from stdin
ok 35 - overriding author from command line
ok 36 - interactive add
ok 37 - commit --interactive doesn't change index if editor aborts
ok 38 - editor not invoked if -F is given
ok 39 - partial commit that involves removal (1)
ok 40 - partial commit that involves removal (2)
ok 41 - partial commit that involves removal (3)
ok 42 - amend commit to fix author
ok 43 - amend commit to fix date
ok 44 - commit mentions forced date in output
ok 45 - commit complains about completely bogus dates
ok 46 - commit --date allows approxidate
ok 47 - sign off (1)
ok 48 - sign off (2)
ok 49 - signoff gap
ok 50 - signoff gap 2
ok 51 - multiple -m
ok 52 - amend commit to fix author
ok 53 - git commit <file> with dirty index
ok 54 - same tree (single parent)
ok 55 - same tree (single parent) --allow-empty
ok 56 - same tree (merge and amend merge)
ok 57 - amend using the message from another commit
ok 58 - amend using the message from a commit named with tag
ok 59 - amend can copy notes
ok 60 - commit a file whose name is a dash
ok 61 - --only works on to-be-born branch
# still have 2 known breakage(s)
# passed all remaining 59 test(s)
1..61
*** 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 - prepare file with comment line and trailing newlines
ok 14 - cleanup commit messages (verbatim option,-t)
ok 15 - cleanup commit messages (verbatim option,-F)
ok 16 - cleanup commit messages (verbatim option,-m)
ok 17 - cleanup commit messages (whitespace option,-F)
ok 18 - cleanup commit messages (scissors option,-F,-e)
ok 19 - cleanup commit messages (scissors option,-F,-e, scissors on first line)
ok 20 - cleanup commit messages (strip option,-F)
ok 21 - cleanup commit messages (strip option,-F,-e)
ok 22 - cleanup commit messages (strip option,-F,-e): output
ok 23 - cleanup commit message (fail on invalid cleanup mode option)
ok 24 - cleanup commit message (fail on invalid cleanup mode configuration)
ok 25 - cleanup commit message (no config and no option uses default)
ok 26 - cleanup commit message (option overrides default)
ok 27 - cleanup commit message (config overrides default)
ok 28 - cleanup commit message (option overrides config)
ok 29 - cleanup commit message (default, -m)
ok 30 - cleanup commit message (whitespace option, -m)
ok 31 - cleanup commit message (whitespace config, -m)
ok 32 - message shows author when it is not equal to committer
ok 33 - message shows date when it is explicitly set
ok 34 # skip message shows committer when it is automatic (missing AUTOIDENT)
ok 35 - do not fire editor when committer is bogus
ok 36 - do not fire editor if -m <msg> was given
ok 37 - do not fire editor if -m "" was given
ok 38 - do not fire editor in the presence of conflicts
ok 39 - a SIGTERM should break locks
ok 40 - Hand committing of a redundant merge removes dups
ok 41 - A single-liner subject with a token plus colon is not a footer
ok 42 - commit -s places sob on third line after two empty lines
ok 43 - commit
ok 44 - commit
ok 45 - commit --status
ok 46 - commit --no-status
ok 47 - commit with commit.status = yes
ok 48 - commit with commit.status = no
ok 49 - commit --status with commit.status = yes
ok 50 - commit --no-status with commit.status = yes
ok 51 - commit --status with commit.status = no
ok 52 - commit --no-status with commit.status = no
ok 53 - commit
ok 54 - commit
ok 55 - commit --status
ok 56 - commit --no-status
ok 57 - commit with commit.status = yes
ok 58 - commit with commit.status = no
ok 59 - commit --status with commit.status = yes
ok 60 - commit --no-status with commit.status = yes
ok 61 - commit --status with commit.status = no
ok 62 - commit --no-status with commit.status = no
ok 63 - commit --status with custom comment character
ok 64 - switch core.commentchar
ok 65 - switch core.commentchar but out of options
# passed all 65 test(s)
1..65
*** 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
ok 11 - check the author in hook
# passed all 11 test(s)
1..11
*** 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 hook and editor (merge)
ok 13 - with failing hook
ok 14 - with failing hook (--no-verify)
ok 15 - with failing hook (merge)
# passed all 15 test(s)
1..15
*** 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
ok 7 - diff in message is retained with -v
ok 8 - submodule log is stripped out too with -v
ok 9 - verbose diff is stripped out with set core.commentChar
# passed all 9 test(s)
1..9
*** 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 --column
ok 6 - status --column status.displayCommentPrefix=false
ok 7 - status with status.displayCommentPrefix=true
ok 8 - status with status.displayCommentPrefix=false
ok 9 - status -v
ok 10 - status -v -v
ok 11 - setup fake editor
ok 12 - commit ignores status.displayCommentPrefix=false in COMMIT_EDITMSG
ok 13 - status (advice.statusHints false)
ok 14 - status -s
ok 15 - status with gitignore
ok 16 - status with gitignore (nothing untracked)
ok 17 - status -s -b
ok 18 - status -s -z -b
ok 19 - setup dir3
ok 20 - status -uno
ok 21 - status (status.showUntrackedFiles no)
ok 22 - status -uno (advice.statusHints false)
ok 23 - status -s -uno
ok 24 - status -s (status.showUntrackedFiles no)
ok 25 - status -unormal
ok 26 - status (status.showUntrackedFiles normal)
ok 27 - status -s -unormal
ok 28 - status -s (status.showUntrackedFiles normal)
ok 29 - status -uall
ok 30 - status (status.showUntrackedFiles all)
ok 31 - teardown dir3
ok 32 - status -s -uall
ok 33 - status -s (status.showUntrackedFiles all)
ok 34 - status with relative paths
ok 35 - status -s with relative paths
ok 36 - status --porcelain ignores relative paths setting
ok 37 - setup unique colors
ok 38 - status with color.ui
ok 39 - status with color.status
ok 40 - status -s with color.ui
ok 41 - status -s with color.status
ok 42 - status -s -b with color.status
ok 43 - status --porcelain ignores color.ui
ok 44 - status --porcelain ignores color.status
ok 45 - status --porcelain respects -b
ok 46 - status without relative paths
ok 47 - status -s without relative paths
ok 48 - dry-run of partial commit excluding new file in index
ok 49 - status refreshes the index
ok 50 - setup status submodule summary
ok 51 - status submodule summary is disabled by default
ok 52 - status --untracked-files=all does not show submodule
ok 53 - status -s submodule summary is disabled by default
ok 54 - status -s --untracked-files=all does not show submodule
ok 55 - status submodule summary
ok 56 - status submodule summary with status.displayCommentPrefix=false
ok 57 - commit with submodule summary ignores status.displayCommentPrefix
ok 58 - status -s submodule summary
ok 59 - status submodule summary (clean submodule): commit
ok 60 - status -s submodule summary (clean submodule)
ok 61 - status -z implies porcelain
ok 62 - commit --dry-run submodule summary (--amend)
ok 63 - status succeeds in a read-only repository
ok 64 - --ignore-submodules=untracked suppresses submodules with untracked content
ok 65 - .gitmodules ignore=untracked suppresses submodules with untracked content
ok 66 - .git/config ignore=untracked suppresses submodules with untracked content
ok 67 - --ignore-submodules=dirty suppresses submodules with untracked content
ok 68 - .gitmodules ignore=dirty suppresses submodules with untracked content
ok 69 - .git/config ignore=dirty suppresses submodules with untracked content
ok 70 - --ignore-submodules=dirty suppresses submodules with modified content
ok 71 - .gitmodules ignore=dirty suppresses submodules with modified content
ok 72 - .git/config ignore=dirty suppresses submodules with modified content
ok 73 - --ignore-submodules=untracked doesn't suppress submodules with modified content
ok 74 - .gitmodules ignore=untracked doesn't suppress submodules with modified content
ok 75 - .git/config ignore=untracked doesn't suppress submodules with modified content
ok 76 - --ignore-submodules=untracked doesn't suppress submodule summary
ok 77 - .gitmodules ignore=untracked doesn't suppress submodule summary
ok 78 - .git/config ignore=untracked doesn't suppress submodule summary
ok 79 - --ignore-submodules=dirty doesn't suppress submodule summary
ok 80 - .gitmodules ignore=dirty doesn't suppress submodule summary
ok 81 - .git/config ignore=dirty doesn't suppress submodule summary
ok 82 - status (core.commentchar with submodule summary)
ok 83 - status (core.commentchar with two chars with submodule summary)
ok 84 - --ignore-submodules=all suppresses submodule summary
ok 85 - .gitmodules ignore=all suppresses unstaged submodule summary
ok 86 - .git/config ignore=all suppresses unstaged submodule summary
ok 87 - setup of test environment
ok 88 - "status.short=true" same as "-s"
ok 89 - "status.short=true" weaker than "--no-short"
ok 90 - "status.short=false" same as "--no-short"
ok 91 - "status.short=false" weaker than "-s"
ok 92 - "status.branch=true" same as "-b"
ok 93 - "status.branch=true" different from "--no-branch"
ok 94 - "status.branch=true" weaker than "--no-branch"
ok 95 - "status.branch=true" weaker than "--porcelain"
ok 96 - "status.branch=false" same as "--no-branch"
ok 97 - "status.branch=false" weaker than "-b"
ok 98 - Restore default test environment
ok 99 - git commit will commit a staged but ignored submodule
ok 100 - git commit --dry-run will show a staged but ignored submodule
ok 101 - git commit -m will commit a staged but ignored submodule
# passed all 101 test(s)
1..101
*** 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 verify and show signatures (missing GPG)
ok 3 # skip verify-commit exits success on untrusted signature (missing GPG)
ok 4 # skip verify signatures with --raw (missing GPG)
ok 5 # skip show signed commit with signature (missing GPG)
ok 6 # skip detect fudged signature (missing GPG)
ok 7 # skip detect fudged signature with NUL (missing GPG)
ok 8 # skip amending already signed commit (missing GPG)
ok 9 # skip show good signature with custom format (missing GPG)
ok 10 # skip show bad signature with custom format (missing GPG)
ok 11 # skip show unknown signature with custom format (missing GPG)
ok 12 # skip show lack of signature with custom format (missing GPG)
# passed all 12 test(s)
1..12
*** 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
*** t7512-status-help.sh ***
ok 1 - prepare for conflicts
ok 2 - status when conflicts unresolved
ok 3 - status when conflicts resolved before commit
ok 4 - prepare for rebase conflicts
ok 5 - status when rebase in progress before resolving conflicts
ok 6 - status when rebase in progress before rebase --continue
ok 7 - prepare for rebase_i_conflicts
ok 8 - status during rebase -i when conflicts unresolved
ok 9 - status during rebase -i after resolving conflicts
ok 10 - status when rebasing -i in edit mode
ok 11 - status when splitting a commit
ok 12 - status after editing the last commit with --amend during a rebase -i
ok 13 - prepare for several edits
ok 14 - status: (continue first edit) second edit
ok 15 - status: (continue first edit) second edit and split
ok 16 - status: (continue first edit) second edit and amend
ok 17 - status: (amend first edit) second edit
ok 18 - status: (amend first edit) second edit and split
ok 19 - status: (amend first edit) second edit and amend
ok 20 - status: (split first edit) second edit
ok 21 - status: (split first edit) second edit and split
ok 22 - status: (split first edit) second edit and amend
ok 23 - prepare am_session
ok 24 - status in an am session: file already exists
ok 25 - status in an am session: file does not exist
ok 26 - status in an am session: empty patch
ok 27 - status when bisecting
ok 28 - status when rebase conflicts with statushints disabled
ok 29 - prepare for cherry-pick conflicts
ok 30 - status when cherry-picking before resolving conflicts
ok 31 - status when cherry-picking after resolving conflicts
ok 32 - status showing detached at and from a tag
ok 33 - status while reverting commit (conflicts)
ok 34 - status while reverting commit (conflicts resolved)
ok 35 - status after reverting commit
ok 36 - prepare for different number of commits rebased
ok 37 - status: one command done nothing remaining
ok 38 - status: two commands done with some white lines in done file
ok 39 - status: two remaining commands with some white lines in todo file
# passed all 39 test(s)
1..39
*** t7513-interpret-trailers.sh ***
ok 1 - setup
ok 2 - without config
ok 3 - without config in another order
ok 4 - --trim-empty without config
ok 5 - with config option on the command line
ok 6 - with only a title in the message
ok 7 - with multiline title in the message
ok 8 - with config setup
ok 9 - with config setup and ":=" as separators
ok 10 - with config setup and "%" as separators
ok 11 - with "%" as separators and a message with trailers
ok 12 - with config setup and ":=#" as separators
ok 13 - with commit basic message
ok 14 - with basic patch
ok 15 - with commit complex message as argument
ok 16 - with 2 files arguments
ok 17 - with message that has comments
ok 18 - with message that has an old style conflict block
ok 19 - with commit complex message and trailer args
ok 20 - with complex patch, args and --trim-empty
ok 21 - using "where = before"
ok 22 - using "where = after"
ok 23 - using "where = end"
ok 24 - using "where = start"
ok 25 - using "where = before" for a token in the middle of the message
ok 26 - using "where = before" and --trim-empty
ok 27 - the default is "ifExists = addIfDifferentNeighbor"
ok 28 - default "ifExists" is now "addIfDifferent"
ok 29 - using "ifExists = addIfDifferent" with "where = end"
ok 30 - using "ifExists = addIfDifferent" with "where = before"
ok 31 - using "ifExists = addIfDifferentNeighbor" with "where = end"
ok 32 - using "ifExists = addIfDifferentNeighbor"  with "where = after"
ok 33 - using "ifExists = addIfDifferentNeighbor" and --trim-empty
ok 34 - using "ifExists = add" with "where = end"
ok 35 - using "ifExists = add" with "where = after"
ok 36 - using "ifExists = replace"
ok 37 - using "ifExists = replace" with "where = after"
ok 38 - using "ifExists = doNothing"
ok 39 - the default is "ifMissing = add"
ok 40 - when default "ifMissing" is "doNothing"
ok 41 - using "ifMissing = add" with "where = end"
ok 42 - using "ifMissing = add" with "where = before"
ok 43 - using "ifMissing = doNothing"
ok 44 - default "where" is now "after"
ok 45 - with simple command
ok 46 - with command using commiter information
ok 47 - with command using author information
ok 48 - setup a commit
ok 49 - with command using $ARG
ok 50 - with failing command using $ARG
ok 51 - with empty tokens
ok 52 - with command but no key
ok 53 - with no command and no key
# passed all 53 test(s)
1..53
*** t7514-commit-patch.sh ***
ok 1 - setup (initial)
ok 2 - edit hunk "commit -p -m message"
ok 3 - edit hunk "commit --dry-run -p -m message"
# passed all 3 test(s)
1..3
*** t7515-status-symlinks.sh ***
ok 1 - setup
ok 2 - symlink to a directory
ok 3 - symlink replacing a directory
# passed all 3 test(s)
1..3
*** t7516-commit-races.sh ***
ok 1 - race to create orphan commit
ok 2 - race to create non-orphan commit
# passed all 2 test(s)
1..2
*** 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 - unsuccessful 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 - option --ff-only overwrites --no-ff
ok 35 - option --no-ff overrides merge.ff=only config
ok 36 - merge c0 with c1 (ff overrides no-ff)
ok 37 - merge log message
ok 38 - merge c1 with c0, c2, c0, and c1
ok 39 - merge c1 with c0, c2, c0, and c1
ok 40 - merge c1 with c1 and c2
ok 41 - merge fast-forward in a dirty tree
ok 42 - in-index merge
ok 43 - refresh the index before merging
ok 44 - merge early part of c2
ok 45 - merge --no-ff --no-commit && commit
ok 46 - amending no-ff merge commit
ok 47 - merge --no-ff --edit
ok 48 # skip merge --ff-only tag (missing GPG)
ok 49 # skip merge --no-edit tag should skip editor (missing GPG)
# passed all 49 test(s)
1..49
*** t7601-merge-pull-config.sh ***
ok 1 - setup
ok 2 - merge c1 with c2
ok 3 - fast-forward pull succeeds with "true" in pull.ff
ok 4 - pull.ff=true overrides merge.ff=false
ok 5 - fast-forward pull creates merge with "false" in pull.ff
ok 6 - pull prevents non-fast-forward with "only" in pull.ff
ok 7 - merge c1 with c2 (ours in pull.twohead)
ok 8 - merge c1 with c2 and c3 (recursive in pull.octopus)
ok 9 - merge c1 with c2 and c3 (recursive and octopus in pull.octopus)
ok 10 - setup conflicted merge
ok 11 - merge picks up the best result
ok 12 - merge picks up the best result (from config)
ok 13 - merge errors out on invalid strategy
ok 14 - merge errors out on invalid strategy
# passed all 14 test(s)
1..14
*** 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 reduces irrelevant remote heads
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 - pull c2, c3, c4, c5 into c1
ok 4 - setup
ok 5 - merge E and I
ok 6 - verify merge result
ok 7 - add conflicts
ok 8 - merge E2 and I2, causing a conflict and resolve it
ok 9 - verify merge result
ok 10 - fast-forward to redundant refs
ok 11 - verify merge result
ok 12 - merge up-to-date redundant refs
ok 13 - verify merge result
# passed all 13 test(s)
1..13
*** 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
not ok 9 - will not overwrite unstaged changes in renamed file # TODO known breakage
ok 10 - will not overwrite untracked subtree
ok 11 - will not overwrite untracked file in leading path
ok 12 - will not overwrite untracked symlink in leading path
ok 13 - will not be confused by symlink in leading path
ok 14 - will not overwrite untracked file on unborn branch
ok 15 - will not overwrite untracked file on unborn branch .git/MERGE_HEAD sanity etc.
ok 16 - failed merge leaves unborn branch in the womb
ok 17 - set up unborn branch and content
ok 18 - will not clobber WT/index when merging into unborn
# still have 1 known breakage(s)
# passed all remaining 17 test(s)
1..18
*** 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 - conflicted stash sets up rerere
ok 10 - mergetool takes partial path
ok 11 - deleted vs modified submodule
ok 12 - file vs modified submodule
ok 13 - submodule in subdirectory
ok 14 - directory vs modified submodule
ok 15 - file with no base
ok 16 - custom commands override built-ins
ok 17 - filenames seen by tools start with ./
ok 18 - temporary filenames are used with mergetool.writeToTemp
# passed all 18 test(s)
1..18
*** 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
*** t7612-merge-verify-signatures.sh ***
You do not seem to have gpg installed
ok 1 # skip create signed commits (missing GPG)
ok 2 # skip merge unsigned commit with verification (missing GPG)
ok 3 # skip merge commit with bad signature with verification (missing GPG)
ok 4 # skip merge commit with untrusted signature with verification (missing GPG)
ok 5 # skip merge signed commit with verification (missing GPG)
ok 6 # skip merge commit with bad signature without verification (missing GPG)
# passed all 6 test(s)
1..6
*** t7613-merge-submodule.sh ***
ok 1 - git merge: added submodule creates empty directory
ok 2 - git merge: added submodule leaves existing empty directory alone
ok 3 - git merge: added submodule doesn't remove untracked unignored file with same name
ok 4 - git merge: replace tracked file with submodule creates empty directory
ok 5 - git merge: replace directory with submodule
ok 6 - git merge: removed submodule leaves submodule directory and its contents in place
ok 7 - git merge: removed submodule leaves submodule containing a .git directory alone
ok 8 - git merge: replace submodule with a directory must fail
ok 9 - git merge: replace submodule containing a .git directory with a directory must fail
not ok 10 - git merge: replace submodule with a file must fail # TODO known breakage
not ok 11 - git merge: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 12 - git merge: modified submodule does not update submodule work tree
ok 13 - git merge: modified submodule does not update submodule work tree to invalid commit
ok 14 - git merge: modified submodule does not update submodule work tree from invalid commit
ok 15 - git merge --ff: added submodule creates empty directory
ok 16 - git merge --ff: added submodule leaves existing empty directory alone
ok 17 - git merge --ff: added submodule doesn't remove untracked unignored file with same name
ok 18 - git merge --ff: replace tracked file with submodule creates empty directory
ok 19 - git merge --ff: replace directory with submodule
ok 20 - git merge --ff: removed submodule leaves submodule directory and its contents in place
ok 21 - git merge --ff: removed submodule leaves submodule containing a .git directory alone
ok 22 - git merge --ff: replace submodule with a directory must fail
ok 23 - git merge --ff: replace submodule containing a .git directory with a directory must fail
not ok 24 - git merge --ff: replace submodule with a file must fail # TODO known breakage
not ok 25 - git merge --ff: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 26 - git merge --ff: modified submodule does not update submodule work tree
ok 27 - git merge --ff: modified submodule does not update submodule work tree to invalid commit
ok 28 - git merge --ff: modified submodule does not update submodule work tree from invalid commit
ok 29 - git merge --ff-only: added submodule creates empty directory
ok 30 - git merge --ff-only: added submodule leaves existing empty directory alone
ok 31 - git merge --ff-only: added submodule doesn't remove untracked unignored file with same name
ok 32 - git merge --ff-only: replace tracked file with submodule creates empty directory
ok 33 - git merge --ff-only: replace directory with submodule
ok 34 - git merge --ff-only: removed submodule leaves submodule directory and its contents in place
ok 35 - git merge --ff-only: removed submodule leaves submodule containing a .git directory alone
ok 36 - git merge --ff-only: replace submodule with a directory must fail
ok 37 - git merge --ff-only: replace submodule containing a .git directory with a directory must fail
not ok 38 - git merge --ff-only: replace submodule with a file must fail # TODO known breakage
not ok 39 - git merge --ff-only: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 40 - git merge --ff-only: modified submodule does not update submodule work tree
ok 41 - git merge --ff-only: modified submodule does not update submodule work tree to invalid commit
ok 42 - git merge --ff-only: modified submodule does not update submodule work tree from invalid commit
ok 43 - git merge --no-ff: added submodule creates empty directory
ok 44 - git merge --no-ff: added submodule leaves existing empty directory alone
ok 45 - git merge --no-ff: added submodule doesn't remove untracked unignored file with same name
ok 46 - git merge --no-ff: replace tracked file with submodule creates empty directory
not ok 47 - git merge --no-ff: replace directory with submodule # TODO known breakage
ok 48 - git merge --no-ff: removed submodule leaves submodule directory and its contents in place
ok 49 - git merge --no-ff: removed submodule leaves submodule containing a .git directory alone
not ok 50 - git merge --no-ff: replace submodule with a directory must fail # TODO known breakage
not ok 51 - git merge --no-ff: replace submodule containing a .git directory with a directory must fail # TODO known breakage
not ok 52 - git merge --no-ff: replace submodule with a file must fail # TODO known breakage
not ok 53 - git merge --no-ff: replace submodule containing a .git directory with a file must fail # TODO known breakage
ok 54 - git merge --no-ff: modified submodule does not update submodule work tree
ok 55 - git merge --no-ff: modified submodule does not update submodule work tree to invalid commit
ok 56 - git merge --no-ff: modified submodule does not update submodule work tree from invalid commit
# still have 11 known breakage(s)
# passed all remaining 45 test(s)
1..56
*** t7700-repack.sh ***
ok 1 - objects in packs marked .keep are not repacked
ok 2 - writing bitmaps via command-line can duplicate .keep objects
ok 3 - writing bitmaps via config can duplicate .keep objects
ok 4 - loose objects in alternate ODB are not repacked
ok 5 - packed obs in alt ODB are repacked even when local repo is packless
ok 6 - packed obs in alt ODB are repacked when local repo has packs
ok 7 - packed obs in alternate ODB kept pack are repacked
ok 8 - packed unreachable obs in alternate ODB are not loosened
ok 9 - local packed unreachable obs that exist in alternate ODB are not loosened
ok 10 - objects made unreachable by grafts only are kept
# passed all 10 test(s)
1..10
*** 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
ok 4 - do not bother loosening old objects
ok 5 - keep packed objects found only in index
# passed all 5 test(s)
1..5
*** t7702-repack-cyclic-alternate.sh ***
ok 1 - setup
ok 2 - re-packing repository with itsself as alternate
# passed all 2 test(s)
1..2
*** t7800-difftool.sh ***
ok 1 - setup
ok 2 - custom commands
ok 3 - custom tool commands override built-ins
ok 4 - difftool ignores bad --tool values
ok 5 - difftool forwards arguments to diff
ok 6 - difftool ignores exit code
ok 7 - difftool forwards exit code with --trust-exit-code
ok 8 - difftool forwards exit code with --trust-exit-code for built-ins
ok 9 - difftool honors difftool.trustExitCode = true
ok 10 - difftool honors difftool.trustExitCode = false
ok 11 - difftool ignores exit code with --no-trust-exit-code
ok 12 - difftool stops on error with --trust-exit-code
ok 13 - difftool honors --gui
ok 14 - difftool --gui last setting wins
ok 15 - difftool --gui works without configured diff.guitool
ok 16 - GIT_DIFF_TOOL variable
ok 17 - GIT_DIFF_TOOL overrides
ok 18 - GIT_DIFFTOOL_NO_PROMPT variable
ok 19 - GIT_DIFFTOOL_PROMPT variable
ok 20 - difftool.prompt config variable is false
ok 21 - difftool merge.prompt = false
ok 22 - difftool.prompt can overridden with -y
ok 23 - difftool.prompt can overridden with --prompt
ok 24 - difftool last flag wins
ok 25 - difftool + mergetool config variables
ok 26 - difftool.<tool>.path
ok 27 - difftool --extcmd=cat
ok 28 - difftool --extcmd cat
ok 29 - difftool -x cat
ok 30 - difftool --extcmd echo arg1
ok 31 - difftool --extcmd cat arg1
ok 32 - difftool --extcmd cat arg2
ok 33 - setup with 2 files different
ok 34 - say no to the first file
ok 35 - say no to the second file
ok 36 - ending prompt input with EOF
ok 37 - difftool --tool-help
ok 38 - setup change in subdirectory
ok 39 - difftool -d --no-symlinks
ok 40 - difftool -d --symlinks
ok 41 - difftool --dir-diff --no-symlinks
ok 42 - difftool --dir-diff --symlinks
ok 43 - difftool --dir-diff ignores --prompt --no-symlinks
ok 44 - difftool --dir-diff ignores --prompt --symlinks
ok 45 - difftool --dir-diff from subdirectory --no-symlinks
ok 46 - difftool --dir-diff from subdirectory --symlinks
ok 47 - difftool --dir-diff when worktree file is missing --no-symlinks
ok 48 - difftool --dir-diff when worktree file is missing --symlinks
ok 49 - difftool --dir-diff --symlink without unstaged changes
ok 50 - difftool --dir-diff syncs worktree with unstaged change --no-symlinks
ok 51 - difftool --dir-diff syncs worktree with unstaged change --symlinks
ok 52 - difftool --dir-diff syncs worktree without unstaged change --no-symlinks
ok 53 - difftool --dir-diff syncs worktree without unstaged change --symlinks
ok 54 - difftool --no-symlinks does not overwrite working tree file 
ok 55 - difftool --no-symlinks detects conflict 
ok 56 - difftool properly honors gitlink and core.worktree
# passed all 56 test(s)
1..56
*** 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 HEAD with grep.patterntype=basic
ok 25 - grep HEAD with grep.patterntype=extended
ok 26 - grep HEAD with grep.patterntype=fixed
ok 27 - grep HEAD with grep.patterntype=perl
ok 28 - grep HEAD with grep.patternType=default and grep.extendedRegexp=true
ok 29 - grep HEAD with grep.extendedRegexp=true and grep.patternType=default
ok 30 - grep HEAD with grep.patternType=extended and grep.extendedRegexp=false
ok 31 - grep HEAD with grep.patternType=basic and grep.extendedRegexp=true
ok 32 - grep HEAD with grep.extendedRegexp=false and grep.patternType=extended
ok 33 - grep HEAD with grep.extendedRegexp=true and grep.patternType=basic
ok 34 - grep --count HEAD
ok 35 - grep --count -h HEAD
ok 36 - grep -w in working tree
ok 37 - grep -w in working tree
ok 38 - grep -w in working tree
ok 39 - grep -w in working tree (w)
ok 40 - grep -w in working tree (x)
ok 41 - grep -w in working tree (y-1)
ok 42 - grep -w in working tree (y-2)
ok 43 - grep -w in working tree (z)
ok 44 - grep in working tree (t-1)
ok 45 - grep in working tree (t-2)
ok 46 - grep in working tree (t-3)
ok 47 - grep -c in working tree (no /dev/null)
ok 48 - grep --max-depth -1 in working tree
ok 49 - grep --max-depth 0 in working tree
ok 50 - grep --max-depth 0 -- '*' in working tree
ok 51 - grep --max-depth 1 in working tree
ok 52 - grep --max-depth 0 -- t in working tree
ok 53 - grep --max-depth 0 -- . t in working tree
ok 54 - grep --max-depth 0 -- t . in working tree
ok 55 - grep in working tree with grep.extendedRegexp=false
ok 56 - grep in working tree with grep.extendedRegexp=true
ok 57 - grep in working tree with grep.patterntype=basic
ok 58 - grep in working tree with grep.patterntype=extended
ok 59 - grep in working tree with grep.patterntype=fixed
ok 60 - grep in working tree with grep.patterntype=perl
ok 61 - grep in working tree with grep.patternType=default and grep.extendedRegexp=true
ok 62 - grep in working tree with grep.extendedRegexp=true and grep.patternType=default
ok 63 - grep in working tree with grep.patternType=extended and grep.extendedRegexp=false
ok 64 - grep in working tree with grep.patternType=basic and grep.extendedRegexp=true
ok 65 - grep in working tree with grep.extendedRegexp=false and grep.patternType=extended
ok 66 - grep in working tree with grep.extendedRegexp=true and grep.patternType=basic
ok 67 - grep --count in working tree
ok 68 - grep --count -h in working tree
ok 69 - grep -l -C
ok 70 - grep -l -C
ok 71 - grep -L -C
ok 72 - grep -e A --and -e B
ok 73 - grep ( -e A --or -e B ) --and -e B
ok 74 - grep -e A --and --not -e B
ok 75 - grep should ignore GREP_OPTIONS
ok 76 - grep -f, non-existent file
ok 77 - grep -f, one pattern
ok 78 - grep -f, multiple patterns
ok 79 - grep, multiple patterns
ok 80 - grep -f, ignore empty lines
ok 81 - grep -f, ignore empty lines, read patterns from stdin
ok 82 - grep -q, silently report matches
ok 83 - grep -C1 hunk mark between files
ok 84 - log grep setup
ok 85 - log grep (1)
ok 86 - log grep (2)
ok 87 - log grep (3)
ok 88 - log grep (4)
ok 89 - log grep (5)
ok 90 - log grep (6)
ok 91 - log grep (7)
ok 92 - log grep (8)
ok 93 - log grep (9)
ok 94 - log grep (9)
ok 95 - log --grep-reflog can only be used under -g
ok 96 - log with multiple --grep uses union
ok 97 - log --all-match with multiple --grep uses intersection
ok 98 - log with multiple --author uses union
ok 99 - log --all-match with multiple --author still uses union
ok 100 - log --grep --author uses intersection
ok 101 - log --grep --grep --author takes union of greps and intersects with author
ok 102 - log ---all-match -grep --author --author still takes union of authors and intersects with grep
ok 103 - log --grep --author --author takes union of authors and intersects with grep
ok 104 - log --all-match --grep --grep --author takes intersection
ok 105 - log --author does not search in timestamp
ok 106 - log --committer does not search in timestamp
ok 107 - grep with CE_VALID file
ok 108 - grep -p with userdiff
ok 109 - grep -p
ok 110 - grep -p -B5
ok 111 - grep -W
ok 112 - grep -W with userdiff
ok 113 - grep from a subdirectory to search wider area (1)
ok 114 - grep from a subdirectory to search wider area (2)
ok 115 - grep -Fi
ok 116 - outside of git repository
ok 117 - inside git repository but with --no-index
ok 118 - setup double-dash tests
ok 119 - grep -- pattern
ok 120 - grep -- pattern -- pathspec
ok 121 - grep -e pattern -- path
ok 122 - grep -e -- -- path
ok 123 - grep --perl-regexp pattern
ok 124 - grep -P pattern
ok 125 - grep pattern with grep.extendedRegexp=true
ok 126 - grep -P pattern with grep.extendedRegexp=true
ok 127 - grep -P -v pattern
ok 128 - grep -P -i pattern
ok 129 - grep -P -w pattern
ok 130 - grep -G invalidpattern properly dies 
ok 131 - grep invalidpattern properly dies with grep.patternType=basic
ok 132 - grep -E invalidpattern properly dies 
ok 133 - grep invalidpattern properly dies with grep.patternType=extended
ok 134 - grep -P invalidpattern properly dies 
ok 135 - grep invalidpattern properly dies with grep.patternType=perl
ok 136 - grep -G -E -F pattern
ok 137 - grep pattern with grep.patternType=basic, =extended, =fixed
ok 138 - grep -E -F -G pattern
ok 139 - grep pattern with grep.patternType=extended, =fixed, =basic
ok 140 - grep -F -G -E pattern
ok 141 - grep pattern with grep.patternType=fixed, =basic, =extended
ok 142 - grep -G -F -P -E pattern
ok 143 - grep pattern with grep.patternType=fixed, =basic, =perl, =extended
ok 144 - grep -G -F -E -P pattern
ok 145 - grep pattern with grep.patternType=fixed, =basic, =extended, =perl
ok 146 - grep -P pattern with grep.patternType=fixed
ok 147 - grep -F pattern with grep.patternType=basic
ok 148 - grep -G pattern with grep.patternType=fixed
ok 149 - grep -E pattern with grep.patternType=fixed
ok 150 - grep --color, separator
ok 151 - grep --break
ok 152 - grep --break with context
ok 153 - grep --heading
ok 154 - mimic ack-grep --group
ok 155 - grep -E "^ "
ok 156 - grep -P "^ "
ok 157 - grep --color -e A -e B with context
ok 158 - grep --color -e A --and -e B with context
ok 159 - grep --color -e A --and --not -e B with context
ok 160 - grep --color -e A --and -e B -p with context
# passed all 160 test(s)
1..160
*** 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 - setup A lines
ok 2 - blame 1 author
ok 3 - setup B lines
ok 4 - blame 2 authors
ok 5 - setup B1 lines (branch1)
ok 6 - blame 2 authors + 1 branch1 author
ok 7 - setup B2 lines (branch2)
ok 8 - blame 2 authors + 1 branch2 author
ok 9 - merge branch1 & branch2
ok 10 - blame 2 authors + 2 merged-in authors
ok 11 - blame ancestor
ok 12 - blame great-ancestor
ok 13 - setup evil merge
ok 14 - blame evil merge
ok 15 - blame huge graft
ok 16 - setup incomplete line
ok 17 - blame incomplete line
ok 18 - setup edits
ok 19 - blame edits
ok 20 - setup obfuscated email
ok 21 - blame obfuscated email
ok 22 - blame -L 1 (all)
ok 23 - blame -L , (all)
ok 24 - blame -L X (X to end)
ok 25 - blame -L X, (X to end)
ok 26 - blame -L ,Y (up to Y)
ok 27 - blame -L X,X
ok 28 - blame -L X,Y
ok 29 - blame -L Y,X (undocumented)
ok 30 - blame -L -X
ok 31 - blame -L 0
ok 32 - blame -L ,0
ok 33 - blame -L ,+0
ok 34 - blame -L X,+0
ok 35 - blame -L X,+1
ok 36 - blame -L X,+N
ok 37 - blame -L ,-0
ok 38 - blame -L X,-0
ok 39 - blame -L X,-1
ok 40 - blame -L X,-N
ok 41 - blame -L /RE/ (RE to end)
ok 42 - blame -L /RE/,/RE2/
ok 43 - blame -L X,/RE/
ok 44 - blame -L /RE/,Y
ok 45 - blame -L /RE/,+N
ok 46 - blame -L /RE/,-N
ok 47 - blame -L X (X == nlines)
ok 48 - blame -L X (X == nlines + 1)
ok 49 - blame -L X (X > nlines)
ok 50 - blame -L ,Y (Y == nlines)
ok 51 - blame -L ,Y (Y == nlines + 1)
ok 52 - blame -L ,Y (Y > nlines)
ok 53 - blame -L multiple (disjoint)
ok 54 - blame -L multiple (disjoint: unordered)
ok 55 - blame -L multiple (adjacent)
ok 56 - blame -L multiple (adjacent: unordered)
ok 57 - blame -L multiple (overlapping)
ok 58 - blame -L multiple (overlapping: unordered)
ok 59 - blame -L multiple (superset/subset)
ok 60 - blame -L multiple (superset/subset: unordered)
ok 61 - blame -L /RE/ (relative)
ok 62 - blame -L /RE/ (relative: no preceding range)
ok 63 - blame -L /RE/ (relative: adjacent)
ok 64 - blame -L /RE/ (relative: not found)
ok 65 - blame -L /RE/ (relative: end-of-file)
ok 66 - blame -L ^/RE/ (absolute)
ok 67 - blame -L ^/RE/ (absolute: no preceding range)
ok 68 - blame -L ^/RE/ (absolute: not found)
ok 69 - blame -L ^/RE/ (absolute: end-of-file)
ok 70 - setup -L :regex
ok 71 - blame -L :literal
ok 72 - blame -L :regex
ok 73 - blame -L :nomatch
ok 74 - blame -L :RE (relative)
ok 75 - blame -L :RE (relative: no preceding range)
ok 76 - blame -L :RE (relative: not found)
ok 77 - blame -L :RE (relative: end-of-file)
ok 78 - blame -L ^:RE (absolute)
ok 79 - blame -L ^:RE (absolute: no preceding range)
ok 80 - blame -L ^:RE (absolute: not found)
ok 81 - blame -L ^:RE (absolute: end-of-file)
ok 82 - setup incremental
ok 83 - blame empty
ok 84 - blame -L 0 empty
ok 85 - blame -L 1 empty
ok 86 - blame -L 2 empty
ok 87 - blame half
ok 88 - blame -L 0 half
ok 89 - blame -L 1 half
ok 90 - blame -L 2 half
ok 91 - blame -L 3 half
ok 92 - blame full
ok 93 - blame -L 0 full
ok 94 - blame -L 1 full
ok 95 - blame -L 2 full
ok 96 - blame -L 3 full
ok 97 - blame -L
ok 98 - blame -L X,+
ok 99 - blame -L X,-
ok 100 - blame -L X (non-numeric X)
ok 101 - blame -L X,Y (non-numeric Y)
ok 102 - blame -L X,+N (non-numeric N)
ok 103 - blame -L X,-N (non-numeric N)
ok 104 - blame -L ,^/RE/
ok 105 - annotate old revision
# passed all 105 test(s)
1..105
*** t8002-blame.sh ***
ok 1 - setup A lines
ok 2 - blame 1 author
ok 3 - setup B lines
ok 4 - blame 2 authors
ok 5 - setup B1 lines (branch1)
ok 6 - blame 2 authors + 1 branch1 author
ok 7 - setup B2 lines (branch2)
ok 8 - blame 2 authors + 1 branch2 author
ok 9 - merge branch1 & branch2
ok 10 - blame 2 authors + 2 merged-in authors
ok 11 - blame ancestor
ok 12 - blame great-ancestor
ok 13 - setup evil merge
ok 14 - blame evil merge
ok 15 - blame huge graft
ok 16 - setup incomplete line
ok 17 - blame incomplete line
ok 18 - setup edits
ok 19 - blame edits
ok 20 - setup obfuscated email
ok 21 - blame obfuscated email
ok 22 - blame -L 1 (all)
ok 23 - blame -L , (all)
ok 24 - blame -L X (X to end)
ok 25 - blame -L X, (X to end)
ok 26 - blame -L ,Y (up to Y)
ok 27 - blame -L X,X
ok 28 - blame -L X,Y
ok 29 - blame -L Y,X (undocumented)
ok 30 - blame -L -X
ok 31 - blame -L 0
ok 32 - blame -L ,0
ok 33 - blame -L ,+0
ok 34 - blame -L X,+0
ok 35 - blame -L X,+1
ok 36 - blame -L X,+N
ok 37 - blame -L ,-0
ok 38 - blame -L X,-0
ok 39 - blame -L X,-1
ok 40 - blame -L X,-N
ok 41 - blame -L /RE/ (RE to end)
ok 42 - blame -L /RE/,/RE2/
ok 43 - blame -L X,/RE/
ok 44 - blame -L /RE/,Y
ok 45 - blame -L /RE/,+N
ok 46 - blame -L /RE/,-N
ok 47 - blame -L X (X == nlines)
ok 48 - blame -L X (X == nlines + 1)
ok 49 - blame -L X (X > nlines)
ok 50 - blame -L ,Y (Y == nlines)
ok 51 - blame -L ,Y (Y == nlines + 1)
ok 52 - blame -L ,Y (Y > nlines)
ok 53 - blame -L multiple (disjoint)
ok 54 - blame -L multiple (disjoint: unordered)
ok 55 - blame -L multiple (adjacent)
ok 56 - blame -L multiple (adjacent: unordered)
ok 57 - blame -L multiple (overlapping)
ok 58 - blame -L multiple (overlapping: unordered)
ok 59 - blame -L multiple (superset/subset)
ok 60 - blame -L multiple (superset/subset: unordered)
ok 61 - blame -L /RE/ (relative)
ok 62 - blame -L /RE/ (relative: no preceding range)
ok 63 - blame -L /RE/ (relative: adjacent)
ok 64 - blame -L /RE/ (relative: not found)
ok 65 - blame -L /RE/ (relative: end-of-file)
ok 66 - blame -L ^/RE/ (absolute)
ok 67 - blame -L ^/RE/ (absolute: no preceding range)
ok 68 - blame -L ^/RE/ (absolute: not found)
ok 69 - blame -L ^/RE/ (absolute: end-of-file)
ok 70 - setup -L :regex
ok 71 - blame -L :literal
ok 72 - blame -L :regex
ok 73 - blame -L :nomatch
ok 74 - blame -L :RE (relative)
ok 75 - blame -L :RE (relative: no preceding range)
ok 76 - blame -L :RE (relative: not found)
ok 77 - blame -L :RE (relative: end-of-file)
ok 78 - blame -L ^:RE (absolute)
ok 79 - blame -L ^:RE (absolute: no preceding range)
ok 80 - blame -L ^:RE (absolute: not found)
ok 81 - blame -L ^:RE (absolute: end-of-file)
ok 82 - setup incremental
ok 83 - blame empty
ok 84 - blame -L 0 empty
ok 85 - blame -L 1 empty
ok 86 - blame -L 2 empty
ok 87 - blame half
ok 88 - blame -L 0 half
ok 89 - blame -L 1 half
ok 90 - blame -L 2 half
ok 91 - blame -L 3 half
ok 92 - blame full
ok 93 - blame -L 0 full
ok 94 - blame -L 1 full
ok 95 - blame -L 2 full
ok 96 - blame -L 3 full
ok 97 - blame -L
ok 98 - blame -L X,+
ok 99 - blame -L X,-
ok 100 - blame -L X (non-numeric X)
ok 101 - blame -L X,Y (non-numeric Y)
ok 102 - blame -L X,+N (non-numeric N)
ok 103 - blame -L X,-N (non-numeric N)
ok 104 - blame -L ,^/RE/
ok 105 - blame --show-email
ok 106 - setup showEmail tests
ok 107 - blame with no options and no config
ok 108 - blame with showemail options
ok 109 - blame with showEmail config false
ok 110 - blame with showEmail config true
# passed all 110 test(s)
1..110
*** 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 - blame parses <end> part of -L
ok 19 - indent of line numbers, nine lines
ok 20 - indent of line numbers, ten lines
ok 21 - setup file with CRLF newlines
ok 22 - blame file with CRLF core.autocrlf true
ok 23 - blame file with CRLF attributes text
# passed all 23 test(s)
1..23
*** 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 does not crash with 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
*** t9000-addresses.sh ***
1..0 # SKIP Perl Mail::Address unavailable, skipping test
*** 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 - self name is suppressed
ok 18 - self name with dot is suppressed
ok 19 - non-ascii self name is suppressed
ok 20 - long non-ascii self name is suppressed
ok 21 - sanitized self name is suppressed
ok 22 - Show all headers
ok 23 - Prompting works
ok 24 # skip implicit ident is allowed (missing AUTOIDENT of PERL,AUTOIDENT)
ok 25 - broken implicit ident aborts send-email
ok 26 - setup tocmd and cccmd scripts
ok 27 - tocmd works
ok 28 - cccmd works
ok 29 - reject long lines
ok 30 - no patch was sent
ok 31 - Author From: in message body
ok 32 - Author From: not in message body
ok 33 - allow long lines with --no-validate
ok 34 - Invalid In-Reply-To
ok 35 - Valid In-Reply-To when prompting
ok 36 - In-Reply-To without --chain-reply-to
ok 37 - In-Reply-To with --chain-reply-to
ok 38 - setup fake editor
ok 39 - --compose works
ok 40 - first message is compose text
ok 41 - second message is patch
ok 42 - setup expect
ok 43 - sendemail.cc set
ok 44 - setup expect
ok 45 - sendemail.cc unset
ok 46 - setup expect
ok 47 - sendemail.cccmd
ok 48 - setup expect
ok 49 - --suppress-cc=all
ok 50 - setup expect
ok 51 - --suppress-cc=body
ok 52 - setup expect
ok 53 - --suppress-cc=body --suppress-cc=cccmd
ok 54 - setup expect
ok 55 - --suppress-cc=sob
ok 56 - setup expect
ok 57 - --suppress-cc=bodycc
ok 58 - setup expect
ok 59 - --suppress-cc=cc
ok 60 - --confirm=always
ok 61 - --confirm=auto
ok 62 - --confirm=cc
ok 63 - --confirm=compose
ok 64 - confirm by default (due to cc)
ok 65 - confirm by default (due to --compose)
ok 66 - confirm detects EOF (inform assumes y)
ok 67 - confirm detects EOF (auto causes failure)
ok 68 - confirm does not loop forever
ok 69 - utf8 Cc is rfc2047 encoded
ok 70 - --compose adds MIME for utf8 body
ok 71 - --compose respects user mime type
ok 72 - --compose adds MIME for utf8 subject
ok 73 - utf8 author is correctly passed on
ok 74 - utf8 sender is not duplicated
ok 75 - sendemail.composeencoding works
ok 76 - --compose-encoding works
ok 77 - --compose-encoding overrides sendemail.composeencoding
ok 78 - --compose-encoding adds correct MIME for subject
ok 79 - detects ambiguous reference/file conflict
ok 80 - feed two files
ok 81 - in-reply-to but no threading
ok 82 - no in-reply-to and no threading
ok 83 - threading but no chain-reply-to
ok 84 - sendemail.to works
ok 85 - --no-to overrides sendemail.to
ok 86 - sendemail.cc works
ok 87 - --no-cc overrides sendemail.cc
ok 88 - sendemail.bcc works
ok 89 - --no-bcc overrides sendemail.bcc
ok 90 - patches To headers are used by default
ok 91 - patches To headers are appended to
ok 92 - To headers from files reset each patch
ok 93 - setup expect
ok 94 - setup expect
ok 95 - ASCII subject is not RFC2047 quoted
ok 96 - setup expect
ok 97 - asks about and fixes 8bit encodings
ok 98 - sendemail.8bitEncoding works
ok 99 - --8bit-encoding overrides sendemail.8bitEncoding
ok 100 - setup expect
ok 101 - setup expect
ok 102 - --8bit-encoding also treats subject
ok 103 - setup expect
ok 104 - sendemail.transferencoding=7bit fails on 8bit data
ok 105 - --transfer-encoding overrides sendemail.transferEncoding
ok 106 - sendemail.transferencoding=8bit
ok 107 - setup expect
ok 108 - 8-bit and sendemail.transferencoding=quoted-printable
ok 109 - setup expect
ok 110 - 8-bit and sendemail.transferencoding=base64
ok 111 - setup expect
ok 112 - convert from quoted-printable to base64
ok 113 - setup expect
ok 114 - setup expect
ok 115 - CRLF and sendemail.transferencoding=quoted-printable
ok 116 - setup expect
ok 117 - CRLF and sendemail.transferencoding=base64
ok 118 - refusing to send cover letter template
ok 119 - --force sends cover letter template anyway
ok 120 - to-cover adds To to all mail
ok 121 - cc-cover adds Cc to all mail
ok 122 - tocover adds To to all mail
ok 123 - cccover adds Cc to all mail
ok 124 - sendemail.aliasfiletype=mailrc
ok 125 - sendemail.aliasfile=~/.mailrc
ok 126 - sendemail.aliasfiletype=sendmail
ok 127 - sendmail aliases line folding
ok 128 - sendmail aliases tolerate bogus line folding
ok 129 - sendmail aliases empty
ok 130 - alias support in To header
ok 131 - alias support in Cc header
ok 132 - tocmd works with aliases
ok 133 - cccmd works with aliases
ok 134 - --[no-]xmailer without any configuration
ok 135 - --[no-]xmailer with sendemail.xmailer=true
ok 136 - --[no-]xmailer with sendemail.xmailer=false
ok 137 - setup expected-list
ok 138 - use email list in --cc --to and --bcc
ok 139 - aliases work with email list
ok 140 - leading and trailing whitespaces are removed
# passed all 140 test(s)
1..140
*** t9002-column.sh ***
ok 1 - setup
ok 2 - never
ok 3 - always
ok 4 - 80 columns
ok 5 - COLUMNS = 1
ok 6 - width = 1
ok 7 - 20 columns
ok 8 - 20 columns, nodense
ok 9 - 20 columns, dense
ok 10 - 20 columns, padding 2
ok 11 - 20 columns, indented
ok 12 - 20 columns, row first
ok 13 - 20 columns, row first, nodense
ok 14 - 20 columns, row first, dense
# passed all 14 test(s)
1..14
*** 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 - branch name with backslash
ok 10 - node without action
ok 11 - action: add node without text
not ok 12 - change file mode but keep old content # TODO known breakage
ok 13 - NUL in property value
ok 14 - NUL in log message, file content, and property name
ok 15 - change file mode and reiterate content
ok 16 - deltas supported
ok 17 - property deltas supported
ok 18 - properties on /
ok 19 - deltas for typechange
ok 20 - deltas need not consume the whole preimage
ok 21 - no hang for delta trying to read past end of preimage
ok 22 - set up svn repo
ok 23 - t9135/svn.dump
# still have 3 known breakage(s)
# passed all remaining 20 test(s)
1..23
*** t9011-svn-da.sh ***
ok 1 - reject empty delta
ok 2 - delta can empty file
ok 3 - reject svndiff2
ok 4 - one-window empty delta
ok 5 - reject incomplete window header
ok 6 - reject declared delta longer than actual delta
ok 7 - two-window empty delta
ok 8 - noisy zeroes
ok 9 - reject variable-length int in magic
ok 10 - reject truncated integer
ok 11 - nonempty (but unused) preimage view
ok 12 - preimage view: right endpoint cannot backtrack
ok 13 - preimage view: left endpoint can advance
ok 14 - preimage view: offsets compared by value
ok 15 - preimage view: reject truncated preimage
ok 16 - forbid unconsumed inline data
ok 17 - reject truncated inline data
ok 18 - reject truncated inline data (after instruction section)
ok 19 - copyfrom_data
ok 20 - multiple copyfrom_data
ok 21 - incomplete multiple insn
ok 22 - catch attempt to copy missing data
ok 23 - copyfrom target to repeat data
ok 24 - copyfrom target out of order
ok 25 - catch copyfrom future
ok 26 - copy to sustain
ok 27 - catch copy that overflows
ok 28 - copyfrom source
ok 29 - copy backwards
ok 30 - offsets are relative to window
ok 31 - example from notes/svndiff
# passed all 31 test(s)
1..31
*** t9020-remote-svn.sh ***
ok 1 - simple fetch
ok 2 - repeated fetch, nothing shall change
ok 3 - fetch from a file:// url gives the same result
not ok 4 - the sha1 differ because the git-svn-id line in the commit msg contains the url # TODO known breakage
ok 5 - mark-file regeneration
ok 6 - incremental imports must lead to the same head
# still have 1 known breakage(s)
# passed all remaining 5 test(s)
1..6
*** 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
ok 2 - import an SVN revision into git
ok 3 - checkout from svn
ok 4 - try a deep --rmdir with a commit
ok 5 - detect node change from file to directory #1
ok 6 - detect node change from directory to file #1
ok 7 - detect node change from file to directory #2
ok 8 - detect node change from directory to file #2
ok 9 - remove executable bit from a file
ok 10 - add executable bit back file
ok 11 - executable file becomes a symlink to file
ok 12 - new symlink is added to a file that was also just made executable
ok 13 - modify a symlink to become a file
ok 14 # skip commit with UTF-8 message: locale: C (missing UTF8)
ok 15 - test fetch functionality (svn => git) with alternate GIT_SVN_ID
ok 16 - check imported tree checksums expected tree checksums
ok 17 - exit if remote refs are ambigious
ok 18 - exit if init-ing a would clobber a URL
ok 19 - init allows us to connect to another directory in the same repo
ok 20 - dcommit $rev does not clobber current branch
ok 21 - able to dcommit to a subdirectory
ok 22 - dcommit should not fail with a touched file
ok 23 - rebase should not fail with a touched file
ok 24 - able to set-tree to a subdirectory
ok 25 - git-svn works in a bare repository
ok 26 - git-svn works in in a repository with a gitdir: link
# passed all 26 test(s)
1..26
*** t9101-git-svn-props.sh ***
ok 1 - checkout working copy from svn
ok 2 - setup some commits to svn
ok 3 - initialize git svn
ok 4 - fetch revisions from svn
ok 5 - test svn:keywords ignoring
ok 6 - raw $Id$ found in kw.c
ok 7 - propset CR on crlf files
ok 8 - fetch and pull latest from svn and checkout a new wc
ok 9 - Comparing crlf
ok 10 - Comparing ne_crlf
ok 11 - Comparing lf
ok 12 - Comparing ne_lf
ok 13 - Comparing cr
ok 14 - Comparing ne_cr
ok 15 - Comparing empty_cr
ok 16 - Comparing empty_lf
ok 17 - Comparing empty
ok 18 - Comparing empty_crlf
ok 19 - Set CRLF on cr files
ok 20 - fetch and pull latest from svn
ok 21 - CRLF + $Id$
ok 22 - CRLF + $Id$ (no newline)
ok 23 - test show-ignore
ok 24 - test create-ignore
ok 25 - test propget
ok 26 - test proplist
# passed all 26 test(s)
1..26
*** t9102-git-svn-deep-rmdir.sh ***
ok 1 - initialize repo
ok 2 - mirror via git svn
ok 3 - Try a commit on rmdir
# passed all 3 test(s)
1..3
*** t9103-git-svn-tracked-directory-removed.sh ***
ok 1 - make history for tracking
ok 2 - clone repo with git
ok 3 - make sure r2 still has old file
# passed all 3 test(s)
1..3
*** t9104-git-svn-follow-parent.sh ***
ok 1 - initialize repo
ok 2 - init and fetch a moved directory
ok 3 - init and fetch from one svn-remote
ok 4 - follow deleted parent
ok 5 - follow larger parent
ok 6 - follow higher-level parent
ok 7 - follow deleted directory
ok 8 - follow-parent avoids deleting relevant info
ok 9 - track initial change if it was only made to parent
ok 10 - follow-parent is atomic
ok 11 - track multi-parent paths
ok 12 - multi-fetch continues to work
ok 13 - multi-fetch works off a 'clean' repository
# passed all 13 test(s)
1..13
*** t9105-git-svn-commit-diff.sh ***
ok 1 - initialize repo
ok 2 - test the commit-diff command
ok 3 - commit-diff to a sub-directory (with git svn config)
# passed all 3 test(s)
1..3
*** t9106-git-svn-commit-diff-clobber.sh ***
ok 1 - initialize repo
ok 2 - commit change from svn side
ok 3 - commit conflicting change from git
ok 4 - commit complementing change from git
ok 5 - dcommit fails to commit because of conflict
ok 6 - dcommit does the svn equivalent of an index merge
ok 7 - commit another change from svn side
ok 8 - multiple dcommit from git svn will not clobber svn
ok 9 - check that rebase really failed
ok 10 - resolve, continue the rebase and dcommit
# passed all 10 test(s)
1..10
*** t9107-git-svn-migrate.sh ***
ok 1 - setup old-looking metadata
ok 2 - git-svn-HEAD is a real HEAD
ok 3 - initialize old-style (v0) git svn layout
ok 4 - initialize a multi-repository repo
ok 5 - multi-fetch works on partial urls + paths
ok 6 - migrate --minimize on old inited layout
ok 7 - .rev_db auto-converted to .rev_map.UUID
# passed all 7 test(s)
1..7
*** t9108-git-svn-glob.sh ***
ok 1 - test refspec globbing
ok 2 - test left-hand-side only globbing
ok 3 - test disallow multi-globs
# passed all 3 test(s)
1..3
*** t9109-git-svn-multi-glob.sh ***
ok 1 - test refspec globbing
ok 2 - test left-hand-side only globbing
ok 3 - test another branch
ok 4 - test disallow multiple globs
# passed all 4 test(s)
1..4
*** t9110-git-svn-use-svm-props.sh ***
ok 1 - load svm repo
ok 2 - verify metadata for /bar
ok 3 - verify metadata for /dir/a/b/c/d/e
ok 4 - verify metadata for /dir
ok 5 - find commit based on SVN revision number
ok 6 - empty rebase
# passed all 6 test(s)
1..6
*** t9111-git-svn-use-svnsync-props.sh ***
ok 1 - load svnsync repo
ok 2 - verify metadata for /bar
ok 3 - verify metadata for /dir/a/b/c/d/e
ok 4 - verify metadata for /dir
# passed all 4 test(s)
1..4
*** t9112-git-svn-md5less-file.sh ***
ok 1 - load svn dumpfile
ok 2 - initialize git svn
ok 3 - fetch revisions from svn
# passed all 3 test(s)
1..3
*** t9113-git-svn-dcommit-new-file.sh ***
1..0 # SKIP skipping svnserve test. (set $SVNSERVE_PORT to enable)
*** t9114-git-svn-dcommit-merge.sh ***
ok 1 - setup svn repository
ok 2 - setup git mirror and merge
ok 3 - verify pre-merge ancestry
ok 4 - git svn dcommit merges
ok 5 - verify post-merge ancestry
ok 6 - verify merge commit message
# passed all 6 test(s)
1..6
*** t9115-git-svn-dcommit-funky-renames.sh ***
ok 1 - load repository with strange names
ok 2 - init and fetch repository
ok 3 - create file in existing ugly and empty dir
ok 4 - rename ugly file
ok 5 - rename pretty file
ok 6 - rename pretty file into ugly one
ok 7 - add a file with plus signs
ok 8 - clone the repository to test rebase
ok 9 - make a commit to test rebase
ok 10 - git svn rebase works inside a fresh-cloned repository
# passed all 10 test(s)
1..10
*** t9116-git-svn-log.sh ***
ok 1 - setup repository and import
ok 2 - run log
ok 3 - run log against a from trunk
ok 4 - test ascending revision range
ok 5 - test ascending revision range with --show-commit
ok 6 - test ascending revision range with --show-commit (sha1)
ok 7 - test descending revision range
ok 8 - test ascending revision range with unreachable revision
ok 9 - test descending revision range with unreachable revision
ok 10 - test ascending revision range with unreachable upper boundary revision and 1 commit
ok 11 - test descending revision range with unreachable upper boundary revision and 1 commit
ok 12 - test ascending revision range with unreachable lower boundary revision and 1 commit
ok 13 - test descending revision range with unreachable lower boundary revision and 1 commit
ok 14 - test ascending revision range with unreachable boundary revisions and no commits
ok 15 - test descending revision range with unreachable boundary revisions and no commits
ok 16 - test ascending revision range with unreachable boundary revisions and 1 commit
ok 17 - test descending revision range with unreachable boundary revisions and 1 commit
# passed all 17 test(s)
1..17
*** t9117-git-svn-init-clone.sh ***
ok 1 - setup svnrepo
ok 2 - basic clone
ok 3 - clone to target directory
ok 4 - clone with --stdlayout
ok 5 - clone to target directory with --stdlayout
ok 6 - init without -s/-T/-b/-t does not warn
ok 7 - clone without -s/-T/-b/-t does not warn
ok 8 - init with -s/-T/-b/-t assumes --prefix=origin/
ok 9 - clone with -s/-T/-b/-t assumes --prefix=origin/
ok 10 - init with -s/-T/-b/-t and --prefix "" still works
ok 11 - clone with -s/-T/-b/-t and --prefix "" still works
# passed all 11 test(s)
1..11
*** t9118-git-svn-funky-branch-names.sh ***
ok 1 - setup svnrepo
ok 2 - test clone with funky branch names
ok 3 - test dcommit to funky branch
ok 4 - test dcommit to scary branch
ok 5 - test dcommit to trailing_dotlock branch
# passed all 5 test(s)
1..5
*** t9119-git-svn-info.sh ***
1..0 # SKIP skipping svn-info test (SVN version: 1.7.20 not supported)
*** t9120-git-svn-clone-with-percent-escapes.sh ***
ok 1 - setup svnrepo
ok 2 - test clone with percent escapes
ok 3 - svn checkout with percent escapes
ok 4 - svn checkout with space
ok 5 - test clone trunk with percent escapes and minimize-url
ok 6 - test clone trunk with percent escapes
ok 7 - test clone --stdlayout with percent escapes
ok 8 - test clone -s with unescaped space
# passed all 8 test(s)
1..8
*** t9121-git-svn-fetch-renamed-dir.sh ***
ok 1 - load repository with renamed directory
ok 2 - init and fetch repository
# passed all 2 test(s)
1..2
*** t9122-git-svn-author.sh ***
ok 1 - setup svn repository
ok 2 - interact with it via git svn
# passed all 2 test(s)
1..2
*** t9123-git-svn-rebuild-with-rewriteroot.sh ***
ok 1 - init, fetch and checkout repository
ok 2 - remove rev_map
ok 3 - rebuild rev_map
# passed all 3 test(s)
1..3
*** t9124-git-svn-dcommit-auto-props.sh ***
ok 1 - initialize git svn
ok 2 - enable auto-props config
ok 3 - add files matching auto-props
ok 4 - disable auto-props config
ok 5 - add files matching disabled auto-props
ok 6 - check resulting svn repository
ok 7 - check renamed file
# passed all 7 test(s)
1..7
*** t9125-git-svn-multi-glob-branch-names.sh ***
ok 1 - setup svnrepo
ok 2 - test clone with multi-glob in branch names
ok 3 - test dcommit to multi-globbed branch
# passed all 3 test(s)
1..3
*** t9126-git-svn-follow-deleted-readded-directory.sh ***
1..0 # SKIP skipping svnserve test. (set $SVNSERVE_PORT to enable)
*** t9127-git-svn-partial-rebuild.sh ***
ok 1 - initialize svnrepo
ok 2 - import an early SVN revision into git
ok 3 - make full git mirror of SVN
ok 4 - fetch from git mirror and partial-rebuild
# passed all 4 test(s)
1..4
*** t9128-git-svn-cmd-branch.sh ***
ok 1 - initialize svnrepo
ok 2 - import into git
ok 3 - git svn branch tests
ok 4 - branch uses correct svn-remote
# passed all 4 test(s)
1..4
*** t9129-git-svn-i18n-commitencoding.sh ***
ok 1 - ISO8859-1 setup
ok 2 - eucJP setup
ok 3 - ISO-2022-JP setup
ok 4 - ISO8859-1 commit on git side
ok 5 - eucJP commit on git side
ok 6 - ISO-2022-JP commit on git side
ok 7 - ISO8859-1 dcommit to svn
ok 8 - eucJP dcommit to svn
ok 9 - ISO-2022-JP dcommit to svn
ok 10 - ISO-8859-1 should match UTF-8 in svn
ok 11 - eucJP should match UTF-8 in svn
ok 12 - ISO-2022-JP should match UTF-8 in svn
# passed all 12 test(s)
1..12
*** t9130-git-svn-authors-file.sh ***
ok 1 - setup svnrepo
ok 2 - start import with incomplete authors file
ok 3 - imported 2 revisions successfully
ok 4 - continues to import once authors have been added
ok 5 - authors-file against globs
ok 6 - fetch fails on ee
ok 7 - failure happened without negative side effects
ok 8 - fetch continues after authors-file is fixed
ok 9 - fresh clone with svn.authors-file in config
# passed all 9 test(s)
1..9
*** t9131-git-svn-empty-symlink.sh ***
ok 1 - load svn dumpfile
ok 2 - clone using git svn
ok 3 - enable broken symlink workaround
ok 4 - "bar" is an empty file
ok 5 - get "bar" => symlink fix from svn
ok 6 - "bar" becomes a symlink
ok 7 - clone using git svn
ok 8 - disable broken symlink workaround
ok 9 - "bar" is an empty file
ok 10 - get "bar" => symlink fix from svn
ok 11 - "bar" does not become a symlink
ok 12 - clone using git svn
ok 13 - "bar" is an empty file
ok 14 - get "bar" => symlink fix from svn
ok 15 - "bar" does not become a symlink
# passed all 15 test(s)
1..15
*** t9132-git-svn-broken-symlink.sh ***
ok 1 - load svn dumpfile
ok 2 - clone using git svn
ok 3 - "bar" is a symlink that points to "asdf"
ok 4 - get "bar" => symlink fix from svn
ok 5 - "bar" remains a proper symlink
# passed all 5 test(s)
1..5
*** t9133-git-svn-nested-git-repo.sh ***
ok 1 - setup repo with a git repo inside it
ok 2 - clone an SVN repo containing a git repo
ok 3 - SVN-side change outside of .git
ok 4 - update git svn-cloned repo
ok 5 - SVN-side change inside of .git
ok 6 - update git svn-cloned repo
ok 7 - SVN-side change in and out of .git
ok 8 - update git svn-cloned repo again
# passed all 8 test(s)
1..8
*** t9134-git-svn-ignore-paths.sh ***
ok 1 - setup test repository
ok 2 - clone an SVN repository with ignored www directory
ok 3 - init+fetch an SVN repository with ignored www directory
ok 4 - verify ignore-paths config saved by clone
ok 5 - SVN-side change outside of www
ok 6 - update git svn-cloned repo (config ignore)
ok 7 - update git svn-cloned repo (option ignore)
ok 8 - SVN-side change inside of ignored www
ok 9 - update git svn-cloned repo (config ignore)
ok 10 - update git svn-cloned repo (option ignore)
ok 11 - SVN-side change in and out of ignored www
ok 12 - update git svn-cloned repo again (config ignore)
ok 13 - update git svn-cloned repo again (option ignore)
# passed all 13 test(s)
1..13
*** t9135-git-svn-moved-branch-empty-file.sh ***
ok 1 - load svn dumpfile
ok 2 - clone using git svn
ok 3 - test that b1 exists and is empty
# passed all 3 test(s)
1..3
*** t9136-git-svn-recreated-branch-empty-file.sh ***
ok 1 - load svn dumpfile
ok 2 - clone using git svn
# passed all 2 test(s)
1..2
*** t9137-git-svn-dcommit-clobber-series.sh ***
ok 1 - initialize repo
ok 2 - (supposedly) non-conflicting change from SVN
ok 3 - some unrelated changes to git
ok 4 - change file but in unrelated area
ok 5 - attempt to dcommit with a dirty index
# passed all 5 test(s)
1..5
*** t9138-git-svn-authors-prog.sh ***
ok 1 - svn-authors setup
ok 2 - setup svnrepo
ok 3 - import authors with prog and file
ok 4 - imported 6 revisions successfully
ok 5 - authors-prog ran correctly
ok 6 - authors-file overrode authors-prog
ok 7 - authors-prog handled special characters in username
# passed all 7 test(s)
1..7
*** t9139-git-svn-non-utf8-commitencoding.sh ***
ok 1 - ISO8859-1 setup
ok 2 - eucJP setup
ok 3 - ISO8859-1 commit on git side
ok 4 - eucJP commit on git side
ok 5 - ISO8859-1 dcommit to svn
ok 6 - eucJP dcommit to svn
# passed all 6 test(s)
1..6
*** t9140-git-svn-reset.sh ***
ok 1 - setup test repository
ok 2 - clone SVN repository with hidden directory
ok 3 - modify hidden file in SVN repo
ok 4 - fetch fails on modified hidden file
ok 5 - reset unwinds back to r1
ok 6 - refetch succeeds not ignoring any files
# passed all 6 test(s)
1..6
*** t9141-git-svn-multiple-branches.sh ***
ok 1 - setup svnrepo
ok 2 - clone multiple branch and tag paths
ok 3 - Multiple branch or tag paths require -d
ok 4 - create new branches and tags
# passed all 4 test(s)
1..4
*** t9142-git-svn-shallow-clone.sh ***
ok 1 - setup test repository
ok 2 - clone trunk with "-r HEAD"
# passed all 2 test(s)
1..2
*** 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
ok 5 - Fetch repo
ok 6 - make backup copy of unhandled.log
ok 7 - create leftover index
ok 8 - git svn gc runs
ok 9 - git svn index removed
ok 10 - git svn gc produces a valid gzip file
ok 11 - git svn gc does not change unhandled.log files
# passed all 11 test(s)
1..11
*** t9144-git-svn-old-rev_map.sh ***
ok 1 - setup test repository with old layout
ok 2 - old layout continues to work
# passed all 2 test(s)
1..2
*** t9145-git-svn-master-branch.sh ***
ok 1 - setup test repository
ok 2 - git svn clone --stdlayout sets up trunk as master
# passed all 2 test(s)
1..2
*** t9146-git-svn-empty-dirs.sh ***
ok 1 - initialize repo
ok 2 - clone
ok 3 - empty directories exist
ok 4 - option automkdirs set to false
ok 5 - more emptiness
ok 6 - git svn rebase creates empty directory
ok 7 - git svn mkdirs recreates empty directories
ok 8 - git svn mkdirs -r works
ok 9 - initialize trunk
ok 10 - clone trunk
ok 11 - empty directories in trunk exist
ok 12 - remove a top-level directory from svn
ok 13 - removed top-level directory does not exist
ok 14 - git svn gc-ed files work
# passed all 14 test(s)
1..14
*** t9147-git-svn-include-paths.sh ***
ok 1 - setup test repository
ok 2 - clone an SVN repository with filter to include qqq directory
ok 3 - init+fetch an SVN repository with included qqq directory
ok 4 - verify include-paths config saved by clone
ok 5 - SVN-side change outside of www
ok 6 - update git svn-cloned repo (config include)
ok 7 - update git svn-cloned repo (option include)
ok 8 - SVN-side change inside of ignored www
ok 9 - update git svn-cloned repo (config include)
ok 10 - update git svn-cloned repo (option include)
ok 11 - SVN-side change in and out of included qqq
ok 12 - update git svn-cloned repo again (config include)
ok 13 - update git svn-cloned repo again (option include)
# passed all 13 test(s)
1..13
*** t9148-git-svn-propset.sh ***
ok 1 - initialize git svn
ok 2 - fetch revisions from svn
ok 3 - add props top level
ok 4 - add multiple props
ok 5 - add props subdir
ok 6 - add props relative
# passed all 6 test(s)
1..6
*** t9150-svk-mergetickets.sh ***
ok 1 - load svk depot
ok 2 - svk merges were represented coming in
# passed all 2 test(s)
1..2
*** t9151-svn-mergeinfo.sh ***
ok 1 - load svn dump
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
ok 5 - commit made to merged branch is reachable from the merge
ok 6 - merging two branches in one commit is detected correctly
not ok 7 - everything got merged in the end # TODO known breakage
# still have 1 known breakage(s)
# passed all remaining 6 test(s)
1..7
*** t9152-svn-empty-dirs-after-gc.sh ***
ok 1 - initialize repo
ok 2 - clone
ok 3 - git svn gc runs
ok 4 - git svn mkdirs recreates empty directories after git svn gc
# passed all 4 test(s)
1..4
*** t9153-git-svn-rewrite-uuid.sh ***
ok 1 - load svn repo
ok 2 - verify uuid
# passed all 2 test(s)
1..2
*** t9154-git-svn-fancy-glob.sh ***
ok 1 - load svn repo
ok 2 - add red branch
ok 3 - add gre branch
ok 4 - add green branch
ok 5 - add all branches
# passed all 5 test(s)
1..5
*** t9155-git-svn-fetch-deleted-tag.sh ***
ok 1 - setup svn repo
ok 2 - fetch deleted tags from same revision with checksum error
# passed all 2 test(s)
1..2
*** t9156-git-svn-fetch-deleted-tag-2.sh ***
ok 1 - setup svn repo
ok 2 - fetch deleted tags from same revision with no checksum error
# passed all 2 test(s)
1..2
*** t9157-git-svn-fetch-merge.sh ***
ok 1 - initialize source svn repo
ok 2 - clone svn repo
ok 3 - verify merge commit
# passed all 3 test(s)
1..3
*** t9158-git-svn-mergeinfo.sh ***
define NO_SVN_TESTS to skip git svn tests
ok 1 - initialize source svn repo
ok 2 - clone svn repo
ok 3 - change svn:mergeinfo
ok 4 - verify svn:mergeinfo
ok 5 - change svn:mergeinfo multiline
ok 6 - verify svn:mergeinfo multiline
# passed all 6 test(s)
1..6
*** t9159-git-svn-no-parent-mergeinfo.sh ***
ok 1 - test handling of root commits in merge ranges
# passed all 1 test(s)
1..1
*** 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
ok 2 - clone svn repo with --preserve-empty-dirs
ok 3 - directory empty from inception
ok 4 - directory empty from subsequent svn commit
ok 5 - add entry to previously empty directory
ok 6 - remove non-last entry from directory
ok 7 - clone svn repo with --placeholder-file specified
ok 8 - placeholder namespace conflict with file
ok 9 - placeholder namespace conflict with directory
ok 10 - second set of svn commits and rebase
ok 11 - flag persistence during subsqeuent rebase
ok 12 - placeholder list persistence during subsqeuent rebase
# passed all 12 test(s)
1..12
*** t9161-git-svn-mergeinfo-push.sh ***
ok 1 - load svn dump
ok 2 - propagate merge information
ok 3 - check svn:mergeinfo
ok 4 - merge another branch
ok 5 - check primary parent mergeinfo respected
ok 6 - merge existing merge
ok 7 - check both parents' mergeinfo respected
ok 8 - make further commits to branch
ok 9 - second forward merge
ok 10 - check new mergeinfo added
ok 11 - reintegration merge
ok 12 - check reintegration mergeinfo
ok 13 - dcommit a merge at the top of a stack
# passed all 13 test(s)
1..13
*** t9162-git-svn-dcommit-interactive.sh ***
ok 1 - initialize repo
ok 2 - answers: y [\n] yes
ok 3 - answers: yes yes no
ok 4 - answers: yes quit
ok 5 - answers: all
# passed all 5 test(s)
1..5
*** t9163-git-svn-reset-clears-caches.sh ***
ok 1 - initialize source svn repo
ok 2 - fetch to merge-base (a)
ok 3 - rebase looses SVN merge (m)
ok 4 - reset and fetch gets the SVN merge (m) correctly
# passed all 4 test(s)
1..4
*** t9164-git-svn-dcommit-concurrent.sh ***
ok 1 - setup svn repository
ok 2 - check if post-commit hook creates a concurrent commit
ok 3 - check if pre-commit hook fails
ok 4 - dcommit error handling
ok 5 - dcommit concurrent change in non-changed file
ok 6 - dcommit concurrent non-conflicting change
ok 7 - dcommit --no-rebase concurrent non-conflicting change
ok 8 - dcommit fails on concurrent conflicting change
# passed all 8 test(s)
1..8
*** t9165-git-svn-fetch-merge-branch-of-branch.sh ***
ok 1 - initialize source svn repo
ok 2 - clone svn repo
ok 3 - verify merge commit
# passed all 3 test(s)
1..3
*** t9166-git-svn-fetch-merge-branch-of-branch2.sh ***
ok 1 - initialize source svn repo
ok 2 - clone svn repo
ok 3 - verify merge commit
# passed all 3 test(s)
1..3
*** t9167-git-svn-cmd-branch-subproject.sh ***
ok 1 - initialize svnrepo
ok 2 - import into git
ok 3 - git svn branch tests
# passed all 3 test(s)
1..3
*** 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 - empty stream succeeds
ok 2 - A: create pack from stdin
ok 3 - A: verify pack
ok 4 - A: verify commit
ok 5 - A: verify tree
ok 6 - A: verify file2
ok 7 - A: verify file3
ok 8 - A: verify file4
ok 9 - A: verify tag/series-A
ok 10 - A: verify tag/series-A-blob
ok 11 - A: verify marks output
ok 12 - A: verify marks import
ok 13 - A: tag blob by sha1
ok 14 - A: verify marks import does not crash
ok 15 - A: verify pack
ok 16 - A: verify diff
ok 17 - A: export marks with large values
ok 18 - B: fail on invalid blob sha1
ok 19 - B: accept branch name "TEMP_TAG"
ok 20 - B: accept empty committer
ok 21 - B: accept and fixup committer with no name
ok 22 - B: fail on invalid committer (1)
ok 23 - B: fail on invalid committer (2)
ok 24 - B: fail on invalid committer (3)
ok 25 - B: fail on invalid committer (4)
ok 26 - B: fail on invalid committer (5)
ok 27 - C: incremental import create pack from stdin
ok 28 - C: verify pack
ok 29 - C: validate reuse existing blob
ok 30 - C: verify commit
ok 31 - C: validate rename result
ok 32 - D: inline data in commit
ok 33 - D: verify pack
ok 34 - D: validate new files added
ok 35 - D: verify file5
ok 36 - D: verify file6
ok 37 - E: rfc2822 date, --date-format=raw
ok 38 - E: rfc2822 date, --date-format=rfc2822
ok 39 - E: verify pack
ok 40 - E: verify commit
ok 41 - F: non-fast-forward update skips
ok 42 - F: verify pack
ok 43 - F: verify other commit
ok 44 - G: non-fast-forward update forced
ok 45 - G: verify pack
ok 46 - G: branch changed, but logged
ok 47 - H: deletall, add 1
ok 48 - H: verify pack
ok 49 - H: validate old files removed, new files added
ok 50 - H: verify file
ok 51 - I: export-pack-edges
ok 52 - I: verify edge list
ok 53 - J: reset existing branch creates empty commit
ok 54 - J: branch has 1 commit, empty tree
ok 55 - J: tag must fail on empty branch
ok 56 - K: reinit branch with from
ok 57 - K: verify K^1 = branch^1
ok 58 - L: verify internal tree sorting
ok 59 - L: nested tree copy does not corrupt deltas
ok 60 - M: rename file in same subdirectory
ok 61 - M: rename file to new subdirectory
ok 62 - M: rename subdirectory to new subdirectory
ok 63 - M: rename root to subdirectory
ok 64 - N: copy file in same subdirectory
ok 65 - N: copy then modify subdirectory
ok 66 - N: copy dirty subdirectory
ok 67 - N: copy directory by id
ok 68 - N: read and copy directory
ok 69 - N: empty directory reads as missing
ok 70 - N: copy root directory by tree hash
ok 71 - N: copy root by path
ok 72 - N: delete directory by copying
ok 73 - N: modify copied tree
ok 74 - N: reject foo/ syntax
ok 75 - N: reject foo/ syntax in copy source
ok 76 - N: reject foo/ syntax in rename source
ok 77 - N: reject foo/ syntax in ls argument
ok 78 - N: copy to root by id and modify
ok 79 - N: extract subtree
ok 80 - N: modify subtree, extract it, and modify again
ok 81 - O: comments are all skipped
ok 82 - O: blank lines not necessary after data commands
ok 83 - O: repack before next test
ok 84 - O: blank lines not necessary after other commands
ok 85 - O: progress outputs as requested by input
ok 86 - P: superproject & submodule mix
ok 87 - P: verbatim SHA gitlinks
ok 88 - P: fail on inline gitlink
ok 89 - P: fail on blob mark in gitlink
ok 90 - Q: commit notes
ok 91 - Q: verify pack
ok 92 - Q: verify first commit
ok 93 - Q: verify second commit
ok 94 - Q: verify third commit
ok 95 - Q: verify first notes commit
ok 96 - Q: verify first notes tree
ok 97 - Q: verify first note for first commit
ok 98 - Q: verify first note for second commit
ok 99 - Q: verify first note for third commit
ok 100 - Q: verify second notes commit
ok 101 - Q: verify second notes tree
ok 102 - Q: verify second note for first commit
ok 103 - Q: verify first note for second commit
ok 104 - Q: verify first note for third commit
ok 105 - Q: verify third notes commit
ok 106 - Q: verify third notes tree
ok 107 - Q: verify third note for first commit
ok 108 - Q: verify fourth notes commit
ok 109 - Q: verify fourth notes tree
ok 110 - Q: verify second note for second commit
ok 111 - Q: deny note on empty branch
ok 112 - R: abort on unsupported feature
ok 113 - R: supported feature is accepted
ok 114 - R: abort on receiving feature after data command
ok 115 - R: only one import-marks feature allowed per stream
ok 116 - R: export-marks feature results in a marks file being created
ok 117 - R: export-marks options can be overridden by commandline options
ok 118 - R: catch typo in marks file name
ok 119 - R: import and output marks can be the same file
ok 120 - R: --import-marks=foo --output-marks=foo to create foo fails
ok 121 - R: --import-marks-if-exists
ok 122 - R: feature import-marks-if-exists
ok 123 - R: import to output marks works without any content
ok 124 - R: import marks prefers commandline marks file over the stream
ok 125 - R: multiple --import-marks= should be honoured
ok 126 - R: feature relative-marks should be honoured
ok 127 - R: feature no-relative-marks should be honoured
ok 128 - R: feature ls supported
ok 129 - R: feature cat-blob supported
ok 130 - R: cat-blob-fd must be a nonnegative integer
ok 131 - R: print old blob
ok 132 - R: in-stream cat-blob-fd not respected
ok 133 - R: print mark for new blob
ok 134 - R: print new blob
ok 135 - R: print new blob by sha1
ok 136 - setup: big file
ok 137 - R: print two blobs to stdout
ok 138 - R: copy using cat-file
ok 139 - R: print blob mid-commit
ok 140 - R: print staged blob within commit
ok 141 - R: quiet option results in no stats being output
ok 142 - R: feature done means terminating "done" is mandatory
ok 143 - R: terminating "done" with trailing gibberish is ok
ok 144 - R: terminating "done" within commit
ok 145 - R: die on unknown option
ok 146 - R: unknown commandline options are rejected
ok 147 - R: die on invalid option argument
ok 148 - R: ignore non-git options
ok 149 - R: blob bigger than threshold
ok 150 - R: verify created pack
ok 151 - R: verify written objects
ok 152 - R: blob appears only once
ok 153 - S: initialize for S tests
ok 154 - S: filemodify with garbage after mark must fail
ok 155 - S: filemodify with garbage after inline must fail
ok 156 - S: filemodify with garbage after sha1 must fail
ok 157 - S: notemodify with garabge after mark dataref must fail
ok 158 - S: notemodify with garbage after inline dataref must fail
ok 159 - S: notemodify with garbage after sha1 dataref must fail
ok 160 - S: notemodify with garbage after mark commit-ish must fail
ok 161 - S: from with garbage after mark must fail
ok 162 - S: merge with garbage after mark must fail
ok 163 - S: tag with garbage after mark must fail
ok 164 - S: cat-blob with garbage after mark must fail
ok 165 - S: ls with garbage after mark must fail
ok 166 - S: ls with garbage after sha1 must fail
ok 167 - T: ls root tree
ok 168 - T: delete branch
ok 169 - T: empty reset doesnt delete branch
ok 170 - U: initialize for U tests
ok 171 - U: filedelete file succeeds
ok 172 - U: validate file delete result
ok 173 - U: filedelete directory succeeds
ok 174 - U: validate directory delete result
ok 175 - U: filedelete root succeeds
ok 176 - U: validate root delete result
# passed all 176 test(s)
1..176
*** 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 - signed-tags=warn-strip
ok 11 - setup submodule
ok 12 - submodule fast-export | fast-import
ok 13 - setup copies
ok 14 - fast-export -C -C | fast-import
ok 15 - fast-export | fast-import when master is tagged
ok 16 - cope with tagger-less tags
ok 17 - setup for limiting exports by PATH
ok 18 - dropping tag of filtered out object
ok 19 - rewriting tag of filtered out object
not ok 20 - no exact-ref revisions included # TODO known breakage
ok 21 - path limiting with import-marks does not lose unmodified files
ok 22 - full-tree re-shows unmodified files
ok 23 - set-up a few more tags for tag export tests
ok 24 - tree_tag
ok 25 - tree_tag-obj
ok 26 - tag-obj_tag
ok 27 - tag-obj_tag-obj
ok 28 - directory becomes symlink
ok 29 - fast-export quotes pathnames
ok 30 - test bidirectionality
ok 31 - avoid uninteresting refs
ok 32 - refs are updated even if no commits need to be exported
ok 33 - use refspec
ok 34 - delete refspec
# still have 1 known breakage(s)
# passed all remaining 33 test(s)
1..34
*** t9351-fast-export-anonymize.sh ***
ok 1 - setup simple repo
ok 2 - export anonymized stream
ok 3 - stream omits path names
ok 4 - stream allows master as refname
ok 5 - stream omits other refnames
ok 6 - stream omits identities
ok 7 - stream omits tag message
ok 8 - import stream to new repository
ok 9 - result has two branches
ok 10 - repo has original shape and timestamps
ok 11 - root tree has original shape
ok 12 - paths in subdir ended up in one tree
ok 13 - tag points to branch tip
ok 14 - idents are shared
# passed all 14 test(s)
1..14
*** t9400-git-cvsserver-server.sh ***
1..0 # SKIP skipping git-cvsserver tests, Perl SQLite interface unavailable
*** t9401-git-cvsserver-crlf.sh ***
1..0 # SKIP skipping git-cvsserver tests, Perl SQLite interface unavailable
*** t9402-git-cvsserver-refs.sh ***
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
not ok 46 - setup incomplete lines
#	
#		cat >file<<-\EOF &&
#		Dominus regit me,
#		et nihil mihi deerit.
#		In loco pascuae ibi me collocavit,
#		super aquam refectionis educavit me;
#		animam meam convertit,
#		deduxit me super semitas jusitiae,
#		propter nomen suum.
#		CHANGE_ME
#		EOF
#		git commit -a -m "Preparing for incomplete lines" &&
#		echo "incomplete" | tr -d "\\012" >>file &&
#		git commit -a -m "Add incomplete line" &&
#		git tag incomplete_lines_add &&
#		sed -e s/CHANGE_ME/change_me/ <file >file+ &&
#		mv -f file+ file &&
#		git commit -a -m "Incomplete context line" &&
#		git tag incomplete_lines_ctx &&
#		echo "Dominus regit me," >file &&
#		echo "incomplete line" | tr -d "\\012" >>file &&
#		git commit -a -m "Change incomplete line" &&
#		git tag incomplete_lines_chg &&
#		echo "Dominus regit me," >file &&
#		git commit -a -m "Remove incomplete line" &&
#		git tag incomplete_lines_rem
#	
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 (non-existent)
ok 75 - path_info: project/branch:filename (non-existent branch)
ok 76 - path_info: project/branch:file (non-existent)
ok 77 - path_info: project/branch:dir/ (non-existent)
ok 78 - path_info: project/branch:/file
ok 79 - path_info: project/:/file (implicit HEAD)
ok 80 - path_info: project/:/ (implicit HEAD, top tree)
ok 81 - feeds: OPML
ok 82 - feed: RSS
ok 83 - feed: Atom
ok 84 - encode(commit): utf8
ok 85 - encode(commit): iso-8859-1
ok 86 - encode(log): utf-8 and iso-8859-1
ok 87 - opt: log --no-merges
ok 88 - opt: atom --no-merges
ok 89 - opt: "file" history --no-merges
ok 90 - opt: log --no-such-option (invalid option)
ok 91 - opt: tree --no-merges (invalid option for action)
ok 92 - URL: no project URLs, no base URL
ok 93 - URL: project URLs via gitweb.url
ok 94 - URL: project URLs via cloneurl file
ok 95 - config override: projects list (implicit)
ok 96 - config override: tree view, features not overridden in repo config
ok 97 - config override: tree view, features disabled in repo config
ok 98 - config override: tree view, features enabled in repo config (1)
ok 99 - config override: tree view, features enabled in repo config (2)
ok 100 - search: preparation
ok 101 - search: commit author
ok 102 - search: commit message
ok 103 - search: grep
ok 104 - search: pickaxe
ok 105 - search: projects
ok 106 - README.html with non-ASCII characters (utf-8)
Skipping syntax highlighting tests: 'highlight' not found
ok 107 # skip syntax highlighting (no highlight, unknown syntax) (missing HIGHLIGHT)
ok 108 # skip syntax highlighting (highlighted, shell script) (missing HIGHLIGHT)
ok 109 - forks: prepare
ok 110 - forks: projects list
ok 111 - forks: forks action
ok 112 - ctags: tag cloud in projects list
ok 113 - ctags: search projects by existing tag
ok 114 - ctags: search projects by non existent tag
ok 115 - ctags: malformed tag weights
ok 116 - categories: projects list, only default category
ok 117 - unborn HEAD: "summary" page (with "heads" subview)
# failed 1 among 117 test(s)
1..117
make[3]: [t9500-gitweb-standalone-no-errors.sh] Error 1 (ignored)
*** 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 # skip modification: feed last-modified (missing DATE_PARSER)
ok 12 # skip modification: feed if-modified-since (modified) (missing DATE_PARSER)
ok 13 # skip modification: feed if-modified-since (unmodified) (missing DATE_PARSER)
ok 14 # skip modification: snapshot last-modified (missing DATE_PARSER)
ok 15 # skip modification: snapshot if-modified-since (modified) (missing DATE_PARSER)
ok 16 # skip modification: snapshot if-modified-since (unmodified) (missing DATE_PARSER)
ok 17 # skip modification: tree snapshot (missing DATE_PARSER)
ok 18 - load checking: load too high (default action)
ok 19 - invalid arguments: invalid regexp (in project search)
# passed all 19 test(s)
1..19
*** 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 - enable forks feature
ok 14 - forks: forks skipped if "forks" feature enabled
ok 15 - forks: "forks" action for forked repository
ok 16 - forks: can access forked repository
ok 17 - forks: project_index lists all projects (incl. forks)
ok 18 - xss checks
# passed all 18 test(s)
1..18
*** t9600-cvsimport.sh ***
1..0 # SKIP skipping cvsimport tests, cvsps not found
*** t9601-cvsimport-vendor-branch.sh ***
1..0 # SKIP skipping cvsimport tests, cvsps not found
*** t9602-cvsimport-branches-tags.sh ***
1..0 # SKIP skipping cvsimport tests, cvsps not found
*** t9603-cvsimport-patchsets.sh ***
1..0 # SKIP skipping cvsimport tests, cvsps not found
*** t9604-cvsimport-timestamps.sh ***
1..0 # SKIP skipping cvsimport tests, cvsps not found
*** t9700-perl-git.sh ***
ok 1 - set up test repository
# run 1: 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: multivar
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 ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9801-git-p4-branch.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9802-git-p4-filetype.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9803-git-p4-shell-metachars.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9804-git-p4-label.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9805-git-p4-skip-submit-edit.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9806-git-p4-options.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9807-git-p4-submit.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9808-git-p4-chdir.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9809-git-p4-client-view.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9810-git-p4-rcs.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9811-git-p4-label-import.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9812-git-p4-wildcards.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9813-git-p4-preserve-users.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9814-git-p4-rename.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9815-git-p4-submit-fail.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9816-git-p4-locked.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9817-git-p4-exclude.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9818-git-p4-block.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9819-git-p4-case-folding.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9820-git-p4-editor-handling.sh ***
1..0 # SKIP skipping git p4 tests; no p4 or p4d
*** t9821-git-p4-path-variations.sh ***
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
*** t9902-completion.sh ***
ok 1 - setup for __gitdir tests
ok 2 - __gitdir - from command line (through $__git_dir)
ok 3 - __gitdir - repo as argument
ok 4 - __gitdir - remote as argument
ok 5 - __gitdir - .git directory in cwd
ok 6 - __gitdir - .git directory in parent
ok 7 - __gitdir - cwd is a .git directory
ok 8 - __gitdir - parent is a .git directory
ok 9 - __gitdir - $GIT_DIR set while .git directory in cwd
ok 10 - __gitdir - $GIT_DIR set while .git directory in parent
ok 11 - __gitdir - non-existing $GIT_DIR
ok 12 - __gitdir - gitfile in cwd
ok 13 - __gitdir - gitfile in parent
ok 14 - __gitdir - resulting path avoids symlinks
ok 15 - __gitdir - not a git repository
ok 16 - __gitcomp - trailing space - options
ok 17 - __gitcomp - trailing space - config keys
ok 18 - __gitcomp - option parameter
ok 19 - __gitcomp - prefix
ok 20 - __gitcomp - suffix
ok 21 - __gitcomp - doesnt fail because of invalid variable name
ok 22 - __gitcomp_nl - trailing space
ok 23 - __gitcomp_nl - prefix
ok 24 - __gitcomp_nl - suffix
ok 25 - __gitcomp_nl - no suffix
ok 26 - __gitcomp_nl - doesnt fail because of invalid variable name
ok 27 - __git_remotes - list remotes from $GIT_DIR/remotes and from config file
ok 28 - __git_get_config_variables
ok 29 - __git_pretty_aliases
ok 30 - __git_aliases
ok 31 - basic
ok 32 - double dash "git" itself
ok 33 - double dash "git checkout"
ok 34 - general options
ok 35 - general options plus command
ok 36 - git --help completion
ok 37 - setup for ref completion
ok 38 - checkout completes ref names
ok 39 - show completes all refs
ok 40 - <ref>: completes paths
ok 41 - complete tree filename with spaces
ok 42 - complete tree filename with metacharacters
ok 43 - send-email
ok 44 - complete files
ok 45 - completion uses <cmd> completion for alias: !sh -c 'git <cmd> ...'
ok 46 - completion uses <cmd> completion for alias: !f () { VAR=val git <cmd> ... }
ok 47 - completion used <cmd> completion for alias: !f() { : git <cmd> ; ... }
not ok 48 - complete with tilde expansion # TODO known breakage
# still have 1 known breakage(s)
# passed all remaining 47 test(s)
1..48
*** t9903-bash-prompt.sh ***
ok 1 - setup for prompt tests
ok 2 - prompt - branch name
ok 3 - prompt - branch name - symlink symref
ok 4 - prompt - unborn branch
ok 5 - prompt - with newline in path
ok 6 - prompt - detached head
ok 7 - prompt - describe detached head - contains
ok 8 - prompt - describe detached head - branch
ok 9 - prompt - describe detached head - describe
ok 10 - prompt - describe detached head - default
ok 11 - prompt - inside .git directory
ok 12 - prompt - deep inside .git directory
ok 13 - prompt - inside bare repository
ok 14 - prompt - interactive rebase
ok 15 - prompt - rebase merge
ok 16 - prompt - rebase
ok 17 - prompt - merge
ok 18 - prompt - cherry-pick
ok 19 - prompt - bisect
ok 20 - prompt - dirty status indicator - clean
ok 21 - prompt - dirty status indicator - dirty worktree
ok 22 - prompt - dirty status indicator - dirty index
ok 23 - prompt - dirty status indicator - dirty index and worktree
ok 24 - prompt - dirty status indicator - before root commit
ok 25 - prompt - dirty status indicator - shell variable unset with config disabled
ok 26 - prompt - dirty status indicator - shell variable unset with config enabled
ok 27 - prompt - dirty status indicator - shell variable set with config disabled
ok 28 - prompt - dirty status indicator - shell variable set with config enabled
ok 29 - prompt - dirty status indicator - not shown inside .git directory
ok 30 - prompt - stash status indicator - no stash
ok 31 - prompt - stash status indicator - stash
ok 32 - prompt - stash status indicator - not shown inside .git directory
ok 33 - prompt - untracked files status indicator - no untracked files
ok 34 - prompt - untracked files status indicator - untracked files
ok 35 - prompt - untracked files status indicator - empty untracked dir
ok 36 - prompt - untracked files status indicator - non-empty untracked dir
ok 37 - prompt - untracked files status indicator - untracked files outside cwd
ok 38 - prompt - untracked files status indicator - shell variable unset with config disabled
ok 39 - prompt - untracked files status indicator - shell variable unset with config enabled
ok 40 - prompt - untracked files status indicator - shell variable set with config disabled
ok 41 - prompt - untracked files status indicator - shell variable set with config enabled
ok 42 - prompt - untracked files status indicator - not shown inside .git directory
ok 43 - prompt - format string starting with dash
ok 44 - prompt - pc mode
ok 45 - prompt - bash color pc mode - branch name
ok 46 - prompt - bash color pc mode - detached head
ok 47 - prompt - bash color pc mode - dirty status indicator - dirty worktree
ok 48 - prompt - bash color pc mode - dirty status indicator - dirty index
ok 49 - prompt - bash color pc mode - dirty status indicator - dirty index and worktree
ok 50 - prompt - bash color pc mode - dirty status indicator - before root commit
ok 51 - prompt - bash color pc mode - inside .git directory
ok 52 - prompt - bash color pc mode - stash status indicator
ok 53 - prompt - bash color pc mode - untracked files status indicator
ok 54 - prompt - zsh color pc mode
ok 55 - prompt - hide if pwd ignored - env var unset, config disabled
ok 56 - prompt - hide if pwd ignored - env var unset, config disabled, pc mode
ok 57 - prompt - hide if pwd ignored - env var unset, config unset
ok 58 - prompt - hide if pwd ignored - env var unset, config unset, pc mode
ok 59 - prompt - hide if pwd ignored - env var set, config disabled
ok 60 - prompt - hide if pwd ignored - env var set, config disabled, pc mode
ok 61 - prompt - hide if pwd ignored - env var set, config unset
ok 62 - prompt - hide if pwd ignored - env var set, config unset, pc mode
ok 63 - prompt - hide if pwd ignored - inside gitdir (stdout)
ok 64 - prompt - hide if pwd ignored - inside gitdir (stderr)
# passed all 64 test(s)
1..64
/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): t0204 t9500

fixed   0
success 12879
failed  3
broken  178
total   13280
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)'