From c8bae7493d2f2910b57f13ded012e86bdcfb0532 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 16:47:53 +0200 Subject: Adding upstream version 1:2.39.2. Signed-off-by: Daniel Baumann --- t/.gitattributes | 24 + t/.gitignore | 5 + t/Git-SVN/00compile.t | 14 + t/Git-SVN/Utils/add_path_to_url.t | 27 + t/Git-SVN/Utils/can_compress.t | 11 + t/Git-SVN/Utils/canonicalize_url.t | 26 + t/Git-SVN/Utils/collapse_dotdot.t | 23 + t/Git-SVN/Utils/fatal.t | 34 + t/Git-SVN/Utils/join_paths.t | 32 + t/Makefile | 154 + t/README | 1285 +++++ t/aggregate-results.sh | 63 + t/annotate-tests.sh | 647 +++ t/chainlint.pl | 823 +++ t/chainlint/arithmetic-expansion.expect | 9 + t/chainlint/arithmetic-expansion.test | 11 + t/chainlint/bash-array.expect | 10 + t/chainlint/bash-array.test | 12 + t/chainlint/blank-line-before-esac.expect | 18 + t/chainlint/blank-line-before-esac.test | 19 + t/chainlint/blank-line.expect | 4 + t/chainlint/blank-line.test | 10 + t/chainlint/block-comment.expect | 8 + t/chainlint/block-comment.test | 8 + t/chainlint/block.expect | 23 + t/chainlint/block.test | 27 + t/chainlint/broken-chain.expect | 6 + t/chainlint/broken-chain.test | 8 + t/chainlint/case-comment.expect | 11 + t/chainlint/case-comment.test | 11 + t/chainlint/case.expect | 19 + t/chainlint/case.test | 23 + t/chainlint/chain-break-background.expect | 9 + t/chainlint/chain-break-background.test | 10 + t/chainlint/chain-break-continue.expect | 12 + t/chainlint/chain-break-continue.test | 13 + t/chainlint/chain-break-false.expect | 9 + t/chainlint/chain-break-false.test | 10 + t/chainlint/chain-break-return-exit.expect | 19 + t/chainlint/chain-break-return-exit.test | 23 + t/chainlint/chain-break-status.expect | 9 + t/chainlint/chain-break-status.test | 11 + t/chainlint/chained-block.expect | 9 + t/chainlint/chained-block.test | 11 + t/chainlint/chained-subshell.expect | 10 + t/chainlint/chained-subshell.test | 13 + .../close-nested-and-parent-together.expect | 3 + t/chainlint/close-nested-and-parent-together.test | 3 + t/chainlint/close-subshell.expect | 26 + t/chainlint/close-subshell.test | 27 + .../command-substitution-subsubshell.expect | 2 + t/chainlint/command-substitution-subsubshell.test | 3 + t/chainlint/command-substitution.expect | 9 + t/chainlint/command-substitution.test | 11 + t/chainlint/comment.expect | 8 + t/chainlint/comment.test | 11 + t/chainlint/complex-if-in-cuddled-loop.expect | 9 + t/chainlint/complex-if-in-cuddled-loop.test | 11 + t/chainlint/cuddled-if-then-else.expect | 6 + t/chainlint/cuddled-if-then-else.test | 7 + t/chainlint/cuddled-loop.expect | 4 + t/chainlint/cuddled-loop.test | 7 + t/chainlint/cuddled.expect | 17 + t/chainlint/cuddled.test | 22 + t/chainlint/double-here-doc.expect | 12 + t/chainlint/double-here-doc.test | 12 + t/chainlint/dqstring-line-splice.expect | 3 + t/chainlint/dqstring-line-splice.test | 7 + t/chainlint/dqstring-no-interpolate.expect | 11 + t/chainlint/dqstring-no-interpolate.test | 15 + t/chainlint/empty-here-doc.expect | 4 + t/chainlint/empty-here-doc.test | 5 + t/chainlint/exclamation.expect | 4 + t/chainlint/exclamation.test | 8 + t/chainlint/exit-loop.expect | 24 + t/chainlint/exit-loop.test | 27 + t/chainlint/exit-subshell.expect | 5 + t/chainlint/exit-subshell.test | 6 + t/chainlint/for-loop-abbreviated.expect | 5 + t/chainlint/for-loop-abbreviated.test | 6 + t/chainlint/for-loop.expect | 13 + t/chainlint/for-loop.test | 19 + t/chainlint/function.expect | 11 + t/chainlint/function.test | 13 + t/chainlint/here-doc-close-subshell.expect | 4 + t/chainlint/here-doc-close-subshell.test | 5 + t/chainlint/here-doc-indent-operator.expect | 11 + t/chainlint/here-doc-indent-operator.test | 13 + .../here-doc-multi-line-command-subst.expect | 8 + t/chainlint/here-doc-multi-line-command-subst.test | 9 + t/chainlint/here-doc-multi-line-string.expect | 7 + t/chainlint/here-doc-multi-line-string.test | 8 + t/chainlint/here-doc.expect | 25 + t/chainlint/here-doc.test | 30 + t/chainlint/if-condition-split.expect | 7 + t/chainlint/if-condition-split.test | 8 + t/chainlint/if-in-loop.expect | 12 + t/chainlint/if-in-loop.test | 15 + t/chainlint/if-then-else.expect | 22 + t/chainlint/if-then-else.test | 29 + t/chainlint/incomplete-line.expect | 10 + t/chainlint/incomplete-line.test | 12 + t/chainlint/inline-comment.expect | 8 + t/chainlint/inline-comment.test | 12 + t/chainlint/loop-detect-failure.expect | 15 + t/chainlint/loop-detect-failure.test | 17 + t/chainlint/loop-detect-status.expect | 18 + t/chainlint/loop-detect-status.test | 19 + t/chainlint/loop-in-if.expect | 12 + t/chainlint/loop-in-if.test | 15 + t/chainlint/loop-upstream-pipe.expect | 10 + t/chainlint/loop-upstream-pipe.test | 11 + .../multi-line-nested-command-substitution.expect | 18 + .../multi-line-nested-command-substitution.test | 18 + t/chainlint/multi-line-string.expect | 14 + t/chainlint/multi-line-string.test | 15 + t/chainlint/negated-one-liner.expect | 5 + t/chainlint/negated-one-liner.test | 7 + t/chainlint/nested-cuddled-subshell.expect | 19 + t/chainlint/nested-cuddled-subshell.test | 31 + t/chainlint/nested-here-doc.expect | 30 + t/chainlint/nested-here-doc.test | 33 + t/chainlint/nested-loop-detect-failure.expect | 31 + t/chainlint/nested-loop-detect-failure.test | 35 + t/chainlint/nested-subshell-comment.expect | 11 + t/chainlint/nested-subshell-comment.test | 13 + t/chainlint/nested-subshell.expect | 12 + t/chainlint/nested-subshell.test | 13 + t/chainlint/not-heredoc.expect | 14 + t/chainlint/not-heredoc.test | 16 + t/chainlint/one-liner-for-loop.expect | 9 + t/chainlint/one-liner-for-loop.test | 10 + t/chainlint/one-liner.expect | 9 + t/chainlint/one-liner.test | 12 + t/chainlint/p4-filespec.expect | 4 + t/chainlint/p4-filespec.test | 5 + t/chainlint/pipe.expect | 8 + t/chainlint/pipe.test | 12 + t/chainlint/return-loop.expect | 5 + t/chainlint/return-loop.test | 6 + t/chainlint/semicolon.expect | 19 + t/chainlint/semicolon.test | 25 + t/chainlint/sqstring-in-sqstring.expect | 4 + t/chainlint/sqstring-in-sqstring.test | 5 + t/chainlint/subshell-here-doc.expect | 30 + t/chainlint/subshell-here-doc.test | 35 + t/chainlint/subshell-one-liner.expect | 14 + t/chainlint/subshell-one-liner.test | 24 + t/chainlint/t7900-subtree.expect | 21 + t/chainlint/t7900-subtree.test | 22 + t/chainlint/token-pasting.expect | 27 + t/chainlint/token-pasting.test | 32 + t/chainlint/while-loop.expect | 13 + t/chainlint/while-loop.test | 19 + t/check-non-portable-shell.pl | 56 + t/helper/.gitignore | 2 + t/helper/test-advise.c | 22 + t/helper/test-bitmap.c | 32 + t/helper/test-bloom.c | 99 + t/helper/test-bundle-uri.c | 95 + t/helper/test-cache-tree.c | 65 + t/helper/test-chmtime.c | 163 + t/helper/test-config.c | 194 + t/helper/test-crontab.c | 36 + t/helper/test-csprng.c | 29 + t/helper/test-ctype.c | 43 + t/helper/test-date.c | 135 + t/helper/test-delta.c | 86 + t/helper/test-dir-iterator.c | 65 + t/helper/test-drop-caches.c | 162 + t/helper/test-dump-cache-tree.c | 75 + t/helper/test-dump-fsmonitor.c | 22 + t/helper/test-dump-split-index.c | 40 + t/helper/test-dump-untracked-cache.c | 68 + t/helper/test-example-decorate.c | 75 + t/helper/test-fake-ssh.c | 31 + t/helper/test-fast-rebase.c | 232 + t/helper/test-fsmonitor-client.c | 222 + t/helper/test-genrandom.c | 34 + t/helper/test-genzeros.c | 34 + t/helper/test-getcwd.c | 26 + t/helper/test-hash-speed.c | 61 + t/helper/test-hash.c | 59 + t/helper/test-hashmap.c | 266 + t/helper/test-hexdump.c | 30 + t/helper/test-index-version.c | 15 + t/helper/test-json-writer.c | 573 ++ t/helper/test-lazy-init-name-hash.c | 262 + t/helper/test-match-trees.c | 27 + t/helper/test-mergesort.c | 405 ++ t/helper/test-mktemp.c | 15 + t/helper/test-oid-array.c | 43 + t/helper/test-oidmap.c | 112 + t/helper/test-oidtree.c | 52 + t/helper/test-online-cpus.c | 9 + t/helper/test-pack-mtimes.c | 56 + t/helper/test-parse-options.c | 322 ++ t/helper/test-parse-pathspec-file.c | 33 + t/helper/test-partial-clone.c | 43 + t/helper/test-path-utils.c | 501 ++ t/helper/test-pcre2-config.c | 12 + t/helper/test-pkt-line.c | 137 + t/helper/test-prio-queue.c | 52 + t/helper/test-proc-receive.c | 202 + t/helper/test-progress.c | 98 + t/helper/test-reach.c | 170 + t/helper/test-read-cache.c | 40 + t/helper/test-read-graph.c | 64 + t/helper/test-read-midx.c | 113 + t/helper/test-ref-store.c | 344 ++ t/helper/test-reftable.c | 22 + t/helper/test-regex.c | 117 + t/helper/test-repository.c | 100 + t/helper/test-revision-walking.c | 70 + t/helper/test-rot13-filter.c | 382 ++ t/helper/test-run-command.c | 465 ++ t/helper/test-scrap-cache-tree.c | 21 + t/helper/test-serve-v2.c | 35 + t/helper/test-sha1.c | 15 + t/helper/test-sha1.sh | 83 + t/helper/test-sha256.c | 7 + t/helper/test-sigchain.c | 24 + t/helper/test-simple-ipc.c | 686 +++ t/helper/test-strcmp-offset.c | 23 + t/helper/test-string-list.c | 129 + t/helper/test-submodule-config.c | 66 + t/helper/test-submodule-nested-repo-config.c | 30 + t/helper/test-submodule.c | 224 + t/helper/test-subprocess.c | 20 + t/helper/test-tool-utils.h | 9 + t/helper/test-tool.c | 141 + t/helper/test-tool.h | 92 + t/helper/test-trace2.c | 497 ++ t/helper/test-urlmatch-normalization.c | 56 + t/helper/test-userdiff.c | 46 + t/helper/test-wildmatch.c | 24 + t/helper/test-windows-named-pipe.c | 72 + t/helper/test-write-cache.c | 22 + t/helper/test-xml-encode.c | 80 + t/interop/.gitignore | 4 + t/interop/Makefile | 19 + t/interop/README | 85 + t/interop/i0000-basic.sh | 27 + t/interop/i5500-git-daemon.sh | 40 + t/interop/i5700-protocol-transition.sh | 68 + t/interop/interop-lib.sh | 92 + t/lib-bash.sh | 19 + t/lib-bitmap.sh | 451 ++ t/lib-bundle.sh | 42 + t/lib-commit-graph.sh | 58 + t/lib-credential.sh | 307 + t/lib-cvs.sh | 78 + t/lib-diff-alternative.sh | 170 + t/lib-diff-data.sh | 22 + t/lib-diff.sh | 41 + t/lib-encoding.sh | 25 + t/lib-gettext.sh | 63 + t/lib-git-daemon.sh | 120 + t/lib-git-p4.sh | 225 + t/lib-git-svn.sh | 149 + t/lib-gitweb.sh | 123 + t/lib-gpg.sh | 177 + t/lib-gpg/gpgsm-gen-key.in | 8 + t/lib-gpg/gpgsm_cert.p12 | Bin 0 -> 2652 bytes t/lib-gpg/keyring.gpg | 192 + t/lib-gpg/ownertrust | 4 + t/lib-httpd.sh | 317 ++ t/lib-httpd/apache.conf | 288 + t/lib-httpd/apply-one-time-perl.sh | 27 + t/lib-httpd/broken-smart-http.sh | 10 + t/lib-httpd/error-no-report.sh | 6 + t/lib-httpd/error-smart-http.sh | 3 + t/lib-httpd/error.sh | 31 + t/lib-httpd/incomplete-body-upload-pack-v2-http.sh | 3 + .../incomplete-length-upload-pack-v2-http.sh | 3 + t/lib-httpd/passwd | 1 + t/lib-httpd/ssl.cnf | 8 + t/lib-log-graph.sh | 28 + t/lib-merge.sh | 13 + t/lib-midx.sh | 8 + t/lib-pack.sh | 140 + t/lib-pager.sh | 15 + t/lib-parallel-checkout.sh | 49 + t/lib-patch-mode.sh | 50 + t/lib-perl.sh | 19 + t/lib-proto-disable.sh | 220 + t/lib-read-tree-m-3way.sh | 158 + t/lib-read-tree.sh | 41 + t/lib-rebase.sh | 224 + t/lib-submodule-update.sh | 1101 ++++ t/lib-subtest.sh | 95 + t/lib-sudo.sh | 15 + t/lib-t3100.sh | 10 + t/lib-t6000.sh | 136 + t/lib-terminal.sh | 36 + t/lib-unicode-nfc-nfd.sh | 162 + t/lib-unique-files.sh | 34 + t/oid-info/README | 19 + t/oid-info/hash-info | 17 + t/oid-info/oid | 31 + t/perf/.gitignore | 4 + t/perf/Makefile | 21 + t/perf/README | 210 + t/perf/aggregate.perl | 357 ++ t/perf/bisect_regression | 73 + t/perf/bisect_run_script | 53 + t/perf/config | 2 + t/perf/lib-bitmap.sh | 100 + t/perf/lib-pack.sh | 25 + t/perf/min_time.perl | 21 + t/perf/p0000-perf-lib-sanity.sh | 57 + t/perf/p0001-rev-list.sh | 48 + t/perf/p0002-read-cache.sh | 14 + t/perf/p0003-delta-base-cache.sh | 31 + t/perf/p0004-lazy-init-name-hash.sh | 56 + t/perf/p0005-status.sh | 49 + t/perf/p0006-read-tree-checkout.sh | 75 + t/perf/p0007-write-cache.sh | 29 + t/perf/p0008-odb-fsync.sh | 82 + t/perf/p0071-sort.sh | 52 + t/perf/p0090-cache-tree.sh | 36 + t/perf/p0100-globbing.sh | 43 + t/perf/p1006-cat-file.sh | 12 + t/perf/p1400-update-ref.sh | 33 + t/perf/p1450-fsck.sh | 13 + t/perf/p1451-fsck-skip-list.sh | 40 + t/perf/p2000-sparse-operations.sh | 129 + t/perf/p3400-rebase.sh | 56 + t/perf/p3404-rebase-interactive.sh | 36 + t/perf/p4000-diff-algorithms.sh | 29 + t/perf/p4001-diff-no-index.sh | 22 + t/perf/p4002-diff-color-moved.sh | 57 + t/perf/p4205-log-pretty-formats.sh | 16 + t/perf/p4209-pickaxe.sh | 70 + t/perf/p4211-line-log.sh | 42 + t/perf/p4220-log-grep-engines.sh | 54 + t/perf/p4221-log-grep-engines-fixed.sh | 45 + t/perf/p5302-pack-index.sh | 50 + t/perf/p5303-many-packs.sh | 144 + t/perf/p5304-prune.sh | 35 + t/perf/p5310-pack-bitmaps.sh | 40 + t/perf/p5311-pack-bitmaps-fetch.sh | 54 + t/perf/p5312-pack-bitmaps-revs.sh | 35 + t/perf/p5326-multi-pack-bitmaps.sh | 67 + t/perf/p5550-fetch-tags.sh | 78 + t/perf/p5551-fetch-rescan.sh | 55 + t/perf/p5600-partial-clone.sh | 42 + t/perf/p5601-clone-reference.sh | 27 + t/perf/p7000-filter-branch.sh | 24 + t/perf/p7102-reset.sh | 21 + t/perf/p7300-clean.sh | 35 + t/perf/p7519-fsmonitor.sh | 314 ++ t/perf/p7527-builtin-fsmonitor.sh | 257 + t/perf/p7810-grep.sh | 23 + t/perf/p7820-grep-engines.sh | 90 + t/perf/p7821-grep-engines-fixed.sh | 74 + t/perf/p9210-scalar.sh | 39 + t/perf/p9300-fast-import-export.sh | 23 + t/perf/perf-lib.sh | 334 ++ t/perf/repos/.gitignore | 1 + t/perf/repos/inflate-repo.sh | 85 + t/perf/repos/many-files.sh | 110 + t/perf/run | 257 + t/t0000-basic.sh | 1221 ++++ t/t0001-init.sh | 606 ++ t/t0002-gitfile.sh | 137 + t/t0003-attributes.sh | 438 ++ t/t0004-unwritable.sh | 84 + t/t0005-signals.sh | 55 + t/t0006-date.sh | 161 + t/t0007-git-var.sh | 71 + t/t0008-ignores.sh | 948 ++++ t/t0009-prio-queue.sh | 66 + t/t0010-racy-git.sh | 34 + t/t0011-hashmap.sh | 260 + t/t0012-help.sh | 264 + t/t0013-sha1dc.sh | 23 + t/t0013/shattered-1.pdf | Bin 0 -> 422435 bytes t/t0014-alias.sh | 47 + t/t0015-hash.sh | 56 + t/t0016-oidmap.sh | 112 + t/t0017-env-helper.sh | 100 + t/t0018-advice.sh | 33 + t/t0019-json-writer.sh | 333 ++ t/t0019/parse_json.perl | 55 + t/t0020-crlf.sh | 401 ++ t/t0021-conversion.sh | 1154 ++++ t/t0022-crlf-rename.sh | 34 + t/t0023-crlf-am.sh | 44 + t/t0024-crlf-archive.sh | 39 + t/t0025-crlf-renormalize.sh | 40 + t/t0026-eol-config.sh | 104 + t/t0027-auto-crlf.sh | 622 +++ t/t0028-working-tree-encoding.sh | 305 + t/t0029-core-unsetenvvars.sh | 30 + t/t0030-stripspace.sh | 473 ++ t/t0032-reftable-unittest.sh | 16 + t/t0033-safe-directory.sh | 83 + t/t0034-root-safe-directory.sh | 93 + t/t0035-safe-bare-repository.sh | 63 + t/t0040-parse-options.sh | 724 +++ t/t0041-usage.sh | 110 + t/t0050-filesystem.sh | 159 + t/t0051-windows-named-pipe.sh | 22 + t/t0052-simple-ipc.sh | 123 + t/t0055-beyond-symlinks.sh | 26 + t/t0056-git-C.sh | 95 + t/t0060-path-utils.sh | 563 ++ t/t0061-run-command.sh | 272 + t/t0062-revision-walking.sh | 34 + t/t0063-string-list.sh | 92 + t/t0064-oid-array.sh | 104 + t/t0065-strcmp-offset.sh | 22 + t/t0066-dir-iterator.sh | 174 + t/t0067-parse_pathspec_file.sh | 109 + t/t0068-for-each-repo.sh | 42 + t/t0069-oidtree.sh | 50 + t/t0070-fundamental.sh | 55 + t/t0071-sort.sh | 12 + t/t0090-cache-tree.sh | 282 + t/t0091-bugreport.sh | 129 + t/t0092-diagnose.sh | 72 + t/t0095-bloom.sh | 119 + t/t0100-previous.sh | 72 + t/t0101-at-syntax.sh | 47 + t/t0110-urlmatch-normalization.sh | 182 + t/t0110/README | 9 + t/t0110/url-1 | 1 + t/t0110/url-10 | 1 + t/t0110/url-11 | 1 + t/t0110/url-2 | 1 + t/t0110/url-3 | 1 + t/t0110/url-4 | 1 + t/t0110/url-5 | 1 + t/t0110/url-6 | 1 + t/t0110/url-7 | 1 + t/t0110/url-8 | 1 + t/t0110/url-9 | 1 + t/t0200-gettext-basic.sh | 109 + t/t0200/test.c | 23 + t/t0200/test.perl | 14 + t/t0200/test.sh | 14 + t/t0201-gettext-fallbacks.sh | 68 + t/t0202-gettext-perl.sh | 18 + t/t0202/test.pl | 122 + t/t0203-gettext-setlocale-sanity.sh | 27 + t/t0204-gettext-reencode-sanity.sh | 88 + t/t0210-trace2-normal.sh | 286 + t/t0210/scrub_normal.perl | 54 + t/t0211-trace2-perf.sh | 271 + t/t0211/scrub_perf.perl | 91 + t/t0212-trace2-event.sh | 326 ++ t/t0212/parse_events.perl | 261 + t/t0300-credentials.sh | 721 +++ t/t0301-credential-cache.sh | 127 + t/t0302-credential-store.sh | 212 + t/t0303-credential-external.sh | 60 + t/t0410-partial-clone.sh | 707 +++ t/t0450-txt-doc-vs-help.sh | 172 + t/t0450/txt-help-mismatches | 58 + t/t0500-progress-display.sh | 378 ++ t/t1000-read-tree-m-3way.sh | 513 ++ t/t1001-read-tree-m-2way.sh | 420 ++ t/t1002-read-tree-m-u-2way.sh | 351 ++ t/t1003-read-tree-prefix.sh | 38 + t/t1004-read-tree-m-u-wf.sh | 242 + t/t1005-read-tree-reset.sh | 107 + t/t1006-cat-file.sh | 1138 ++++ t/t1007-hash-object.sh | 252 + t/t1008-read-tree-overlay.sh | 36 + t/t1009-read-tree-new-index.sh | 29 + t/t1010-mktree.sh | 70 + t/t1011-read-tree-sparse-checkout.sh | 306 + t/t1012-read-tree-df.sh | 104 + t/t1013-read-tree-submodule.sh | 18 + t/t1014-read-tree-confusing.sh | 65 + t/t1015-read-index-unmerged.sh | 123 + t/t1020-subdirectory.sh | 196 + t/t1021-rerere-in-workdir.sh | 58 + t/t1022-read-tree-partial-clone.sh | 30 + t/t1050-large.sh | 215 + t/t1051-large-conversion.sh | 114 + t/t1060-object-corruption.sh | 149 + t/t1090-sparse-checkout-scope.sh | 109 + t/t1091-sparse-checkout-builtin.sh | 876 +++ t/t1092-sparse-checkout-compatibility.sh | 2058 +++++++ t/t1100-commit-tree-options.sh | 64 + t/t1300-config.sh | 2525 +++++++++ t/t1301-shared-repo.sh | 216 + t/t1302-repo-version.sh | 117 + t/t1303-wacky-config.sh | 136 + t/t1304-default-acl.sh | 65 + t/t1305-config-include.sh | 360 ++ t/t1306-xdg-files.sh | 195 + t/t1307-config-blob.sh | 80 + t/t1308-config-set.sh | 285 + t/t1309-early-config.sh | 103 + t/t1310-config-default.sh | 37 + t/t1350-config-hooks-path.sh | 44 + t/t1400-update-ref.sh | 1644 ++++++ t/t1401-symbolic-ref.sh | 192 + t/t1402-check-ref-format.sh | 219 + t/t1403-show-ref.sh | 199 + t/t1404-update-ref-errors.sh | 635 +++ t/t1405-main-ref-store.sh | 140 + t/t1406-submodule-ref-store.sh | 99 + t/t1407-worktree-ref-store.sh | 93 + t/t1408-packed-refs.sh | 45 + t/t1409-avoid-packing-refs.sh | 118 + t/t1410-reflog.sh | 457 ++ t/t1411-reflog-show.sh | 173 + t/t1412-reflog-loop.sh | 33 + t/t1413-reflog-detach.sh | 72 + t/t1414-reflog-walk.sh | 139 + t/t1415-worktree-refs.sh | 116 + t/t1416-ref-transaction-hooks.sh | 136 + t/t1417-reflog-updateref.sh | 65 + t/t1418-reflog-exists.sh | 38 + t/t1420-lost-found.sh | 37 + t/t1430-bad-ref-name.sh | 384 ++ t/t1450-fsck.sh | 1026 ++++ t/t1500-rev-parse.sh | 267 + t/t1501-work-tree.sh | 446 ++ t/t1502-rev-parse-parseopt.sh | 346 ++ t/t1503-rev-parse-verify.sh | 165 + t/t1504-ceiling-dirs.sh | 183 + t/t1505-rev-parse-last.sh | 65 + t/t1506-rev-parse-diagnosis.sh | 286 + t/t1507-rev-parse-upstream.sh | 272 + t/t1508-at-combinations.sh | 118 + t/t1509-root-work-tree.sh | 258 + t/t1509/excludes | 14 + t/t1509/prepare-chroot.sh | 58 + t/t1510-repo-setup.sh | 806 +++ t/t1511-rev-parse-caret.sh | 134 + t/t1512-rev-parse-disambiguation.sh | 479 ++ t/t1513-rev-parse-prefix.sh | 100 + t/t1514-rev-parse-push.sh | 76 + t/t1515-rev-parse-outside-repo.sh | 47 + t/t1600-index.sh | 106 + t/t1601-index-bogus.sh | 22 + t/t1700-split-index.sh | 547 ++ t/t1701-racy-split-index.sh | 215 + t/t1800-hook.sh | 180 + t/t2000-conflict-when-checking-files-out.sh | 136 + t/t2002-checkout-cache-u.sh | 34 + t/t2003-checkout-cache-mkdir.sh | 120 + t/t2004-checkout-cache-temp.sh | 230 + t/t2005-checkout-index-symlinks.sh | 29 + t/t2006-checkout-index-basic.sh | 104 + t/t2007-checkout-symlink.sh | 56 + t/t2008-checkout-subdir.sh | 83 + t/t2009-checkout-statinfo.sh | 56 + t/t2010-checkout-ambiguous.sh | 69 + t/t2011-checkout-invalid-head.sh | 65 + t/t2012-checkout-last.sh | 169 + t/t2013-checkout-submodule.sh | 75 + t/t2014-checkout-switch.sh | 30 + t/t2015-checkout-unborn.sh | 64 + t/t2016-checkout-patch.sh | 133 + t/t2017-checkout-orphan.sh | 138 + t/t2018-checkout-branch.sh | 288 + t/t2019-checkout-ambiguous-ref.sh | 61 + t/t2020-checkout-detach.sh | 336 ++ t/t2021-checkout-overwrite.sh | 69 + t/t2022-checkout-paths.sh | 96 + t/t2023-checkout-m.sh | 77 + t/t2024-checkout-dwim.sh | 347 ++ t/t2025-checkout-no-overlay.sh | 59 + t/t2026-checkout-pathspec-file.sh | 164 + t/t2027-checkout-track.sh | 50 + t/t2030-unresolve-info.sh | 268 + t/t2050-git-dir-relative.sh | 56 + t/t2060-switch.sh | 149 + t/t2070-restore.sh | 140 + t/t2071-restore-patch.sh | 118 + t/t2072-restore-pathspec-file.sh | 177 + t/t2080-parallel-checkout-basics.sh | 277 + t/t2081-parallel-checkout-collisions.sh | 163 + t/t2082-parallel-checkout-attributes.sh | 191 + t/t2100-update-cache-badpath.sh | 62 + t/t2101-update-index-reupdate.sh | 92 + t/t2102-update-index-symlinks.sh | 32 + t/t2103-update-index-ignore-missing.sh | 90 + t/t2104-update-index-skip-worktree.sh | 67 + t/t2105-update-index-gitfile.sh | 39 + t/t2106-update-index-assume-unchanged.sh | 28 + t/t2107-update-index-basic.sh | 114 + t/t2108-update-index-refresh-racy.sh | 64 + t/t2200-add-update.sh | 200 + t/t2201-add-update-typechange.sh | 149 + t/t2202-add-addremove.sh | 55 + t/t2203-add-intent.sh | 315 ++ t/t2204-add-ignored.sh | 93 + t/t2205-add-worktree-config.sh | 266 + t/t2300-cd-to-toplevel.sh | 47 + t/t2400-worktree-add.sh | 697 +++ t/t2401-worktree-prune.sh | 122 + t/t2402-worktree-list.sh | 288 + t/t2403-worktree-move.sh | 250 + t/t2404-worktree-config.sh | 82 + t/t2405-worktree-submodule.sh | 94 + t/t2406-worktree-repair.sh | 199 + t/t2407-worktree-heads.sh | 180 + t/t2500-untracked-overwriting.sh | 244 + t/t2501-cwd-empty.sh | 277 + t/t3000-ls-files-others.sh | 233 + t/t3001-ls-files-others-exclude.sh | 307 + t/t3002-ls-files-dashpath.sh | 77 + t/t3003-ls-files-exclude.sh | 42 + t/t3004-ls-files-basic.sh | 55 + t/t3005-ls-files-relative.sh | 63 + t/t3006-ls-files-long.sh | 41 + t/t3007-ls-files-recurse-submodules.sh | 315 ++ t/t3008-ls-files-lazy-init-name-hash.sh | 28 + t/t3009-ls-files-others-nonsubmodule.sh | 50 + t/t3010-ls-files-killed-modified.sh | 126 + t/t3011-common-prefixes-and-directory-traversal.sh | 209 + t/t3012-ls-files-dedup.sh | 67 + t/t3013-ls-files-format.sh | 95 + t/t3020-ls-files-error-unmatch.sh | 30 + t/t3040-subprojects-basic.sh | 84 + t/t3050-subprojects-fetch.sh | 52 + t/t3060-ls-files-with-tree.sh | 104 + t/t3070-wildmatch.sh | 434 ++ t/t3100-ls-tree-restrict.sh | 167 + t/t3101-ls-tree-dirname.sh | 234 + t/t3102-ls-tree-wildcards.sh | 37 + t/t3103-ls-tree-misc.sh | 41 + t/t3104-ls-tree-format.sh | 75 + t/t3105-ls-tree-output.sh | 192 + t/t3200-branch.sh | 1614 ++++++ t/t3201-branch-contains.sh | 267 + t/t3202-show-branch.sh | 224 + t/t3203-branch-output.sh | 405 ++ t/t3204-branch-name-interpretation.sh | 160 + t/t3205-branch-color.sh | 45 + t/t3206-range-diff.sh | 837 +++ t/t3206/history.export | 709 +++ t/t3207-branch-submodule.sh | 329 ++ t/t3210-pack-refs.sh | 259 + t/t3211-peel-ref.sh | 77 + t/t3300-funny-names.sh | 218 + t/t3301-notes.sh | 1390 +++++ t/t3302-notes-index-expensive.sh | 139 + t/t3303-notes-subtrees.sh | 199 + t/t3304-notes-mixed.sh | 210 + t/t3305-notes-fanout.sh | 141 + t/t3306-notes-prune.sh | 138 + t/t3307-notes-man.sh | 39 + t/t3308-notes-merge.sh | 394 ++ t/t3309-notes-merge-auto-resolve.sh | 786 +++ t/t3310-notes-merge-manual-resolve.sh | 617 +++ t/t3311-notes-merge-fanout.sh | 446 ++ t/t3320-notes-merge-worktrees.sh | 78 + t/t3400-rebase.sh | 444 ++ t/t3401-rebase-and-am-rename.sh | 213 + t/t3402-rebase-merge.sh | 245 + t/t3403-rebase-skip.sh | 202 + t/t3404-rebase-interactive.sh | 2131 +++++++ t/t3405-rebase-malformed.sh | 93 + t/t3406-rebase-message.sh | 258 + t/t3407-rebase-abort.sh | 116 + t/t3408-rebase-multi-line.sh | 59 + t/t3409-rebase-environ.sh | 23 + t/t3412-rebase-root.sh | 241 + t/t3413-rebase-hook.sh | 139 + t/t3415-rebase-autosquash.sh | 469 ++ t/t3416-rebase-onto-threedots.sh | 228 + t/t3417-rebase-whitespace-fix.sh | 124 + t/t3418-rebase-continue.sh | 337 ++ t/t3419-rebase-patch-id.sh | 117 + t/t3420-rebase-autostash.sh | 336 ++ t/t3421-rebase-topology-linear.sh | 359 ++ t/t3422-rebase-incompatible-options.sh | 68 + t/t3423-rebase-reword.sh | 48 + t/t3424-rebase-empty.sh | 170 + t/t3425-rebase-topology-merges.sh | 109 + t/t3426-rebase-submodule.sh | 64 + t/t3427-rebase-subtree.sh | 93 + t/t3428-rebase-signoff.sh | 84 + t/t3429-rebase-edit-todo.sh | 90 + t/t3430-rebase-merges.sh | 537 ++ t/t3431-rebase-fork-point.sh | 115 + t/t3432-rebase-fast-forward.sh | 141 + t/t3433-rebase-across-mode-change.sh | 48 + t/t3434-rebase-i18n.sh | 87 + t/t3434/ISO8859-1.txt | 3 + t/t3434/eucJP.txt | 4 + t/t3435-rebase-gpg-sign.sh | 123 + t/t3436-rebase-more-options.sh | 209 + t/t3437-rebase-fixup-options.sh | 211 + t/t3437/expected-combined-message | 21 + t/t3437/expected-squash-message | 51 + t/t3438-rebase-broken-files.sh | 59 + t/t3500-cherry.sh | 84 + t/t3501-revert-cherry-pick.sh | 213 + t/t3502-cherry-pick-merge.sh | 135 + t/t3503-cherry-pick-root.sh | 81 + t/t3504-cherry-pick-rerere.sh | 106 + t/t3505-cherry-pick-empty.sh | 102 + t/t3506-cherry-pick-ff.sh | 123 + t/t3507-cherry-pick-conflict.sh | 588 ++ t/t3508-cherry-pick-many-commits.sh | 199 + t/t3509-cherry-pick-merge-df.sh | 104 + t/t3510-cherry-pick-sequence.sh | 692 +++ t/t3511-cherry-pick-x.sh | 321 ++ t/t3512-cherry-pick-submodule.sh | 56 + t/t3513-revert-submodule.sh | 39 + t/t3514-cherry-pick-revert-gpg.sh | 86 + t/t3600-rm.sh | 908 +++ t/t3601-rm-pathspec-file.sh | 80 + t/t3602-rm-sparse-checkout.sh | 139 + t/t3700-add.sh | 501 ++ t/t3701-add-interactive.sh | 1071 ++++ t/t3702-add-edit.sh | 129 + t/t3703-add-magic-pathspec.sh | 59 + t/t3704-add-pathspec-file.sh | 160 + t/t3705-add-sparse-checkout.sh | 236 + t/t3800-mktag.sh | 586 ++ t/t3900-i18n-commit.sh | 240 + t/t3900/1-UTF-8.txt | 3 + t/t3900/2-UTF-8.txt | 4 + t/t3900/ISO-2022-JP.txt | 4 + t/t3900/ISO8859-1.txt | 3 + t/t3900/UTF-16.txt | Bin 0 -> 146 bytes t/t3900/eucJP.txt | 4 + t/t3901-i18n-patch.sh | 319 ++ t/t3901/8859-1.txt | 4 + t/t3901/utf8.txt | 4 + t/t3902-quoted.sh | 153 + t/t3903-stash.sh | 1515 +++++ t/t3904-stash-patch.sh | 115 + t/t3905-stash-include-untracked.sh | 431 ++ t/t3906-stash-submodule.sh | 69 + t/t3907-stash-show-config.sh | 83 + t/t3908-stash-in-worktree.sh | 28 + t/t3909-stash-pathspec-file.sh | 100 + t/t3910-mac-os-precompose.sh | 223 + t/t3920-crlf-messages.sh | 128 + t/t4000-diff-format.sh | 94 + t/t4001-diff-rename.sh | 289 + t/t4002-diff-basic.sh | 415 ++ t/t4003-diff-rename-1.sh | 130 + t/t4004-diff-rename-symlink.sh | 71 + t/t4005-diff-rename-2.sh | 79 + t/t4006-diff-mode.sh | 68 + t/t4007-rename-3.sh | 92 + t/t4008-diff-break-rewrite.sh | 159 + t/t4009-diff-rename-4.sh | 100 + t/t4010-diff-pathspec.sh | 154 + t/t4011-diff-symlink.sh | 177 + t/t4012-diff-binary.sh | 134 + t/t4013-diff-various.sh | 619 +++ ...ff.config_format.subjectprefix_DIFFERENT_PREFIX | 2 + ...ff-tree_--cc_--patch-with-stat_--summary_master | 34 + ...diff-tree_--cc_--patch-with-stat_--summary_side | 39 + .../diff.diff-tree_--cc_--patch-with-stat_master | 34 + t/t4013/diff.diff-tree_--cc_--shortstat_master | 4 + .../diff.diff-tree_--cc_--stat_--summary_master | 6 + t/t4013/diff.diff-tree_--cc_--stat_--summary_side | 8 + t/t4013/diff.diff-tree_--cc_--stat_master | 6 + t/t4013/diff.diff-tree_--cc_--summary_REVERSE | 6 + t/t4013/diff.diff-tree_--cc_master | 30 + t/t4013/diff.diff-tree_--format=%N_note | 6 + t/t4013/diff.diff-tree_--patch-with-raw_initial | 2 + t/t4013/diff.diff-tree_--patch-with-stat_initial | 2 + ...-tree_--pretty=oneline_--patch-with-raw_initial | 2 + ...tree_--pretty=oneline_--patch-with-stat_initial | 2 + ...-pretty=oneline_--root_--patch-with-raw_initial | 33 + ...pretty=oneline_--root_--patch-with-stat_initial | 34 + ...ff.diff-tree_--pretty=oneline_--root_-p_initial | 29 + .../diff.diff-tree_--pretty=oneline_--root_initial | 6 + t/t4013/diff.diff-tree_--pretty=oneline_-p_initial | 2 + t/t4013/diff.diff-tree_--pretty=oneline_initial | 2 + t/t4013/diff.diff-tree_--pretty_--notes_note | 12 + ...iff.diff-tree_--pretty_--patch-with-raw_initial | 2 + ...ff.diff-tree_--pretty_--patch-with-stat_initial | 2 + .../diff.diff-tree_--pretty_--patch-with-stat_side | 43 + ...f-tree_--pretty_--root_--patch-with-raw_initial | 38 + ...-tree_--pretty_--root_--patch-with-stat_initial | 39 + ...-pretty_--root_--stat_--compact-summary_initial | 12 + ...f-tree_--pretty_--root_--stat_--summary_initial | 15 + .../diff.diff-tree_--pretty_--root_--stat_initial | 12 + ....diff-tree_--pretty_--root_--summary_-r_initial | 11 + ...iff.diff-tree_--pretty_--root_--summary_initial | 11 + t/t4013/diff.diff-tree_--pretty_--root_-p_initial | 34 + t/t4013/diff.diff-tree_--pretty_--root_initial | 11 + ...iff.diff-tree_--pretty_--stat_--summary_initial | 2 + t/t4013/diff.diff-tree_--pretty_--stat_initial | 2 + t/t4013/diff.diff-tree_--pretty_--summary_initial | 2 + ...etty_-R_--root_--stat_--compact-summary_initial | 12 + t/t4013/diff.diff-tree_--pretty_-p_initial | 2 + t/t4013/diff.diff-tree_--pretty_-p_side | 38 + t/t4013/diff.diff-tree_--pretty_initial | 2 + t/t4013/diff.diff-tree_--pretty_note | 9 + t/t4013/diff.diff-tree_--pretty_side | 11 + t/t4013/diff.diff-tree_--root_--abbrev_initial | 6 + .../diff.diff-tree_--root_--patch-with-raw_initial | 33 + ...diff.diff-tree_--root_--patch-with-stat_initial | 34 + .../diff.diff-tree_--root_-p_--abbrev=10_initial | 29 + ...tree_--root_-p_--full-index_--abbrev=10_initial | 29 + .../diff.diff-tree_--root_-p_--full-index_initial | 29 + t/t4013/diff.diff-tree_--root_-p_initial | 29 + .../diff.diff-tree_--root_-r_--abbrev=4_initial | 6 + t/t4013/diff.diff-tree_--root_-r_--abbrev_initial | 6 + t/t4013/diff.diff-tree_--root_-r_initial | 6 + t/t4013/diff.diff-tree_--root_initial | 6 + ...diff-tree_--stat_--compact-summary_initial_mode | 4 + t/t4013/diff.diff-tree_--stat_initial_mode | 4 + t/t4013/diff.diff-tree_--summary_initial_mode | 3 + ...f-tree_-R_--stat_--compact-summary_initial_mode | 4 + t/t4013/diff.diff-tree_-c_--abbrev_master | 5 + t/t4013/diff.diff-tree_-c_--stat_--summary_master | 6 + t/t4013/diff.diff-tree_-c_--stat_--summary_side | 8 + t/t4013/diff.diff-tree_-c_--stat_master | 6 + t/t4013/diff.diff-tree_-c_master | 5 + t/t4013/diff.diff-tree_-m_master | 11 + t/t4013/diff.diff-tree_-p_-m_master | 80 + t/t4013/diff.diff-tree_-p_initial | 2 + t/t4013/diff.diff-tree_-p_master | 2 + t/t4013/diff.diff-tree_-r_--abbrev=4_initial | 2 + t/t4013/diff.diff-tree_-r_--abbrev_initial | 2 + t/t4013/diff.diff-tree_-r_initial | 2 + t/t4013/diff.diff-tree_initial | 2 + t/t4013/diff.diff-tree_initial_mode | 3 + t/t4013/diff.diff-tree_master | 2 + t/t4013/diff.diff_--abbrev_initial..side | 32 + t/t4013/diff.diff_--cached | 38 + t/t4013/diff.diff_--cached_--_file0 | 15 + .../diff.diff_--dirstat-by-file_initial_rearrange | 3 + t/t4013/diff.diff_--dirstat_--cc_master~1_master | 3 + t/t4013/diff.diff_--dirstat_initial_rearrange | 3 + t/t4013/diff.diff_--dirstat_master~1_master~2 | 3 + ...diff.diff_--line-prefix=abc_master_master^_side | 29 + t/t4013/diff.diff_--line-prefix_--cached_--_file0 | 15 + t/t4013/diff.diff_--name-status_dir2_dir | 2 + .../diff.diff_--no-index_--name-status_--_dir2_dir | 3 + .../diff.diff_--no-index_--name-status_dir2_dir | 3 + .../diff.diff_--no-index_--raw_--abbrev=4_dir2_dir | 3 + ...diff.diff_--no-index_--raw_--no-abbrev_dir2_dir | 3 + t/t4013/diff.diff_--no-index_--raw_dir2_dir | 3 + t/t4013/diff.diff_--no-index_dir_dir3 | 2 + .../diff.diff_--patch-with-raw_-r_initial..side | 36 + t/t4013/diff.diff_--patch-with-raw_initial..side | 36 + .../diff.diff_--patch-with-stat_-r_initial..side | 37 + t/t4013/diff.diff_--patch-with-stat_initial..side | 37 + t/t4013/diff.diff_--raw_--abbrev=4_initial | 6 + t/t4013/diff.diff_--raw_--no-abbrev_initial | 6 + t/t4013/diff.diff_--raw_initial | 6 + t/t4013/diff.diff_--stat_initial..side | 6 + t/t4013/diff.diff_-U1_initial..side | 29 + t/t4013/diff.diff_-U2_initial..side | 31 + t/t4013/diff.diff_-U_initial..side | 32 + t/t4013/diff.diff_-r_--stat_initial..side | 6 + t/t4013/diff.diff_-r_initial..side | 32 + t/t4013/diff.diff_initial..side | 32 + t/t4013/diff.diff_master_master^_side | 29 + ..._--attach_--stdout_--suffix=.diff_initial..side | 61 + ....format-patch_--attach_--stdout_initial..master | 170 + ...format-patch_--attach_--stdout_initial..master^ | 110 + ...ff.format-patch_--attach_--stdout_initial..side | 61 + ...nline_--stdout_--numbered-files_initial..master | 170 + ...tdout_--subject-prefix=TESTCASE_initial..master | 170 + ....format-patch_--inline_--stdout_initial..master | 170 + ...format-patch_--inline_--stdout_initial..master^ | 110 + ...ormat-patch_--inline_--stdout_initial..master^^ | 62 + ...ff.format-patch_--inline_--stdout_initial..side | 61 + ...tch_--stdout_--cover-letter_-n_initial..master^ | 103 + ...at-patch_--stdout_--no-numbered_initial..master | 127 + ...ormat-patch_--stdout_--numbered_initial..master | 127 + t/t4013/diff.format-patch_--stdout_initial..master | 127 + .../diff.format-patch_--stdout_initial..master^ | 81 + t/t4013/diff.format-patch_--stdout_initial..side | 47 + t/t4013/diff.log_--cc_-m_-p_master | 200 + t/t4013/diff.log_--decorate=full_--all | 61 + ...f.log_--decorate=full_--clear-decorations_--all | 61 + .../diff.log_--decorate=full_--decorate-all_--all | 61 + t/t4013/diff.log_--decorate_--all | 61 + .../diff.log_--decorate_--clear-decorations_--all | 61 + t/t4013/diff.log_--decorate_--decorate-all_--all | 61 + t/t4013/diff.log_--diff-merges=first-parent_master | 56 + ....log_--diff-merges=off_-p_--first-parent_master | 78 + ....log_--first-parent_--diff-merges=off_-p_master | 78 + ...f.log_--no-diff-merges_-p_--first-parent_master | 78 + ....log_--patch-with-stat_--summary_master_--_dir_ | 74 + t/t4013/diff.log_--patch-with-stat_master | 129 + t/t4013/diff.log_--patch-with-stat_master_--_dir_ | 74 + ..._--root_--cc_--patch-with-stat_--summary_master | 199 + ...f.log_--root_--patch-with-stat_--summary_master | 167 + t/t4013/diff.log_--root_--patch-with-stat_master | 161 + ...og_--root_-c_--patch-with-stat_--summary_master | 199 + t/t4013/diff.log_--root_-p_master | 142 + t/t4013/diff.log_--root_master | 34 + t/t4013/diff.log_-GF_-p_--pickaxe-all_master | 27 + t/t4013/diff.log_-GF_-p_master | 18 + t/t4013/diff.log_-GF_master | 7 + t/t4013/diff.log_-IA_-IB_-I1_-I2_-p_master | 99 + t/t4013/diff.log_-SF_-p_master | 18 + t/t4013/diff.log_-SF_master | 7 + t/t4013/diff.log_-SF_master_--max-count=0 | 2 + t/t4013/diff.log_-SF_master_--max-count=1 | 7 + t/t4013/diff.log_-SF_master_--max-count=2 | 7 + t/t4013/diff.log_-S_F_master | 7 + t/t4013/diff.log_-c_-m_-p_master | 200 + t/t4013/diff.log_-m_--raw_master | 61 + t/t4013/diff.log_-m_--stat_master | 66 + t/t4013/diff.log_-m_-p_--first-parent_master | 100 + t/t4013/diff.log_-m_-p_master | 200 + .../diff.log_-p_--diff-merges=first-parent_master | 137 + t/t4013/diff.log_-p_--first-parent_master | 100 + t/t4013/diff.log_-p_master | 115 + t/t4013/diff.log_master | 34 + ...ff.noellipses-diff-tree_--root_--abbrev_initial | 6 + ...ellipses-diff-tree_--root_-r_--abbrev=4_initial | 6 + ...noellipses-diff-tree_--root_-r_--abbrev_initial | 6 + .../diff.noellipses-diff-tree_-c_--abbrev_master | 5 + ...ipses-diff_--no-index_--raw_--abbrev=4_dir2_dir | 3 + .../diff.noellipses-diff_--no-index_--raw_dir2_dir | 3 + ...ellipses-diff_--patch-with-raw_-r_initial..side | 36 + ....noellipses-diff_--patch-with-raw_initial..side | 36 + .../diff.noellipses-diff_--raw_--abbrev=4_initial | 6 + t/t4013/diff.noellipses-diff_--raw_initial | 6 + t/t4013/diff.noellipses-show_--patch-with-raw_side | 42 + t/t4013/diff.noellipses-whatchanged_--root_master | 42 + t/t4013/diff.noellipses-whatchanged_-SF_master | 9 + t/t4013/diff.noellipses-whatchanged_master | 32 + t/t4013/diff.rev-list_--children_HEAD | 7 + t/t4013/diff.rev-list_--parents_HEAD | 7 + t/t4013/diff.show_--first-parent_master | 30 + t/t4013/diff.show_--patch-with-raw_side | 42 + t/t4013/diff.show_--patch-with-stat_--summary_side | 44 + t/t4013/diff.show_--patch-with-stat_side | 43 + t/t4013/diff.show_--root_initial | 34 + t/t4013/diff.show_--stat_--summary_side | 13 + t/t4013/diff.show_--stat_side | 12 + t/t4013/diff.show_-c_master | 36 + t/t4013/diff.show_-m_master | 93 + t/t4013/diff.show_initial | 7 + t/t4013/diff.show_master | 36 + t/t4013/diff.show_side | 38 + ...nged_--patch-with-stat_--summary_master_--_dir_ | 61 + t/t4013/diff.whatchanged_--patch-with-stat_master | 116 + ...ff.whatchanged_--patch-with-stat_master_--_dir_ | 61 + ..._--root_--cc_--patch-with-stat_--summary_master | 199 + ...anged_--root_--patch-with-stat_--summary_master | 160 + ...iff.whatchanged_--root_--patch-with-stat_master | 154 + ...ed_--root_-c_--patch-with-stat_--summary_master | 199 + t/t4013/diff.whatchanged_--root_-p_master | 135 + t/t4013/diff.whatchanged_--root_master | 42 + t/t4013/diff.whatchanged_-SF_-p_master | 18 + t/t4013/diff.whatchanged_-SF_master | 9 + t/t4013/diff.whatchanged_-p_master | 102 + t/t4013/diff.whatchanged_master | 32 + t/t4014-format-patch.sh | 2369 ++++++++ t/t4015-diff-whitespace.sh | 2343 ++++++++ t/t4016-diff-quote.sh | 89 + t/t4017-diff-retval.sh | 141 + t/t4018-diff-funcname.sh | 103 + t/t4018/README | 15 + t/t4018/bash-arithmetic-function | 4 + t/t4018/bash-bashism-style-compact | 6 + t/t4018/bash-bashism-style-function | 4 + t/t4018/bash-bashism-style-whitespace | 4 + t/t4018/bash-conditional-function | 4 + t/t4018/bash-missing-parentheses | 6 + t/t4018/bash-mixed-style-compact | 4 + t/t4018/bash-mixed-style-function | 4 + t/t4018/bash-nested-functions | 6 + t/t4018/bash-other-characters | 4 + t/t4018/bash-posix-style-compact | 4 + t/t4018/bash-posix-style-function | 4 + t/t4018/bash-posix-style-whitespace | 4 + t/t4018/bash-subshell-function | 4 + t/t4018/bash-trailing-comment | 4 + t/t4018/cpp-c++-function | 4 + t/t4018/cpp-class-constructor | 4 + t/t4018/cpp-class-constructor-mem-init | 5 + t/t4018/cpp-class-definition | 4 + t/t4018/cpp-class-definition-derived | 5 + t/t4018/cpp-class-destructor | 4 + t/t4018/cpp-function-returning-global-type | 4 + t/t4018/cpp-function-returning-nested | 5 + t/t4018/cpp-function-returning-pointer | 4 + t/t4018/cpp-function-returning-reference | 4 + t/t4018/cpp-gnu-style-function | 5 + t/t4018/cpp-namespace-definition | 4 + t/t4018/cpp-operator-definition | 4 + t/t4018/cpp-skip-access-specifiers | 8 + t/t4018/cpp-skip-comment-block | 9 + t/t4018/cpp-skip-labels | 8 + t/t4018/cpp-struct-definition | 9 + t/t4018/cpp-struct-single-line | 7 + t/t4018/cpp-template-function-definition | 4 + t/t4018/cpp-union-definition | 4 + t/t4018/cpp-void-c-function | 4 + t/t4018/css-attribute-value-selector | 4 + t/t4018/css-block-level-@-statements | 10 + t/t4018/css-brace-in-col-1 | 5 + t/t4018/css-class-selector | 4 + t/t4018/css-colon-eol | 4 + t/t4018/css-colon-selector | 5 + t/t4018/css-common | 4 + t/t4018/css-id-selector | 4 + t/t4018/css-long-selector-list | 6 + t/t4018/css-prop-sans-indent | 5 + t/t4018/css-root-selector | 4 + t/t4018/css-short-selector-list | 4 + t/t4018/css-trailing-space | 5 + t/t4018/custom1-pattern | 17 + t/t4018/custom2-match-to-end-of-line | 8 + t/t4018/custom3-alternation-in-pattern | 17 + t/t4018/dts-labels | 9 + t/t4018/dts-node-unitless | 8 + t/t4018/dts-nodes | 8 + t/t4018/dts-nodes-boolean-prop | 9 + t/t4018/dts-nodes-comment1 | 8 + t/t4018/dts-nodes-comment2 | 8 + t/t4018/dts-nodes-multiline-prop | 13 + t/t4018/dts-reference | 9 + t/t4018/dts-root | 5 + t/t4018/dts-root-comment | 8 + t/t4018/elixir-do-not-pick-end | 5 + t/t4018/elixir-ex-unit-test | 6 + t/t4018/elixir-function | 5 + t/t4018/elixir-macro | 5 + t/t4018/elixir-module | 9 + t/t4018/elixir-module-func | 8 + t/t4018/elixir-nested-module | 9 + t/t4018/elixir-private-function | 5 + t/t4018/elixir-protocol | 6 + t/t4018/elixir-protocol-implementation | 5 + t/t4018/fortran-block-data | 5 + t/t4018/fortran-comment | 13 + t/t4018/fortran-comment-keyword | 14 + t/t4018/fortran-comment-legacy | 13 + t/t4018/fortran-comment-legacy-star | 13 + t/t4018/fortran-external-function | 9 + t/t4018/fortran-external-subroutine | 5 + t/t4018/fortran-module | 5 + t/t4018/fortran-module-procedure | 13 + t/t4018/fortran-program | 5 + t/t4018/fountain-scene | 4 + t/t4018/golang-complex-function | 8 + t/t4018/golang-func | 4 + t/t4018/golang-interface | 4 + t/t4018/golang-long-func | 5 + t/t4018/golang-struct | 4 + t/t4018/java-class-member-function | 12 + t/t4018/java-enum-constant | 6 + t/t4018/java-method-return-generic-bounded | 9 + t/t4018/java-method-return-generic-wildcard | 9 + t/t4018/java-nested-field | 6 + t/t4018/kotlin-class | 5 + t/t4018/kotlin-enum-class | 5 + t/t4018/kotlin-fun | 5 + t/t4018/kotlin-inheritace-class | 5 + t/t4018/kotlin-inline-class | 5 + t/t4018/kotlin-interface | 5 + t/t4018/kotlin-nested-fun | 9 + t/t4018/kotlin-public-class | 5 + t/t4018/kotlin-sealed-class | 5 + t/t4018/markdown-heading-indented | 6 + t/t4018/markdown-heading-non-headings | 17 + t/t4018/matlab-class-definition | 5 + t/t4018/matlab-function | 4 + t/t4018/matlab-octave-section-1 | 3 + t/t4018/matlab-octave-section-2 | 3 + t/t4018/matlab-section | 3 + t/t4018/perl-skip-end-of-heredoc | 8 + t/t4018/perl-skip-forward-decl | 10 + t/t4018/perl-skip-sub-in-pod | 18 + t/t4018/perl-sub-definition | 4 + t/t4018/perl-sub-definition-kr-brace | 4 + t/t4018/php-abstract-class | 4 + t/t4018/php-abstract-method | 7 + t/t4018/php-class | 4 + t/t4018/php-enum | 4 + t/t4018/php-final-class | 4 + t/t4018/php-final-method | 7 + t/t4018/php-function | 4 + t/t4018/php-interface | 4 + t/t4018/php-method | 7 + t/t4018/php-trait | 7 + t/t4018/python-async-def | 4 + t/t4018/python-class | 4 + t/t4018/python-def | 4 + t/t4018/python-indented-async-def | 7 + t/t4018/python-indented-class | 5 + t/t4018/python-indented-def | 7 + t/t4018/rust-fn | 5 + t/t4018/rust-impl | 5 + t/t4018/rust-macro-rules | 6 + t/t4018/rust-struct | 5 + t/t4018/rust-trait | 5 + t/t4018/scheme-class | 7 + t/t4018/scheme-def | 4 + t/t4018/scheme-def-variant | 4 + t/t4018/scheme-define-slash-public | 7 + t/t4018/scheme-define-syntax | 8 + t/t4018/scheme-define-variant | 4 + t/t4018/scheme-library | 11 + t/t4018/scheme-local-define | 4 + t/t4018/scheme-module | 6 + t/t4018/scheme-top-level-define | 4 + t/t4018/scheme-user-defined-define | 6 + t/t4019-diff-wserror.sh | 298 + t/t4020-diff-external.sh | 274 + t/t4020/diff.NUL | Bin 0 -> 116 bytes t/t4021-format-patch-numbered.sh | 142 + t/t4022-diff-rewrite.sh | 101 + t/t4023-diff-rename-typechange.sh | 88 + t/t4024-diff-optimize-common.sh | 158 + t/t4025-hunk-header.sh | 39 + t/t4026-color.sh | 159 + t/t4027-diff-submodule.sh | 292 + t/t4028-format-patch-mime-headers.sh | 32 + t/t4029-diff-trailing-space.sh | 44 + t/t4030-diff-textconv.sh | 173 + t/t4031-diff-rewrite-binary.sh | 80 + t/t4032-diff-inter-hunk-context.sh | 118 + t/t4033-diff-patience.sh | 21 + t/t4034-diff-words.sh | 412 ++ t/t4034/ada/expect | 27 + t/t4034/ada/post | 13 + t/t4034/ada/pre | 13 + t/t4034/bibtex/expect | 15 + t/t4034/bibtex/post | 10 + t/t4034/bibtex/pre | 9 + t/t4034/cpp/expect | 35 + t/t4034/cpp/post | 30 + t/t4034/cpp/pre | 30 + t/t4034/csharp/expect | 35 + t/t4034/csharp/post | 18 + t/t4034/csharp/pre | 18 + t/t4034/css/expect | 16 + t/t4034/css/post | 10 + t/t4034/css/pre | 10 + t/t4034/dts/expect | 37 + t/t4034/dts/post | 32 + t/t4034/dts/pre | 32 + t/t4034/fortran/expect | 10 + t/t4034/fortran/post | 5 + t/t4034/fortran/pre | 5 + t/t4034/html/expect | 8 + t/t4034/html/post | 3 + t/t4034/html/pre | 3 + t/t4034/java/expect | 36 + t/t4034/java/post | 19 + t/t4034/java/pre | 19 + t/t4034/kotlin/expect | 43 + t/t4034/kotlin/post | 30 + t/t4034/kotlin/pre | 30 + t/t4034/matlab/expect | 14 + t/t4034/matlab/post | 9 + t/t4034/matlab/pre | 9 + t/t4034/objc/expect | 35 + t/t4034/objc/post | 18 + t/t4034/objc/pre | 18 + t/t4034/pascal/expect | 35 + t/t4034/pascal/post | 18 + t/t4034/pascal/pre | 18 + t/t4034/perl/expect | 13 + t/t4034/perl/post | 22 + t/t4034/perl/pre | 22 + t/t4034/php/expect | 35 + t/t4034/php/post | 18 + t/t4034/php/pre | 18 + t/t4034/python/expect | 34 + t/t4034/python/post | 17 + t/t4034/python/pre | 17 + t/t4034/ruby/expect | 34 + t/t4034/ruby/post | 17 + t/t4034/ruby/pre | 17 + t/t4034/scheme/expect | 11 + t/t4034/scheme/post | 6 + t/t4034/scheme/pre | 6 + t/t4034/tex/expect | 9 + t/t4034/tex/post | 4 + t/t4034/tex/pre | 4 + t/t4035-diff-quiet.sh | 165 + t/t4036-format-patch-signer-mime.sh | 51 + t/t4037-diff-r-t-dirs.sh | 54 + t/t4038-diff-combined.sh | 546 ++ t/t4039-diff-assume-unchanged.sh | 43 + t/t4040-whitespace-status.sh | 77 + t/t4041-diff-submodule-option.sh | 551 ++ t/t4042-diff-textconv-caching.sh | 121 + t/t4043-diff-rename-binary.sh | 45 + t/t4044-diff-index-unique-abbrev.sh | 57 + t/t4045-diff-relative.sh | 218 + t/t4046-diff-unmerged.sh | 89 + t/t4047-diff-dirstat.sh | 991 ++++ t/t4048-diff-combined-binary.sh | 221 + t/t4049-diff-stat-count.sh | 70 + t/t4050-diff-histogram.sh | 13 + t/t4051-diff-function-context.sh | 213 + t/t4051/appended1.c | 15 + t/t4051/appended2.c | 35 + t/t4051/dummy.c | 7 + t/t4051/hello.c | 24 + t/t4051/includes.c | 20 + t/t4052-stat-output.sh | 373 ++ t/t4053-diff-no-index.sh | 207 + t/t4054-diff-bogus-tree.sh | 84 + t/t4055-diff-context.sh | 93 + t/t4056-diff-order.sh | 200 + t/t4057-diff-combined-paths.sh | 110 + t/t4058-diff-duplicates.sh | 189 + t/t4059-diff-submodule-not-initialized.sh | 127 + t/t4060-diff-submodule-option-diff-format.sh | 976 ++++ t/t4061-diff-indent.sh | 371 ++ t/t4062-diff-pickaxe.sh | 30 + t/t4063-diff-blobs.sh | 98 + t/t4064-diff-oidfind.sh | 123 + t/t4065-diff-anchored.sh | 94 + t/t4066-diff-emit-delay.sh | 83 + t/t4067-diff-partial-clone.sh | 183 + t/t4068-diff-symmetric-merge-base.sh | 196 + t/t4069-remerge-diff.sh | 320 ++ t/t4100-apply-stat.sh | 42 + t/t4100/t-apply-1.expect | 11 + t/t4100/t-apply-1.patch | 194 + t/t4100/t-apply-2.expect | 5 + t/t4100/t-apply-2.patch | 72 + t/t4100/t-apply-3.expect | 7 + t/t4100/t-apply-3.patch | 567 ++ t/t4100/t-apply-4.expect | 5 + t/t4100/t-apply-4.patch | 7 + t/t4100/t-apply-5.expect | 19 + t/t4100/t-apply-5.patch | 612 ++ t/t4100/t-apply-6.expect | 5 + t/t4100/t-apply-6.patch | 101 + t/t4100/t-apply-7.expect | 6 + t/t4100/t-apply-7.patch | 494 ++ t/t4100/t-apply-8.expect | 2 + t/t4100/t-apply-8.patch | 11 + t/t4100/t-apply-9.expect | 2 + t/t4100/t-apply-9.patch | 11 + t/t4101-apply-nonl.sh | 33 + t/t4101/diff.0-1 | 6 + t/t4101/diff.0-2 | 7 + t/t4101/diff.0-3 | 8 + t/t4101/diff.1-0 | 6 + t/t4101/diff.1-2 | 8 + t/t4101/diff.1-3 | 8 + t/t4101/diff.2-0 | 7 + t/t4101/diff.2-1 | 8 + t/t4101/diff.2-3 | 7 + t/t4101/diff.3-0 | 8 + t/t4101/diff.3-1 | 8 + t/t4101/diff.3-2 | 7 + t/t4102-apply-rename.sh | 59 + t/t4103-apply-binary.sh | 184 + t/t4104-apply-boundary.sh | 113 + t/t4105-apply-fuzz.sh | 53 + t/t4106-apply-stdin.sh | 31 + t/t4107-apply-ignore-whitespace.sh | 195 + t/t4108-apply-threeway.sh | 296 + t/t4109-apply-multifrag.sh | 37 + t/t4109/expect-1 | 31 + t/t4109/expect-2 | 23 + t/t4109/expect-3 | 24 + t/t4109/patch1.patch | 28 + t/t4109/patch2.patch | 30 + t/t4109/patch3.patch | 31 + t/t4109/patch4.patch | 30 + t/t4110-apply-scan.sh | 24 + t/t4110/expect | 20 + t/t4110/patch1.patch | 17 + t/t4110/patch2.patch | 11 + t/t4110/patch3.patch | 14 + t/t4110/patch4.patch | 11 + t/t4110/patch5.patch | 11 + t/t4111-apply-subdir.sh | 156 + t/t4112-apply-renames.sh | 146 + t/t4113-apply-ending.sh | 53 + t/t4114-apply-typechange.sh | 130 + t/t4115-apply-symlink.sh | 129 + t/t4116-apply-reverse.sh | 93 + t/t4117-apply-reject.sh | 107 + t/t4118-apply-empty-context.sh | 53 + t/t4119-apply-config.sh | 181 + t/t4120-apply-popt.sh | 89 + t/t4121-apply-diffs.sh | 36 + t/t4122-apply-symlink-inside.sh | 158 + t/t4123-apply-shrink.sh | 46 + t/t4124-apply-ws-rule.sh | 559 ++ t/t4125-apply-ws-fuzz.sh | 100 + t/t4126-apply-empty.sh | 69 + t/t4127-apply-same-fn.sh | 98 + t/t4128-apply-root.sh | 123 + t/t4129-apply-samemode.sh | 104 + t/t4130-apply-criss-cross-rename.sh | 72 + t/t4131-apply-fake-ancestor.sh | 42 + t/t4132-apply-removal.sh | 98 + t/t4133-apply-filenames.sh | 64 + t/t4134-apply-submodule.sh | 40 + t/t4135-apply-weird-filenames.sh | 101 + t/t4135/.gitignore | 3 + t/t4135/add-plain.diff | 5 + t/t4135/add-with backslash.diff | 5 + t/t4135/add-with quote.diff | 5 + t/t4135/add-with spaces.diff | 5 + t/t4135/add-with tab.diff | 5 + t/t4135/damaged-tz.diff | 5 + t/t4135/damaged.diff | 5 + t/t4135/diff-plain.diff | 5 + t/t4135/diff-with backslash.diff | 5 + t/t4135/diff-with quote.diff | 5 + t/t4135/diff-with spaces.diff | 5 + t/t4135/diff-with tab.diff | 5 + t/t4135/funny-tz.diff | 5 + t/t4135/git-plain.diff | 7 + t/t4135/git-with backslash.diff | 7 + t/t4135/git-with quote.diff | 7 + t/t4135/git-with spaces.diff | 7 + t/t4135/git-with tab.diff | 7 + t/t4135/make-patches | 45 + t/t4136-apply-check.sh | 64 + t/t4137-apply-submodule.sh | 24 + t/t4138-apply-ws-expansion.sh | 121 + t/t4139-apply-escape.sh | 143 + t/t4140-apply-ita.sh | 57 + t/t4141-apply-too-large.sh | 23 + t/t4150-am.sh | 1250 +++++ t/t4151-am-abort.sh | 227 + t/t4152-am-subjects.sh | 77 + t/t4153-am-resume-override-opts.sh | 102 + t/t4200-rerere.sh | 674 +++ t/t4201-shortlog.sh | 401 ++ t/t4202-log.sh | 2356 ++++++++ t/t4203-mailmap.sh | 1025 ++++ t/t4204-patch-id.sh | 313 ++ t/t4205-log-pretty-formats.sh | 1097 ++++ t/t4206-log-follow-harder-copies.sh | 58 + t/t4207-log-decoration-colors.sh | 122 + t/t4208-log-magic-pathspec.sh | 145 + t/t4209-log-pickaxe.sh | 226 + t/t4210-log-i18n.sh | 134 + t/t4211-line-log.sh | 318 ++ t/t4211/history.export | 406 ++ t/t4211/sha1/expect.beginning-of-file | 43 + t/t4211/sha1/expect.end-of-file | 62 + t/t4211/sha1/expect.move-support-f | 80 + t/t4211/sha1/expect.multiple | 104 + t/t4211/sha1/expect.multiple-overlapping | 187 + t/t4211/sha1/expect.multiple-superset | 187 + t/t4211/sha1/expect.parallel-change-f-to-main | 160 + t/t4211/sha1/expect.simple-f | 59 + t/t4211/sha1/expect.simple-f-to-main | 100 + t/t4211/sha1/expect.simple-main | 68 + t/t4211/sha1/expect.simple-main-to-end | 70 + t/t4211/sha1/expect.two-ranges | 102 + t/t4211/sha1/expect.vanishes-early | 39 + t/t4211/sha256/expect.beginning-of-file | 43 + t/t4211/sha256/expect.end-of-file | 62 + t/t4211/sha256/expect.move-support-f | 80 + t/t4211/sha256/expect.multiple | 104 + t/t4211/sha256/expect.multiple-overlapping | 187 + t/t4211/sha256/expect.multiple-superset | 187 + t/t4211/sha256/expect.parallel-change-f-to-main | 160 + t/t4211/sha256/expect.simple-f | 59 + t/t4211/sha256/expect.simple-f-to-main | 100 + t/t4211/sha256/expect.simple-main | 68 + t/t4211/sha256/expect.simple-main-to-end | 70 + t/t4211/sha256/expect.two-ranges | 102 + t/t4211/sha256/expect.vanishes-early | 39 + t/t4212-log-corrupt.sh | 89 + t/t4213-log-tabexpand.sh | 105 + t/t4214-log-graph-octopus.sh | 350 ++ t/t4215-log-skewed-merges.sh | 373 ++ t/t4216-log-bloom.sh | 407 ++ t/t4217-log-limit.sh | 41 + t/t4252-am-options.sh | 78 + t/t4252/am-test-1-1 | 19 + t/t4252/am-test-1-2 | 21 + t/t4252/am-test-2-1 | 19 + t/t4252/am-test-2-2 | 21 + t/t4252/am-test-3-1 | 19 + t/t4252/am-test-3-2 | 21 + t/t4252/am-test-4-1 | 19 + t/t4252/am-test-4-2 | 22 + t/t4252/am-test-5-1 | 20 + t/t4252/am-test-5-2 | 15 + t/t4252/am-test-6-1 | 21 + t/t4252/file-1-0 | 7 + t/t4252/file-2-0 | 7 + t/t4253-am-keep-cr-dos.sh | 101 + t/t4254-am-corrupt.sh | 82 + t/t4255-am-submodule.sh | 97 + t/t4256-am-format-flowed.sh | 19 + t/t4256/1/mailinfo.c | 1245 +++++ t/t4256/1/mailinfo.c.orig | 1185 ++++ t/t4256/1/patch | 129 + t/t4257-am-interactive.sh | 52 + t/t4258-am-quoted-cr.sh | 37 + t/t4258/mbox | 12 + t/t4300-merge-tree.sh | 337 ++ t/t4301-merge-tree-write-tree.sh | 863 +++ t/t5000-tar-tree.sh | 508 ++ t/t5000/huge-and-future.tar | Bin 0 -> 2048 bytes t/t5000/huge-object | Bin 0 -> 2048 bytes t/t5000/pax.tar | Bin 0 -> 10240 bytes t/t5001-archive-attr.sh | 148 + t/t5002-archive-attr-pattern.sh | 88 + t/t5003-archive-zip.sh | 242 + t/t5003/infozip-symlinks.zip | Bin 0 -> 328 bytes t/t5004-archive-corner-cases.sh | 227 + t/t5004/big-pack.zip | Bin 0 -> 7373 bytes t/t5004/empty-with-pax-header.tar | Bin 0 -> 10240 bytes t/t5004/empty.zip | Bin 0 -> 62 bytes t/t5100-mailinfo.sh | 271 + t/t5100/.gitattributes | 4 + t/t5100/0001mboxrd | 4 + t/t5100/0002mboxrd | 5 + t/t5100/comment.expect | 5 + t/t5100/comment.in | 9 + t/t5100/embed-from.expect | 5 + t/t5100/embed-from.in | 13 + t/t5100/empty | 0 t/t5100/info-from.expect | 5 + t/t5100/info-from.in | 8 + t/t5100/info0001 | 5 + t/t5100/info0002 | 5 + t/t5100/info0003 | 5 + t/t5100/info0004 | 5 + t/t5100/info0005 | 5 + t/t5100/info0006 | 5 + t/t5100/info0007 | 5 + t/t5100/info0008 | 5 + t/t5100/info0009 | 5 + t/t5100/info0010 | 5 + t/t5100/info0011 | 5 + t/t5100/info0012 | 5 + t/t5100/info0012--message-id | 5 + t/t5100/info0013 | 5 + t/t5100/info0014 | 5 + t/t5100/info0014--scissors | 5 + t/t5100/info0015 | 5 + t/t5100/info0015--no-inbody-headers | 5 + t/t5100/info0016 | 5 + t/t5100/info0016--no-inbody-headers | 5 + t/t5100/info0017 | 5 + t/t5100/info0018 | 5 + t/t5100/info0018--no-inbody-headers | 5 + t/t5100/msg0001 | 2 + t/t5100/msg0002 | 21 + t/t5100/msg0003 | 9 + t/t5100/msg0004 | 7 + t/t5100/msg0005 | 13 + t/t5100/msg0006 | 2 + t/t5100/msg0007 | 2 + t/t5100/msg0008 | 4 + t/t5100/msg0009 | 2 + t/t5100/msg0010 | 5 + t/t5100/msg0011 | 2 + t/t5100/msg0012 | 7 + t/t5100/msg0012--message-id | 8 + t/t5100/msg0013 | 0 t/t5100/msg0014 | 18 + t/t5100/msg0014--scissors | 4 + t/t5100/msg0015 | 0 t/t5100/msg0015--no-inbody-headers | 3 + t/t5100/msg0016 | 2 + t/t5100/msg0016--no-inbody-headers | 4 + t/t5100/msg0017 | 2 + t/t5100/msg0018 | 2 + t/t5100/msg0018--no-inbody-headers | 8 + t/t5100/nul-b64.expect | Bin 0 -> 1672 bytes t/t5100/nul-b64.in | 37 + t/t5100/nul-plain | Bin 0 -> 91 bytes t/t5100/patch0001 | 14 + t/t5100/patch0002 | 14 + t/t5100/patch0003 | 14 + t/t5100/patch0004 | 93 + t/t5100/patch0005 | 69 + t/t5100/patch0006 | 14 + t/t5100/patch0007 | 0 t/t5100/patch0008 | 0 t/t5100/patch0009 | 13 + t/t5100/patch0010 | 20 + t/t5100/patch0011 | 22 + t/t5100/patch0012 | 30 + t/t5100/patch0012--message-id | 30 + t/t5100/patch0013 | 0 t/t5100/patch0014 | 64 + t/t5100/patch0014--scissors | 64 + t/t5100/patch0015 | 8 + t/t5100/patch0015--no-inbody-headers | 8 + t/t5100/patch0016 | 8 + t/t5100/patch0016--no-inbody-headers | 8 + t/t5100/patch0017 | 6 + t/t5100/patch0018 | 6 + t/t5100/patch0018--no-inbody-headers | 6 + t/t5100/quoted-cr-info | 5 + t/t5100/quoted-cr-msg | 2 + t/t5100/quoted-cr-patch | 22 + t/t5100/quoted-cr.mbox | 47 + t/t5100/quoted-from.expect | 3 + t/t5100/quoted-from.in | 10 + t/t5100/quoted-string.expect | 5 + t/t5100/quoted-string.in | 9 + t/t5100/rfc2047-info-0001 | 4 + t/t5100/rfc2047-info-0002 | 4 + t/t5100/rfc2047-info-0003 | 4 + t/t5100/rfc2047-info-0004 | 4 + t/t5100/rfc2047-info-0005 | 2 + t/t5100/rfc2047-info-0006 | 2 + t/t5100/rfc2047-info-0007 | 2 + t/t5100/rfc2047-info-0008 | 2 + t/t5100/rfc2047-info-0009 | 2 + t/t5100/rfc2047-info-0010 | 2 + t/t5100/rfc2047-info-0011 | 2 + t/t5100/rfc2047-samples.mbox | 48 + t/t5100/sample.mbox | 720 +++ t/t5100/sample.mboxrd | 19 + t/t5150-request-pull.sh | 309 ++ t/t5200-update-server-info.sh | 42 + t/t5300-pack-object.sh | 732 +++ t/t5301-sliding-window.sh | 62 + t/t5302-pack-index.sh | 295 + t/t5303-pack-corruption-resilience.sh | 405 ++ t/t5304-prune.sh | 345 ++ t/t5305-include-tag.sh | 121 + t/t5306-pack-nobase.sh | 80 + t/t5307-pack-missing-commit.sh | 40 + t/t5308-pack-detect-duplicates.sh | 83 + t/t5309-pack-delta-cycles.sh | 79 + t/t5310-pack-bitmaps.sh | 471 ++ t/t5311-pack-bitmaps-shallow.sh | 56 + t/t5312-prune-corruption.sh | 139 + t/t5313-pack-bounds-checks.sh | 196 + t/t5314-pack-cycle-detection.sh | 112 + t/t5315-pack-objects-compression.sh | 39 + t/t5316-pack-delta-depth.sh | 121 + t/t5317-pack-objects-filter-objects.sh | 431 ++ t/t5318-commit-graph.sh | 842 +++ t/t5319-multi-pack-index.sh | 1018 ++++ t/t5319/no-objects.midx | Bin 0 -> 1116 bytes t/t5320-delta-islands.sh | 145 + t/t5321-pack-large-objects.sh | 34 + t/t5322-pack-objects-sparse.sh | 142 + t/t5323-pack-redundant.sh | 498 ++ t/t5324-split-commit-graph.sh | 651 +++ t/t5325-reverse-index.sh | 120 + t/t5326-multi-pack-bitmaps.sh | 437 ++ t/t5327-multi-pack-bitmaps-rev.sh | 43 + t/t5328-commit-graph-64bit-time.sh | 66 + t/t5329-pack-objects-cruft.sh | 742 +++ t/t5330-no-lazy-fetch-with-commit-graph.sh | 47 + t/t5351-unpack-large-objects.sh | 103 + t/t5400-send-pack.sh | 303 + t/t5401-update-hooks.sh | 143 + t/t5402-post-merge-hook.sh | 62 + t/t5403-post-checkout-hook.sh | 115 + t/t5404-tracking-branches.sh | 65 + t/t5405-send-pack-rewind.sh | 45 + t/t5406-remote-rejects.sh | 24 + t/t5407-post-rewrite-hook.sh | 265 + t/t5408-send-pack-stdin.sh | 92 + t/t5409-colorize-remote-messages.sh | 101 + t/t5410-receive-pack-alternates.sh | 45 + t/t5411-proc-receive-hook.sh | 120 + t/t5411/common-functions.sh | 73 + t/t5411/once-0010-report-status-v1.sh | 91 + t/t5411/test-0000-standard-git-push.sh | 134 + t/t5411/test-0001-standard-git-push--porcelain.sh | 138 + t/t5411/test-0002-pre-receive-declined.sh | 31 + .../test-0003-pre-receive-declined--porcelain.sh | 32 + t/t5411/test-0010-proc-receive-settings.sh | 7 + t/t5411/test-0011-no-hook-error.sh | 60 + t/t5411/test-0012-no-hook-error--porcelain.sh | 62 + t/t5411/test-0013-bad-protocol.sh | 302 + t/t5411/test-0014-bad-protocol--porcelain.sh | 304 + t/t5411/test-0020-report-ng.sh | 63 + t/t5411/test-0021-report-ng--porcelain.sh | 65 + t/t5411/test-0022-report-unexpect-ref.sh | 43 + .../test-0023-report-unexpect-ref--porcelain.sh | 44 + t/t5411/test-0024-report-unknown-ref.sh | 32 + t/t5411/test-0025-report-unknown-ref--porcelain.sh | 33 + t/t5411/test-0026-push-options.sh | 133 + t/t5411/test-0027-push-options--porcelain.sh | 138 + t/t5411/test-0030-report-ok.sh | 33 + t/t5411/test-0031-report-ok--porcelain.sh | 34 + t/t5411/test-0032-report-with-options.sh | 253 + .../test-0033-report-with-options--porcelain.sh | 262 + t/t5411/test-0034-report-ft.sh | 42 + t/t5411/test-0035-report-ft--porcelain.sh | 43 + .../test-0036-report-multi-rewrite-for-one-ref.sh | 221 + ...-report-multi-rewrite-for-one-ref--porcelain.sh | 166 + t/t5411/test-0038-report-mixed-refs.sh | 87 + t/t5411/test-0039-report-mixed-refs--porcelain.sh | 89 + t/t5411/test-0040-process-all-refs.sh | 111 + t/t5411/test-0041-process-all-refs--porcelain.sh | 112 + .../test-0050-proc-receive-refs-with-modifiers.sh | 129 + t/t5500-fetch-pack.sh | 1053 ++++ t/t5501-fetch-push-alternates.sh | 69 + t/t5502-quickfetch.sh | 145 + t/t5503-tagfollow.sh | 164 + t/t5504-fetch-receive-strict.sh | 372 ++ t/t5505-remote.sh | 1495 +++++ t/t5506-remote-groups.sh | 102 + t/t5507-remote-environment.sh | 34 + t/t5509-fetch-push-namespaces.sh | 169 + t/t5510-fetch.sh | 1258 +++++ t/t5511-refspec.sh | 97 + t/t5512-ls-remote.sh | 363 ++ t/t5513-fetch-track.sh | 31 + t/t5514-fetch-multiple.sh | 200 + t/t5515-fetch-merge-logic.sh | 230 + t/t5515/fetch.br-branches-default | 8 + t/t5515/fetch.br-branches-default-merge | 9 + ...etch.br-branches-default-merge_branches-default | 9 + t/t5515/fetch.br-branches-default-octopus | 10 + ...ch.br-branches-default-octopus_branches-default | 10 + t/t5515/fetch.br-branches-default_branches-default | 8 + t/t5515/fetch.br-branches-one | 8 + t/t5515/fetch.br-branches-one-merge | 9 + t/t5515/fetch.br-branches-one-merge_branches-one | 9 + t/t5515/fetch.br-branches-one-octopus | 9 + t/t5515/fetch.br-branches-one-octopus_branches-one | 9 + t/t5515/fetch.br-branches-one_branches-one | 8 + t/t5515/fetch.br-config-explicit | 11 + t/t5515/fetch.br-config-explicit-merge | 11 + .../fetch.br-config-explicit-merge_config-explicit | 11 + t/t5515/fetch.br-config-explicit-octopus | 11 + ...etch.br-config-explicit-octopus_config-explicit | 11 + t/t5515/fetch.br-config-explicit_config-explicit | 11 + t/t5515/fetch.br-config-glob | 11 + t/t5515/fetch.br-config-glob-merge | 11 + t/t5515/fetch.br-config-glob-merge_config-glob | 11 + t/t5515/fetch.br-config-glob-octopus | 11 + t/t5515/fetch.br-config-glob-octopus_config-glob | 11 + t/t5515/fetch.br-config-glob_config-glob | 11 + t/t5515/fetch.br-remote-explicit | 11 + t/t5515/fetch.br-remote-explicit-merge | 11 + .../fetch.br-remote-explicit-merge_remote-explicit | 11 + t/t5515/fetch.br-remote-explicit-octopus | 11 + ...etch.br-remote-explicit-octopus_remote-explicit | 11 + t/t5515/fetch.br-remote-explicit_remote-explicit | 11 + t/t5515/fetch.br-remote-glob | 11 + t/t5515/fetch.br-remote-glob-merge | 11 + t/t5515/fetch.br-remote-glob-merge_remote-glob | 11 + t/t5515/fetch.br-remote-glob-octopus | 11 + t/t5515/fetch.br-remote-glob-octopus_remote-glob | 11 + t/t5515/fetch.br-remote-glob_remote-glob | 11 + t/t5515/fetch.br-unconfig | 11 + t/t5515/fetch.br-unconfig_--tags_.._.git | 8 + t/t5515/fetch.br-unconfig_.._.git | 2 + t/t5515/fetch.br-unconfig_.._.git_one | 2 + ...nfig_.._.git_one_tag_tag-one_tag_tag-three-file | 8 + t/t5515/fetch.br-unconfig_.._.git_one_two | 3 + ...fig_.._.git_tag_tag-one-tree_tag_tag-three-file | 7 + ...h.br-unconfig_.._.git_tag_tag-one_tag_tag-three | 7 + t/t5515/fetch.br-unconfig_branches-default | 8 + t/t5515/fetch.br-unconfig_branches-one | 8 + t/t5515/fetch.br-unconfig_config-explicit | 11 + t/t5515/fetch.br-unconfig_config-glob | 11 + t/t5515/fetch.br-unconfig_remote-explicit | 11 + t/t5515/fetch.br-unconfig_remote-glob | 11 + t/t5515/fetch.main | 11 + t/t5515/fetch.main_--tags_.._.git | 8 + t/t5515/fetch.main_.._.git | 2 + t/t5515/fetch.main_.._.git_one | 2 + ...main_.._.git_one_tag_tag-one_tag_tag-three-file | 8 + t/t5515/fetch.main_.._.git_one_two | 3 + ...ain_.._.git_tag_tag-one-tree_tag_tag-three-file | 7 + .../fetch.main_.._.git_tag_tag-one_tag_tag-three | 7 + t/t5515/fetch.main_branches-default | 8 + t/t5515/fetch.main_branches-one | 8 + t/t5515/fetch.main_config-explicit | 11 + t/t5515/fetch.main_config-glob | 11 + t/t5515/fetch.main_remote-explicit | 11 + t/t5515/fetch.main_remote-glob | 11 + t/t5515/refs.br-branches-default | 12 + t/t5515/refs.br-branches-default-merge | 12 + ...refs.br-branches-default-merge_branches-default | 12 + t/t5515/refs.br-branches-default-octopus | 12 + ...fs.br-branches-default-octopus_branches-default | 12 + t/t5515/refs.br-branches-default_branches-default | 12 + t/t5515/refs.br-branches-one | 12 + t/t5515/refs.br-branches-one-merge | 12 + t/t5515/refs.br-branches-one-merge_branches-one | 12 + t/t5515/refs.br-branches-one-octopus | 12 + t/t5515/refs.br-branches-one-octopus_branches-one | 12 + t/t5515/refs.br-branches-one_branches-one | 12 + t/t5515/refs.br-config-explicit | 15 + t/t5515/refs.br-config-explicit-merge | 15 + .../refs.br-config-explicit-merge_config-explicit | 15 + t/t5515/refs.br-config-explicit-octopus | 15 + ...refs.br-config-explicit-octopus_config-explicit | 15 + t/t5515/refs.br-config-explicit_config-explicit | 15 + t/t5515/refs.br-config-glob | 15 + t/t5515/refs.br-config-glob-merge | 15 + t/t5515/refs.br-config-glob-merge_config-glob | 15 + t/t5515/refs.br-config-glob-octopus | 15 + t/t5515/refs.br-config-glob-octopus_config-glob | 15 + t/t5515/refs.br-config-glob_config-glob | 15 + t/t5515/refs.br-remote-explicit | 15 + t/t5515/refs.br-remote-explicit-merge | 15 + .../refs.br-remote-explicit-merge_remote-explicit | 15 + t/t5515/refs.br-remote-explicit-octopus | 15 + ...refs.br-remote-explicit-octopus_remote-explicit | 15 + t/t5515/refs.br-remote-explicit_remote-explicit | 15 + t/t5515/refs.br-remote-glob | 15 + t/t5515/refs.br-remote-glob-merge | 15 + t/t5515/refs.br-remote-glob-merge_remote-glob | 15 + t/t5515/refs.br-remote-glob-octopus | 15 + t/t5515/refs.br-remote-glob-octopus_remote-glob | 15 + t/t5515/refs.br-remote-glob_remote-glob | 15 + t/t5515/refs.br-unconfig | 11 + t/t5515/refs.br-unconfig_--tags_.._.git | 11 + t/t5515/refs.br-unconfig_.._.git | 5 + t/t5515/refs.br-unconfig_.._.git_one | 5 + ...nfig_.._.git_one_tag_tag-one_tag_tag-three-file | 11 + t/t5515/refs.br-unconfig_.._.git_one_two | 5 + ...fig_.._.git_tag_tag-one-tree_tag_tag-three-file | 11 + ...s.br-unconfig_.._.git_tag_tag-one_tag_tag-three | 11 + t/t5515/refs.br-unconfig_branches-default | 12 + t/t5515/refs.br-unconfig_branches-one | 12 + t/t5515/refs.br-unconfig_config-explicit | 15 + t/t5515/refs.br-unconfig_config-glob | 15 + t/t5515/refs.br-unconfig_remote-explicit | 15 + t/t5515/refs.br-unconfig_remote-glob | 15 + t/t5515/refs.main | 11 + t/t5515/refs.main_--tags_.._.git | 11 + t/t5515/refs.main_.._.git | 5 + t/t5515/refs.main_.._.git_one | 5 + ...main_.._.git_one_tag_tag-one_tag_tag-three-file | 11 + t/t5515/refs.main_.._.git_one_two | 5 + ...ain_.._.git_tag_tag-one-tree_tag_tag-three-file | 11 + .../refs.main_.._.git_tag_tag-one_tag_tag-three | 11 + t/t5515/refs.main_branches-default | 12 + t/t5515/refs.main_branches-one | 12 + t/t5515/refs.main_config-explicit | 15 + t/t5515/refs.main_config-glob | 15 + t/t5515/refs.main_remote-explicit | 15 + t/t5515/refs.main_remote-glob | 15 + t/t5516-fetch-push.sh | 1878 +++++++ t/t5517-push-mirror.sh | 281 + t/t5518-fetch-exit-status.sh | 41 + t/t5519-push-alternates.sh | 146 + t/t5520-pull.sh | 831 +++ t/t5521-pull-options.sh | 255 + t/t5522-pull-symlink.sh | 84 + t/t5523-push-upstream.sh | 129 + t/t5524-pull-msg.sh | 53 + t/t5525-fetch-tagopt.sh | 54 + t/t5526-fetch-submodules.sh | 1170 ++++ t/t5527-fetch-odd-refs.sh | 65 + t/t5528-push-default.sh | 297 + t/t5529-push-errors.sh | 48 + t/t5530-upload-pack-error.sh | 122 + t/t5531-deep-submodule-push.sh | 640 +++ t/t5532-fetch-proxy.sh | 53 + t/t5533-push-cas.sh | 399 ++ t/t5534-push-signed.sh | 392 ++ t/t5535-fetch-push-symref.sh | 42 + t/t5536-fetch-conflicts.sh | 86 + t/t5537-fetch-shallow.sh | 299 + t/t5538-push-shallow.sh | 126 + t/t5539-fetch-http-shallow.sh | 157 + t/t5540-http-push-webdav.sh | 204 + t/t5541-http-push-smart.sh | 545 ++ t/t5542-push-http-shallow.sh | 96 + t/t5543-atomic-push.sh | 280 + t/t5544-pack-objects-hook.sh | 77 + t/t5545-push-options.sh | 291 + t/t5546-receive-limits.sh | 55 + t/t5547-push-quarantine.sh | 72 + t/t5548-push-porcelain.sh | 278 + t/t5549-fetch-push-http.sh | 72 + t/t5550-http-fetch-dumb.sh | 488 ++ t/t5551-http-fetch-smart.sh | 669 +++ t/t5552-skipping-fetch-negotiator.sh | 209 + t/t5553-set-upstream.sh | 203 + t/t5554-noop-fetch-negotiator.sh | 22 + t/t5555-http-smart-common.sh | 162 + t/t5557-http-get.sh | 39 + t/t5558-clone-bundle-uri.sh | 356 ++ t/t5559-http-fetch-smart-http2.sh | 4 + t/t5560-http-backend-noserver.sh | 77 + t/t5561-http-backend.sh | 138 + t/t5562-http-backend-content-length.sh | 173 + t/t5562/invoke-with-content-length.pl | 36 + t/t556x_common | 110 + t/t5570-git-daemon.sh | 210 + t/t5571-pre-push-hook.sh | 141 + t/t5572-pull-submodule.sh | 248 + t/t5573-pull-verify-signatures.sh | 152 + t/t5580-unc-paths.sh | 93 + t/t5581-http-curl-verbose.sh | 29 + t/t5582-fetch-negative-refspec.sh | 285 + t/t5600-clone-fail-cleanup.sh | 110 + t/t5601-clone.sh | 778 +++ t/t5602-clone-remote-exec.sh | 28 + t/t5603-clone-dirname.sh | 110 + t/t5604-clone-reference.sh | 363 ++ t/t5605-clone-local.sh | 163 + t/t5606-clone-options.sh | 190 + t/t5607-clone-bundle.sh | 172 + t/t5608-clone-2gb.sh | 52 + t/t5609-clone-branch.sh | 74 + t/t5610-clone-detached.sh | 79 + t/t5611-clone-config.sh | 136 + t/t5612-clone-refspec.sh | 238 + t/t5613-info-alternate.sh | 139 + t/t5614-clone-submodules-shallow.sh | 130 + t/t5615-alternate-env.sh | 92 + t/t5616-partial-clone.sh | 830 +++ t/t5617-clone-submodules-remote.sh | 110 + t/t5618-alternate-refs.sh | 60 + t/t5619-clone-local-ambiguous-transport.sh | 70 + t/t5700-protocol-v1.sh | 317 ++ t/t5701-git-serve.sh | 345 ++ t/t5702-protocol-v2.sh | 1281 +++++ t/t5703-upload-pack-ref-in-want.sh | 539 ++ t/t5704-protocol-violations.sh | 52 + t/t5705-session-id-in-capabilities.sh | 87 + t/t5750-bundle-uri-parse.sh | 171 + t/t5801-remote-helpers.sh | 324 ++ t/t5801/git-remote-testgit | 157 + t/t5802-connect-helper.sh | 101 + t/t5810-proto-disable-local.sh | 37 + t/t5811-proto-disable-git.sh | 20 + t/t5812-proto-disable-http.sh | 37 + t/t5813-proto-disable-ssh.sh | 43 + t/t5814-proto-disable-ext.sh | 18 + t/t5815-submodule-protos.sh | 43 + t/t5900-repo-selection.sh | 102 + t/t6000-rev-list-misc.sh | 172 + t/t6001-rev-list-graft.sh | 127 + t/t6002-rev-list-bisect.sh | 312 ++ t/t6003-rev-list-topo-order.sh | 448 ++ t/t6004-rev-list-path-optim.sh | 99 + t/t6005-rev-list-count.sh | 52 + t/t6006-rev-list-format.sh | 609 ++ t/t6007-rev-list-cherry-pick-file.sh | 284 + t/t6008-rev-list-submodule.sh | 46 + t/t6009-rev-list-parent.sh | 152 + t/t6010-merge-base.sh | 308 ++ t/t6011-rev-list-with-bad-commit.sh | 59 + t/t6012-rev-list-simplify.sh | 288 + t/t6013-rev-list-reverse-parents.sh | 45 + t/t6014-rev-list-all.sh | 42 + t/t6016-rev-list-graph-simplify-history.sh | 246 + t/t6017-rev-list-stdin.sh | 81 + t/t6018-rev-list-glob.sh | 429 ++ t/t6019-rev-list-ancestry-path.sh | 132 + t/t6020-bundle-misc.sh | 562 ++ t/t6021-rev-list-exclude-hidden.sh | 163 + t/t6030-bisect-porcelain.sh | 1066 ++++ t/t6040-tracking-info.sh | 295 + t/t6041-bisect-submodule.sh | 37 + t/t6050-replace.sh | 510 ++ t/t6060-merge-index.sh | 97 + t/t6100-rev-list-in-order.sh | 78 + t/t6101-rev-parse-parents.sh | 231 + t/t6102-rev-list-unexpected-objects.sh | 133 + t/t6110-rev-list-sparse.sh | 24 + t/t6111-rev-list-treesame.sh | 197 + t/t6112-rev-list-filters-objects.sh | 704 +++ t/t6113-rev-list-bitmap-filters.sh | 144 + t/t6114-keep-packs.sh | 71 + t/t6115-rev-list-du.sh | 73 + t/t6120-describe.sh | 660 +++ t/t6130-pathspec-noglob.sh | 160 + t/t6131-pathspec-icase.sh | 111 + t/t6132-pathspec-exclude.sh | 432 ++ t/t6133-pathspec-rev-dwim.sh | 48 + t/t6134-pathspec-in-submodule.sh | 33 + t/t6135-pathspec-with-attrs.sh | 256 + t/t6136-pathspec-in-bare.sh | 39 + t/t6200-fmt-merge-msg.sh | 704 +++ t/t6300-for-each-ref.sh | 1449 +++++ t/t6301-for-each-ref-errors.sh | 56 + t/t6302-for-each-ref-filter.sh | 477 ++ t/t6400-merge-df.sh | 163 + t/t6401-merge-criss-cross.sh | 67 + t/t6402-merge-rename.sh | 973 ++++ t/t6403-merge-file.sh | 392 ++ t/t6404-recursive-merge.sh | 153 + t/t6405-merge-symlinks.sh | 66 + t/t6406-merge-attr.sh | 233 + t/t6407-merge-binary.sh | 60 + t/t6408-merge-up-to-date.sh | 93 + t/t6409-merge-subtree.sh | 155 + t/t6411-merge-filemode.sh | 104 + t/t6412-merge-large-rename.sh | 106 + t/t6413-merge-crlf.sh | 48 + t/t6414-merge-rename-nocruft.sh | 101 + t/t6415-merge-dir-to-symlink.sh | 177 + t/t6416-recursive-corner-cases.sh | 1885 +++++++ t/t6417-merge-ours-theirs.sh | 109 + t/t6418-merge-text-auto.sh | 233 + t/t6419-merge-ignorecase.sh | 56 + t/t6421-merge-partial-clone.sh | 440 ++ t/t6422-merge-rename-corner-cases.sh | 1468 +++++ t/t6423-merge-rename-directories.sh | 5835 ++++++++++++++++++++ t/t6424-merge-unrelated-index-changes.sh | 310 ++ t/t6425-merge-rename-delete.sh | 28 + t/t6426-merge-skip-unneeded-updates.sh | 779 +++ t/t6427-diff3-conflict-markers.sh | 304 + t/t6428-merge-conflicts-sparse.sh | 145 + t/t6429-merge-sequence-rename-caching.sh | 767 +++ t/t6430-merge-recursive.sh | 776 +++ t/t6431-merge-criscross.sh | 96 + t/t6432-merge-recursive-space-options.sh | 210 + t/t6433-merge-toplevel.sh | 177 + t/t6434-merge-recursive-rename-options.sh | 333 ++ t/t6435-merge-sparse.sh | 60 + t/t6436-merge-overwrite.sh | 207 + t/t6437-submodule-merge.sh | 545 ++ t/t6438-submodule-directory-file-conflicts.sh | 22 + t/t6439-merge-co-error-msgs.sh | 142 + t/t6500-gc.sh | 363 ++ t/t6501-freshen-objects.sh | 183 + t/t6600-test-reach.sh | 446 ++ t/t7001-mv.sh | 540 ++ t/t7002-mv-sparse-checkout.sh | 517 ++ t/t7003-filter-branch.sh | 543 ++ t/t7004-tag.sh | 2130 +++++++ t/t7005-editor.sh | 131 + t/t7006-pager.sh | 768 +++ t/t7007-show.sh | 171 + t/t7008-filter-branch-null-sha1.sh | 56 + t/t7010-setup.sh | 161 + t/t7011-skip-worktree-reading.sh | 148 + t/t7012-skip-worktree-writing.sh | 198 + t/t7030-verify-tag.sh | 206 + t/t7031-verify-tag-signed-ssh.sh | 203 + t/t7060-wtstatus.sh | 255 + t/t7061-wtstatus-ignore.sh | 316 ++ t/t7062-wtstatus-ignorecase.sh | 21 + t/t7063-status-untracked-cache.sh | 994 ++++ t/t7064-wtstatus-pv2.sh | 673 +++ t/t7101-reset-empty-subdirs.sh | 66 + t/t7102-reset.sh | 609 ++ t/t7103-reset-bare.sh | 74 + t/t7104-reset-hard.sh | 47 + t/t7105-reset-patch.sh | 92 + t/t7106-reset-unborn-branch.sh | 67 + t/t7107-reset-pathspec-file.sh | 178 + t/t7110-reset-merge.sh | 296 + t/t7111-reset-table.sh | 122 + t/t7112-reset-submodule.sh | 20 + t/t7113-post-index-change-hook.sh | 147 + t/t7201-co.sh | 678 +++ t/t7300-clean.sh | 792 +++ t/t7301-clean-interactive.sh | 485 ++ t/t7400-submodule-basic.sh | 1439 +++++ t/t7401-submodule-summary.sh | 316 ++ t/t7402-submodule-rebase.sh | 123 + t/t7403-submodule-sync.sh | 355 ++ t/t7406-submodule-update.sh | 1182 ++++ t/t7407-submodule-foreach.sh | 440 ++ t/t7408-submodule-reference.sh | 227 + t/t7409-submodule-detached-work-tree.sh | 91 + t/t7411-submodule-config.sh | 261 + t/t7412-submodule-absorbgitdirs.sh | 134 + t/t7413-submodule-is-active.sh | 112 + t/t7414-submodule-mistakes.sh | 40 + t/t7416-submodule-dash-url.sh | 223 + t/t7417-submodule-path-url.sh | 52 + t/t7418-submodule-sparse-gitmodules.sh | 130 + t/t7419-submodule-set-branch.sh | 101 + t/t7420-submodule-set-url.sh | 59 + t/t7421-submodule-summary-add.sh | 73 + t/t7422-submodule-output.sh | 170 + t/t7450-bad-git-dotfiles.sh | 318 ++ t/t7500-commit-template-squash-signoff.sh | 561 ++ t/t7500/add-comments | 4 + t/t7500/add-content | 3 + t/t7500/add-content-and-comment | 5 + t/t7500/add-signed-off | 3 + t/t7500/add-whitespaced-content | 8 + t/t7500/edit-content | 4 + t/t7501-commit-basic-functionality.sh | 716 +++ t/t7502-commit-porcelain.sh | 943 ++++ t/t7503-pre-commit-and-pre-merge-commit-hooks.sh | 283 + t/t7504-commit-msg-hook.sh | 308 ++ t/t7505-prepare-commit-msg-hook.sh | 311 ++ t/t7505/expected-rebase-i | 18 + t/t7505/expected-rebase-p | 18 + t/t7506-status-submodule.sh | 415 ++ t/t7507-commit-verbose.sh | 160 + t/t7508-status.sh | 1679 ++++++ t/t7509-commit-authorship.sh | 175 + t/t7510-signed-commit.sh | 390 ++ t/t7511-status-index.sh | 51 + t/t7512-status-help.sh | 1014 ++++ t/t7513-interpret-trailers.sh | 1563 ++++++ t/t7514-commit-patch.sh | 34 + t/t7515-status-symlinks.sh | 44 + t/t7516-commit-races.sh | 30 + t/t7517-per-repo-email.sh | 152 + t/t7518-ident-corner-cases.sh | 49 + t/t7519-status-fsmonitor.sh | 480 ++ t/t7519/fsmonitor-all | 23 + t/t7519/fsmonitor-all-v2 | 21 + t/t7519/fsmonitor-env | 24 + t/t7519/fsmonitor-none | 22 + t/t7519/fsmonitor-watchman | 127 + t/t7519/fsmonitor-watchman-v2 | 173 + t/t7520-ignored-hook-warning.sh | 38 + t/t7521-ignored-mode.sh | 233 + t/t7524-commit-summary.sh | 31 + t/t7525-status-rename.sh | 114 + t/t7526-commit-pathspec-file.sh | 165 + t/t7527-builtin-fsmonitor.sh | 1006 ++++ t/t7528-signed-commit-ssh.sh | 462 ++ t/t7600-merge.sh | 1086 ++++ t/t7601-merge-pull-config.sh | 525 ++ t/t7602-merge-octopus-many.sh | 107 + t/t7603-merge-reduce-heads.sh | 164 + t/t7604-merge-custom-message.sh | 116 + t/t7605-merge-resolve.sh | 52 + t/t7606-merge-custom.sh | 93 + t/t7607-merge-state.sh | 32 + t/t7608-merge-messages.sh | 63 + t/t7609-mergetool--lib.sh | 15 + t/t7610-mergetool.sh | 863 +++ t/t7611-merge-abort.sh | 204 + t/t7612-merge-verify-signatures.sh | 138 + t/t7614-merge-signoff.sh | 72 + t/t7700-repack.sh | 683 +++ t/t7701-repack-unpack-unreachable.sh | 156 + t/t7702-repack-cyclic-alternate.sh | 26 + t/t7703-repack-geometric.sh | 284 + t/t7800-difftool.sh | 868 +++ t/t7810-grep.sh | 1880 +++++++ t/t7811-grep-open.sh | 159 + t/t7812-grep-icase-non-ascii.sh | 153 + t/t7813-grep-icase-iso.sh | 20 + t/t7814-grep-recurse-submodules.sh | 597 ++ t/t7815-grep-binary.sh | 149 + t/t7816-grep-binary-pattern.sh | 128 + t/t7817-grep-sparse-checkout.sh | 181 + t/t7900-maintenance.sh | 803 +++ t/t8001-annotate.sh | 20 + t/t8002-blame.sh | 144 + t/t8003-blame-corner-cases.sh | 319 ++ t/t8004-blame-with-conflicts.sh | 76 + t/t8005-blame-i18n.sh | 96 + t/t8005/euc-japan.txt | 2 + t/t8005/sjis.txt | 2 + t/t8005/utf8.txt | 2 + t/t8006-blame-textconv.sh | 157 + t/t8007-cat-file-textconv.sh | 130 + t/t8008-blame-formats.sh | 109 + t/t8009-blame-vs-topicbranches.sh | 36 + t/t8010-cat-file-filters.sh | 71 + t/t8011-blame-split-file.sh | 117 + t/t8012-blame-colors.sh | 52 + t/t8013-blame-ignore-revs.sh | 291 + t/t8014-blame-ignore-fuzzy.sh | 437 ++ t/t9001-send-email.sh | 2366 ++++++++ t/t9002-column.sh | 198 + t/t9003-help-autocorrect.sh | 63 + t/t9004-example.sh | 10 + t/t9100-git-svn-basic.sh | 334 ++ t/t9101-git-svn-props.sh | 236 + t/t9102-git-svn-deep-rmdir.sh | 32 + t/t9103-git-svn-tracked-directory-removed.sh | 41 + t/t9104-git-svn-follow-parent.sh | 230 + t/t9105-git-svn-commit-diff.sh | 44 + t/t9106-git-svn-commit-diff-clobber.sh | 108 + t/t9107-git-svn-migrate.sh | 136 + t/t9108-git-svn-glob.sh | 116 + t/t9109-git-svn-multi-glob.sh | 167 + t/t9110-git-svn-use-svm-props.sh | 61 + t/t9110/svm.dump | 511 ++ t/t9111-git-svn-use-svnsync-props.sh | 51 + t/t9111/svnsync.dump | 560 ++ t/t9112-git-svn-md5less-file.sh | 47 + t/t9113-git-svn-dcommit-new-file.sh | 35 + t/t9114-git-svn-dcommit-merge.sh | 95 + t/t9115-git-svn-dcommit-funky-renames.sh | 124 + t/t9115/funky-names.dump | 103 + t/t9116-git-svn-log.sh | 150 + t/t9117-git-svn-init-clone.sh | 122 + t/t9118-git-svn-funky-branch-names.sh | 90 + t/t9119-git-svn-info.sh | 391 ++ t/t9120-git-svn-clone-with-percent-escapes.sh | 77 + t/t9121-git-svn-fetch-renamed-dir.sh | 20 + t/t9121/renamed-dir.dump | 90 + t/t9122-git-svn-author.sh | 85 + t/t9123-git-svn-rebuild-with-rewriteroot.sh | 32 + t/t9124-git-svn-dcommit-auto-props.sh | 105 + t/t9125-git-svn-multi-glob-branch-names.sh | 37 + ...126-git-svn-follow-deleted-readded-directory.sh | 22 + t/t9126/follow-deleted-readded.dump | 201 + t/t9127-git-svn-partial-rebuild.sh | 60 + t/t9128-git-svn-cmd-branch.sh | 79 + t/t9129-git-svn-i18n-commitencoding.sh | 92 + t/t9130-git-svn-authors-file.sh | 131 + t/t9131-git-svn-empty-symlink.sh | 110 + t/t9132-git-svn-broken-symlink.sh | 102 + t/t9133-git-svn-nested-git-repo.sh | 101 + t/t9134-git-svn-ignore-paths.sh | 147 + t/t9135-git-svn-moved-branch-empty-file.sh | 20 + t/t9135/svn.dump | 192 + t/t9136-git-svn-recreated-branch-empty-file.sh | 12 + t/t9136/svn.dump | 192 + t/t9137-git-svn-dcommit-clobber-series.sh | 63 + t/t9138-git-svn-authors-prog.sh | 107 + t/t9139-git-svn-non-utf8-commitencoding.sh | 48 + t/t9140-git-svn-reset.sh | 66 + t/t9141-git-svn-multiple-branches.sh | 122 + t/t9142-git-svn-shallow-clone.sh | 29 + t/t9143-git-svn-gc.sh | 51 + t/t9144-git-svn-old-rev_map.sh | 31 + t/t9145-git-svn-master-branch.sh | 28 + t/t9146-git-svn-empty-dirs.sh | 161 + t/t9147-git-svn-include-paths.sh | 149 + t/t9148-git-svn-propset.sh | 99 + t/t9150-svk-mergetickets.sh | 25 + t/t9150/make-svk-dump | 57 + t/t9150/svk-merge.dump | 616 +++ t/t9151-svn-mergeinfo.sh | 54 + t/t9151/.gitignore | 2 + t/t9151/make-svnmerge-dump | 305 + t/t9151/svn-mergeinfo.dump | 2388 ++++++++ t/t9152-svn-empty-dirs-after-gc.sh | 40 + t/t9153-git-svn-rewrite-uuid.sh | 25 + t/t9153/svn.dump | 75 + t/t9154-git-svn-fancy-glob.sh | 51 + t/t9154/svn.dump | 222 + t/t9155-git-svn-fetch-deleted-tag.sh | 45 + t/t9156-git-svn-fetch-deleted-tag-2.sh | 47 + t/t9157-git-svn-fetch-merge.sh | 58 + t/t9158-git-svn-mergeinfo.sh | 52 + t/t9159-git-svn-no-parent-mergeinfo.sh | 41 + t/t9160-git-svn-preserve-empty-dirs.sh | 153 + t/t9161-git-svn-mergeinfo-push.sh | 103 + t/t9161/branches.dump | 374 ++ t/t9162-git-svn-dcommit-interactive.sh | 65 + t/t9163-git-svn-reset-clears-caches.sh | 81 + t/t9164-git-svn-dcommit-concurrent.sh | 218 + t/t9165-git-svn-fetch-merge-branch-of-branch.sh | 60 + t/t9166-git-svn-fetch-merge-branch-of-branch2.sh | 53 + t/t9167-git-svn-cmd-branch-subproject.sh | 49 + t/t9168-git-svn-partially-globbed-names.sh | 229 + t/t9169-git-svn-dcommit-crlf.sh | 30 + t/t9200-git-cvsexportcommit.sh | 342 ++ t/t9210-scalar.sh | 227 + t/t9211-scalar-clone.sh | 151 + t/t9300-fast-import.sh | 3536 ++++++++++++ t/t9301-fast-import-notes.sh | 728 +++ t/t9302-fast-import-unpack-limit.sh | 107 + t/t9303-fast-import-compression.sh | 63 + t/t9304-fast-import-marks.sh | 52 + t/t9350-fast-export.sh | 794 +++ t/t9350/broken-iso-8859-7-commit-message.txt | 1 + t/t9350/simple-iso-8859-7-commit-message.txt | 1 + t/t9351-fast-export-anonymize.sh | 139 + t/t9400-git-cvsserver-server.sh | 646 +++ t/t9401-git-cvsserver-crlf.sh | 372 ++ t/t9402-git-cvsserver-refs.sh | 554 ++ t/t9500-gitweb-standalone-no-errors.sh | 810 +++ t/t9501-gitweb-standalone-http-status.sh | 221 + t/t9502-gitweb-standalone-parse-output.sh | 237 + t/t9600-cvsimport.sh | 167 + t/t9601-cvsimport-vendor-branch.sh | 88 + t/t9601/cvsroot/.gitattributes | 1 + t/t9601/cvsroot/CVSROOT/.gitignore | 2 + t/t9601/cvsroot/module/added-imported.txt,v | 44 + t/t9601/cvsroot/module/imported-anonymously.txt,v | 42 + .../module/imported-modified-imported.txt,v | 76 + t/t9601/cvsroot/module/imported-modified.txt,v | 59 + t/t9601/cvsroot/module/imported-once.txt,v | 43 + t/t9601/cvsroot/module/imported-twice.txt,v | 60 + t/t9602-cvsimport-branches-tags.sh | 81 + t/t9602/README | 62 + t/t9602/cvsroot/.gitattributes | 1 + t/t9602/cvsroot/CVSROOT/.gitignore | 2 + t/t9602/cvsroot/module/default,v | 102 + t/t9602/cvsroot/module/sub1/default,v | 102 + t/t9602/cvsroot/module/sub1/subsubA/default,v | 101 + t/t9602/cvsroot/module/sub1/subsubB/default,v | 107 + .../module/sub2/Attic/branch_B_MIXED_only,v | 59 + t/t9602/cvsroot/module/sub2/default,v | 102 + t/t9602/cvsroot/module/sub2/subsubA/default,v | 102 + t/t9602/cvsroot/module/sub3/default,v | 102 + t/t9603-cvsimport-patchsets.sh | 39 + t/t9603/cvsroot/.gitattributes | 1 + t/t9603/cvsroot/CVSROOT/.gitignore | 2 + t/t9603/cvsroot/module/a,v | 74 + t/t9603/cvsroot/module/b,v | 90 + t/t9604-cvsimport-timestamps.sh | 71 + t/t9604/cvsroot/.gitattributes | 1 + t/t9604/cvsroot/CVSROOT/.gitignore | 2 + t/t9604/cvsroot/module/a,v | 264 + t/t9700-perl-git.sh | 57 + t/t9700/test.pl | 160 + t/t9800-git-p4-basic.sh | 421 ++ t/t9801-git-p4-branch.sh | 760 +++ t/t9802-git-p4-filetype.sh | 370 ++ t/t9803-git-p4-shell-metachars.sh | 108 + t/t9804-git-p4-label.sh | 111 + t/t9805-git-p4-skip-submit-edit.sh | 101 + t/t9806-git-p4-options.sh | 306 + t/t9807-git-p4-submit.sh | 599 ++ t/t9808-git-p4-chdir.sh | 86 + t/t9809-git-p4-client-view.sh | 839 +++ t/t9810-git-p4-rcs.sh | 377 ++ t/t9811-git-p4-label-import.sh | 265 + t/t9812-git-p4-wildcards.sh | 214 + t/t9813-git-p4-preserve-users.sh | 141 + t/t9814-git-p4-rename.sh | 245 + t/t9815-git-p4-submit-fail.sh | 425 ++ t/t9816-git-p4-locked.sh | 141 + t/t9817-git-p4-exclude.sh | 108 + t/t9818-git-p4-block.sh | 149 + t/t9819-git-p4-case-folding.sh | 56 + t/t9820-git-p4-editor-handling.sh | 34 + t/t9821-git-p4-path-variations.sh | 196 + t/t9822-git-p4-path-encoding.sh | 77 + t/t9823-git-p4-mock-lfs.sh | 188 + t/t9824-git-p4-git-lfs.sh | 290 + t/t9825-git-p4-handle-utf16-without-bom.sh | 46 + t/t9826-git-p4-keep-empty-commits.sh | 130 + t/t9827-git-p4-change-filetype.sh | 62 + t/t9828-git-p4-map-user.sh | 57 + t/t9829-git-p4-jobs.sh | 95 + t/t9830-git-p4-symlink-dir.sh | 39 + t/t9831-git-p4-triggers.sh | 99 + t/t9832-unshelve.sh | 188 + t/t9833-errors.sh | 48 + t/t9834-git-p4-file-dir-bug.sh | 70 + t/t9835-git-p4-metadata-encoding-python2.sh | 213 + t/t9836-git-p4-metadata-encoding-python3.sh | 214 + t/t9850-shell.sh | 37 + t/t9901-git-web--browse.sh | 64 + t/t9902-completion.sh | 2662 +++++++++ t/t9903-bash-prompt.sh | 778 +++ t/test-binary-1.png | Bin 0 -> 5660 bytes t/test-binary-2.png | Bin 0 -> 275 bytes t/test-lib-functions.sh | 1877 +++++++ t/test-lib-github-workflow-markup.sh | 56 + t/test-lib-junit.sh | 132 + t/test-lib.sh | 1956 +++++++ t/test-terminal.perl | 105 + t/valgrind/.gitignore | 2 + t/valgrind/analyze.sh | 127 + t/valgrind/default.supp | 51 + t/valgrind/valgrind.sh | 40 + 2248 files changed, 317225 insertions(+) create mode 100644 t/.gitattributes create mode 100644 t/.gitignore create mode 100755 t/Git-SVN/00compile.t create mode 100755 t/Git-SVN/Utils/add_path_to_url.t create mode 100755 t/Git-SVN/Utils/can_compress.t create mode 100755 t/Git-SVN/Utils/canonicalize_url.t create mode 100755 t/Git-SVN/Utils/collapse_dotdot.t create mode 100755 t/Git-SVN/Utils/fatal.t create mode 100755 t/Git-SVN/Utils/join_paths.t create mode 100644 t/Makefile create mode 100644 t/README create mode 100755 t/aggregate-results.sh create mode 100644 t/annotate-tests.sh create mode 100755 t/chainlint.pl create mode 100644 t/chainlint/arithmetic-expansion.expect create mode 100644 t/chainlint/arithmetic-expansion.test create mode 100644 t/chainlint/bash-array.expect create mode 100644 t/chainlint/bash-array.test create mode 100644 t/chainlint/blank-line-before-esac.expect create mode 100644 t/chainlint/blank-line-before-esac.test create mode 100644 t/chainlint/blank-line.expect create mode 100644 t/chainlint/blank-line.test create mode 100644 t/chainlint/block-comment.expect create mode 100644 t/chainlint/block-comment.test create mode 100644 t/chainlint/block.expect create mode 100644 t/chainlint/block.test create mode 100644 t/chainlint/broken-chain.expect create mode 100644 t/chainlint/broken-chain.test create mode 100644 t/chainlint/case-comment.expect create mode 100644 t/chainlint/case-comment.test create mode 100644 t/chainlint/case.expect create mode 100644 t/chainlint/case.test create mode 100644 t/chainlint/chain-break-background.expect create mode 100644 t/chainlint/chain-break-background.test create mode 100644 t/chainlint/chain-break-continue.expect create mode 100644 t/chainlint/chain-break-continue.test create mode 100644 t/chainlint/chain-break-false.expect create mode 100644 t/chainlint/chain-break-false.test create mode 100644 t/chainlint/chain-break-return-exit.expect create mode 100644 t/chainlint/chain-break-return-exit.test create mode 100644 t/chainlint/chain-break-status.expect create mode 100644 t/chainlint/chain-break-status.test create mode 100644 t/chainlint/chained-block.expect create mode 100644 t/chainlint/chained-block.test create mode 100644 t/chainlint/chained-subshell.expect create mode 100644 t/chainlint/chained-subshell.test create mode 100644 t/chainlint/close-nested-and-parent-together.expect create mode 100644 t/chainlint/close-nested-and-parent-together.test create mode 100644 t/chainlint/close-subshell.expect create mode 100644 t/chainlint/close-subshell.test create mode 100644 t/chainlint/command-substitution-subsubshell.expect create mode 100644 t/chainlint/command-substitution-subsubshell.test create mode 100644 t/chainlint/command-substitution.expect create mode 100644 t/chainlint/command-substitution.test create mode 100644 t/chainlint/comment.expect create mode 100644 t/chainlint/comment.test create mode 100644 t/chainlint/complex-if-in-cuddled-loop.expect create mode 100644 t/chainlint/complex-if-in-cuddled-loop.test create mode 100644 t/chainlint/cuddled-if-then-else.expect create mode 100644 t/chainlint/cuddled-if-then-else.test create mode 100644 t/chainlint/cuddled-loop.expect create mode 100644 t/chainlint/cuddled-loop.test create mode 100644 t/chainlint/cuddled.expect create mode 100644 t/chainlint/cuddled.test create mode 100644 t/chainlint/double-here-doc.expect create mode 100644 t/chainlint/double-here-doc.test create mode 100644 t/chainlint/dqstring-line-splice.expect create mode 100644 t/chainlint/dqstring-line-splice.test create mode 100644 t/chainlint/dqstring-no-interpolate.expect create mode 100644 t/chainlint/dqstring-no-interpolate.test create mode 100644 t/chainlint/empty-here-doc.expect create mode 100644 t/chainlint/empty-here-doc.test create mode 100644 t/chainlint/exclamation.expect create mode 100644 t/chainlint/exclamation.test create mode 100644 t/chainlint/exit-loop.expect create mode 100644 t/chainlint/exit-loop.test create mode 100644 t/chainlint/exit-subshell.expect create mode 100644 t/chainlint/exit-subshell.test create mode 100644 t/chainlint/for-loop-abbreviated.expect create mode 100644 t/chainlint/for-loop-abbreviated.test create mode 100644 t/chainlint/for-loop.expect create mode 100644 t/chainlint/for-loop.test create mode 100644 t/chainlint/function.expect create mode 100644 t/chainlint/function.test create mode 100644 t/chainlint/here-doc-close-subshell.expect create mode 100644 t/chainlint/here-doc-close-subshell.test create mode 100644 t/chainlint/here-doc-indent-operator.expect create mode 100644 t/chainlint/here-doc-indent-operator.test create mode 100644 t/chainlint/here-doc-multi-line-command-subst.expect create mode 100644 t/chainlint/here-doc-multi-line-command-subst.test create mode 100644 t/chainlint/here-doc-multi-line-string.expect create mode 100644 t/chainlint/here-doc-multi-line-string.test create mode 100644 t/chainlint/here-doc.expect create mode 100644 t/chainlint/here-doc.test create mode 100644 t/chainlint/if-condition-split.expect create mode 100644 t/chainlint/if-condition-split.test create mode 100644 t/chainlint/if-in-loop.expect create mode 100644 t/chainlint/if-in-loop.test create mode 100644 t/chainlint/if-then-else.expect create mode 100644 t/chainlint/if-then-else.test create mode 100644 t/chainlint/incomplete-line.expect create mode 100644 t/chainlint/incomplete-line.test create mode 100644 t/chainlint/inline-comment.expect create mode 100644 t/chainlint/inline-comment.test create mode 100644 t/chainlint/loop-detect-failure.expect create mode 100644 t/chainlint/loop-detect-failure.test create mode 100644 t/chainlint/loop-detect-status.expect create mode 100644 t/chainlint/loop-detect-status.test create mode 100644 t/chainlint/loop-in-if.expect create mode 100644 t/chainlint/loop-in-if.test create mode 100644 t/chainlint/loop-upstream-pipe.expect create mode 100644 t/chainlint/loop-upstream-pipe.test create mode 100644 t/chainlint/multi-line-nested-command-substitution.expect create mode 100644 t/chainlint/multi-line-nested-command-substitution.test create mode 100644 t/chainlint/multi-line-string.expect create mode 100644 t/chainlint/multi-line-string.test create mode 100644 t/chainlint/negated-one-liner.expect create mode 100644 t/chainlint/negated-one-liner.test create mode 100644 t/chainlint/nested-cuddled-subshell.expect create mode 100644 t/chainlint/nested-cuddled-subshell.test create mode 100644 t/chainlint/nested-here-doc.expect create mode 100644 t/chainlint/nested-here-doc.test create mode 100644 t/chainlint/nested-loop-detect-failure.expect create mode 100644 t/chainlint/nested-loop-detect-failure.test create mode 100644 t/chainlint/nested-subshell-comment.expect create mode 100644 t/chainlint/nested-subshell-comment.test create mode 100644 t/chainlint/nested-subshell.expect create mode 100644 t/chainlint/nested-subshell.test create mode 100644 t/chainlint/not-heredoc.expect create mode 100644 t/chainlint/not-heredoc.test create mode 100644 t/chainlint/one-liner-for-loop.expect create mode 100644 t/chainlint/one-liner-for-loop.test create mode 100644 t/chainlint/one-liner.expect create mode 100644 t/chainlint/one-liner.test create mode 100644 t/chainlint/p4-filespec.expect create mode 100644 t/chainlint/p4-filespec.test create mode 100644 t/chainlint/pipe.expect create mode 100644 t/chainlint/pipe.test create mode 100644 t/chainlint/return-loop.expect create mode 100644 t/chainlint/return-loop.test create mode 100644 t/chainlint/semicolon.expect create mode 100644 t/chainlint/semicolon.test create mode 100644 t/chainlint/sqstring-in-sqstring.expect create mode 100644 t/chainlint/sqstring-in-sqstring.test create mode 100644 t/chainlint/subshell-here-doc.expect create mode 100644 t/chainlint/subshell-here-doc.test create mode 100644 t/chainlint/subshell-one-liner.expect create mode 100644 t/chainlint/subshell-one-liner.test create mode 100644 t/chainlint/t7900-subtree.expect create mode 100644 t/chainlint/t7900-subtree.test create mode 100644 t/chainlint/token-pasting.expect create mode 100644 t/chainlint/token-pasting.test create mode 100644 t/chainlint/while-loop.expect create mode 100644 t/chainlint/while-loop.test create mode 100755 t/check-non-portable-shell.pl create mode 100644 t/helper/.gitignore create mode 100644 t/helper/test-advise.c create mode 100644 t/helper/test-bitmap.c create mode 100644 t/helper/test-bloom.c create mode 100644 t/helper/test-bundle-uri.c create mode 100644 t/helper/test-cache-tree.c create mode 100644 t/helper/test-chmtime.c create mode 100644 t/helper/test-config.c create mode 100644 t/helper/test-crontab.c create mode 100644 t/helper/test-csprng.c create mode 100644 t/helper/test-ctype.c create mode 100644 t/helper/test-date.c create mode 100644 t/helper/test-delta.c create mode 100644 t/helper/test-dir-iterator.c create mode 100644 t/helper/test-drop-caches.c create mode 100644 t/helper/test-dump-cache-tree.c create mode 100644 t/helper/test-dump-fsmonitor.c create mode 100644 t/helper/test-dump-split-index.c create mode 100644 t/helper/test-dump-untracked-cache.c create mode 100644 t/helper/test-example-decorate.c create mode 100644 t/helper/test-fake-ssh.c create mode 100644 t/helper/test-fast-rebase.c create mode 100644 t/helper/test-fsmonitor-client.c create mode 100644 t/helper/test-genrandom.c create mode 100644 t/helper/test-genzeros.c create mode 100644 t/helper/test-getcwd.c create mode 100644 t/helper/test-hash-speed.c create mode 100644 t/helper/test-hash.c create mode 100644 t/helper/test-hashmap.c create mode 100644 t/helper/test-hexdump.c create mode 100644 t/helper/test-index-version.c create mode 100644 t/helper/test-json-writer.c create mode 100644 t/helper/test-lazy-init-name-hash.c create mode 100644 t/helper/test-match-trees.c create mode 100644 t/helper/test-mergesort.c create mode 100644 t/helper/test-mktemp.c create mode 100644 t/helper/test-oid-array.c create mode 100644 t/helper/test-oidmap.c create mode 100644 t/helper/test-oidtree.c create mode 100644 t/helper/test-online-cpus.c create mode 100644 t/helper/test-pack-mtimes.c create mode 100644 t/helper/test-parse-options.c create mode 100644 t/helper/test-parse-pathspec-file.c create mode 100644 t/helper/test-partial-clone.c create mode 100644 t/helper/test-path-utils.c create mode 100644 t/helper/test-pcre2-config.c create mode 100644 t/helper/test-pkt-line.c create mode 100644 t/helper/test-prio-queue.c create mode 100644 t/helper/test-proc-receive.c create mode 100644 t/helper/test-progress.c create mode 100644 t/helper/test-reach.c create mode 100644 t/helper/test-read-cache.c create mode 100644 t/helper/test-read-graph.c create mode 100644 t/helper/test-read-midx.c create mode 100644 t/helper/test-ref-store.c create mode 100644 t/helper/test-reftable.c create mode 100644 t/helper/test-regex.c create mode 100644 t/helper/test-repository.c create mode 100644 t/helper/test-revision-walking.c create mode 100644 t/helper/test-rot13-filter.c create mode 100644 t/helper/test-run-command.c create mode 100644 t/helper/test-scrap-cache-tree.c create mode 100644 t/helper/test-serve-v2.c create mode 100644 t/helper/test-sha1.c create mode 100755 t/helper/test-sha1.sh create mode 100644 t/helper/test-sha256.c create mode 100644 t/helper/test-sigchain.c create mode 100644 t/helper/test-simple-ipc.c create mode 100644 t/helper/test-strcmp-offset.c create mode 100644 t/helper/test-string-list.c create mode 100644 t/helper/test-submodule-config.c create mode 100644 t/helper/test-submodule-nested-repo-config.c create mode 100644 t/helper/test-submodule.c create mode 100644 t/helper/test-subprocess.c create mode 100644 t/helper/test-tool-utils.h create mode 100644 t/helper/test-tool.c create mode 100644 t/helper/test-tool.h create mode 100644 t/helper/test-trace2.c create mode 100644 t/helper/test-urlmatch-normalization.c create mode 100644 t/helper/test-userdiff.c create mode 100644 t/helper/test-wildmatch.c create mode 100644 t/helper/test-windows-named-pipe.c create mode 100644 t/helper/test-write-cache.c create mode 100644 t/helper/test-xml-encode.c create mode 100644 t/interop/.gitignore create mode 100644 t/interop/Makefile create mode 100644 t/interop/README create mode 100755 t/interop/i0000-basic.sh create mode 100755 t/interop/i5500-git-daemon.sh create mode 100755 t/interop/i5700-protocol-transition.sh create mode 100644 t/interop/interop-lib.sh create mode 100644 t/lib-bash.sh create mode 100644 t/lib-bitmap.sh create mode 100644 t/lib-bundle.sh create mode 100755 t/lib-commit-graph.sh create mode 100644 t/lib-credential.sh create mode 100644 t/lib-cvs.sh create mode 100644 t/lib-diff-alternative.sh create mode 100644 t/lib-diff-data.sh create mode 100644 t/lib-diff.sh create mode 100644 t/lib-encoding.sh create mode 100644 t/lib-gettext.sh create mode 100644 t/lib-git-daemon.sh create mode 100644 t/lib-git-p4.sh create mode 100644 t/lib-git-svn.sh create mode 100644 t/lib-gitweb.sh create mode 100644 t/lib-gpg.sh create mode 100644 t/lib-gpg/gpgsm-gen-key.in create mode 100644 t/lib-gpg/gpgsm_cert.p12 create mode 100644 t/lib-gpg/keyring.gpg create mode 100644 t/lib-gpg/ownertrust create mode 100644 t/lib-httpd.sh create mode 100644 t/lib-httpd/apache.conf create mode 100644 t/lib-httpd/apply-one-time-perl.sh create mode 100644 t/lib-httpd/broken-smart-http.sh create mode 100644 t/lib-httpd/error-no-report.sh create mode 100644 t/lib-httpd/error-smart-http.sh create mode 100755 t/lib-httpd/error.sh create mode 100644 t/lib-httpd/incomplete-body-upload-pack-v2-http.sh create mode 100644 t/lib-httpd/incomplete-length-upload-pack-v2-http.sh create mode 100644 t/lib-httpd/passwd create mode 100644 t/lib-httpd/ssl.cnf create mode 100644 t/lib-log-graph.sh create mode 100644 t/lib-merge.sh create mode 100644 t/lib-midx.sh create mode 100644 t/lib-pack.sh create mode 100644 t/lib-pager.sh create mode 100644 t/lib-parallel-checkout.sh create mode 100644 t/lib-patch-mode.sh create mode 100644 t/lib-perl.sh create mode 100644 t/lib-proto-disable.sh create mode 100644 t/lib-read-tree-m-3way.sh create mode 100644 t/lib-read-tree.sh create mode 100644 t/lib-rebase.sh create mode 100644 t/lib-submodule-update.sh create mode 100644 t/lib-subtest.sh create mode 100644 t/lib-sudo.sh create mode 100644 t/lib-t3100.sh create mode 100644 t/lib-t6000.sh create mode 100644 t/lib-terminal.sh create mode 100755 t/lib-unicode-nfc-nfd.sh create mode 100644 t/lib-unique-files.sh create mode 100644 t/oid-info/README create mode 100644 t/oid-info/hash-info create mode 100644 t/oid-info/oid create mode 100644 t/perf/.gitignore create mode 100644 t/perf/Makefile create mode 100644 t/perf/README create mode 100755 t/perf/aggregate.perl create mode 100755 t/perf/bisect_regression create mode 100755 t/perf/bisect_run_script create mode 100644 t/perf/config create mode 100644 t/perf/lib-bitmap.sh create mode 100644 t/perf/lib-pack.sh create mode 100755 t/perf/min_time.perl create mode 100755 t/perf/p0000-perf-lib-sanity.sh create mode 100755 t/perf/p0001-rev-list.sh create mode 100755 t/perf/p0002-read-cache.sh create mode 100755 t/perf/p0003-delta-base-cache.sh create mode 100755 t/perf/p0004-lazy-init-name-hash.sh create mode 100755 t/perf/p0005-status.sh create mode 100755 t/perf/p0006-read-tree-checkout.sh create mode 100755 t/perf/p0007-write-cache.sh create mode 100755 t/perf/p0008-odb-fsync.sh create mode 100755 t/perf/p0071-sort.sh create mode 100755 t/perf/p0090-cache-tree.sh create mode 100755 t/perf/p0100-globbing.sh create mode 100755 t/perf/p1006-cat-file.sh create mode 100755 t/perf/p1400-update-ref.sh create mode 100755 t/perf/p1450-fsck.sh create mode 100755 t/perf/p1451-fsck-skip-list.sh create mode 100755 t/perf/p2000-sparse-operations.sh create mode 100755 t/perf/p3400-rebase.sh create mode 100755 t/perf/p3404-rebase-interactive.sh create mode 100755 t/perf/p4000-diff-algorithms.sh create mode 100755 t/perf/p4001-diff-no-index.sh create mode 100755 t/perf/p4002-diff-color-moved.sh create mode 100755 t/perf/p4205-log-pretty-formats.sh create mode 100755 t/perf/p4209-pickaxe.sh create mode 100755 t/perf/p4211-line-log.sh create mode 100755 t/perf/p4220-log-grep-engines.sh create mode 100755 t/perf/p4221-log-grep-engines-fixed.sh create mode 100755 t/perf/p5302-pack-index.sh create mode 100755 t/perf/p5303-many-packs.sh create mode 100755 t/perf/p5304-prune.sh create mode 100755 t/perf/p5310-pack-bitmaps.sh create mode 100755 t/perf/p5311-pack-bitmaps-fetch.sh create mode 100755 t/perf/p5312-pack-bitmaps-revs.sh create mode 100755 t/perf/p5326-multi-pack-bitmaps.sh create mode 100755 t/perf/p5550-fetch-tags.sh create mode 100755 t/perf/p5551-fetch-rescan.sh create mode 100755 t/perf/p5600-partial-clone.sh create mode 100755 t/perf/p5601-clone-reference.sh create mode 100755 t/perf/p7000-filter-branch.sh create mode 100755 t/perf/p7102-reset.sh create mode 100755 t/perf/p7300-clean.sh create mode 100755 t/perf/p7519-fsmonitor.sh create mode 100755 t/perf/p7527-builtin-fsmonitor.sh create mode 100755 t/perf/p7810-grep.sh create mode 100755 t/perf/p7820-grep-engines.sh create mode 100755 t/perf/p7821-grep-engines-fixed.sh create mode 100755 t/perf/p9210-scalar.sh create mode 100755 t/perf/p9300-fast-import-export.sh create mode 100644 t/perf/perf-lib.sh create mode 100644 t/perf/repos/.gitignore create mode 100755 t/perf/repos/inflate-repo.sh create mode 100755 t/perf/repos/many-files.sh create mode 100755 t/perf/run create mode 100755 t/t0000-basic.sh create mode 100755 t/t0001-init.sh create mode 100755 t/t0002-gitfile.sh create mode 100755 t/t0003-attributes.sh create mode 100755 t/t0004-unwritable.sh create mode 100755 t/t0005-signals.sh create mode 100755 t/t0006-date.sh create mode 100755 t/t0007-git-var.sh create mode 100755 t/t0008-ignores.sh create mode 100755 t/t0009-prio-queue.sh create mode 100755 t/t0010-racy-git.sh create mode 100755 t/t0011-hashmap.sh create mode 100755 t/t0012-help.sh create mode 100755 t/t0013-sha1dc.sh create mode 100644 t/t0013/shattered-1.pdf create mode 100755 t/t0014-alias.sh create mode 100755 t/t0015-hash.sh create mode 100755 t/t0016-oidmap.sh create mode 100755 t/t0017-env-helper.sh create mode 100755 t/t0018-advice.sh create mode 100755 t/t0019-json-writer.sh create mode 100644 t/t0019/parse_json.perl create mode 100755 t/t0020-crlf.sh create mode 100755 t/t0021-conversion.sh create mode 100755 t/t0022-crlf-rename.sh create mode 100755 t/t0023-crlf-am.sh create mode 100755 t/t0024-crlf-archive.sh create mode 100755 t/t0025-crlf-renormalize.sh create mode 100755 t/t0026-eol-config.sh create mode 100755 t/t0027-auto-crlf.sh create mode 100755 t/t0028-working-tree-encoding.sh create mode 100755 t/t0029-core-unsetenvvars.sh create mode 100755 t/t0030-stripspace.sh create mode 100755 t/t0032-reftable-unittest.sh create mode 100755 t/t0033-safe-directory.sh create mode 100755 t/t0034-root-safe-directory.sh create mode 100755 t/t0035-safe-bare-repository.sh create mode 100755 t/t0040-parse-options.sh create mode 100755 t/t0041-usage.sh create mode 100755 t/t0050-filesystem.sh create mode 100755 t/t0051-windows-named-pipe.sh create mode 100755 t/t0052-simple-ipc.sh create mode 100755 t/t0055-beyond-symlinks.sh create mode 100755 t/t0056-git-C.sh create mode 100755 t/t0060-path-utils.sh create mode 100755 t/t0061-run-command.sh create mode 100755 t/t0062-revision-walking.sh create mode 100755 t/t0063-string-list.sh create mode 100755 t/t0064-oid-array.sh create mode 100755 t/t0065-strcmp-offset.sh create mode 100755 t/t0066-dir-iterator.sh create mode 100755 t/t0067-parse_pathspec_file.sh create mode 100755 t/t0068-for-each-repo.sh create mode 100755 t/t0069-oidtree.sh create mode 100755 t/t0070-fundamental.sh create mode 100755 t/t0071-sort.sh create mode 100755 t/t0090-cache-tree.sh create mode 100755 t/t0091-bugreport.sh create mode 100755 t/t0092-diagnose.sh create mode 100755 t/t0095-bloom.sh create mode 100755 t/t0100-previous.sh create mode 100755 t/t0101-at-syntax.sh create mode 100755 t/t0110-urlmatch-normalization.sh create mode 100644 t/t0110/README create mode 100644 t/t0110/url-1 create mode 100644 t/t0110/url-10 create mode 100644 t/t0110/url-11 create mode 100644 t/t0110/url-2 create mode 100644 t/t0110/url-3 create mode 100644 t/t0110/url-4 create mode 100644 t/t0110/url-5 create mode 100644 t/t0110/url-6 create mode 100644 t/t0110/url-7 create mode 100644 t/t0110/url-8 create mode 100644 t/t0110/url-9 create mode 100755 t/t0200-gettext-basic.sh create mode 100644 t/t0200/test.c create mode 100644 t/t0200/test.perl create mode 100644 t/t0200/test.sh create mode 100755 t/t0201-gettext-fallbacks.sh create mode 100755 t/t0202-gettext-perl.sh create mode 100755 t/t0202/test.pl create mode 100755 t/t0203-gettext-setlocale-sanity.sh create mode 100755 t/t0204-gettext-reencode-sanity.sh create mode 100755 t/t0210-trace2-normal.sh create mode 100644 t/t0210/scrub_normal.perl create mode 100755 t/t0211-trace2-perf.sh create mode 100644 t/t0211/scrub_perf.perl create mode 100755 t/t0212-trace2-event.sh create mode 100644 t/t0212/parse_events.perl create mode 100755 t/t0300-credentials.sh create mode 100755 t/t0301-credential-cache.sh create mode 100755 t/t0302-credential-store.sh create mode 100755 t/t0303-credential-external.sh create mode 100755 t/t0410-partial-clone.sh create mode 100755 t/t0450-txt-doc-vs-help.sh create mode 100644 t/t0450/txt-help-mismatches create mode 100755 t/t0500-progress-display.sh create mode 100755 t/t1000-read-tree-m-3way.sh create mode 100755 t/t1001-read-tree-m-2way.sh create mode 100755 t/t1002-read-tree-m-u-2way.sh create mode 100755 t/t1003-read-tree-prefix.sh create mode 100755 t/t1004-read-tree-m-u-wf.sh create mode 100755 t/t1005-read-tree-reset.sh create mode 100755 t/t1006-cat-file.sh create mode 100755 t/t1007-hash-object.sh create mode 100755 t/t1008-read-tree-overlay.sh create mode 100755 t/t1009-read-tree-new-index.sh create mode 100755 t/t1010-mktree.sh create mode 100755 t/t1011-read-tree-sparse-checkout.sh create mode 100755 t/t1012-read-tree-df.sh create mode 100755 t/t1013-read-tree-submodule.sh create mode 100755 t/t1014-read-tree-confusing.sh create mode 100755 t/t1015-read-index-unmerged.sh create mode 100755 t/t1020-subdirectory.sh create mode 100755 t/t1021-rerere-in-workdir.sh create mode 100755 t/t1022-read-tree-partial-clone.sh create mode 100755 t/t1050-large.sh create mode 100755 t/t1051-large-conversion.sh create mode 100755 t/t1060-object-corruption.sh create mode 100755 t/t1090-sparse-checkout-scope.sh create mode 100755 t/t1091-sparse-checkout-builtin.sh create mode 100755 t/t1092-sparse-checkout-compatibility.sh create mode 100755 t/t1100-commit-tree-options.sh create mode 100755 t/t1300-config.sh create mode 100755 t/t1301-shared-repo.sh create mode 100755 t/t1302-repo-version.sh create mode 100755 t/t1303-wacky-config.sh create mode 100755 t/t1304-default-acl.sh create mode 100755 t/t1305-config-include.sh create mode 100755 t/t1306-xdg-files.sh create mode 100755 t/t1307-config-blob.sh create mode 100755 t/t1308-config-set.sh create mode 100755 t/t1309-early-config.sh create mode 100755 t/t1310-config-default.sh create mode 100755 t/t1350-config-hooks-path.sh create mode 100755 t/t1400-update-ref.sh create mode 100755 t/t1401-symbolic-ref.sh create mode 100755 t/t1402-check-ref-format.sh create mode 100755 t/t1403-show-ref.sh create mode 100755 t/t1404-update-ref-errors.sh create mode 100755 t/t1405-main-ref-store.sh create mode 100755 t/t1406-submodule-ref-store.sh create mode 100755 t/t1407-worktree-ref-store.sh create mode 100755 t/t1408-packed-refs.sh create mode 100755 t/t1409-avoid-packing-refs.sh create mode 100755 t/t1410-reflog.sh create mode 100755 t/t1411-reflog-show.sh create mode 100755 t/t1412-reflog-loop.sh create mode 100755 t/t1413-reflog-detach.sh create mode 100755 t/t1414-reflog-walk.sh create mode 100755 t/t1415-worktree-refs.sh create mode 100755 t/t1416-ref-transaction-hooks.sh create mode 100755 t/t1417-reflog-updateref.sh create mode 100755 t/t1418-reflog-exists.sh create mode 100755 t/t1420-lost-found.sh create mode 100755 t/t1430-bad-ref-name.sh create mode 100755 t/t1450-fsck.sh create mode 100755 t/t1500-rev-parse.sh create mode 100755 t/t1501-work-tree.sh create mode 100755 t/t1502-rev-parse-parseopt.sh create mode 100755 t/t1503-rev-parse-verify.sh create mode 100755 t/t1504-ceiling-dirs.sh create mode 100755 t/t1505-rev-parse-last.sh create mode 100755 t/t1506-rev-parse-diagnosis.sh create mode 100755 t/t1507-rev-parse-upstream.sh create mode 100755 t/t1508-at-combinations.sh create mode 100755 t/t1509-root-work-tree.sh create mode 100644 t/t1509/excludes create mode 100755 t/t1509/prepare-chroot.sh create mode 100755 t/t1510-repo-setup.sh create mode 100755 t/t1511-rev-parse-caret.sh create mode 100755 t/t1512-rev-parse-disambiguation.sh create mode 100755 t/t1513-rev-parse-prefix.sh create mode 100755 t/t1514-rev-parse-push.sh create mode 100755 t/t1515-rev-parse-outside-repo.sh create mode 100755 t/t1600-index.sh create mode 100755 t/t1601-index-bogus.sh create mode 100755 t/t1700-split-index.sh create mode 100755 t/t1701-racy-split-index.sh create mode 100755 t/t1800-hook.sh create mode 100755 t/t2000-conflict-when-checking-files-out.sh create mode 100755 t/t2002-checkout-cache-u.sh create mode 100755 t/t2003-checkout-cache-mkdir.sh create mode 100755 t/t2004-checkout-cache-temp.sh create mode 100755 t/t2005-checkout-index-symlinks.sh create mode 100755 t/t2006-checkout-index-basic.sh create mode 100755 t/t2007-checkout-symlink.sh create mode 100755 t/t2008-checkout-subdir.sh create mode 100755 t/t2009-checkout-statinfo.sh create mode 100755 t/t2010-checkout-ambiguous.sh create mode 100755 t/t2011-checkout-invalid-head.sh create mode 100755 t/t2012-checkout-last.sh create mode 100755 t/t2013-checkout-submodule.sh create mode 100755 t/t2014-checkout-switch.sh create mode 100755 t/t2015-checkout-unborn.sh create mode 100755 t/t2016-checkout-patch.sh create mode 100755 t/t2017-checkout-orphan.sh create mode 100755 t/t2018-checkout-branch.sh create mode 100755 t/t2019-checkout-ambiguous-ref.sh create mode 100755 t/t2020-checkout-detach.sh create mode 100755 t/t2021-checkout-overwrite.sh create mode 100755 t/t2022-checkout-paths.sh create mode 100755 t/t2023-checkout-m.sh create mode 100755 t/t2024-checkout-dwim.sh create mode 100755 t/t2025-checkout-no-overlay.sh create mode 100755 t/t2026-checkout-pathspec-file.sh create mode 100755 t/t2027-checkout-track.sh create mode 100755 t/t2030-unresolve-info.sh create mode 100755 t/t2050-git-dir-relative.sh create mode 100755 t/t2060-switch.sh create mode 100755 t/t2070-restore.sh create mode 100755 t/t2071-restore-patch.sh create mode 100755 t/t2072-restore-pathspec-file.sh create mode 100755 t/t2080-parallel-checkout-basics.sh create mode 100755 t/t2081-parallel-checkout-collisions.sh create mode 100755 t/t2082-parallel-checkout-attributes.sh create mode 100755 t/t2100-update-cache-badpath.sh create mode 100755 t/t2101-update-index-reupdate.sh create mode 100755 t/t2102-update-index-symlinks.sh create mode 100755 t/t2103-update-index-ignore-missing.sh create mode 100755 t/t2104-update-index-skip-worktree.sh create mode 100755 t/t2105-update-index-gitfile.sh create mode 100755 t/t2106-update-index-assume-unchanged.sh create mode 100755 t/t2107-update-index-basic.sh create mode 100755 t/t2108-update-index-refresh-racy.sh create mode 100755 t/t2200-add-update.sh create mode 100755 t/t2201-add-update-typechange.sh create mode 100755 t/t2202-add-addremove.sh create mode 100755 t/t2203-add-intent.sh create mode 100755 t/t2204-add-ignored.sh create mode 100755 t/t2205-add-worktree-config.sh create mode 100755 t/t2300-cd-to-toplevel.sh create mode 100755 t/t2400-worktree-add.sh create mode 100755 t/t2401-worktree-prune.sh create mode 100755 t/t2402-worktree-list.sh create mode 100755 t/t2403-worktree-move.sh create mode 100755 t/t2404-worktree-config.sh create mode 100755 t/t2405-worktree-submodule.sh create mode 100755 t/t2406-worktree-repair.sh create mode 100755 t/t2407-worktree-heads.sh create mode 100755 t/t2500-untracked-overwriting.sh create mode 100755 t/t2501-cwd-empty.sh create mode 100755 t/t3000-ls-files-others.sh create mode 100755 t/t3001-ls-files-others-exclude.sh create mode 100755 t/t3002-ls-files-dashpath.sh create mode 100755 t/t3003-ls-files-exclude.sh create mode 100755 t/t3004-ls-files-basic.sh create mode 100755 t/t3005-ls-files-relative.sh create mode 100755 t/t3006-ls-files-long.sh create mode 100755 t/t3007-ls-files-recurse-submodules.sh create mode 100755 t/t3008-ls-files-lazy-init-name-hash.sh create mode 100755 t/t3009-ls-files-others-nonsubmodule.sh create mode 100755 t/t3010-ls-files-killed-modified.sh create mode 100755 t/t3011-common-prefixes-and-directory-traversal.sh create mode 100755 t/t3012-ls-files-dedup.sh create mode 100755 t/t3013-ls-files-format.sh create mode 100755 t/t3020-ls-files-error-unmatch.sh create mode 100755 t/t3040-subprojects-basic.sh create mode 100755 t/t3050-subprojects-fetch.sh create mode 100755 t/t3060-ls-files-with-tree.sh create mode 100755 t/t3070-wildmatch.sh create mode 100755 t/t3100-ls-tree-restrict.sh create mode 100755 t/t3101-ls-tree-dirname.sh create mode 100755 t/t3102-ls-tree-wildcards.sh create mode 100755 t/t3103-ls-tree-misc.sh create mode 100755 t/t3104-ls-tree-format.sh create mode 100755 t/t3105-ls-tree-output.sh create mode 100755 t/t3200-branch.sh create mode 100755 t/t3201-branch-contains.sh create mode 100755 t/t3202-show-branch.sh create mode 100755 t/t3203-branch-output.sh create mode 100755 t/t3204-branch-name-interpretation.sh create mode 100755 t/t3205-branch-color.sh create mode 100755 t/t3206-range-diff.sh create mode 100644 t/t3206/history.export create mode 100755 t/t3207-branch-submodule.sh create mode 100755 t/t3210-pack-refs.sh create mode 100755 t/t3211-peel-ref.sh create mode 100755 t/t3300-funny-names.sh create mode 100755 t/t3301-notes.sh create mode 100755 t/t3302-notes-index-expensive.sh create mode 100755 t/t3303-notes-subtrees.sh create mode 100755 t/t3304-notes-mixed.sh create mode 100755 t/t3305-notes-fanout.sh create mode 100755 t/t3306-notes-prune.sh create mode 100755 t/t3307-notes-man.sh create mode 100755 t/t3308-notes-merge.sh create mode 100755 t/t3309-notes-merge-auto-resolve.sh create mode 100755 t/t3310-notes-merge-manual-resolve.sh create mode 100755 t/t3311-notes-merge-fanout.sh create mode 100755 t/t3320-notes-merge-worktrees.sh create mode 100755 t/t3400-rebase.sh create mode 100755 t/t3401-rebase-and-am-rename.sh create mode 100755 t/t3402-rebase-merge.sh create mode 100755 t/t3403-rebase-skip.sh create mode 100755 t/t3404-rebase-interactive.sh create mode 100755 t/t3405-rebase-malformed.sh create mode 100755 t/t3406-rebase-message.sh create mode 100755 t/t3407-rebase-abort.sh create mode 100755 t/t3408-rebase-multi-line.sh create mode 100755 t/t3409-rebase-environ.sh create mode 100755 t/t3412-rebase-root.sh create mode 100755 t/t3413-rebase-hook.sh create mode 100755 t/t3415-rebase-autosquash.sh create mode 100755 t/t3416-rebase-onto-threedots.sh create mode 100755 t/t3417-rebase-whitespace-fix.sh create mode 100755 t/t3418-rebase-continue.sh create mode 100755 t/t3419-rebase-patch-id.sh create mode 100755 t/t3420-rebase-autostash.sh create mode 100755 t/t3421-rebase-topology-linear.sh create mode 100755 t/t3422-rebase-incompatible-options.sh create mode 100755 t/t3423-rebase-reword.sh create mode 100755 t/t3424-rebase-empty.sh create mode 100755 t/t3425-rebase-topology-merges.sh create mode 100755 t/t3426-rebase-submodule.sh create mode 100755 t/t3427-rebase-subtree.sh create mode 100755 t/t3428-rebase-signoff.sh create mode 100755 t/t3429-rebase-edit-todo.sh create mode 100755 t/t3430-rebase-merges.sh create mode 100755 t/t3431-rebase-fork-point.sh create mode 100755 t/t3432-rebase-fast-forward.sh create mode 100755 t/t3433-rebase-across-mode-change.sh create mode 100755 t/t3434-rebase-i18n.sh create mode 100644 t/t3434/ISO8859-1.txt create mode 100644 t/t3434/eucJP.txt create mode 100755 t/t3435-rebase-gpg-sign.sh create mode 100755 t/t3436-rebase-more-options.sh create mode 100755 t/t3437-rebase-fixup-options.sh create mode 100644 t/t3437/expected-combined-message create mode 100644 t/t3437/expected-squash-message create mode 100755 t/t3438-rebase-broken-files.sh create mode 100755 t/t3500-cherry.sh create mode 100755 t/t3501-revert-cherry-pick.sh create mode 100755 t/t3502-cherry-pick-merge.sh create mode 100755 t/t3503-cherry-pick-root.sh create mode 100755 t/t3504-cherry-pick-rerere.sh create mode 100755 t/t3505-cherry-pick-empty.sh create mode 100755 t/t3506-cherry-pick-ff.sh create mode 100755 t/t3507-cherry-pick-conflict.sh create mode 100755 t/t3508-cherry-pick-many-commits.sh create mode 100755 t/t3509-cherry-pick-merge-df.sh create mode 100755 t/t3510-cherry-pick-sequence.sh create mode 100755 t/t3511-cherry-pick-x.sh create mode 100755 t/t3512-cherry-pick-submodule.sh create mode 100755 t/t3513-revert-submodule.sh create mode 100755 t/t3514-cherry-pick-revert-gpg.sh create mode 100755 t/t3600-rm.sh create mode 100755 t/t3601-rm-pathspec-file.sh create mode 100755 t/t3602-rm-sparse-checkout.sh create mode 100755 t/t3700-add.sh create mode 100755 t/t3701-add-interactive.sh create mode 100755 t/t3702-add-edit.sh create mode 100755 t/t3703-add-magic-pathspec.sh create mode 100755 t/t3704-add-pathspec-file.sh create mode 100755 t/t3705-add-sparse-checkout.sh create mode 100755 t/t3800-mktag.sh create mode 100755 t/t3900-i18n-commit.sh create mode 100644 t/t3900/1-UTF-8.txt create mode 100644 t/t3900/2-UTF-8.txt create mode 100644 t/t3900/ISO-2022-JP.txt create mode 100644 t/t3900/ISO8859-1.txt create mode 100644 t/t3900/UTF-16.txt create mode 100644 t/t3900/eucJP.txt create mode 100755 t/t3901-i18n-patch.sh create mode 100755 t/t3901/8859-1.txt create mode 100755 t/t3901/utf8.txt create mode 100755 t/t3902-quoted.sh create mode 100755 t/t3903-stash.sh create mode 100755 t/t3904-stash-patch.sh create mode 100755 t/t3905-stash-include-untracked.sh create mode 100755 t/t3906-stash-submodule.sh create mode 100755 t/t3907-stash-show-config.sh create mode 100755 t/t3908-stash-in-worktree.sh create mode 100755 t/t3909-stash-pathspec-file.sh create mode 100755 t/t3910-mac-os-precompose.sh create mode 100755 t/t3920-crlf-messages.sh create mode 100755 t/t4000-diff-format.sh create mode 100755 t/t4001-diff-rename.sh create mode 100755 t/t4002-diff-basic.sh create mode 100755 t/t4003-diff-rename-1.sh create mode 100755 t/t4004-diff-rename-symlink.sh create mode 100755 t/t4005-diff-rename-2.sh create mode 100755 t/t4006-diff-mode.sh create mode 100755 t/t4007-rename-3.sh create mode 100755 t/t4008-diff-break-rewrite.sh create mode 100755 t/t4009-diff-rename-4.sh create mode 100755 t/t4010-diff-pathspec.sh create mode 100755 t/t4011-diff-symlink.sh create mode 100755 t/t4012-diff-binary.sh create mode 100755 t/t4013-diff-various.sh create mode 100644 t/t4013/diff.config_format.subjectprefix_DIFFERENT_PREFIX create mode 100644 t/t4013/diff.diff-tree_--cc_--patch-with-stat_--summary_master create mode 100644 t/t4013/diff.diff-tree_--cc_--patch-with-stat_--summary_side create mode 100644 t/t4013/diff.diff-tree_--cc_--patch-with-stat_master create mode 100644 t/t4013/diff.diff-tree_--cc_--shortstat_master create mode 100644 t/t4013/diff.diff-tree_--cc_--stat_--summary_master create mode 100644 t/t4013/diff.diff-tree_--cc_--stat_--summary_side create mode 100644 t/t4013/diff.diff-tree_--cc_--stat_master create mode 100644 t/t4013/diff.diff-tree_--cc_--summary_REVERSE create mode 100644 t/t4013/diff.diff-tree_--cc_master create mode 100644 t/t4013/diff.diff-tree_--format=%N_note create mode 100644 t/t4013/diff.diff-tree_--patch-with-raw_initial create mode 100644 t/t4013/diff.diff-tree_--patch-with-stat_initial create mode 100644 t/t4013/diff.diff-tree_--pretty=oneline_--patch-with-raw_initial create mode 100644 t/t4013/diff.diff-tree_--pretty=oneline_--patch-with-stat_initial create mode 100644 t/t4013/diff.diff-tree_--pretty=oneline_--root_--patch-with-raw_initial create mode 100644 t/t4013/diff.diff-tree_--pretty=oneline_--root_--patch-with-stat_initial create mode 100644 t/t4013/diff.diff-tree_--pretty=oneline_--root_-p_initial create mode 100644 t/t4013/diff.diff-tree_--pretty=oneline_--root_initial create mode 100644 t/t4013/diff.diff-tree_--pretty=oneline_-p_initial create mode 100644 t/t4013/diff.diff-tree_--pretty=oneline_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--notes_note create mode 100644 t/t4013/diff.diff-tree_--pretty_--patch-with-raw_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--patch-with-stat_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--patch-with-stat_side create mode 100644 t/t4013/diff.diff-tree_--pretty_--root_--patch-with-raw_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--root_--patch-with-stat_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--root_--stat_--compact-summary_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--root_--stat_--summary_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--root_--stat_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--root_--summary_-r_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--root_--summary_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--root_-p_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--root_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--stat_--summary_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--stat_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_--summary_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_-R_--root_--stat_--compact-summary_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_-p_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_-p_side create mode 100644 t/t4013/diff.diff-tree_--pretty_initial create mode 100644 t/t4013/diff.diff-tree_--pretty_note create mode 100644 t/t4013/diff.diff-tree_--pretty_side create mode 100644 t/t4013/diff.diff-tree_--root_--abbrev_initial create mode 100644 t/t4013/diff.diff-tree_--root_--patch-with-raw_initial create mode 100644 t/t4013/diff.diff-tree_--root_--patch-with-stat_initial create mode 100644 t/t4013/diff.diff-tree_--root_-p_--abbrev=10_initial create mode 100644 t/t4013/diff.diff-tree_--root_-p_--full-index_--abbrev=10_initial create mode 100644 t/t4013/diff.diff-tree_--root_-p_--full-index_initial create mode 100644 t/t4013/diff.diff-tree_--root_-p_initial create mode 100644 t/t4013/diff.diff-tree_--root_-r_--abbrev=4_initial create mode 100644 t/t4013/diff.diff-tree_--root_-r_--abbrev_initial create mode 100644 t/t4013/diff.diff-tree_--root_-r_initial create mode 100644 t/t4013/diff.diff-tree_--root_initial create mode 100644 t/t4013/diff.diff-tree_--stat_--compact-summary_initial_mode create mode 100644 t/t4013/diff.diff-tree_--stat_initial_mode create mode 100644 t/t4013/diff.diff-tree_--summary_initial_mode create mode 100644 t/t4013/diff.diff-tree_-R_--stat_--compact-summary_initial_mode create mode 100644 t/t4013/diff.diff-tree_-c_--abbrev_master create mode 100644 t/t4013/diff.diff-tree_-c_--stat_--summary_master create mode 100644 t/t4013/diff.diff-tree_-c_--stat_--summary_side create mode 100644 t/t4013/diff.diff-tree_-c_--stat_master create mode 100644 t/t4013/diff.diff-tree_-c_master create mode 100644 t/t4013/diff.diff-tree_-m_master create mode 100644 t/t4013/diff.diff-tree_-p_-m_master create mode 100644 t/t4013/diff.diff-tree_-p_initial create mode 100644 t/t4013/diff.diff-tree_-p_master create mode 100644 t/t4013/diff.diff-tree_-r_--abbrev=4_initial create mode 100644 t/t4013/diff.diff-tree_-r_--abbrev_initial create mode 100644 t/t4013/diff.diff-tree_-r_initial create mode 100644 t/t4013/diff.diff-tree_initial create mode 100644 t/t4013/diff.diff-tree_initial_mode create mode 100644 t/t4013/diff.diff-tree_master create mode 100644 t/t4013/diff.diff_--abbrev_initial..side create mode 100644 t/t4013/diff.diff_--cached create mode 100644 t/t4013/diff.diff_--cached_--_file0 create mode 100644 t/t4013/diff.diff_--dirstat-by-file_initial_rearrange create mode 100644 t/t4013/diff.diff_--dirstat_--cc_master~1_master create mode 100644 t/t4013/diff.diff_--dirstat_initial_rearrange create mode 100644 t/t4013/diff.diff_--dirstat_master~1_master~2 create mode 100644 t/t4013/diff.diff_--line-prefix=abc_master_master^_side create mode 100644 t/t4013/diff.diff_--line-prefix_--cached_--_file0 create mode 100644 t/t4013/diff.diff_--name-status_dir2_dir create mode 100644 t/t4013/diff.diff_--no-index_--name-status_--_dir2_dir create mode 100644 t/t4013/diff.diff_--no-index_--name-status_dir2_dir create mode 100644 t/t4013/diff.diff_--no-index_--raw_--abbrev=4_dir2_dir create mode 100644 t/t4013/diff.diff_--no-index_--raw_--no-abbrev_dir2_dir create mode 100644 t/t4013/diff.diff_--no-index_--raw_dir2_dir create mode 100644 t/t4013/diff.diff_--no-index_dir_dir3 create mode 100644 t/t4013/diff.diff_--patch-with-raw_-r_initial..side create mode 100644 t/t4013/diff.diff_--patch-with-raw_initial..side create mode 100644 t/t4013/diff.diff_--patch-with-stat_-r_initial..side create mode 100644 t/t4013/diff.diff_--patch-with-stat_initial..side create mode 100644 t/t4013/diff.diff_--raw_--abbrev=4_initial create mode 100644 t/t4013/diff.diff_--raw_--no-abbrev_initial create mode 100644 t/t4013/diff.diff_--raw_initial create mode 100644 t/t4013/diff.diff_--stat_initial..side create mode 100644 t/t4013/diff.diff_-U1_initial..side create mode 100644 t/t4013/diff.diff_-U2_initial..side create mode 100644 t/t4013/diff.diff_-U_initial..side create mode 100644 t/t4013/diff.diff_-r_--stat_initial..side create mode 100644 t/t4013/diff.diff_-r_initial..side create mode 100644 t/t4013/diff.diff_initial..side create mode 100644 t/t4013/diff.diff_master_master^_side create mode 100644 t/t4013/diff.format-patch_--attach_--stdout_--suffix=.diff_initial..side create mode 100644 t/t4013/diff.format-patch_--attach_--stdout_initial..master create mode 100644 t/t4013/diff.format-patch_--attach_--stdout_initial..master^ create mode 100644 t/t4013/diff.format-patch_--attach_--stdout_initial..side create mode 100644 t/t4013/diff.format-patch_--inline_--stdout_--numbered-files_initial..master create mode 100644 t/t4013/diff.format-patch_--inline_--stdout_--subject-prefix=TESTCASE_initial..master create mode 100644 t/t4013/diff.format-patch_--inline_--stdout_initial..master create mode 100644 t/t4013/diff.format-patch_--inline_--stdout_initial..master^ create mode 100644 t/t4013/diff.format-patch_--inline_--stdout_initial..master^^ create mode 100644 t/t4013/diff.format-patch_--inline_--stdout_initial..side create mode 100644 t/t4013/diff.format-patch_--stdout_--cover-letter_-n_initial..master^ create mode 100644 t/t4013/diff.format-patch_--stdout_--no-numbered_initial..master create mode 100644 t/t4013/diff.format-patch_--stdout_--numbered_initial..master create mode 100644 t/t4013/diff.format-patch_--stdout_initial..master create mode 100644 t/t4013/diff.format-patch_--stdout_initial..master^ create mode 100644 t/t4013/diff.format-patch_--stdout_initial..side create mode 100644 t/t4013/diff.log_--cc_-m_-p_master create mode 100644 t/t4013/diff.log_--decorate=full_--all create mode 100644 t/t4013/diff.log_--decorate=full_--clear-decorations_--all create mode 100644 t/t4013/diff.log_--decorate=full_--decorate-all_--all create mode 100644 t/t4013/diff.log_--decorate_--all create mode 100644 t/t4013/diff.log_--decorate_--clear-decorations_--all create mode 100644 t/t4013/diff.log_--decorate_--decorate-all_--all create mode 100644 t/t4013/diff.log_--diff-merges=first-parent_master create mode 100644 t/t4013/diff.log_--diff-merges=off_-p_--first-parent_master create mode 100644 t/t4013/diff.log_--first-parent_--diff-merges=off_-p_master create mode 100644 t/t4013/diff.log_--no-diff-merges_-p_--first-parent_master create mode 100644 t/t4013/diff.log_--patch-with-stat_--summary_master_--_dir_ create mode 100644 t/t4013/diff.log_--patch-with-stat_master create mode 100644 t/t4013/diff.log_--patch-with-stat_master_--_dir_ create mode 100644 t/t4013/diff.log_--root_--cc_--patch-with-stat_--summary_master create mode 100644 t/t4013/diff.log_--root_--patch-with-stat_--summary_master create mode 100644 t/t4013/diff.log_--root_--patch-with-stat_master create mode 100644 t/t4013/diff.log_--root_-c_--patch-with-stat_--summary_master create mode 100644 t/t4013/diff.log_--root_-p_master create mode 100644 t/t4013/diff.log_--root_master create mode 100644 t/t4013/diff.log_-GF_-p_--pickaxe-all_master create mode 100644 t/t4013/diff.log_-GF_-p_master create mode 100644 t/t4013/diff.log_-GF_master create mode 100644 t/t4013/diff.log_-IA_-IB_-I1_-I2_-p_master create mode 100644 t/t4013/diff.log_-SF_-p_master create mode 100644 t/t4013/diff.log_-SF_master create mode 100644 t/t4013/diff.log_-SF_master_--max-count=0 create mode 100644 t/t4013/diff.log_-SF_master_--max-count=1 create mode 100644 t/t4013/diff.log_-SF_master_--max-count=2 create mode 100644 t/t4013/diff.log_-S_F_master create mode 100644 t/t4013/diff.log_-c_-m_-p_master create mode 100644 t/t4013/diff.log_-m_--raw_master create mode 100644 t/t4013/diff.log_-m_--stat_master create mode 100644 t/t4013/diff.log_-m_-p_--first-parent_master create mode 100644 t/t4013/diff.log_-m_-p_master create mode 100644 t/t4013/diff.log_-p_--diff-merges=first-parent_master create mode 100644 t/t4013/diff.log_-p_--first-parent_master create mode 100644 t/t4013/diff.log_-p_master create mode 100644 t/t4013/diff.log_master create mode 100644 t/t4013/diff.noellipses-diff-tree_--root_--abbrev_initial create mode 100644 t/t4013/diff.noellipses-diff-tree_--root_-r_--abbrev=4_initial create mode 100644 t/t4013/diff.noellipses-diff-tree_--root_-r_--abbrev_initial create mode 100644 t/t4013/diff.noellipses-diff-tree_-c_--abbrev_master create mode 100644 t/t4013/diff.noellipses-diff_--no-index_--raw_--abbrev=4_dir2_dir create mode 100644 t/t4013/diff.noellipses-diff_--no-index_--raw_dir2_dir create mode 100644 t/t4013/diff.noellipses-diff_--patch-with-raw_-r_initial..side create mode 100644 t/t4013/diff.noellipses-diff_--patch-with-raw_initial..side create mode 100644 t/t4013/diff.noellipses-diff_--raw_--abbrev=4_initial create mode 100644 t/t4013/diff.noellipses-diff_--raw_initial create mode 100644 t/t4013/diff.noellipses-show_--patch-with-raw_side create mode 100644 t/t4013/diff.noellipses-whatchanged_--root_master create mode 100644 t/t4013/diff.noellipses-whatchanged_-SF_master create mode 100644 t/t4013/diff.noellipses-whatchanged_master create mode 100644 t/t4013/diff.rev-list_--children_HEAD create mode 100644 t/t4013/diff.rev-list_--parents_HEAD create mode 100644 t/t4013/diff.show_--first-parent_master create mode 100644 t/t4013/diff.show_--patch-with-raw_side create mode 100644 t/t4013/diff.show_--patch-with-stat_--summary_side create mode 100644 t/t4013/diff.show_--patch-with-stat_side create mode 100644 t/t4013/diff.show_--root_initial create mode 100644 t/t4013/diff.show_--stat_--summary_side create mode 100644 t/t4013/diff.show_--stat_side create mode 100644 t/t4013/diff.show_-c_master create mode 100644 t/t4013/diff.show_-m_master create mode 100644 t/t4013/diff.show_initial create mode 100644 t/t4013/diff.show_master create mode 100644 t/t4013/diff.show_side create mode 100644 t/t4013/diff.whatchanged_--patch-with-stat_--summary_master_--_dir_ create mode 100644 t/t4013/diff.whatchanged_--patch-with-stat_master create mode 100644 t/t4013/diff.whatchanged_--patch-with-stat_master_--_dir_ create mode 100644 t/t4013/diff.whatchanged_--root_--cc_--patch-with-stat_--summary_master create mode 100644 t/t4013/diff.whatchanged_--root_--patch-with-stat_--summary_master create mode 100644 t/t4013/diff.whatchanged_--root_--patch-with-stat_master create mode 100644 t/t4013/diff.whatchanged_--root_-c_--patch-with-stat_--summary_master create mode 100644 t/t4013/diff.whatchanged_--root_-p_master create mode 100644 t/t4013/diff.whatchanged_--root_master create mode 100644 t/t4013/diff.whatchanged_-SF_-p_master create mode 100644 t/t4013/diff.whatchanged_-SF_master create mode 100644 t/t4013/diff.whatchanged_-p_master create mode 100644 t/t4013/diff.whatchanged_master create mode 100755 t/t4014-format-patch.sh create mode 100755 t/t4015-diff-whitespace.sh create mode 100755 t/t4016-diff-quote.sh create mode 100755 t/t4017-diff-retval.sh create mode 100755 t/t4018-diff-funcname.sh create mode 100644 t/t4018/README create mode 100644 t/t4018/bash-arithmetic-function create mode 100644 t/t4018/bash-bashism-style-compact create mode 100644 t/t4018/bash-bashism-style-function create mode 100644 t/t4018/bash-bashism-style-whitespace create mode 100644 t/t4018/bash-conditional-function create mode 100644 t/t4018/bash-missing-parentheses create mode 100644 t/t4018/bash-mixed-style-compact create mode 100644 t/t4018/bash-mixed-style-function create mode 100644 t/t4018/bash-nested-functions create mode 100644 t/t4018/bash-other-characters create mode 100644 t/t4018/bash-posix-style-compact create mode 100644 t/t4018/bash-posix-style-function create mode 100644 t/t4018/bash-posix-style-whitespace create mode 100644 t/t4018/bash-subshell-function create mode 100644 t/t4018/bash-trailing-comment create mode 100644 t/t4018/cpp-c++-function create mode 100644 t/t4018/cpp-class-constructor create mode 100644 t/t4018/cpp-class-constructor-mem-init create mode 100644 t/t4018/cpp-class-definition create mode 100644 t/t4018/cpp-class-definition-derived create mode 100644 t/t4018/cpp-class-destructor create mode 100644 t/t4018/cpp-function-returning-global-type create mode 100644 t/t4018/cpp-function-returning-nested create mode 100644 t/t4018/cpp-function-returning-pointer create mode 100644 t/t4018/cpp-function-returning-reference create mode 100644 t/t4018/cpp-gnu-style-function create mode 100644 t/t4018/cpp-namespace-definition create mode 100644 t/t4018/cpp-operator-definition create mode 100644 t/t4018/cpp-skip-access-specifiers create mode 100644 t/t4018/cpp-skip-comment-block create mode 100644 t/t4018/cpp-skip-labels create mode 100644 t/t4018/cpp-struct-definition create mode 100644 t/t4018/cpp-struct-single-line create mode 100644 t/t4018/cpp-template-function-definition create mode 100644 t/t4018/cpp-union-definition create mode 100644 t/t4018/cpp-void-c-function create mode 100644 t/t4018/css-attribute-value-selector create mode 100644 t/t4018/css-block-level-@-statements create mode 100644 t/t4018/css-brace-in-col-1 create mode 100644 t/t4018/css-class-selector create mode 100644 t/t4018/css-colon-eol create mode 100644 t/t4018/css-colon-selector create mode 100644 t/t4018/css-common create mode 100644 t/t4018/css-id-selector create mode 100644 t/t4018/css-long-selector-list create mode 100644 t/t4018/css-prop-sans-indent create mode 100644 t/t4018/css-root-selector create mode 100644 t/t4018/css-short-selector-list create mode 100644 t/t4018/css-trailing-space create mode 100644 t/t4018/custom1-pattern create mode 100644 t/t4018/custom2-match-to-end-of-line create mode 100644 t/t4018/custom3-alternation-in-pattern create mode 100644 t/t4018/dts-labels create mode 100644 t/t4018/dts-node-unitless create mode 100644 t/t4018/dts-nodes create mode 100644 t/t4018/dts-nodes-boolean-prop create mode 100644 t/t4018/dts-nodes-comment1 create mode 100644 t/t4018/dts-nodes-comment2 create mode 100644 t/t4018/dts-nodes-multiline-prop create mode 100644 t/t4018/dts-reference create mode 100644 t/t4018/dts-root create mode 100644 t/t4018/dts-root-comment create mode 100644 t/t4018/elixir-do-not-pick-end create mode 100644 t/t4018/elixir-ex-unit-test create mode 100644 t/t4018/elixir-function create mode 100644 t/t4018/elixir-macro create mode 100644 t/t4018/elixir-module create mode 100644 t/t4018/elixir-module-func create mode 100644 t/t4018/elixir-nested-module create mode 100644 t/t4018/elixir-private-function create mode 100644 t/t4018/elixir-protocol create mode 100644 t/t4018/elixir-protocol-implementation create mode 100644 t/t4018/fortran-block-data create mode 100644 t/t4018/fortran-comment create mode 100644 t/t4018/fortran-comment-keyword create mode 100644 t/t4018/fortran-comment-legacy create mode 100644 t/t4018/fortran-comment-legacy-star create mode 100644 t/t4018/fortran-external-function create mode 100644 t/t4018/fortran-external-subroutine create mode 100644 t/t4018/fortran-module create mode 100644 t/t4018/fortran-module-procedure create mode 100644 t/t4018/fortran-program create mode 100644 t/t4018/fountain-scene create mode 100644 t/t4018/golang-complex-function create mode 100644 t/t4018/golang-func create mode 100644 t/t4018/golang-interface create mode 100644 t/t4018/golang-long-func create mode 100644 t/t4018/golang-struct create mode 100644 t/t4018/java-class-member-function create mode 100644 t/t4018/java-enum-constant create mode 100644 t/t4018/java-method-return-generic-bounded create mode 100644 t/t4018/java-method-return-generic-wildcard create mode 100644 t/t4018/java-nested-field create mode 100644 t/t4018/kotlin-class create mode 100644 t/t4018/kotlin-enum-class create mode 100644 t/t4018/kotlin-fun create mode 100644 t/t4018/kotlin-inheritace-class create mode 100644 t/t4018/kotlin-inline-class create mode 100644 t/t4018/kotlin-interface create mode 100644 t/t4018/kotlin-nested-fun create mode 100644 t/t4018/kotlin-public-class create mode 100644 t/t4018/kotlin-sealed-class create mode 100644 t/t4018/markdown-heading-indented create mode 100644 t/t4018/markdown-heading-non-headings create mode 100644 t/t4018/matlab-class-definition create mode 100644 t/t4018/matlab-function create mode 100644 t/t4018/matlab-octave-section-1 create mode 100644 t/t4018/matlab-octave-section-2 create mode 100644 t/t4018/matlab-section create mode 100644 t/t4018/perl-skip-end-of-heredoc create mode 100644 t/t4018/perl-skip-forward-decl create mode 100644 t/t4018/perl-skip-sub-in-pod create mode 100644 t/t4018/perl-sub-definition create mode 100644 t/t4018/perl-sub-definition-kr-brace create mode 100644 t/t4018/php-abstract-class create mode 100644 t/t4018/php-abstract-method create mode 100644 t/t4018/php-class create mode 100644 t/t4018/php-enum create mode 100644 t/t4018/php-final-class create mode 100644 t/t4018/php-final-method create mode 100644 t/t4018/php-function create mode 100644 t/t4018/php-interface create mode 100644 t/t4018/php-method create mode 100644 t/t4018/php-trait create mode 100644 t/t4018/python-async-def create mode 100644 t/t4018/python-class create mode 100644 t/t4018/python-def create mode 100644 t/t4018/python-indented-async-def create mode 100644 t/t4018/python-indented-class create mode 100644 t/t4018/python-indented-def create mode 100644 t/t4018/rust-fn create mode 100644 t/t4018/rust-impl create mode 100644 t/t4018/rust-macro-rules create mode 100644 t/t4018/rust-struct create mode 100644 t/t4018/rust-trait create mode 100644 t/t4018/scheme-class create mode 100644 t/t4018/scheme-def create mode 100644 t/t4018/scheme-def-variant create mode 100644 t/t4018/scheme-define-slash-public create mode 100644 t/t4018/scheme-define-syntax create mode 100644 t/t4018/scheme-define-variant create mode 100644 t/t4018/scheme-library create mode 100644 t/t4018/scheme-local-define create mode 100644 t/t4018/scheme-module create mode 100644 t/t4018/scheme-top-level-define create mode 100644 t/t4018/scheme-user-defined-define create mode 100755 t/t4019-diff-wserror.sh create mode 100755 t/t4020-diff-external.sh create mode 100644 t/t4020/diff.NUL create mode 100755 t/t4021-format-patch-numbered.sh create mode 100755 t/t4022-diff-rewrite.sh create mode 100755 t/t4023-diff-rename-typechange.sh create mode 100755 t/t4024-diff-optimize-common.sh create mode 100755 t/t4025-hunk-header.sh create mode 100755 t/t4026-color.sh create mode 100755 t/t4027-diff-submodule.sh create mode 100755 t/t4028-format-patch-mime-headers.sh create mode 100755 t/t4029-diff-trailing-space.sh create mode 100755 t/t4030-diff-textconv.sh create mode 100755 t/t4031-diff-rewrite-binary.sh create mode 100755 t/t4032-diff-inter-hunk-context.sh create mode 100755 t/t4033-diff-patience.sh create mode 100755 t/t4034-diff-words.sh create mode 100644 t/t4034/ada/expect create mode 100644 t/t4034/ada/post create mode 100644 t/t4034/ada/pre create mode 100644 t/t4034/bibtex/expect create mode 100644 t/t4034/bibtex/post create mode 100644 t/t4034/bibtex/pre create mode 100644 t/t4034/cpp/expect create mode 100644 t/t4034/cpp/post create mode 100644 t/t4034/cpp/pre create mode 100644 t/t4034/csharp/expect create mode 100644 t/t4034/csharp/post create mode 100644 t/t4034/csharp/pre create mode 100644 t/t4034/css/expect create mode 100644 t/t4034/css/post create mode 100644 t/t4034/css/pre create mode 100644 t/t4034/dts/expect create mode 100644 t/t4034/dts/post create mode 100644 t/t4034/dts/pre create mode 100644 t/t4034/fortran/expect create mode 100644 t/t4034/fortran/post create mode 100644 t/t4034/fortran/pre create mode 100644 t/t4034/html/expect create mode 100644 t/t4034/html/post create mode 100644 t/t4034/html/pre create mode 100644 t/t4034/java/expect create mode 100644 t/t4034/java/post create mode 100644 t/t4034/java/pre create mode 100644 t/t4034/kotlin/expect create mode 100644 t/t4034/kotlin/post create mode 100644 t/t4034/kotlin/pre create mode 100644 t/t4034/matlab/expect create mode 100644 t/t4034/matlab/post create mode 100644 t/t4034/matlab/pre create mode 100644 t/t4034/objc/expect create mode 100644 t/t4034/objc/post create mode 100644 t/t4034/objc/pre create mode 100644 t/t4034/pascal/expect create mode 100644 t/t4034/pascal/post create mode 100644 t/t4034/pascal/pre create mode 100644 t/t4034/perl/expect create mode 100644 t/t4034/perl/post create mode 100644 t/t4034/perl/pre create mode 100644 t/t4034/php/expect create mode 100644 t/t4034/php/post create mode 100644 t/t4034/php/pre create mode 100644 t/t4034/python/expect create mode 100644 t/t4034/python/post create mode 100644 t/t4034/python/pre create mode 100644 t/t4034/ruby/expect create mode 100644 t/t4034/ruby/post create mode 100644 t/t4034/ruby/pre create mode 100644 t/t4034/scheme/expect create mode 100644 t/t4034/scheme/post create mode 100644 t/t4034/scheme/pre create mode 100644 t/t4034/tex/expect create mode 100644 t/t4034/tex/post create mode 100644 t/t4034/tex/pre create mode 100755 t/t4035-diff-quiet.sh create mode 100755 t/t4036-format-patch-signer-mime.sh create mode 100755 t/t4037-diff-r-t-dirs.sh create mode 100755 t/t4038-diff-combined.sh create mode 100755 t/t4039-diff-assume-unchanged.sh create mode 100755 t/t4040-whitespace-status.sh create mode 100755 t/t4041-diff-submodule-option.sh create mode 100755 t/t4042-diff-textconv-caching.sh create mode 100755 t/t4043-diff-rename-binary.sh create mode 100755 t/t4044-diff-index-unique-abbrev.sh create mode 100755 t/t4045-diff-relative.sh create mode 100755 t/t4046-diff-unmerged.sh create mode 100755 t/t4047-diff-dirstat.sh create mode 100755 t/t4048-diff-combined-binary.sh create mode 100755 t/t4049-diff-stat-count.sh create mode 100755 t/t4050-diff-histogram.sh create mode 100755 t/t4051-diff-function-context.sh create mode 100644 t/t4051/appended1.c create mode 100644 t/t4051/appended2.c create mode 100644 t/t4051/dummy.c create mode 100644 t/t4051/hello.c create mode 100644 t/t4051/includes.c create mode 100755 t/t4052-stat-output.sh create mode 100755 t/t4053-diff-no-index.sh create mode 100755 t/t4054-diff-bogus-tree.sh create mode 100755 t/t4055-diff-context.sh create mode 100755 t/t4056-diff-order.sh create mode 100755 t/t4057-diff-combined-paths.sh create mode 100755 t/t4058-diff-duplicates.sh create mode 100755 t/t4059-diff-submodule-not-initialized.sh create mode 100755 t/t4060-diff-submodule-option-diff-format.sh create mode 100755 t/t4061-diff-indent.sh create mode 100755 t/t4062-diff-pickaxe.sh create mode 100755 t/t4063-diff-blobs.sh create mode 100755 t/t4064-diff-oidfind.sh create mode 100755 t/t4065-diff-anchored.sh create mode 100755 t/t4066-diff-emit-delay.sh create mode 100755 t/t4067-diff-partial-clone.sh create mode 100755 t/t4068-diff-symmetric-merge-base.sh create mode 100755 t/t4069-remerge-diff.sh create mode 100755 t/t4100-apply-stat.sh create mode 100644 t/t4100/t-apply-1.expect create mode 100644 t/t4100/t-apply-1.patch create mode 100644 t/t4100/t-apply-2.expect create mode 100644 t/t4100/t-apply-2.patch create mode 100644 t/t4100/t-apply-3.expect create mode 100644 t/t4100/t-apply-3.patch create mode 100644 t/t4100/t-apply-4.expect create mode 100644 t/t4100/t-apply-4.patch create mode 100644 t/t4100/t-apply-5.expect create mode 100644 t/t4100/t-apply-5.patch create mode 100644 t/t4100/t-apply-6.expect create mode 100644 t/t4100/t-apply-6.patch create mode 100644 t/t4100/t-apply-7.expect create mode 100644 t/t4100/t-apply-7.patch create mode 100644 t/t4100/t-apply-8.expect create mode 100644 t/t4100/t-apply-8.patch create mode 100644 t/t4100/t-apply-9.expect create mode 100644 t/t4100/t-apply-9.patch create mode 100755 t/t4101-apply-nonl.sh create mode 100644 t/t4101/diff.0-1 create mode 100644 t/t4101/diff.0-2 create mode 100644 t/t4101/diff.0-3 create mode 100644 t/t4101/diff.1-0 create mode 100644 t/t4101/diff.1-2 create mode 100644 t/t4101/diff.1-3 create mode 100644 t/t4101/diff.2-0 create mode 100644 t/t4101/diff.2-1 create mode 100644 t/t4101/diff.2-3 create mode 100644 t/t4101/diff.3-0 create mode 100644 t/t4101/diff.3-1 create mode 100644 t/t4101/diff.3-2 create mode 100755 t/t4102-apply-rename.sh create mode 100755 t/t4103-apply-binary.sh create mode 100755 t/t4104-apply-boundary.sh create mode 100755 t/t4105-apply-fuzz.sh create mode 100755 t/t4106-apply-stdin.sh create mode 100755 t/t4107-apply-ignore-whitespace.sh create mode 100755 t/t4108-apply-threeway.sh create mode 100755 t/t4109-apply-multifrag.sh create mode 100644 t/t4109/expect-1 create mode 100644 t/t4109/expect-2 create mode 100644 t/t4109/expect-3 create mode 100644 t/t4109/patch1.patch create mode 100644 t/t4109/patch2.patch create mode 100644 t/t4109/patch3.patch create mode 100644 t/t4109/patch4.patch create mode 100755 t/t4110-apply-scan.sh create mode 100644 t/t4110/expect create mode 100644 t/t4110/patch1.patch create mode 100644 t/t4110/patch2.patch create mode 100644 t/t4110/patch3.patch create mode 100644 t/t4110/patch4.patch create mode 100644 t/t4110/patch5.patch create mode 100755 t/t4111-apply-subdir.sh create mode 100755 t/t4112-apply-renames.sh create mode 100755 t/t4113-apply-ending.sh create mode 100755 t/t4114-apply-typechange.sh create mode 100755 t/t4115-apply-symlink.sh create mode 100755 t/t4116-apply-reverse.sh create mode 100755 t/t4117-apply-reject.sh create mode 100755 t/t4118-apply-empty-context.sh create mode 100755 t/t4119-apply-config.sh create mode 100755 t/t4120-apply-popt.sh create mode 100755 t/t4121-apply-diffs.sh create mode 100755 t/t4122-apply-symlink-inside.sh create mode 100755 t/t4123-apply-shrink.sh create mode 100755 t/t4124-apply-ws-rule.sh create mode 100755 t/t4125-apply-ws-fuzz.sh create mode 100755 t/t4126-apply-empty.sh create mode 100755 t/t4127-apply-same-fn.sh create mode 100755 t/t4128-apply-root.sh create mode 100755 t/t4129-apply-samemode.sh create mode 100755 t/t4130-apply-criss-cross-rename.sh create mode 100755 t/t4131-apply-fake-ancestor.sh create mode 100755 t/t4132-apply-removal.sh create mode 100755 t/t4133-apply-filenames.sh create mode 100755 t/t4134-apply-submodule.sh create mode 100755 t/t4135-apply-weird-filenames.sh create mode 100644 t/t4135/.gitignore create mode 100644 t/t4135/add-plain.diff create mode 100644 t/t4135/add-with backslash.diff create mode 100644 t/t4135/add-with quote.diff create mode 100644 t/t4135/add-with spaces.diff create mode 100644 t/t4135/add-with tab.diff create mode 100644 t/t4135/damaged-tz.diff create mode 100644 t/t4135/damaged.diff create mode 100644 t/t4135/diff-plain.diff create mode 100644 t/t4135/diff-with backslash.diff create mode 100644 t/t4135/diff-with quote.diff create mode 100644 t/t4135/diff-with spaces.diff create mode 100644 t/t4135/diff-with tab.diff create mode 100644 t/t4135/funny-tz.diff create mode 100644 t/t4135/git-plain.diff create mode 100644 t/t4135/git-with backslash.diff create mode 100644 t/t4135/git-with quote.diff create mode 100644 t/t4135/git-with spaces.diff create mode 100644 t/t4135/git-with tab.diff create mode 100755 t/t4135/make-patches create mode 100755 t/t4136-apply-check.sh create mode 100755 t/t4137-apply-submodule.sh create mode 100755 t/t4138-apply-ws-expansion.sh create mode 100755 t/t4139-apply-escape.sh create mode 100755 t/t4140-apply-ita.sh create mode 100755 t/t4141-apply-too-large.sh create mode 100755 t/t4150-am.sh create mode 100755 t/t4151-am-abort.sh create mode 100755 t/t4152-am-subjects.sh create mode 100755 t/t4153-am-resume-override-opts.sh create mode 100755 t/t4200-rerere.sh create mode 100755 t/t4201-shortlog.sh create mode 100755 t/t4202-log.sh create mode 100755 t/t4203-mailmap.sh create mode 100755 t/t4204-patch-id.sh create mode 100755 t/t4205-log-pretty-formats.sh create mode 100755 t/t4206-log-follow-harder-copies.sh create mode 100755 t/t4207-log-decoration-colors.sh create mode 100755 t/t4208-log-magic-pathspec.sh create mode 100755 t/t4209-log-pickaxe.sh create mode 100755 t/t4210-log-i18n.sh create mode 100755 t/t4211-line-log.sh create mode 100644 t/t4211/history.export create mode 100644 t/t4211/sha1/expect.beginning-of-file create mode 100644 t/t4211/sha1/expect.end-of-file create mode 100644 t/t4211/sha1/expect.move-support-f create mode 100644 t/t4211/sha1/expect.multiple create mode 100644 t/t4211/sha1/expect.multiple-overlapping create mode 100644 t/t4211/sha1/expect.multiple-superset create mode 100644 t/t4211/sha1/expect.parallel-change-f-to-main create mode 100644 t/t4211/sha1/expect.simple-f create mode 100644 t/t4211/sha1/expect.simple-f-to-main create mode 100644 t/t4211/sha1/expect.simple-main create mode 100644 t/t4211/sha1/expect.simple-main-to-end create mode 100644 t/t4211/sha1/expect.two-ranges create mode 100644 t/t4211/sha1/expect.vanishes-early create mode 100644 t/t4211/sha256/expect.beginning-of-file create mode 100644 t/t4211/sha256/expect.end-of-file create mode 100644 t/t4211/sha256/expect.move-support-f create mode 100644 t/t4211/sha256/expect.multiple create mode 100644 t/t4211/sha256/expect.multiple-overlapping create mode 100644 t/t4211/sha256/expect.multiple-superset create mode 100644 t/t4211/sha256/expect.parallel-change-f-to-main create mode 100644 t/t4211/sha256/expect.simple-f create mode 100644 t/t4211/sha256/expect.simple-f-to-main create mode 100644 t/t4211/sha256/expect.simple-main create mode 100644 t/t4211/sha256/expect.simple-main-to-end create mode 100644 t/t4211/sha256/expect.two-ranges create mode 100644 t/t4211/sha256/expect.vanishes-early create mode 100755 t/t4212-log-corrupt.sh create mode 100755 t/t4213-log-tabexpand.sh create mode 100755 t/t4214-log-graph-octopus.sh create mode 100755 t/t4215-log-skewed-merges.sh create mode 100755 t/t4216-log-bloom.sh create mode 100755 t/t4217-log-limit.sh create mode 100755 t/t4252-am-options.sh create mode 100644 t/t4252/am-test-1-1 create mode 100644 t/t4252/am-test-1-2 create mode 100644 t/t4252/am-test-2-1 create mode 100644 t/t4252/am-test-2-2 create mode 100644 t/t4252/am-test-3-1 create mode 100644 t/t4252/am-test-3-2 create mode 100644 t/t4252/am-test-4-1 create mode 100644 t/t4252/am-test-4-2 create mode 100644 t/t4252/am-test-5-1 create mode 100644 t/t4252/am-test-5-2 create mode 100644 t/t4252/am-test-6-1 create mode 100644 t/t4252/file-1-0 create mode 100644 t/t4252/file-2-0 create mode 100755 t/t4253-am-keep-cr-dos.sh create mode 100755 t/t4254-am-corrupt.sh create mode 100755 t/t4255-am-submodule.sh create mode 100755 t/t4256-am-format-flowed.sh create mode 100644 t/t4256/1/mailinfo.c create mode 100644 t/t4256/1/mailinfo.c.orig create mode 100644 t/t4256/1/patch create mode 100755 t/t4257-am-interactive.sh create mode 100755 t/t4258-am-quoted-cr.sh create mode 100644 t/t4258/mbox create mode 100755 t/t4300-merge-tree.sh create mode 100755 t/t4301-merge-tree-write-tree.sh create mode 100755 t/t5000-tar-tree.sh create mode 100644 t/t5000/huge-and-future.tar create mode 100644 t/t5000/huge-object create mode 100644 t/t5000/pax.tar create mode 100755 t/t5001-archive-attr.sh create mode 100755 t/t5002-archive-attr-pattern.sh create mode 100755 t/t5003-archive-zip.sh create mode 100644 t/t5003/infozip-symlinks.zip create mode 100755 t/t5004-archive-corner-cases.sh create mode 100644 t/t5004/big-pack.zip create mode 100644 t/t5004/empty-with-pax-header.tar create mode 100644 t/t5004/empty.zip create mode 100755 t/t5100-mailinfo.sh create mode 100644 t/t5100/.gitattributes create mode 100644 t/t5100/0001mboxrd create mode 100644 t/t5100/0002mboxrd create mode 100644 t/t5100/comment.expect create mode 100644 t/t5100/comment.in create mode 100644 t/t5100/embed-from.expect create mode 100644 t/t5100/embed-from.in create mode 100644 t/t5100/empty create mode 100644 t/t5100/info-from.expect create mode 100644 t/t5100/info-from.in create mode 100644 t/t5100/info0001 create mode 100644 t/t5100/info0002 create mode 100644 t/t5100/info0003 create mode 100644 t/t5100/info0004 create mode 100644 t/t5100/info0005 create mode 100644 t/t5100/info0006 create mode 100644 t/t5100/info0007 create mode 100644 t/t5100/info0008 create mode 100644 t/t5100/info0009 create mode 100644 t/t5100/info0010 create mode 100644 t/t5100/info0011 create mode 100644 t/t5100/info0012 create mode 100644 t/t5100/info0012--message-id create mode 100644 t/t5100/info0013 create mode 100644 t/t5100/info0014 create mode 100644 t/t5100/info0014--scissors create mode 100644 t/t5100/info0015 create mode 100644 t/t5100/info0015--no-inbody-headers create mode 100644 t/t5100/info0016 create mode 100644 t/t5100/info0016--no-inbody-headers create mode 100644 t/t5100/info0017 create mode 100644 t/t5100/info0018 create mode 100644 t/t5100/info0018--no-inbody-headers create mode 100644 t/t5100/msg0001 create mode 100644 t/t5100/msg0002 create mode 100644 t/t5100/msg0003 create mode 100644 t/t5100/msg0004 create mode 100644 t/t5100/msg0005 create mode 100644 t/t5100/msg0006 create mode 100644 t/t5100/msg0007 create mode 100644 t/t5100/msg0008 create mode 100644 t/t5100/msg0009 create mode 100644 t/t5100/msg0010 create mode 100644 t/t5100/msg0011 create mode 100644 t/t5100/msg0012 create mode 100644 t/t5100/msg0012--message-id create mode 100644 t/t5100/msg0013 create mode 100644 t/t5100/msg0014 create mode 100644 t/t5100/msg0014--scissors create mode 100644 t/t5100/msg0015 create mode 100644 t/t5100/msg0015--no-inbody-headers create mode 100644 t/t5100/msg0016 create mode 100644 t/t5100/msg0016--no-inbody-headers create mode 100644 t/t5100/msg0017 create mode 100644 t/t5100/msg0018 create mode 100644 t/t5100/msg0018--no-inbody-headers create mode 100644 t/t5100/nul-b64.expect create mode 100644 t/t5100/nul-b64.in create mode 100644 t/t5100/nul-plain create mode 100644 t/t5100/patch0001 create mode 100644 t/t5100/patch0002 create mode 100644 t/t5100/patch0003 create mode 100644 t/t5100/patch0004 create mode 100644 t/t5100/patch0005 create mode 100644 t/t5100/patch0006 create mode 100644 t/t5100/patch0007 create mode 100644 t/t5100/patch0008 create mode 100644 t/t5100/patch0009 create mode 100644 t/t5100/patch0010 create mode 100644 t/t5100/patch0011 create mode 100644 t/t5100/patch0012 create mode 100644 t/t5100/patch0012--message-id create mode 100644 t/t5100/patch0013 create mode 100644 t/t5100/patch0014 create mode 100644 t/t5100/patch0014--scissors create mode 100644 t/t5100/patch0015 create mode 100644 t/t5100/patch0015--no-inbody-headers create mode 100644 t/t5100/patch0016 create mode 100644 t/t5100/patch0016--no-inbody-headers create mode 100644 t/t5100/patch0017 create mode 100644 t/t5100/patch0018 create mode 100644 t/t5100/patch0018--no-inbody-headers create mode 100644 t/t5100/quoted-cr-info create mode 100644 t/t5100/quoted-cr-msg create mode 100644 t/t5100/quoted-cr-patch create mode 100644 t/t5100/quoted-cr.mbox create mode 100644 t/t5100/quoted-from.expect create mode 100644 t/t5100/quoted-from.in create mode 100644 t/t5100/quoted-string.expect create mode 100644 t/t5100/quoted-string.in create mode 100644 t/t5100/rfc2047-info-0001 create mode 100644 t/t5100/rfc2047-info-0002 create mode 100644 t/t5100/rfc2047-info-0003 create mode 100644 t/t5100/rfc2047-info-0004 create mode 100644 t/t5100/rfc2047-info-0005 create mode 100644 t/t5100/rfc2047-info-0006 create mode 100644 t/t5100/rfc2047-info-0007 create mode 100644 t/t5100/rfc2047-info-0008 create mode 100644 t/t5100/rfc2047-info-0009 create mode 100644 t/t5100/rfc2047-info-0010 create mode 100644 t/t5100/rfc2047-info-0011 create mode 100644 t/t5100/rfc2047-samples.mbox create mode 100644 t/t5100/sample.mbox create mode 100644 t/t5100/sample.mboxrd create mode 100755 t/t5150-request-pull.sh create mode 100755 t/t5200-update-server-info.sh create mode 100755 t/t5300-pack-object.sh create mode 100755 t/t5301-sliding-window.sh create mode 100755 t/t5302-pack-index.sh create mode 100755 t/t5303-pack-corruption-resilience.sh create mode 100755 t/t5304-prune.sh create mode 100755 t/t5305-include-tag.sh create mode 100755 t/t5306-pack-nobase.sh create mode 100755 t/t5307-pack-missing-commit.sh create mode 100755 t/t5308-pack-detect-duplicates.sh create mode 100755 t/t5309-pack-delta-cycles.sh create mode 100755 t/t5310-pack-bitmaps.sh create mode 100755 t/t5311-pack-bitmaps-shallow.sh create mode 100755 t/t5312-prune-corruption.sh create mode 100755 t/t5313-pack-bounds-checks.sh create mode 100755 t/t5314-pack-cycle-detection.sh create mode 100755 t/t5315-pack-objects-compression.sh create mode 100755 t/t5316-pack-delta-depth.sh create mode 100755 t/t5317-pack-objects-filter-objects.sh create mode 100755 t/t5318-commit-graph.sh create mode 100755 t/t5319-multi-pack-index.sh create mode 100644 t/t5319/no-objects.midx create mode 100755 t/t5320-delta-islands.sh create mode 100755 t/t5321-pack-large-objects.sh create mode 100755 t/t5322-pack-objects-sparse.sh create mode 100755 t/t5323-pack-redundant.sh create mode 100755 t/t5324-split-commit-graph.sh create mode 100755 t/t5325-reverse-index.sh create mode 100755 t/t5326-multi-pack-bitmaps.sh create mode 100755 t/t5327-multi-pack-bitmaps-rev.sh create mode 100755 t/t5328-commit-graph-64bit-time.sh create mode 100755 t/t5329-pack-objects-cruft.sh create mode 100755 t/t5330-no-lazy-fetch-with-commit-graph.sh create mode 100755 t/t5351-unpack-large-objects.sh create mode 100755 t/t5400-send-pack.sh create mode 100755 t/t5401-update-hooks.sh create mode 100755 t/t5402-post-merge-hook.sh create mode 100755 t/t5403-post-checkout-hook.sh create mode 100755 t/t5404-tracking-branches.sh create mode 100755 t/t5405-send-pack-rewind.sh create mode 100755 t/t5406-remote-rejects.sh create mode 100755 t/t5407-post-rewrite-hook.sh create mode 100755 t/t5408-send-pack-stdin.sh create mode 100755 t/t5409-colorize-remote-messages.sh create mode 100755 t/t5410-receive-pack-alternates.sh create mode 100755 t/t5411-proc-receive-hook.sh create mode 100644 t/t5411/common-functions.sh create mode 100644 t/t5411/once-0010-report-status-v1.sh create mode 100644 t/t5411/test-0000-standard-git-push.sh create mode 100644 t/t5411/test-0001-standard-git-push--porcelain.sh create mode 100644 t/t5411/test-0002-pre-receive-declined.sh create mode 100644 t/t5411/test-0003-pre-receive-declined--porcelain.sh create mode 100644 t/t5411/test-0010-proc-receive-settings.sh create mode 100644 t/t5411/test-0011-no-hook-error.sh create mode 100644 t/t5411/test-0012-no-hook-error--porcelain.sh create mode 100644 t/t5411/test-0013-bad-protocol.sh create mode 100644 t/t5411/test-0014-bad-protocol--porcelain.sh create mode 100644 t/t5411/test-0020-report-ng.sh create mode 100644 t/t5411/test-0021-report-ng--porcelain.sh create mode 100644 t/t5411/test-0022-report-unexpect-ref.sh create mode 100644 t/t5411/test-0023-report-unexpect-ref--porcelain.sh create mode 100644 t/t5411/test-0024-report-unknown-ref.sh create mode 100644 t/t5411/test-0025-report-unknown-ref--porcelain.sh create mode 100644 t/t5411/test-0026-push-options.sh create mode 100644 t/t5411/test-0027-push-options--porcelain.sh create mode 100644 t/t5411/test-0030-report-ok.sh create mode 100644 t/t5411/test-0031-report-ok--porcelain.sh create mode 100644 t/t5411/test-0032-report-with-options.sh create mode 100644 t/t5411/test-0033-report-with-options--porcelain.sh create mode 100644 t/t5411/test-0034-report-ft.sh create mode 100644 t/t5411/test-0035-report-ft--porcelain.sh create mode 100644 t/t5411/test-0036-report-multi-rewrite-for-one-ref.sh create mode 100644 t/t5411/test-0037-report-multi-rewrite-for-one-ref--porcelain.sh create mode 100644 t/t5411/test-0038-report-mixed-refs.sh create mode 100644 t/t5411/test-0039-report-mixed-refs--porcelain.sh create mode 100644 t/t5411/test-0040-process-all-refs.sh create mode 100644 t/t5411/test-0041-process-all-refs--porcelain.sh create mode 100644 t/t5411/test-0050-proc-receive-refs-with-modifiers.sh create mode 100755 t/t5500-fetch-pack.sh create mode 100755 t/t5501-fetch-push-alternates.sh create mode 100755 t/t5502-quickfetch.sh create mode 100755 t/t5503-tagfollow.sh create mode 100755 t/t5504-fetch-receive-strict.sh create mode 100755 t/t5505-remote.sh create mode 100755 t/t5506-remote-groups.sh create mode 100755 t/t5507-remote-environment.sh create mode 100755 t/t5509-fetch-push-namespaces.sh create mode 100755 t/t5510-fetch.sh create mode 100755 t/t5511-refspec.sh create mode 100755 t/t5512-ls-remote.sh create mode 100755 t/t5513-fetch-track.sh create mode 100755 t/t5514-fetch-multiple.sh create mode 100755 t/t5515-fetch-merge-logic.sh create mode 100644 t/t5515/fetch.br-branches-default create mode 100644 t/t5515/fetch.br-branches-default-merge create mode 100644 t/t5515/fetch.br-branches-default-merge_branches-default create mode 100644 t/t5515/fetch.br-branches-default-octopus create mode 100644 t/t5515/fetch.br-branches-default-octopus_branches-default create mode 100644 t/t5515/fetch.br-branches-default_branches-default create mode 100644 t/t5515/fetch.br-branches-one create mode 100644 t/t5515/fetch.br-branches-one-merge create mode 100644 t/t5515/fetch.br-branches-one-merge_branches-one create mode 100644 t/t5515/fetch.br-branches-one-octopus create mode 100644 t/t5515/fetch.br-branches-one-octopus_branches-one create mode 100644 t/t5515/fetch.br-branches-one_branches-one create mode 100644 t/t5515/fetch.br-config-explicit create mode 100644 t/t5515/fetch.br-config-explicit-merge create mode 100644 t/t5515/fetch.br-config-explicit-merge_config-explicit create mode 100644 t/t5515/fetch.br-config-explicit-octopus create mode 100644 t/t5515/fetch.br-config-explicit-octopus_config-explicit create mode 100644 t/t5515/fetch.br-config-explicit_config-explicit create mode 100644 t/t5515/fetch.br-config-glob create mode 100644 t/t5515/fetch.br-config-glob-merge create mode 100644 t/t5515/fetch.br-config-glob-merge_config-glob create mode 100644 t/t5515/fetch.br-config-glob-octopus create mode 100644 t/t5515/fetch.br-config-glob-octopus_config-glob create mode 100644 t/t5515/fetch.br-config-glob_config-glob create mode 100644 t/t5515/fetch.br-remote-explicit create mode 100644 t/t5515/fetch.br-remote-explicit-merge create mode 100644 t/t5515/fetch.br-remote-explicit-merge_remote-explicit create mode 100644 t/t5515/fetch.br-remote-explicit-octopus create mode 100644 t/t5515/fetch.br-remote-explicit-octopus_remote-explicit create mode 100644 t/t5515/fetch.br-remote-explicit_remote-explicit create mode 100644 t/t5515/fetch.br-remote-glob create mode 100644 t/t5515/fetch.br-remote-glob-merge create mode 100644 t/t5515/fetch.br-remote-glob-merge_remote-glob create mode 100644 t/t5515/fetch.br-remote-glob-octopus create mode 100644 t/t5515/fetch.br-remote-glob-octopus_remote-glob create mode 100644 t/t5515/fetch.br-remote-glob_remote-glob create mode 100644 t/t5515/fetch.br-unconfig create mode 100644 t/t5515/fetch.br-unconfig_--tags_.._.git create mode 100644 t/t5515/fetch.br-unconfig_.._.git create mode 100644 t/t5515/fetch.br-unconfig_.._.git_one create mode 100644 t/t5515/fetch.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file create mode 100644 t/t5515/fetch.br-unconfig_.._.git_one_two create mode 100644 t/t5515/fetch.br-unconfig_.._.git_tag_tag-one-tree_tag_tag-three-file create mode 100644 t/t5515/fetch.br-unconfig_.._.git_tag_tag-one_tag_tag-three create mode 100644 t/t5515/fetch.br-unconfig_branches-default create mode 100644 t/t5515/fetch.br-unconfig_branches-one create mode 100644 t/t5515/fetch.br-unconfig_config-explicit create mode 100644 t/t5515/fetch.br-unconfig_config-glob create mode 100644 t/t5515/fetch.br-unconfig_remote-explicit create mode 100644 t/t5515/fetch.br-unconfig_remote-glob create mode 100644 t/t5515/fetch.main create mode 100644 t/t5515/fetch.main_--tags_.._.git create mode 100644 t/t5515/fetch.main_.._.git create mode 100644 t/t5515/fetch.main_.._.git_one create mode 100644 t/t5515/fetch.main_.._.git_one_tag_tag-one_tag_tag-three-file create mode 100644 t/t5515/fetch.main_.._.git_one_two create mode 100644 t/t5515/fetch.main_.._.git_tag_tag-one-tree_tag_tag-three-file create mode 100644 t/t5515/fetch.main_.._.git_tag_tag-one_tag_tag-three create mode 100644 t/t5515/fetch.main_branches-default create mode 100644 t/t5515/fetch.main_branches-one create mode 100644 t/t5515/fetch.main_config-explicit create mode 100644 t/t5515/fetch.main_config-glob create mode 100644 t/t5515/fetch.main_remote-explicit create mode 100644 t/t5515/fetch.main_remote-glob create mode 100644 t/t5515/refs.br-branches-default create mode 100644 t/t5515/refs.br-branches-default-merge create mode 100644 t/t5515/refs.br-branches-default-merge_branches-default create mode 100644 t/t5515/refs.br-branches-default-octopus create mode 100644 t/t5515/refs.br-branches-default-octopus_branches-default create mode 100644 t/t5515/refs.br-branches-default_branches-default create mode 100644 t/t5515/refs.br-branches-one create mode 100644 t/t5515/refs.br-branches-one-merge create mode 100644 t/t5515/refs.br-branches-one-merge_branches-one create mode 100644 t/t5515/refs.br-branches-one-octopus create mode 100644 t/t5515/refs.br-branches-one-octopus_branches-one create mode 100644 t/t5515/refs.br-branches-one_branches-one create mode 100644 t/t5515/refs.br-config-explicit create mode 100644 t/t5515/refs.br-config-explicit-merge create mode 100644 t/t5515/refs.br-config-explicit-merge_config-explicit create mode 100644 t/t5515/refs.br-config-explicit-octopus create mode 100644 t/t5515/refs.br-config-explicit-octopus_config-explicit create mode 100644 t/t5515/refs.br-config-explicit_config-explicit create mode 100644 t/t5515/refs.br-config-glob create mode 100644 t/t5515/refs.br-config-glob-merge create mode 100644 t/t5515/refs.br-config-glob-merge_config-glob create mode 100644 t/t5515/refs.br-config-glob-octopus create mode 100644 t/t5515/refs.br-config-glob-octopus_config-glob create mode 100644 t/t5515/refs.br-config-glob_config-glob create mode 100644 t/t5515/refs.br-remote-explicit create mode 100644 t/t5515/refs.br-remote-explicit-merge create mode 100644 t/t5515/refs.br-remote-explicit-merge_remote-explicit create mode 100644 t/t5515/refs.br-remote-explicit-octopus create mode 100644 t/t5515/refs.br-remote-explicit-octopus_remote-explicit create mode 100644 t/t5515/refs.br-remote-explicit_remote-explicit create mode 100644 t/t5515/refs.br-remote-glob create mode 100644 t/t5515/refs.br-remote-glob-merge create mode 100644 t/t5515/refs.br-remote-glob-merge_remote-glob create mode 100644 t/t5515/refs.br-remote-glob-octopus create mode 100644 t/t5515/refs.br-remote-glob-octopus_remote-glob create mode 100644 t/t5515/refs.br-remote-glob_remote-glob create mode 100644 t/t5515/refs.br-unconfig create mode 100644 t/t5515/refs.br-unconfig_--tags_.._.git create mode 100644 t/t5515/refs.br-unconfig_.._.git create mode 100644 t/t5515/refs.br-unconfig_.._.git_one create mode 100644 t/t5515/refs.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file create mode 100644 t/t5515/refs.br-unconfig_.._.git_one_two create mode 100644 t/t5515/refs.br-unconfig_.._.git_tag_tag-one-tree_tag_tag-three-file create mode 100644 t/t5515/refs.br-unconfig_.._.git_tag_tag-one_tag_tag-three create mode 100644 t/t5515/refs.br-unconfig_branches-default create mode 100644 t/t5515/refs.br-unconfig_branches-one create mode 100644 t/t5515/refs.br-unconfig_config-explicit create mode 100644 t/t5515/refs.br-unconfig_config-glob create mode 100644 t/t5515/refs.br-unconfig_remote-explicit create mode 100644 t/t5515/refs.br-unconfig_remote-glob create mode 100644 t/t5515/refs.main create mode 100644 t/t5515/refs.main_--tags_.._.git create mode 100644 t/t5515/refs.main_.._.git create mode 100644 t/t5515/refs.main_.._.git_one create mode 100644 t/t5515/refs.main_.._.git_one_tag_tag-one_tag_tag-three-file create mode 100644 t/t5515/refs.main_.._.git_one_two create mode 100644 t/t5515/refs.main_.._.git_tag_tag-one-tree_tag_tag-three-file create mode 100644 t/t5515/refs.main_.._.git_tag_tag-one_tag_tag-three create mode 100644 t/t5515/refs.main_branches-default create mode 100644 t/t5515/refs.main_branches-one create mode 100644 t/t5515/refs.main_config-explicit create mode 100644 t/t5515/refs.main_config-glob create mode 100644 t/t5515/refs.main_remote-explicit create mode 100644 t/t5515/refs.main_remote-glob create mode 100755 t/t5516-fetch-push.sh create mode 100755 t/t5517-push-mirror.sh create mode 100755 t/t5518-fetch-exit-status.sh create mode 100755 t/t5519-push-alternates.sh create mode 100755 t/t5520-pull.sh create mode 100755 t/t5521-pull-options.sh create mode 100755 t/t5522-pull-symlink.sh create mode 100755 t/t5523-push-upstream.sh create mode 100755 t/t5524-pull-msg.sh create mode 100755 t/t5525-fetch-tagopt.sh create mode 100755 t/t5526-fetch-submodules.sh create mode 100755 t/t5527-fetch-odd-refs.sh create mode 100755 t/t5528-push-default.sh create mode 100755 t/t5529-push-errors.sh create mode 100755 t/t5530-upload-pack-error.sh create mode 100755 t/t5531-deep-submodule-push.sh create mode 100755 t/t5532-fetch-proxy.sh create mode 100755 t/t5533-push-cas.sh create mode 100755 t/t5534-push-signed.sh create mode 100755 t/t5535-fetch-push-symref.sh create mode 100755 t/t5536-fetch-conflicts.sh create mode 100755 t/t5537-fetch-shallow.sh create mode 100755 t/t5538-push-shallow.sh create mode 100755 t/t5539-fetch-http-shallow.sh create mode 100755 t/t5540-http-push-webdav.sh create mode 100755 t/t5541-http-push-smart.sh create mode 100755 t/t5542-push-http-shallow.sh create mode 100755 t/t5543-atomic-push.sh create mode 100755 t/t5544-pack-objects-hook.sh create mode 100755 t/t5545-push-options.sh create mode 100755 t/t5546-receive-limits.sh create mode 100755 t/t5547-push-quarantine.sh create mode 100755 t/t5548-push-porcelain.sh create mode 100755 t/t5549-fetch-push-http.sh create mode 100755 t/t5550-http-fetch-dumb.sh create mode 100755 t/t5551-http-fetch-smart.sh create mode 100755 t/t5552-skipping-fetch-negotiator.sh create mode 100755 t/t5553-set-upstream.sh create mode 100755 t/t5554-noop-fetch-negotiator.sh create mode 100755 t/t5555-http-smart-common.sh create mode 100755 t/t5557-http-get.sh create mode 100755 t/t5558-clone-bundle-uri.sh create mode 100755 t/t5559-http-fetch-smart-http2.sh create mode 100755 t/t5560-http-backend-noserver.sh create mode 100755 t/t5561-http-backend.sh create mode 100755 t/t5562-http-backend-content-length.sh create mode 100644 t/t5562/invoke-with-content-length.pl create mode 100755 t/t556x_common create mode 100755 t/t5570-git-daemon.sh create mode 100755 t/t5571-pre-push-hook.sh create mode 100755 t/t5572-pull-submodule.sh create mode 100755 t/t5573-pull-verify-signatures.sh create mode 100755 t/t5580-unc-paths.sh create mode 100755 t/t5581-http-curl-verbose.sh create mode 100755 t/t5582-fetch-negative-refspec.sh create mode 100755 t/t5600-clone-fail-cleanup.sh create mode 100755 t/t5601-clone.sh create mode 100755 t/t5602-clone-remote-exec.sh create mode 100755 t/t5603-clone-dirname.sh create mode 100755 t/t5604-clone-reference.sh create mode 100755 t/t5605-clone-local.sh create mode 100755 t/t5606-clone-options.sh create mode 100755 t/t5607-clone-bundle.sh create mode 100755 t/t5608-clone-2gb.sh create mode 100755 t/t5609-clone-branch.sh create mode 100755 t/t5610-clone-detached.sh create mode 100755 t/t5611-clone-config.sh create mode 100755 t/t5612-clone-refspec.sh create mode 100755 t/t5613-info-alternate.sh create mode 100755 t/t5614-clone-submodules-shallow.sh create mode 100755 t/t5615-alternate-env.sh create mode 100755 t/t5616-partial-clone.sh create mode 100755 t/t5617-clone-submodules-remote.sh create mode 100755 t/t5618-alternate-refs.sh create mode 100755 t/t5619-clone-local-ambiguous-transport.sh create mode 100755 t/t5700-protocol-v1.sh create mode 100755 t/t5701-git-serve.sh create mode 100755 t/t5702-protocol-v2.sh create mode 100755 t/t5703-upload-pack-ref-in-want.sh create mode 100755 t/t5704-protocol-violations.sh create mode 100755 t/t5705-session-id-in-capabilities.sh create mode 100755 t/t5750-bundle-uri-parse.sh create mode 100755 t/t5801-remote-helpers.sh create mode 100755 t/t5801/git-remote-testgit create mode 100755 t/t5802-connect-helper.sh create mode 100755 t/t5810-proto-disable-local.sh create mode 100755 t/t5811-proto-disable-git.sh create mode 100755 t/t5812-proto-disable-http.sh create mode 100755 t/t5813-proto-disable-ssh.sh create mode 100755 t/t5814-proto-disable-ext.sh create mode 100755 t/t5815-submodule-protos.sh create mode 100755 t/t5900-repo-selection.sh create mode 100755 t/t6000-rev-list-misc.sh create mode 100755 t/t6001-rev-list-graft.sh create mode 100755 t/t6002-rev-list-bisect.sh create mode 100755 t/t6003-rev-list-topo-order.sh create mode 100755 t/t6004-rev-list-path-optim.sh create mode 100755 t/t6005-rev-list-count.sh create mode 100755 t/t6006-rev-list-format.sh create mode 100755 t/t6007-rev-list-cherry-pick-file.sh create mode 100755 t/t6008-rev-list-submodule.sh create mode 100755 t/t6009-rev-list-parent.sh create mode 100755 t/t6010-merge-base.sh create mode 100755 t/t6011-rev-list-with-bad-commit.sh create mode 100755 t/t6012-rev-list-simplify.sh create mode 100755 t/t6013-rev-list-reverse-parents.sh create mode 100755 t/t6014-rev-list-all.sh create mode 100755 t/t6016-rev-list-graph-simplify-history.sh create mode 100755 t/t6017-rev-list-stdin.sh create mode 100755 t/t6018-rev-list-glob.sh create mode 100755 t/t6019-rev-list-ancestry-path.sh create mode 100755 t/t6020-bundle-misc.sh create mode 100755 t/t6021-rev-list-exclude-hidden.sh create mode 100755 t/t6030-bisect-porcelain.sh create mode 100755 t/t6040-tracking-info.sh create mode 100755 t/t6041-bisect-submodule.sh create mode 100755 t/t6050-replace.sh create mode 100755 t/t6060-merge-index.sh create mode 100755 t/t6100-rev-list-in-order.sh create mode 100755 t/t6101-rev-parse-parents.sh create mode 100755 t/t6102-rev-list-unexpected-objects.sh create mode 100755 t/t6110-rev-list-sparse.sh create mode 100755 t/t6111-rev-list-treesame.sh create mode 100755 t/t6112-rev-list-filters-objects.sh create mode 100755 t/t6113-rev-list-bitmap-filters.sh create mode 100755 t/t6114-keep-packs.sh create mode 100755 t/t6115-rev-list-du.sh create mode 100755 t/t6120-describe.sh create mode 100755 t/t6130-pathspec-noglob.sh create mode 100755 t/t6131-pathspec-icase.sh create mode 100755 t/t6132-pathspec-exclude.sh create mode 100755 t/t6133-pathspec-rev-dwim.sh create mode 100755 t/t6134-pathspec-in-submodule.sh create mode 100755 t/t6135-pathspec-with-attrs.sh create mode 100755 t/t6136-pathspec-in-bare.sh create mode 100755 t/t6200-fmt-merge-msg.sh create mode 100755 t/t6300-for-each-ref.sh create mode 100755 t/t6301-for-each-ref-errors.sh create mode 100755 t/t6302-for-each-ref-filter.sh create mode 100755 t/t6400-merge-df.sh create mode 100755 t/t6401-merge-criss-cross.sh create mode 100755 t/t6402-merge-rename.sh create mode 100755 t/t6403-merge-file.sh create mode 100755 t/t6404-recursive-merge.sh create mode 100755 t/t6405-merge-symlinks.sh create mode 100755 t/t6406-merge-attr.sh create mode 100755 t/t6407-merge-binary.sh create mode 100755 t/t6408-merge-up-to-date.sh create mode 100755 t/t6409-merge-subtree.sh create mode 100755 t/t6411-merge-filemode.sh create mode 100755 t/t6412-merge-large-rename.sh create mode 100755 t/t6413-merge-crlf.sh create mode 100755 t/t6414-merge-rename-nocruft.sh create mode 100755 t/t6415-merge-dir-to-symlink.sh create mode 100755 t/t6416-recursive-corner-cases.sh create mode 100755 t/t6417-merge-ours-theirs.sh create mode 100755 t/t6418-merge-text-auto.sh create mode 100755 t/t6419-merge-ignorecase.sh create mode 100755 t/t6421-merge-partial-clone.sh create mode 100755 t/t6422-merge-rename-corner-cases.sh create mode 100755 t/t6423-merge-rename-directories.sh create mode 100755 t/t6424-merge-unrelated-index-changes.sh create mode 100755 t/t6425-merge-rename-delete.sh create mode 100755 t/t6426-merge-skip-unneeded-updates.sh create mode 100755 t/t6427-diff3-conflict-markers.sh create mode 100755 t/t6428-merge-conflicts-sparse.sh create mode 100755 t/t6429-merge-sequence-rename-caching.sh create mode 100755 t/t6430-merge-recursive.sh create mode 100755 t/t6431-merge-criscross.sh create mode 100755 t/t6432-merge-recursive-space-options.sh create mode 100755 t/t6433-merge-toplevel.sh create mode 100755 t/t6434-merge-recursive-rename-options.sh create mode 100755 t/t6435-merge-sparse.sh create mode 100755 t/t6436-merge-overwrite.sh create mode 100755 t/t6437-submodule-merge.sh create mode 100755 t/t6438-submodule-directory-file-conflicts.sh create mode 100755 t/t6439-merge-co-error-msgs.sh create mode 100755 t/t6500-gc.sh create mode 100755 t/t6501-freshen-objects.sh create mode 100755 t/t6600-test-reach.sh create mode 100755 t/t7001-mv.sh create mode 100755 t/t7002-mv-sparse-checkout.sh create mode 100755 t/t7003-filter-branch.sh create mode 100755 t/t7004-tag.sh create mode 100755 t/t7005-editor.sh create mode 100755 t/t7006-pager.sh create mode 100755 t/t7007-show.sh create mode 100755 t/t7008-filter-branch-null-sha1.sh create mode 100755 t/t7010-setup.sh create mode 100755 t/t7011-skip-worktree-reading.sh create mode 100755 t/t7012-skip-worktree-writing.sh create mode 100755 t/t7030-verify-tag.sh create mode 100755 t/t7031-verify-tag-signed-ssh.sh create mode 100755 t/t7060-wtstatus.sh create mode 100755 t/t7061-wtstatus-ignore.sh create mode 100755 t/t7062-wtstatus-ignorecase.sh create mode 100755 t/t7063-status-untracked-cache.sh create mode 100755 t/t7064-wtstatus-pv2.sh create mode 100755 t/t7101-reset-empty-subdirs.sh create mode 100755 t/t7102-reset.sh create mode 100755 t/t7103-reset-bare.sh create mode 100755 t/t7104-reset-hard.sh create mode 100755 t/t7105-reset-patch.sh create mode 100755 t/t7106-reset-unborn-branch.sh create mode 100755 t/t7107-reset-pathspec-file.sh create mode 100755 t/t7110-reset-merge.sh create mode 100755 t/t7111-reset-table.sh create mode 100755 t/t7112-reset-submodule.sh create mode 100755 t/t7113-post-index-change-hook.sh create mode 100755 t/t7201-co.sh create mode 100755 t/t7300-clean.sh create mode 100755 t/t7301-clean-interactive.sh create mode 100755 t/t7400-submodule-basic.sh create mode 100755 t/t7401-submodule-summary.sh create mode 100755 t/t7402-submodule-rebase.sh create mode 100755 t/t7403-submodule-sync.sh create mode 100755 t/t7406-submodule-update.sh create mode 100755 t/t7407-submodule-foreach.sh create mode 100755 t/t7408-submodule-reference.sh create mode 100755 t/t7409-submodule-detached-work-tree.sh create mode 100755 t/t7411-submodule-config.sh create mode 100755 t/t7412-submodule-absorbgitdirs.sh create mode 100755 t/t7413-submodule-is-active.sh create mode 100755 t/t7414-submodule-mistakes.sh create mode 100755 t/t7416-submodule-dash-url.sh create mode 100755 t/t7417-submodule-path-url.sh create mode 100755 t/t7418-submodule-sparse-gitmodules.sh create mode 100755 t/t7419-submodule-set-branch.sh create mode 100755 t/t7420-submodule-set-url.sh create mode 100755 t/t7421-submodule-summary-add.sh create mode 100755 t/t7422-submodule-output.sh create mode 100755 t/t7450-bad-git-dotfiles.sh create mode 100755 t/t7500-commit-template-squash-signoff.sh create mode 100755 t/t7500/add-comments create mode 100755 t/t7500/add-content create mode 100755 t/t7500/add-content-and-comment create mode 100755 t/t7500/add-signed-off create mode 100755 t/t7500/add-whitespaced-content create mode 100755 t/t7500/edit-content create mode 100755 t/t7501-commit-basic-functionality.sh create mode 100755 t/t7502-commit-porcelain.sh create mode 100755 t/t7503-pre-commit-and-pre-merge-commit-hooks.sh create mode 100755 t/t7504-commit-msg-hook.sh create mode 100755 t/t7505-prepare-commit-msg-hook.sh create mode 100644 t/t7505/expected-rebase-i create mode 100644 t/t7505/expected-rebase-p create mode 100755 t/t7506-status-submodule.sh create mode 100755 t/t7507-commit-verbose.sh create mode 100755 t/t7508-status.sh create mode 100755 t/t7509-commit-authorship.sh create mode 100755 t/t7510-signed-commit.sh create mode 100755 t/t7511-status-index.sh create mode 100755 t/t7512-status-help.sh create mode 100755 t/t7513-interpret-trailers.sh create mode 100755 t/t7514-commit-patch.sh create mode 100755 t/t7515-status-symlinks.sh create mode 100755 t/t7516-commit-races.sh create mode 100755 t/t7517-per-repo-email.sh create mode 100755 t/t7518-ident-corner-cases.sh create mode 100755 t/t7519-status-fsmonitor.sh create mode 100755 t/t7519/fsmonitor-all create mode 100755 t/t7519/fsmonitor-all-v2 create mode 100755 t/t7519/fsmonitor-env create mode 100755 t/t7519/fsmonitor-none create mode 100755 t/t7519/fsmonitor-watchman create mode 100755 t/t7519/fsmonitor-watchman-v2 create mode 100755 t/t7520-ignored-hook-warning.sh create mode 100755 t/t7521-ignored-mode.sh create mode 100755 t/t7524-commit-summary.sh create mode 100755 t/t7525-status-rename.sh create mode 100755 t/t7526-commit-pathspec-file.sh create mode 100755 t/t7527-builtin-fsmonitor.sh create mode 100755 t/t7528-signed-commit-ssh.sh create mode 100755 t/t7600-merge.sh create mode 100755 t/t7601-merge-pull-config.sh create mode 100755 t/t7602-merge-octopus-many.sh create mode 100755 t/t7603-merge-reduce-heads.sh create mode 100755 t/t7604-merge-custom-message.sh create mode 100755 t/t7605-merge-resolve.sh create mode 100755 t/t7606-merge-custom.sh create mode 100755 t/t7607-merge-state.sh create mode 100755 t/t7608-merge-messages.sh create mode 100755 t/t7609-mergetool--lib.sh create mode 100755 t/t7610-mergetool.sh create mode 100755 t/t7611-merge-abort.sh create mode 100755 t/t7612-merge-verify-signatures.sh create mode 100755 t/t7614-merge-signoff.sh create mode 100755 t/t7700-repack.sh create mode 100755 t/t7701-repack-unpack-unreachable.sh create mode 100755 t/t7702-repack-cyclic-alternate.sh create mode 100755 t/t7703-repack-geometric.sh create mode 100755 t/t7800-difftool.sh create mode 100755 t/t7810-grep.sh create mode 100755 t/t7811-grep-open.sh create mode 100755 t/t7812-grep-icase-non-ascii.sh create mode 100755 t/t7813-grep-icase-iso.sh create mode 100755 t/t7814-grep-recurse-submodules.sh create mode 100755 t/t7815-grep-binary.sh create mode 100755 t/t7816-grep-binary-pattern.sh create mode 100755 t/t7817-grep-sparse-checkout.sh create mode 100755 t/t7900-maintenance.sh create mode 100755 t/t8001-annotate.sh create mode 100755 t/t8002-blame.sh create mode 100755 t/t8003-blame-corner-cases.sh create mode 100755 t/t8004-blame-with-conflicts.sh create mode 100755 t/t8005-blame-i18n.sh create mode 100644 t/t8005/euc-japan.txt create mode 100644 t/t8005/sjis.txt create mode 100644 t/t8005/utf8.txt create mode 100755 t/t8006-blame-textconv.sh create mode 100755 t/t8007-cat-file-textconv.sh create mode 100755 t/t8008-blame-formats.sh create mode 100755 t/t8009-blame-vs-topicbranches.sh create mode 100755 t/t8010-cat-file-filters.sh create mode 100755 t/t8011-blame-split-file.sh create mode 100755 t/t8012-blame-colors.sh create mode 100755 t/t8013-blame-ignore-revs.sh create mode 100755 t/t8014-blame-ignore-fuzzy.sh create mode 100755 t/t9001-send-email.sh create mode 100755 t/t9002-column.sh create mode 100755 t/t9003-help-autocorrect.sh create mode 100755 t/t9004-example.sh create mode 100755 t/t9100-git-svn-basic.sh create mode 100755 t/t9101-git-svn-props.sh create mode 100755 t/t9102-git-svn-deep-rmdir.sh create mode 100755 t/t9103-git-svn-tracked-directory-removed.sh create mode 100755 t/t9104-git-svn-follow-parent.sh create mode 100755 t/t9105-git-svn-commit-diff.sh create mode 100755 t/t9106-git-svn-commit-diff-clobber.sh create mode 100755 t/t9107-git-svn-migrate.sh create mode 100755 t/t9108-git-svn-glob.sh create mode 100755 t/t9109-git-svn-multi-glob.sh create mode 100755 t/t9110-git-svn-use-svm-props.sh create mode 100644 t/t9110/svm.dump create mode 100755 t/t9111-git-svn-use-svnsync-props.sh create mode 100644 t/t9111/svnsync.dump create mode 100755 t/t9112-git-svn-md5less-file.sh create mode 100755 t/t9113-git-svn-dcommit-new-file.sh create mode 100755 t/t9114-git-svn-dcommit-merge.sh create mode 100755 t/t9115-git-svn-dcommit-funky-renames.sh create mode 100644 t/t9115/funky-names.dump create mode 100755 t/t9116-git-svn-log.sh create mode 100755 t/t9117-git-svn-init-clone.sh create mode 100755 t/t9118-git-svn-funky-branch-names.sh create mode 100755 t/t9119-git-svn-info.sh create mode 100755 t/t9120-git-svn-clone-with-percent-escapes.sh create mode 100755 t/t9121-git-svn-fetch-renamed-dir.sh create mode 100644 t/t9121/renamed-dir.dump create mode 100755 t/t9122-git-svn-author.sh create mode 100755 t/t9123-git-svn-rebuild-with-rewriteroot.sh create mode 100755 t/t9124-git-svn-dcommit-auto-props.sh create mode 100755 t/t9125-git-svn-multi-glob-branch-names.sh create mode 100755 t/t9126-git-svn-follow-deleted-readded-directory.sh create mode 100644 t/t9126/follow-deleted-readded.dump create mode 100755 t/t9127-git-svn-partial-rebuild.sh create mode 100755 t/t9128-git-svn-cmd-branch.sh create mode 100755 t/t9129-git-svn-i18n-commitencoding.sh create mode 100755 t/t9130-git-svn-authors-file.sh create mode 100755 t/t9131-git-svn-empty-symlink.sh create mode 100755 t/t9132-git-svn-broken-symlink.sh create mode 100755 t/t9133-git-svn-nested-git-repo.sh create mode 100755 t/t9134-git-svn-ignore-paths.sh create mode 100755 t/t9135-git-svn-moved-branch-empty-file.sh create mode 100644 t/t9135/svn.dump create mode 100755 t/t9136-git-svn-recreated-branch-empty-file.sh create mode 100644 t/t9136/svn.dump create mode 100755 t/t9137-git-svn-dcommit-clobber-series.sh create mode 100755 t/t9138-git-svn-authors-prog.sh create mode 100755 t/t9139-git-svn-non-utf8-commitencoding.sh create mode 100755 t/t9140-git-svn-reset.sh create mode 100755 t/t9141-git-svn-multiple-branches.sh create mode 100755 t/t9142-git-svn-shallow-clone.sh create mode 100755 t/t9143-git-svn-gc.sh create mode 100755 t/t9144-git-svn-old-rev_map.sh create mode 100755 t/t9145-git-svn-master-branch.sh create mode 100755 t/t9146-git-svn-empty-dirs.sh create mode 100755 t/t9147-git-svn-include-paths.sh create mode 100755 t/t9148-git-svn-propset.sh create mode 100755 t/t9150-svk-mergetickets.sh create mode 100755 t/t9150/make-svk-dump create mode 100644 t/t9150/svk-merge.dump create mode 100755 t/t9151-svn-mergeinfo.sh create mode 100644 t/t9151/.gitignore create mode 100755 t/t9151/make-svnmerge-dump create mode 100644 t/t9151/svn-mergeinfo.dump create mode 100755 t/t9152-svn-empty-dirs-after-gc.sh create mode 100755 t/t9153-git-svn-rewrite-uuid.sh create mode 100644 t/t9153/svn.dump create mode 100755 t/t9154-git-svn-fancy-glob.sh create mode 100644 t/t9154/svn.dump create mode 100755 t/t9155-git-svn-fetch-deleted-tag.sh create mode 100755 t/t9156-git-svn-fetch-deleted-tag-2.sh create mode 100755 t/t9157-git-svn-fetch-merge.sh create mode 100755 t/t9158-git-svn-mergeinfo.sh create mode 100755 t/t9159-git-svn-no-parent-mergeinfo.sh create mode 100755 t/t9160-git-svn-preserve-empty-dirs.sh create mode 100755 t/t9161-git-svn-mergeinfo-push.sh create mode 100644 t/t9161/branches.dump create mode 100755 t/t9162-git-svn-dcommit-interactive.sh create mode 100755 t/t9163-git-svn-reset-clears-caches.sh create mode 100755 t/t9164-git-svn-dcommit-concurrent.sh create mode 100755 t/t9165-git-svn-fetch-merge-branch-of-branch.sh create mode 100755 t/t9166-git-svn-fetch-merge-branch-of-branch2.sh create mode 100755 t/t9167-git-svn-cmd-branch-subproject.sh create mode 100755 t/t9168-git-svn-partially-globbed-names.sh create mode 100755 t/t9169-git-svn-dcommit-crlf.sh create mode 100755 t/t9200-git-cvsexportcommit.sh create mode 100755 t/t9210-scalar.sh create mode 100755 t/t9211-scalar-clone.sh create mode 100755 t/t9300-fast-import.sh create mode 100755 t/t9301-fast-import-notes.sh create mode 100755 t/t9302-fast-import-unpack-limit.sh create mode 100755 t/t9303-fast-import-compression.sh create mode 100755 t/t9304-fast-import-marks.sh create mode 100755 t/t9350-fast-export.sh create mode 100644 t/t9350/broken-iso-8859-7-commit-message.txt create mode 100644 t/t9350/simple-iso-8859-7-commit-message.txt create mode 100755 t/t9351-fast-export-anonymize.sh create mode 100755 t/t9400-git-cvsserver-server.sh create mode 100755 t/t9401-git-cvsserver-crlf.sh create mode 100755 t/t9402-git-cvsserver-refs.sh create mode 100755 t/t9500-gitweb-standalone-no-errors.sh create mode 100755 t/t9501-gitweb-standalone-http-status.sh create mode 100755 t/t9502-gitweb-standalone-parse-output.sh create mode 100755 t/t9600-cvsimport.sh create mode 100755 t/t9601-cvsimport-vendor-branch.sh create mode 100644 t/t9601/cvsroot/.gitattributes create mode 100644 t/t9601/cvsroot/CVSROOT/.gitignore create mode 100644 t/t9601/cvsroot/module/added-imported.txt,v create mode 100644 t/t9601/cvsroot/module/imported-anonymously.txt,v create mode 100644 t/t9601/cvsroot/module/imported-modified-imported.txt,v create mode 100644 t/t9601/cvsroot/module/imported-modified.txt,v create mode 100644 t/t9601/cvsroot/module/imported-once.txt,v create mode 100644 t/t9601/cvsroot/module/imported-twice.txt,v create mode 100755 t/t9602-cvsimport-branches-tags.sh create mode 100644 t/t9602/README create mode 100644 t/t9602/cvsroot/.gitattributes create mode 100644 t/t9602/cvsroot/CVSROOT/.gitignore create mode 100644 t/t9602/cvsroot/module/default,v create mode 100644 t/t9602/cvsroot/module/sub1/default,v create mode 100644 t/t9602/cvsroot/module/sub1/subsubA/default,v create mode 100644 t/t9602/cvsroot/module/sub1/subsubB/default,v create mode 100644 t/t9602/cvsroot/module/sub2/Attic/branch_B_MIXED_only,v create mode 100644 t/t9602/cvsroot/module/sub2/default,v create mode 100644 t/t9602/cvsroot/module/sub2/subsubA/default,v create mode 100644 t/t9602/cvsroot/module/sub3/default,v create mode 100755 t/t9603-cvsimport-patchsets.sh create mode 100644 t/t9603/cvsroot/.gitattributes create mode 100644 t/t9603/cvsroot/CVSROOT/.gitignore create mode 100644 t/t9603/cvsroot/module/a,v create mode 100644 t/t9603/cvsroot/module/b,v create mode 100755 t/t9604-cvsimport-timestamps.sh create mode 100644 t/t9604/cvsroot/.gitattributes create mode 100644 t/t9604/cvsroot/CVSROOT/.gitignore create mode 100644 t/t9604/cvsroot/module/a,v create mode 100755 t/t9700-perl-git.sh create mode 100755 t/t9700/test.pl create mode 100755 t/t9800-git-p4-basic.sh create mode 100755 t/t9801-git-p4-branch.sh create mode 100755 t/t9802-git-p4-filetype.sh create mode 100755 t/t9803-git-p4-shell-metachars.sh create mode 100755 t/t9804-git-p4-label.sh create mode 100755 t/t9805-git-p4-skip-submit-edit.sh create mode 100755 t/t9806-git-p4-options.sh create mode 100755 t/t9807-git-p4-submit.sh create mode 100755 t/t9808-git-p4-chdir.sh create mode 100755 t/t9809-git-p4-client-view.sh create mode 100755 t/t9810-git-p4-rcs.sh create mode 100755 t/t9811-git-p4-label-import.sh create mode 100755 t/t9812-git-p4-wildcards.sh create mode 100755 t/t9813-git-p4-preserve-users.sh create mode 100755 t/t9814-git-p4-rename.sh create mode 100755 t/t9815-git-p4-submit-fail.sh create mode 100755 t/t9816-git-p4-locked.sh create mode 100755 t/t9817-git-p4-exclude.sh create mode 100755 t/t9818-git-p4-block.sh create mode 100755 t/t9819-git-p4-case-folding.sh create mode 100755 t/t9820-git-p4-editor-handling.sh create mode 100755 t/t9821-git-p4-path-variations.sh create mode 100755 t/t9822-git-p4-path-encoding.sh create mode 100755 t/t9823-git-p4-mock-lfs.sh create mode 100755 t/t9824-git-p4-git-lfs.sh create mode 100755 t/t9825-git-p4-handle-utf16-without-bom.sh create mode 100755 t/t9826-git-p4-keep-empty-commits.sh create mode 100755 t/t9827-git-p4-change-filetype.sh create mode 100755 t/t9828-git-p4-map-user.sh create mode 100755 t/t9829-git-p4-jobs.sh create mode 100755 t/t9830-git-p4-symlink-dir.sh create mode 100755 t/t9831-git-p4-triggers.sh create mode 100755 t/t9832-unshelve.sh create mode 100755 t/t9833-errors.sh create mode 100755 t/t9834-git-p4-file-dir-bug.sh create mode 100755 t/t9835-git-p4-metadata-encoding-python2.sh create mode 100755 t/t9836-git-p4-metadata-encoding-python3.sh create mode 100755 t/t9850-shell.sh create mode 100755 t/t9901-git-web--browse.sh create mode 100755 t/t9902-completion.sh create mode 100755 t/t9903-bash-prompt.sh create mode 100644 t/test-binary-1.png create mode 100644 t/test-binary-2.png create mode 100644 t/test-lib-functions.sh create mode 100644 t/test-lib-github-workflow-markup.sh create mode 100644 t/test-lib-junit.sh create mode 100644 t/test-lib.sh create mode 100755 t/test-terminal.perl create mode 100644 t/valgrind/.gitignore create mode 100755 t/valgrind/analyze.sh create mode 100644 t/valgrind/default.supp create mode 100755 t/valgrind/valgrind.sh (limited to 't') diff --git a/t/.gitattributes b/t/.gitattributes new file mode 100644 index 0000000..9930e28 --- /dev/null +++ b/t/.gitattributes @@ -0,0 +1,24 @@ +t[0-9][0-9][0-9][0-9]/* -whitespace +/chainlint/*.expect eol=lf +/t0110/url-* binary +/t3206/* eol=lf +/t3900/*.txt eol=lf +/t3901/*.txt eol=lf +/t4013/* eol=lf +/t4018/* eol=lf +/t4034/*/* eol=lf +/t4051/* eol=lf +/t4100/* eol=lf +/t4101/* eol=lf +/t4109/* eol=lf +/t4110/* eol=lf +/t4135/* eol=lf +/t4211/* eol=lf +/t4252/* eol=lf +/t4256/1/* eol=lf +/t5100/* eol=lf +/t5515/* eol=lf +/t556x_common eol=lf +/t7500/* eol=lf +/t8005/*.txt eol=lf +/t9*/*.dump eol=lf diff --git a/t/.gitignore b/t/.gitignore new file mode 100644 index 0000000..91cf577 --- /dev/null +++ b/t/.gitignore @@ -0,0 +1,5 @@ +/trash directory* +/test-results +/.prove +/chainlinttmp +/out/ diff --git a/t/Git-SVN/00compile.t b/t/Git-SVN/00compile.t new file mode 100755 index 0000000..c92fee4 --- /dev/null +++ b/t/Git-SVN/00compile.t @@ -0,0 +1,14 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use Test::More tests => 7; + +require_ok 'Git::SVN'; +require_ok 'Git::SVN::Utils'; +require_ok 'Git::SVN::Ra'; +require_ok 'Git::SVN::Log'; +require_ok 'Git::SVN::Migration'; +require_ok 'Git::IndexInfo'; +require_ok 'Git::SVN::GlobSpec'; diff --git a/t/Git-SVN/Utils/add_path_to_url.t b/t/Git-SVN/Utils/add_path_to_url.t new file mode 100755 index 0000000..bfbd878 --- /dev/null +++ b/t/Git-SVN/Utils/add_path_to_url.t @@ -0,0 +1,27 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use Test::More 'no_plan'; + +use Git::SVN::Utils qw( + add_path_to_url +); + +# A reference cannot be a hash key, so we use an array. +my @tests = ( + ["http://x.com", "bar"] => 'http://x.com/bar', + ["http://x.com", ""] => 'http://x.com', + ["http://x.com/foo/", undef] => 'http://x.com/foo/', + ["http://x.com/foo/", "/bar/baz/"] => 'http://x.com/foo/bar/baz/', + ["http://x.com", 'per%cent'] => 'http://x.com/per%25cent', +); + +while(@tests) { + my($have, $want) = splice @tests, 0, 2; + + my $args = join ", ", map { qq['$_'] } map { defined($_) ? $_ : 'undef' } @$have; + my $name = "add_path_to_url($args) eq $want"; + is add_path_to_url(@$have), $want, $name; +} diff --git a/t/Git-SVN/Utils/can_compress.t b/t/Git-SVN/Utils/can_compress.t new file mode 100755 index 0000000..d7b49b8 --- /dev/null +++ b/t/Git-SVN/Utils/can_compress.t @@ -0,0 +1,11 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use Test::More 'no_plan'; + +use Git::SVN::Utils qw(can_compress); + +# !! is the "convert this to boolean" operator. +is !!can_compress(), !!eval { require Compress::Zlib }; diff --git a/t/Git-SVN/Utils/canonicalize_url.t b/t/Git-SVN/Utils/canonicalize_url.t new file mode 100755 index 0000000..05795ab --- /dev/null +++ b/t/Git-SVN/Utils/canonicalize_url.t @@ -0,0 +1,26 @@ +#!/usr/bin/env perl + +# Test our own home rolled URL canonicalizer. Test the private one +# directly because we can't predict what the SVN API is doing to do. + +use strict; +use warnings; + +use Test::More 'no_plan'; + +use Git::SVN::Utils; +my $canonicalize_url = \&Git::SVN::Utils::_canonicalize_url_ourselves; + +my %tests = ( + "http://x.com" => "http://x.com", + "http://x.com/" => "http://x.com", + "http://x.com/foo/bar" => "http://x.com/foo/bar", + "http://x.com//foo//bar//" => "http://x.com/foo/bar", + "http://x.com/ /%/" => "http://x.com/%20%20/%25", +); + +for my $arg (keys %tests) { + my $want = $tests{$arg}; + + is $canonicalize_url->($arg), $want, "canonicalize_url('$arg') => $want"; +} diff --git a/t/Git-SVN/Utils/collapse_dotdot.t b/t/Git-SVN/Utils/collapse_dotdot.t new file mode 100755 index 0000000..1da1cce --- /dev/null +++ b/t/Git-SVN/Utils/collapse_dotdot.t @@ -0,0 +1,23 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use Test::More 'no_plan'; + +use Git::SVN::Utils; +my $collapse_dotdot = \&Git::SVN::Utils::_collapse_dotdot; + +my %tests = ( + "foo/bar/baz" => "foo/bar/baz", + ".." => "..", + "foo/.." => "", + "/foo/bar/../../baz" => "/baz", + "deeply/.././deeply/nested" => "./deeply/nested", +); + +for my $arg (keys %tests) { + my $want = $tests{$arg}; + + is $collapse_dotdot->($arg), $want, "_collapse_dotdot('$arg') => $want"; +} diff --git a/t/Git-SVN/Utils/fatal.t b/t/Git-SVN/Utils/fatal.t new file mode 100755 index 0000000..49e1438 --- /dev/null +++ b/t/Git-SVN/Utils/fatal.t @@ -0,0 +1,34 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use Test::More 'no_plan'; + +BEGIN { + # Override exit at BEGIN time before Git::SVN::Utils is loaded + # so it will see our local exit later. + *CORE::GLOBAL::exit = sub(;$) { + return @_ ? CORE::exit($_[0]) : CORE::exit(); + }; +} + +use Git::SVN::Utils qw(fatal); + +# fatal() +{ + # Capture the exit code and prevent exit. + my $exit_status; + no warnings 'redefine'; + local *CORE::GLOBAL::exit = sub { $exit_status = $_[0] || 0 }; + + # Trap fatal's message to STDERR + my $stderr; + close STDERR; + ok open STDERR, ">", \$stderr; + + fatal "Some", "Stuff", "Happened"; + + is $stderr, "Some Stuff Happened\n"; + is $exit_status, 1; +} diff --git a/t/Git-SVN/Utils/join_paths.t b/t/Git-SVN/Utils/join_paths.t new file mode 100755 index 0000000..d4488e7 --- /dev/null +++ b/t/Git-SVN/Utils/join_paths.t @@ -0,0 +1,32 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use Test::More 'no_plan'; + +use Git::SVN::Utils qw( + join_paths +); + +# A reference cannot be a hash key, so we use an array. +my @tests = ( + [] => '', + ["/x.com", "bar"] => '/x.com/bar', + ["x.com", ""] => 'x.com', + ["/x.com/foo/", undef, "bar"] => '/x.com/foo/bar', + ["x.com/foo/", "/bar/baz/"] => 'x.com/foo/bar/baz/', + ["foo", "bar"] => 'foo/bar', + ["/foo/bar", "baz", "/biff"] => '/foo/bar/baz/biff', + ["", undef, "."] => '.', + [] => '', + +); + +while(@tests) { + my($have, $want) = splice @tests, 0, 2; + + my $args = join ", ", map { qq['$_'] } map { defined($_) ? $_ : 'undef' } @$have; + my $name = "join_paths($args) eq '$want'"; + is join_paths(@$have), $want, $name; +} diff --git a/t/Makefile b/t/Makefile new file mode 100644 index 0000000..2c2b252 --- /dev/null +++ b/t/Makefile @@ -0,0 +1,154 @@ +# Import tree-wide shared Makefile behavior and libraries +include ../shared.mak + +# Run tests +# +# Copyright (c) 2005 Junio C Hamano +# + +-include ../config.mak.autogen +-include ../config.mak + +#GIT_TEST_OPTS = --verbose --debug +SHELL_PATH ?= $(SHELL) +TEST_SHELL_PATH ?= $(SHELL_PATH) +PERL_PATH ?= /usr/bin/perl +TAR ?= $(TAR) +RM ?= rm -f +PROVE ?= prove +DEFAULT_TEST_TARGET ?= test +TEST_LINT ?= test-lint + +ifdef TEST_OUTPUT_DIRECTORY +TEST_RESULTS_DIRECTORY = $(TEST_OUTPUT_DIRECTORY)/test-results +CHAINLINTTMP = $(TEST_OUTPUT_DIRECTORY)/chainlinttmp +else +TEST_RESULTS_DIRECTORY = test-results +CHAINLINTTMP = chainlinttmp +endif + +# Shell quote; +SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) +TEST_SHELL_PATH_SQ = $(subst ','\'',$(TEST_SHELL_PATH)) +PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH)) +TEST_RESULTS_DIRECTORY_SQ = $(subst ','\'',$(TEST_RESULTS_DIRECTORY)) +CHAINLINTTMP_SQ = $(subst ','\'',$(CHAINLINTTMP)) + +T = $(sort $(wildcard t[0-9][0-9][0-9][0-9]-*.sh)) +THELPERS = $(sort $(filter-out $(T),$(wildcard *.sh))) +TLIBS = $(sort $(wildcard lib-*.sh)) annotate-tests.sh +TPERF = $(sort $(wildcard perf/p[0-9][0-9][0-9][0-9]-*.sh)) +TINTEROP = $(sort $(wildcard interop/i[0-9][0-9][0-9][0-9]-*.sh)) +CHAINLINTTESTS = $(sort $(patsubst chainlint/%.test,%,$(wildcard chainlint/*.test))) +CHAINLINT = '$(PERL_PATH_SQ)' chainlint.pl + +# `test-chainlint` (which is a dependency of `test-lint`, `test` and `prove`) +# checks all tests in all scripts via a single invocation, so tell individual +# scripts not to "chainlint" themselves +CHAINLINTSUPPRESS = GIT_TEST_CHAIN_LINT=0 && export GIT_TEST_CHAIN_LINT && + +all: $(DEFAULT_TEST_TARGET) + +test: pre-clean check-chainlint $(TEST_LINT) + $(CHAINLINTSUPPRESS) $(MAKE) aggregate-results-and-cleanup + +failed: + @failed=$$(cd '$(TEST_RESULTS_DIRECTORY_SQ)' && \ + grep -l '^failed [1-9]' *.counts | \ + sed -n 's/\.counts$$/.sh/p') && \ + test -z "$$failed" || $(MAKE) $$failed + +prove: pre-clean check-chainlint $(TEST_LINT) + @echo "*** prove ***"; $(CHAINLINTSUPPRESS) $(PROVE) --exec '$(TEST_SHELL_PATH_SQ)' $(GIT_PROVE_OPTS) $(T) :: $(GIT_TEST_OPTS) + $(MAKE) clean-except-prove-cache + +$(T): + @echo "*** $@ ***"; '$(TEST_SHELL_PATH_SQ)' $@ $(GIT_TEST_OPTS) + +pre-clean: + $(RM) -r '$(TEST_RESULTS_DIRECTORY_SQ)' + +clean-except-prove-cache: clean-chainlint + $(RM) -r 'trash directory'.* + $(RM) -r valgrind/bin + +clean: clean-except-prove-cache + $(RM) -r '$(TEST_RESULTS_DIRECTORY_SQ)' + $(RM) .prove + +clean-chainlint: + $(RM) -r '$(CHAINLINTTMP_SQ)' + +check-chainlint: + @mkdir -p '$(CHAINLINTTMP_SQ)' && \ + for i in $(CHAINLINTTESTS); do \ + echo "test_expect_success '$$i' '" && \ + sed -e '/^# LINT: /d' chainlint/$$i.test && \ + echo "'"; \ + done >'$(CHAINLINTTMP_SQ)'/tests && \ + { \ + echo "# chainlint: $(CHAINLINTTMP_SQ)/tests" && \ + for i in $(CHAINLINTTESTS); do \ + echo "# chainlint: $$i" && \ + sed -e '/^[ ]*$$/d' chainlint/$$i.expect; \ + done \ + } >'$(CHAINLINTTMP_SQ)'/expect && \ + $(CHAINLINT) --emit-all '$(CHAINLINTTMP_SQ)'/tests | \ + sed -e 's/^[1-9][0-9]* //;/^[ ]*$$/d' >'$(CHAINLINTTMP_SQ)'/actual && \ + if test -f ../GIT-BUILD-OPTIONS; then \ + . ../GIT-BUILD-OPTIONS; \ + fi && \ + if test -x ../git$$X; then \ + DIFFW="../git$$X --no-pager diff -w --no-index"; \ + else \ + DIFFW="diff -w -u"; \ + fi && \ + $$DIFFW '$(CHAINLINTTMP_SQ)'/expect '$(CHAINLINTTMP_SQ)'/actual + +test-lint: test-lint-duplicates test-lint-executable test-lint-shell-syntax \ + test-lint-filenames +ifneq ($(GIT_TEST_CHAIN_LINT),0) +test-lint: test-chainlint +endif + +test-lint-duplicates: + @dups=`echo $(T) $(TPERF) | tr ' ' '\n' | sed 's/-.*//' | sort | uniq -d` && \ + test -z "$$dups" || { \ + echo >&2 "duplicate test numbers:" $$dups; exit 1; } + +test-lint-executable: + @bad=`for i in $(T) $(TPERF); do test -x "$$i" || echo $$i; done` && \ + test -z "$$bad" || { \ + echo >&2 "non-executable tests:" $$bad; exit 1; } + +test-lint-shell-syntax: + @'$(PERL_PATH_SQ)' check-non-portable-shell.pl $(T) $(THELPERS) $(TPERF) + +test-lint-filenames: + @# We do *not* pass a glob to ls-files but use grep instead, to catch + @# non-ASCII characters (which are quoted within double-quotes) + @bad="$$(git -c core.quotepath=true ls-files 2>/dev/null | \ + grep '["*:<>?\\|]')"; \ + test -z "$$bad" || { \ + echo >&2 "non-portable file name(s): $$bad"; exit 1; } + +test-chainlint: + @$(CHAINLINT) $(T) $(TLIBS) $(TPERF) $(TINTEROP) + +aggregate-results-and-cleanup: $(T) + $(MAKE) aggregate-results + $(MAKE) clean + +aggregate-results: + for f in '$(TEST_RESULTS_DIRECTORY_SQ)'/t*-*.counts; do \ + echo "$$f"; \ + done | '$(SHELL_PATH_SQ)' ./aggregate-results.sh + +valgrind: + $(MAKE) GIT_TEST_OPTS="$(GIT_TEST_OPTS) --valgrind" + +perf: + $(MAKE) -C perf/ all + +.PHONY: pre-clean $(T) aggregate-results clean valgrind perf \ + check-chainlint clean-chainlint test-chainlint diff --git a/t/README b/t/README new file mode 100644 index 0000000..979b2d4 --- /dev/null +++ b/t/README @@ -0,0 +1,1285 @@ +Core Git Tests +============== + +This directory holds many test scripts for core Git tools. The +first part of this short document describes how to run the tests +and read their output. + +When fixing the tools or adding enhancements, you are strongly +encouraged to add tests in this directory to cover what you are +trying to fix or enhance. The later part of this short document +describes how your test scripts should be organized. + + +Running Tests +------------- + +The easiest way to run tests is to say "make". This runs all +the tests. + + *** 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 43 - very long name in the index handled sanely + # fixed 1 known breakage(s) + # still have 1 known breakage(s) + # passed all remaining 42 test(s) + 1..43 + *** t0001-init.sh *** + ok 1 - plain + ok 2 - plain with GIT_WORK_TREE + ok 3 - plain bare + +Since the tests all output TAP (see http://testanything.org) they can +be run with any TAP harness. Here's an example of parallel testing +powered by a recent version of prove(1): + + $ prove --timer --jobs 15 ./t[0-9]*.sh + [19:17:33] ./t0005-signals.sh ................................... ok 36 ms + [19:17:33] ./t0022-crlf-rename.sh ............................... ok 69 ms + [19:17:33] ./t0024-crlf-archive.sh .............................. ok 154 ms + [19:17:33] ./t0004-unwritable.sh ................................ ok 289 ms + [19:17:33] ./t0002-gitfile.sh ................................... ok 480 ms + ===( 102;0 25/? 6/? 5/? 16/? 1/? 4/? 2/? 1/? 3/? 1... )=== + +prove and other harnesses come with a lot of useful options. The +--state option in particular is very useful: + + # Repeat until no more failures + $ prove -j 15 --state=failed,save ./t[0-9]*.sh + +You can give DEFAULT_TEST_TARGET=prove on the make command (or define it +in config.mak) to cause "make test" to run tests under prove. +GIT_PROVE_OPTS can be used to pass additional options, e.g. + + $ make DEFAULT_TEST_TARGET=prove GIT_PROVE_OPTS='--timer --jobs 16' test + +You can also run each test individually from command line, like this: + + $ sh ./t3010-ls-files-killed-modified.sh + ok 1 - git update-index --add to add various paths. + ok 2 - git ls-files -k to show killed files. + ok 3 - validate git ls-files -k output. + ok 4 - git ls-files -m to show modified files. + ok 5 - validate git ls-files -m output. + # passed all 5 test(s) + 1..5 + +You can pass --verbose (or -v), --debug (or -d), and --immediate +(or -i) command line argument to the test, or by setting GIT_TEST_OPTS +appropriately before running "make". Short options can be bundled, i.e. +'-d -v' is the same as '-dv'. + +-v:: +--verbose:: + This makes the test more verbose. Specifically, the + command being run and their output if any are also + output. + +--verbose-only=:: + Like --verbose, but the effect is limited to tests with + numbers matching . The number matched against is + simply the running count of the test within the file. + +-x:: + Turn on shell tracing (i.e., `set -x`) during the tests + themselves. Implies `--verbose`. + Ignored in test scripts that set the variable 'test_untraceable' + to a non-empty value, unless it's run with a Bash version + supporting BASH_XTRACEFD, i.e. v4.1 or later. + +-d:: +--debug:: + This may help the person who is developing a new test. + It causes the command defined with test_debug to run. + The "trash" directory (used to store all temporary data + during testing) is not deleted even if there are no + failed tests so that you can inspect its contents after + the test finished. + +-i:: +--immediate:: + This causes the test to immediately exit upon the first + failed test. Cleanup commands requested with + test_when_finished are not executed if the test failed, + in order to keep the state for inspection by the tester + to diagnose the bug. + +-l:: +--long-tests:: + This causes additional long-running tests to be run (where + available), for more exhaustive testing. + +-r:: +--run=:: + Run only the subset of tests indicated by + . See section "Skipping Tests" below for + syntax. + +--valgrind=:: + Execute all Git binaries under valgrind tool and exit + with status 126 on errors (just like regular tests, this will + only stop the test script when running under -i). + + Since it makes no sense to run the tests with --valgrind and + not see any output, this option implies --verbose. For + convenience, it also implies --tee. + + defaults to 'memcheck', just like valgrind itself. + Other particularly useful choices include 'helgrind' and + 'drd', but you may use any tool recognized by your valgrind + installation. + + As a special case, can be 'memcheck-fast', which uses + memcheck but disables --track-origins. Use this if you are + running tests in bulk, to see if there are _any_ memory + issues. + + Note that memcheck is run with the option --leak-check=no, + as the git process is short-lived and some errors are not + interesting. In order to run a single command under the same + conditions manually, you should set GIT_VALGRIND to point to + the 't/valgrind/' directory and use the commands under + 't/valgrind/bin/'. + +--valgrind-only=:: + Like --valgrind, but the effect is limited to tests with + numbers matching . The number matched against is + simply the running count of the test within the file. + +--tee:: + In addition to printing the test output to the terminal, + write it to files named 't/test-results/$TEST_NAME.out'. + As the names depend on the tests' file names, it is safe to + run the tests with this option in parallel. + +-V:: +--verbose-log:: + Write verbose output to the same logfile as `--tee`, but do + _not_ write it to stdout. Unlike `--tee --verbose`, this option + is safe to use when stdout is being consumed by a TAP parser + like `prove`. Implies `--tee` and `--verbose`. + +--with-dashes:: + By default tests are run without dashed forms of + commands (like git-commit) in the PATH (it only uses + wrappers from ../bin-wrappers). Use this option to include + the build directory (..) in the PATH, which contains all + the dashed forms of commands. This option is currently + implied by other options like --valgrind and + GIT_TEST_INSTALLED. + +--no-bin-wrappers:: + By default, the test suite uses the wrappers in + `../bin-wrappers/` to execute `git` and friends. With this option, + `../git` and friends are run directly. This is not recommended + in general, as the wrappers contain safeguards to ensure that no + files from an installed Git are used, but can speed up test runs + especially on platforms where running shell scripts is expensive + (most notably, Windows). + +--root=:: + Create "trash" directories used to store all temporary data during + testing under , instead of the t/ directory. + Using this option with a RAM-based filesystem (such as tmpfs) + can massively speed up the test suite. + +--chain-lint:: +--no-chain-lint:: + If --chain-lint is enabled, the test harness will check each + test to make sure that it properly "&&-chains" all commands (so + that a failure in the middle does not go unnoticed by the final + exit code of the test). This check is performed in addition to + running the tests themselves. You may also enable or disable + this feature by setting the GIT_TEST_CHAIN_LINT environment + variable to "1" or "0", respectively. + +--stress:: + Run the test script repeatedly in multiple parallel jobs until + one of them fails. Useful for reproducing rare failures in + flaky tests. The number of parallel jobs is, in order of + precedence: the value of the GIT_TEST_STRESS_LOAD + environment variable, or twice the number of available + processors (as shown by the 'getconf' utility), or 8. + Implies `--verbose -x --immediate` to get the most information + about the failure. Note that the verbose output of each test + job is saved to 't/test-results/$TEST_NAME.stress-.out', + and only the output of the failed test job is shown on the + terminal. The names of the trash directories get a + '.stress-' suffix, and the trash directory of the failed + test job is renamed to end with a '.stress-failed' suffix. + +--stress-jobs=:: + Override the number of parallel jobs. Implies `--stress`. + +--stress-limit=:: + When combined with --stress run the test script repeatedly + this many times in each of the parallel jobs or until one of + them fails, whichever comes first. Implies `--stress`. + +You can also set the GIT_TEST_INSTALLED environment variable to +the bindir of an existing git installation to test that installation. +You still need to have built this git sandbox, from which various +test-* support programs, templates, and perl libraries are used. +If your installed git is incomplete, it will silently test parts of +your built version instead. + +When using GIT_TEST_INSTALLED, you can also set GIT_TEST_EXEC_PATH to +override the location of the dashed-form subcommands (what +GIT_EXEC_PATH would be used for during normal operation). +GIT_TEST_EXEC_PATH defaults to `$GIT_TEST_INSTALLED/git --exec-path`. + + +Skipping Tests +-------------- + +In some environments, certain tests have no way of succeeding +due to platform limitation, such as lack of 'unzip' program, or +filesystem that do not allow arbitrary sequence of non-NUL bytes +as pathnames. + +You should be able to say something like + + $ GIT_SKIP_TESTS=t9200.8 sh ./t9200-git-cvsexport-commit.sh + +and even: + + $ GIT_SKIP_TESTS='t[0-4]??? t91?? t9200.8' make + +to omit such tests. The value of the environment variable is a +SP separated list of patterns that tells which tests to skip, +and either can match the "t[0-9]{4}" part to skip the whole +test, or t[0-9]{4} followed by ".$number" to say which +particular test to skip. + +For an individual test suite --run could be used to specify that +only some tests should be run or that some tests should be +excluded from a run. + +The argument for --run, , is a list of description +substrings or globs or individual test numbers or ranges with an +optional negation prefix (of '!') that define what tests in a test +suite to include (or exclude, if negated) in the run. A range is two +numbers separated with a dash and matches a range of tests with both +ends been included. You may omit the first or the second number to +mean "from the first test" or "up to the very last test" respectively. + +The argument to --run is split on commas into separate strings, +numbers, and ranges, and picks all tests that match any of the +individual selection criteria. If the substring of the description +text that you want to match includes a comma, use the glob character +'?' instead. For example --run='rebase,merge?cherry-pick' would match +on all tests that match either the glob *rebase* or the glob +*merge?cherry-pick*. + +If --run starts with an unprefixed number or range the initial +set of tests to run is empty. If the first item starts with '!' +all the tests are added to the initial set. After initial set is +determined every test number or range is added or excluded from +the set one by one, from left to right. + +For example, to run only tests up to a specific test (21), one +could do this: + + $ sh ./t9200-git-cvsexport-commit.sh --run='1-21' + +or this: + + $ sh ./t9200-git-cvsexport-commit.sh --run='-21' + +Common case is to run several setup tests (1, 2, 3) and then a +specific test (21) that relies on that setup: + + $ sh ./t9200-git-cvsexport-commit.sh --run='1,2,3,21' + +or: + + $ sh ./t9200-git-cvsexport-commit.sh --run=1,2,3,21 + +or: + + $ sh ./t9200-git-cvsexport-commit.sh --run='-3,21' + +As noted above, the test set is built by going through the items +from left to right, so this: + + $ sh ./t9200-git-cvsexport-commit.sh --run='1-4,!3' + +will run tests 1, 2, and 4. Items that come later have higher +precedence. It means that this: + + $ sh ./t9200-git-cvsexport-commit.sh --run='!3,1-4' + +would just run tests from 1 to 4, including 3. + +You may use negation with ranges. The following will run all +test in the test suite except from 7 up to 11: + + $ sh ./t9200-git-cvsexport-commit.sh --run='!7-11' + +Sometimes there may be multiple tests with e.g. "setup" in their name +that are needed and rather than figuring out the number for all of them +we can just use "setup" as a substring/glob to match against the test +description: + + $ sh ./t0050-filesystem.sh --run=setup,9-11 + +or one could select both the setup tests and the rename ones (assuming all +relevant tests had those words in their descriptions): + + $ sh ./t0050-filesystem.sh --run=setup,rename + +Some tests in a test suite rely on the previous tests performing +certain actions, specifically some tests are designated as +"setup" test, so you cannot _arbitrarily_ disable one test and +expect the rest to function correctly. + +--run is mostly useful when you want to focus on a specific test +and know what setup is needed for it. Or when you want to run +everything up to a certain test. + + +Running tests with special setups +--------------------------------- + +The whole test suite could be run to test some special features +that cannot be easily covered by a few specific test cases. These +could be enabled by running the test suite with correct GIT_TEST_ +environment set. + +GIT_TEST_FAIL_PREREQS= fails all prerequisites. This is +useful for discovering issues with the tests where say a later test +implicitly depends on an optional earlier test. + +There's a "FAIL_PREREQS" prerequisite that can be used to test for +whether this mode is active, and e.g. skip some tests that are hard to +refactor to deal with it. The "SYMLINKS" prerequisite is currently +excluded as so much relies on it, but this might change in the future. + +GIT_TEST_SPLIT_INDEX= forces split-index mode on the whole +test suite. Accept any boolean values that are accepted by git-config. + +GIT_TEST_PASSING_SANITIZE_LEAK=true skips those tests that haven't +declared themselves as leak-free by setting +"TEST_PASSES_SANITIZE_LEAK=true" before sourcing "test-lib.sh". This +test mode is used by the "linux-leaks" CI target. + +GIT_TEST_PASSING_SANITIZE_LEAK=check checks that our +"TEST_PASSES_SANITIZE_LEAK=true" markings are current. Rather than +skipping those tests that haven't set "TEST_PASSES_SANITIZE_LEAK=true" +before sourcing "test-lib.sh" this mode runs them with +"--invert-exit-code". This is used to check that there's a one-to-one +mapping between "TEST_PASSES_SANITIZE_LEAK=true" and those tests that +pass under "SANITIZE=leak". This is especially useful when testing a +series that fixes various memory leaks with "git rebase -x". + +GIT_TEST_SANITIZE_LEAK_LOG=true will log memory leaks to +"test-results/$TEST_NAME.leak/trace.*" files. The logs include a +"dedup_token" (see +"ASAN_OPTIONS=help=1 ./git") and other options to +make logs +machine-readable. + +With GIT_TEST_SANITIZE_LEAK_LOG=true we'll look at the leak logs +before exiting and exit on failure if the logs showed that we had a +memory leak, even if the test itself would have otherwise passed. This +allows us to catch e.g. missing &&-chaining. This is especially useful +when combined with "GIT_TEST_PASSING_SANITIZE_LEAK", see below. + +GIT_TEST_PASSING_SANITIZE_LEAK=check when combined with "--immediate" +will run to completion faster, and result in the same failing +tests. The only practical reason to run +GIT_TEST_PASSING_SANITIZE_LEAK=check without "--immediate" is to +combine it with "GIT_TEST_SANITIZE_LEAK_LOG=true". If we stop at the +first failing test case our leak logs won't show subsequent leaks we +might have run into. + +GIT_TEST_PASSING_SANITIZE_LEAK=(true|check) will not catch all memory +leaks unless combined with GIT_TEST_SANITIZE_LEAK_LOG=true. Some tests +run "git" (or "test-tool" etc.) without properly checking the exit +code, or git will invoke itself and fail to ferry the abort() exit +code to the original caller. When the two modes are combined we'll +look at the "test-results/$TEST_NAME.leak/trace.*" files at the end of +the test run to see if had memory leaks which the test itself didn't +catch. + +GIT_TEST_PROTOCOL_VERSION=, when set, makes 'protocol.version' +default to n. + +GIT_TEST_FULL_IN_PACK_ARRAY= exercises the uncommon +pack-objects code path where there are more than 1024 packs even if +the actual number of packs in repository is below this limit. Accept +any boolean values that are accepted by git-config. + +GIT_TEST_OE_SIZE= exercises the uncommon pack-objects code path +where we do not cache object size in memory and read it from existing +packs on demand. This normally only happens when the object size is +over 2GB. This variable forces the code path on any object larger than + bytes. + +GIT_TEST_OE_DELTA_SIZE= exercises the uncommon pack-objects code +path where deltas larger than this limit require extra memory +allocation for bookkeeping. + +GIT_TEST_VALIDATE_INDEX_CACHE_ENTRIES= checks that cache-tree +records are valid when the index is written out or after a merge. This +is mostly to catch missing invalidation. Default is true. + +GIT_TEST_COMMIT_GRAPH=, when true, forces the commit-graph to +be written after every 'git commit' command, and overrides the +'core.commitGraph' setting to true. + +GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=, when true, forces +commit-graph write to compute and write changed path Bloom filters for +every 'git commit-graph write', as if the `--changed-paths` option was +passed in. + +GIT_TEST_FSMONITOR=$PWD/t7519/fsmonitor-all exercises the fsmonitor +code paths for utilizing a (hook based) file system monitor to speed up +detecting new or changed files. + +GIT_TEST_INDEX_VERSION= exercises the index read/write code path +for the index version specified. Can be set to any valid version +(currently 2, 3, or 4). + +GIT_TEST_PACK_SPARSE= if disabled will default the pack-objects +builtin to use the non-sparse object walk. This can still be overridden by +the --sparse command-line argument. + +GIT_TEST_PRELOAD_INDEX= exercises the preload-index code path +by overriding the minimum number of cache entries required per thread. + +GIT_TEST_ADD_I_USE_BUILTIN=, when false, disables the +built-in version of git add -i. See 'add.interactive.useBuiltin' in +git-config(1). + +GIT_TEST_INDEX_THREADS= enables exercising the multi-threaded loading +of the index for the whole test suite by bypassing the default number of +cache entries and thread minimums. Setting this to 1 will make the +index loading single threaded. + +GIT_TEST_MULTI_PACK_INDEX=, when true, forces the multi-pack- +index to be written after every 'git repack' command, and overrides the +'core.multiPackIndex' setting to true. + +GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP=, when true, sets the +'--bitmap' option on all invocations of 'git multi-pack-index write', +and ignores pack-objects' '--write-bitmap-index'. + +GIT_TEST_SIDEBAND_ALL=, when true, overrides the +'uploadpack.allowSidebandAll' setting to true, and when false, forces +fetch-pack to not request sideband-all (even if the server advertises +sideband-all). + +GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=, when true (which is +the default when running tests), errors out when an abbreviated option +is used. + +GIT_TEST_DEFAULT_HASH= specifies which hash algorithm to +use in the test scripts. Recognized values for are "sha1" +and "sha256". + +GIT_TEST_WRITE_REV_INDEX=, when true enables the +'pack.writeReverseIndex' setting. + +GIT_TEST_SPARSE_INDEX=, when true enables index writes to use the +sparse-index format by default. + +GIT_TEST_CHECKOUT_WORKERS= overrides the 'checkout.workers' setting +to and 'checkout.thresholdForParallelism' to 0, forcing the +execution of the parallel-checkout code. + +GIT_TEST_FATAL_REGISTER_SUBMODULE_ODB=, when true, makes +registering submodule ODBs as alternates a fatal action. Support for +this environment variable can be removed once the migration to +explicitly providing repositories when accessing submodule objects is +complete or needs to be abandoned for whatever reason (in which case the +migrated codepaths still retain their performance benefits). + +GIT_TEST_REQUIRE_PREREQ= allows specifying a space separated list of +prereqs that are required to succeed. If a prereq in this list is triggered by +a test and then fails then the whole test run will abort. This can help to make +sure the expected tests are executed and not silently skipped when their +dependency breaks or is simply not present in a new environment. + +Naming Tests +------------ + +The test files are named as: + + tNNNN-commandname-details.sh + +where N is a decimal digit. + +First digit tells the family: + + 0 - the absolute basics and global stuff + 1 - the basic commands concerning database + 2 - the basic commands concerning the working tree + 3 - the other basic commands (e.g. ls-files) + 4 - the diff commands + 5 - the pull and exporting commands + 6 - the revision tree commands (even e.g. merge-base) + 7 - the porcelainish commands concerning the working tree + 8 - the porcelainish commands concerning forensics + 9 - the git tools + +Second digit tells the particular command we are testing. + +Third digit (optionally) tells the particular switch or group of switches +we are testing. + +If you create files under t/ directory (i.e. here) that is not +the top-level test script, never name the file to match the above +pattern. The Makefile here considers all such files as the +top-level test script and tries to run all of them. Care is +especially needed if you are creating a common test library +file, similar to test-lib.sh, because such a library file may +not be suitable for standalone execution. + + +Writing Tests +------------- + +The test script is written as a shell script. It should start +with the standard "#!/bin/sh", and an +assignment to variable 'test_description', like this: + + #!/bin/sh + + test_description='xxx test (option --frotz) + + This test registers the following structure in the cache + and tries to run git-ls-files with option --frotz.' + + +Source 'test-lib.sh' +-------------------- + +After assigning test_description, the test script should source +test-lib.sh like this: + + . ./test-lib.sh + +This test harness library does the following things: + + - If the script is invoked with command line argument --help + (or -h), it shows the test_description and exits. + + - Creates an empty test directory with an empty .git/objects database + and chdir(2) into it. This directory is 't/trash + directory.$test_name_without_dotsh', with t/ subject to change by + the --root option documented above, and a '.stress-' suffix + appended by the --stress option. + + - Defines standard test helper functions for your scripts to + use. These functions are designed to make all scripts behave + consistently when command line arguments --verbose (or -v), + --debug (or -d), and --immediate (or -i) is given. + +Recommended style +----------------- +Here are some recommented styles when writing test case. + + - Keep test title the same line with test helper function itself. + + Take test_expect_success helper for example, write it like: + + test_expect_success 'test title' ' + ... test body ... + ' + + Instead of: + + test_expect_success \ + 'test title' \ + '... test body ...' + + + - End the line with a single quote. + + - Indent the body of here-document, and use "<<-" instead of "<<" + to strip leading TABs used for indentation: + + test_expect_success 'test something' ' + cat >expect <<-\EOF && + one + two + three + EOF + test_something > actual && + test_cmp expect actual + ' + + Instead of: + + test_expect_success 'test something' ' + cat >expect <<\EOF && + one + two + three + EOF + test_something > actual && + test_cmp expect actual + ' + + - Quote or escape the EOF delimiter that begins a here-document if + there is no parameter and other expansion in it, to signal readers + that they can skim it more casually: + + cmd <<-\EOF + literal here-document text without any expansion + EOF + + +Do's & don'ts +------------- + +Here are a few examples of things you probably should and shouldn't do +when writing tests. + +Here are the "do's:" + + - Put all code inside test_expect_success and other assertions. + + Even code that isn't a test per se, but merely some setup code + should be inside a test assertion. + + - Chain your test assertions + + Write test code like this: + + git merge foo && + git push bar && + test ... + + Instead of: + + git merge hla + git push gh + test ... + + That way all of the commands in your tests will succeed or fail. If + you must ignore the return value of something, consider using a + helper function (e.g. use sane_unset instead of unset, in order + to avoid unportable return value for unsetting a variable that was + already unset), or prepending the command with test_might_fail or + test_must_fail. + + - Check the test coverage for your tests. See the "Test coverage" + below. + + Don't blindly follow test coverage metrics; if a new function you added + doesn't have any coverage, then you're probably doing something wrong, + but having 100% coverage doesn't necessarily mean that you tested + everything. + + Tests that are likely to smoke out future regressions are better + than tests that just inflate the coverage metrics. + + - When a test checks for an absolute path that a git command generated, + construct the expected value using $(pwd) rather than $PWD, + $TEST_DIRECTORY, or $TRASH_DIRECTORY. It makes a difference on + Windows, where the shell (MSYS bash) mangles absolute path names. + For details, see the commit message of 4114156ae9. + + - Remember that inside the