Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rw-r--r--t/Makefile7
-rw-r--r--t/README48
-rw-r--r--t/annotate-tests.sh26
-rw-r--r--t/helper/test-crontab.c35
-rw-r--r--t/helper/test-fast-rebase.c211
-rw-r--r--t/helper/test-hashmap.c9
-rw-r--r--t/helper/test-pkt-line.c23
-rw-r--r--t/helper/test-proc-receive.c54
-rw-r--r--t/helper/test-ref-store.c13
-rw-r--r--t/helper/test-tool.c2
-rw-r--r--t/helper/test-tool.h2
-rw-r--r--t/lib-cvs.sh2
-rw-r--r--t/lib-merge.sh13
-rw-r--r--t/lib-submodule-update.sh18
-rw-r--r--t/oid-info/README2
-rw-r--r--t/perf/Makefile5
-rw-r--r--t/perf/README2
-rwxr-xr-xt/perf/p1400-update-ref.sh20
-rwxr-xr-xt/perf/p3400-rebase.sh6
-rwxr-xr-xt/perf/p7519-fsmonitor.sh158
-rw-r--r--t/perf/perf-lib.sh12
-rwxr-xr-xt/t0000-basic.sh74
-rwxr-xr-xt/t0001-init.sh30
-rwxr-xr-xt/t0002-gitfile.sh9
-rwxr-xr-xt/t0020-crlf.sh11
-rwxr-xr-xt/t0021-conversion.sh79
-rwxr-xr-xt/t0027-auto-crlf.sh4
-rwxr-xr-xt/t0028-working-tree-encoding.sh7
-rwxr-xr-xt/t0041-usage.sh13
-rwxr-xr-xt/t0050-filesystem.sh9
-rwxr-xr-xt/t0060-path-utils.sh4
-rwxr-xr-xt/t0064-oid-array.sh (renamed from t/t0064-sha1-array.sh)9
-rwxr-xr-xt/t0068-for-each-repo.sh36
-rwxr-xr-xt/t0070-fundamental.sh18
-rwxr-xr-xt/t0100-previous.sh21
-rwxr-xr-xt/t0300-credentials.sh26
-rwxr-xr-xt/t1004-read-tree-m-u-wf.sh43
-rwxr-xr-xt/t1006-cat-file.sh2
-rwxr-xr-xt/t1008-read-tree-overlay.sh5
-rwxr-xr-xt/t1009-read-tree-new-index.sh7
-rwxr-xr-xt/t1011-read-tree-sparse-checkout.sh2
-rwxr-xr-xt/t1021-rerere-in-workdir.sh5
-rwxr-xr-xt/t1050-large.sh8
-rwxr-xr-xt/t1090-sparse-checkout-scope.sh13
-rwxr-xr-xt/t1091-sparse-checkout-builtin.sh5
-rwxr-xr-xt/t1300-config.sh455
-rwxr-xr-xt/t1301-shared-repo.sh7
-rwxr-xr-xt/t1305-config-include.sh2
-rwxr-xr-xt/t1309-early-config.sh4
-rwxr-xr-xt/t1400-update-ref.sh218
-rwxr-xr-xt/t1402-check-ref-format.sh32
-rwxr-xr-xt/t1403-show-ref.sh21
-rwxr-xr-xt/t1405-main-ref-store.sh53
-rwxr-xr-xt/t1406-submodule-ref-store.sh41
-rwxr-xr-xt/t1407-worktree-ref-store.sh35
-rwxr-xr-xt/t1408-packed-refs.sh15
-rwxr-xr-xt/t1410-reflog.sh59
-rwxr-xr-xt/t1411-reflog-show.sh5
-rwxr-xr-xt/t1412-reflog-loop.sh7
-rwxr-xr-xt/t1413-reflog-detach.sh27
-rwxr-xr-xt/t1414-reflog-walk.sh15
-rwxr-xr-xt/t1416-ref-transaction-hooks.sh13
-rwxr-xr-xt/t1430-bad-ref-name.sh55
-rwxr-xr-xt/t1450-fsck.sh2
-rwxr-xr-xt/t1500-rev-parse.sh64
-rwxr-xr-xt/t1503-rev-parse-verify.sh48
-rwxr-xr-xt/t1505-rev-parse-last.sh11
-rwxr-xr-xt/t1506-rev-parse-diagnosis.sh32
-rwxr-xr-xt/t1507-rev-parse-upstream.sh43
-rwxr-xr-xt/t1508-at-combinations.sh26
-rwxr-xr-xt/t1510-repo-setup.sh2
-rwxr-xr-xt/t1511-rev-parse-caret.sh29
-rwxr-xr-xt/t1512-rev-parse-disambiguation.sh7
-rwxr-xr-xt/t1513-rev-parse-prefix.sh7
-rwxr-xr-xt/t1514-rev-parse-push.sh19
-rwxr-xr-xt/t1700-split-index.sh5
-rwxr-xr-xt/t2004-checkout-cache-temp.sh10
-rwxr-xr-xt/t2006-checkout-index-basic.sh11
-rwxr-xr-xt/t2007-checkout-symlink.sh13
-rwxr-xr-xt/t2009-checkout-statinfo.sh11
-rwxr-xr-xt/t2010-checkout-ambiguous.sh7
-rwxr-xr-xt/t2011-checkout-invalid-head.sh19
-rwxr-xr-xt/t2012-checkout-last.sh63
-rwxr-xr-xt/t2015-checkout-unborn.sh5
-rwxr-xr-xt/t2016-checkout-patch.sh5
-rwxr-xr-xt/t2017-checkout-orphan.sh47
-rwxr-xr-xt/t2020-checkout-detach.sh31
-rwxr-xr-xt/t2022-checkout-paths.sh25
-rwxr-xr-xt/t2023-checkout-m.sh13
-rwxr-xr-xt/t2024-checkout-dwim.sh70
-rwxr-xr-xt/t2027-checkout-track.sh9
-rwxr-xr-xt/t2030-unresolve-info.sh9
-rwxr-xr-xt/t2060-switch.sh33
-rwxr-xr-xt/t2070-restore.sh7
-rwxr-xr-xt/t2106-update-index-assume-unchanged.sh31
-rwxr-xr-xt/t2200-add-update.sh3
-rwxr-xr-xt/t2400-worktree-add.sh69
-rwxr-xr-xt/t2401-worktree-prune.sh5
-rwxr-xr-xt/t2402-worktree-list.sh25
-rwxr-xr-xt/t2405-worktree-submodule.sh9
-rwxr-xr-xt/t2406-worktree-repair.sh26
-rwxr-xr-xt/t3040-subprojects-basic.sh3
-rwxr-xr-xt/t3200-branch.sh274
-rwxr-xr-xt/t3201-branch-contains.sh90
-rwxr-xr-xt/t3202-show-branch-octopus.sh5
-rwxr-xr-xt/t3203-branch-output.sh97
-rwxr-xr-xt/t3204-branch-name-interpretation.sh9
-rwxr-xr-xt/t3205-branch-color.sh16
-rwxr-xr-xt/t3206-range-diff.sh43
-rw-r--r--t/t3206/history.export2
-rwxr-xr-xt/t3210-pack-refs.sh7
-rwxr-xr-xt/t3211-peel-ref.sh7
-rwxr-xr-xt/t3301-notes.sh11
-rwxr-xr-xt/t3302-notes-index-expensive.sh5
-rwxr-xr-xt/t3303-notes-subtrees.sh11
-rwxr-xr-xt/t3304-notes-mixed.sh11
-rwxr-xr-xt/t3308-notes-merge.sh2
-rwxr-xr-xt/t3320-notes-merge-worktrees.sh7
-rwxr-xr-xt/t3400-rebase.sh63
-rwxr-xr-xt/t3402-rebase-merge.sh47
-rwxr-xr-xt/t3403-rebase-skip.sh9
-rwxr-xr-xt/t3404-rebase-interactive.sh99
-rwxr-xr-xt/t3405-rebase-malformed.sh11
-rwxr-xr-xt/t3406-rebase-message.sh37
-rwxr-xr-xt/t3407-rebase-abort.sh21
-rwxr-xr-xt/t3408-rebase-multi-line.sh5
-rwxr-xr-xt/t3409-rebase-preserve-merges.sh13
-rwxr-xr-xt/t3412-rebase-root.sh31
-rwxr-xr-xt/t3413-rebase-hook.sh45
-rwxr-xr-xt/t3415-rebase-autosquash.sh5
-rwxr-xr-xt/t3416-rebase-onto-threedots.sh57
-rwxr-xr-xt/t3418-rebase-continue.sh27
-rwxr-xr-xt/t3419-rebase-patch-id.sh15
-rwxr-xr-xt/t3420-rebase-autostash.sh11
-rwxr-xr-xt/t3423-rebase-reword.sh6
-rwxr-xr-xt/t3427-rebase-subtree.sh25
-rwxr-xr-xt/t3430-rebase-merges.sh19
-rwxr-xr-xt/t3431-rebase-fork-point.sh35
-rwxr-xr-xt/t3432-rebase-fast-forward.sh37
-rwxr-xr-xt/t3434-rebase-i18n.sh11
-rwxr-xr-xt/t3435-rebase-gpg-sign.sh63
-rwxr-xr-xt/t3436-rebase-more-options.sh2
-rwxr-xr-xt/t3500-cherry.sh15
-rwxr-xr-xt/t3501-revert-cherry-pick.sh7
-rwxr-xr-xt/t3502-cherry-pick-merge.sh5
-rwxr-xr-xt/t3503-cherry-pick-root.sh13
-rwxr-xr-xt/t3504-cherry-pick-rerere.sh27
-rwxr-xr-xt/t3505-cherry-pick-empty.sh27
-rwxr-xr-xt/t3506-cherry-pick-ff.sh11
-rwxr-xr-xt/t3507-cherry-pick-conflict.sh5
-rwxr-xr-xt/t3508-cherry-pick-many-commits.sh41
-rwxr-xr-xt/t3509-cherry-pick-merge-df.sh5
-rwxr-xr-xt/t3512-cherry-pick-submodule.sh5
-rwxr-xr-xt/t3600-rm.sh13
-rwxr-xr-xt/t3701-add-interactive.sh97
-rwxr-xr-xt/t3800-mktag.sh236
-rwxr-xr-xt/t3901-i18n-patch.sh43
-rwxr-xr-xt/t3903-stash.sh35
-rwxr-xr-xt/t3910-mac-os-precompose.sh9
-rwxr-xr-xt/t3920-crlf-messages.sh126
-rwxr-xr-xt/t4013-diff-various.sh44
-rw-r--r--t/t4013/diff.log_-IA_-IB_-I1_-I2_-p_master99
-rwxr-xr-xt/t4014-format-patch.sh266
-rwxr-xr-xt/t4015-diff-whitespace.sh30
-rwxr-xr-xt/t4017-diff-retval.sh5
-rwxr-xr-xt/t4018-diff-funcname.sh1
-rw-r--r--t/t4018/bash-arithmetic-function4
-rw-r--r--t/t4018/bash-bashism-style-compact6
-rw-r--r--t/t4018/bash-bashism-style-function4
-rw-r--r--t/t4018/bash-bashism-style-whitespace4
-rw-r--r--t/t4018/bash-conditional-function4
-rw-r--r--t/t4018/bash-missing-parentheses6
-rw-r--r--t/t4018/bash-mixed-style-compact4
-rw-r--r--t/t4018/bash-mixed-style-function4
-rw-r--r--t/t4018/bash-nested-functions6
-rw-r--r--t/t4018/bash-other-characters4
-rw-r--r--t/t4018/bash-posix-style-compact4
-rw-r--r--t/t4018/bash-posix-style-function4
-rw-r--r--t/t4018/bash-posix-style-whitespace4
-rw-r--r--t/t4018/bash-subshell-function4
-rw-r--r--t/t4018/bash-trailing-comment4
-rwxr-xr-xt/t4027-diff-submodule.sh12
-rwxr-xr-xt/t4038-diff-combined.sh17
-rwxr-xr-xt/t4041-diff-submodule-option.sh21
-rwxr-xr-xt/t4048-diff-combined-binary.sh13
-rwxr-xr-xt/t4052-stat-output.sh7
-rwxr-xr-xt/t4056-diff-order.sh5
-rwxr-xr-xt/t4057-diff-combined-paths.sh23
-rwxr-xr-xt/t4058-diff-duplicates.sh114
-rwxr-xr-xt/t4060-diff-submodule-option-diff-format.sh16
-rwxr-xr-xt/t4061-diff-indent.sh27
-rwxr-xr-xt/t4066-diff-emit-delay.sh5
-rwxr-xr-xt/t4068-diff-symmetric-merge-base.sh196
-rwxr-xr-xt/t4068-diff-symmetric.sh91
-rwxr-xr-xt/t4103-apply-binary.sh39
-rwxr-xr-xt/t4108-apply-threeway.sh17
-rwxr-xr-xt/t4114-apply-typechange.sh7
-rwxr-xr-xt/t4121-apply-diffs.sh5
-rwxr-xr-xt/t4122-apply-symlink-inside.sh9
-rwxr-xr-xt/t4127-apply-same-fn.sh9
-rwxr-xr-xt/t4129-apply-samemode.sh26
-rwxr-xr-xt/t4150-am.sh29
-rwxr-xr-xt/t4200-rerere.sh23
-rwxr-xr-xt/t4201-shortlog.sh5
-rwxr-xr-xt/t4202-log.sh109
-rwxr-xr-xt/t4203-mailmap.sh849
-rwxr-xr-xt/t4204-patch-id.sh29
-rwxr-xr-xt/t4205-log-pretty-formats.sh99
-rwxr-xr-xt/t4207-log-decoration-colors.sh9
-rwxr-xr-xt/t4208-log-magic-pathspec.sh7
-rwxr-xr-xt/t4211-line-log.sh25
-rw-r--r--t/t4211/history.export2
-rwxr-xr-xt/t4214-log-graph-octopus.sh5
-rwxr-xr-xt/t4216-log-bloom.sh7
-rwxr-xr-xt/t4253-am-keep-cr-dos.sh23
-rwxr-xr-xt/t4257-am-interactive.sh2
-rwxr-xr-xt/t5150-request-pull.sh37
-rwxr-xr-xt/t5304-prune.sh5
-rwxr-xr-xt/t5305-include-tag.sh5
-rwxr-xr-xt/t5310-pack-bitmaps.sh184
-rwxr-xr-xt/t5312-prune-corruption.sh19
-rwxr-xr-xt/t5315-pack-objects-compression.sh8
-rwxr-xr-xt/t5317-pack-objects-filter-objects.sh5
-rwxr-xr-xt/t5319-multi-pack-index.sh30
-rwxr-xr-xt/t5322-pack-objects-sparse.sh5
-rwxr-xr-xt/t5323-pack-redundant.sh129
-rwxr-xr-xt/t5324-split-commit-graph.sh13
-rwxr-xr-xt/t5400-send-pack.sh208
-rwxr-xr-xt/t5401-update-hooks.sh24
-rwxr-xr-xt/t5402-post-merge-hook.sh19
-rwxr-xr-xt/t5403-post-checkout-hook.sh9
-rwxr-xr-xt/t5404-tracking-branches.sh11
-rwxr-xr-xt/t5405-send-pack-rewind.sh9
-rwxr-xr-xt/t5407-post-rewrite-hook.sh5
-rwxr-xr-xt/t5410-receive-pack-alternates.sh7
-rwxr-xr-xt/t5411-proc-receive-hook.sh17
-rw-r--r--t/t5411/common-functions.sh9
-rw-r--r--t/t5411/once-0010-report-status-v1.sh50
-rw-r--r--t/t5411/test-0000-standard-git-push.sh81
-rw-r--r--t/t5411/test-0001-standard-git-push--porcelain.sh85
-rw-r--r--t/t5411/test-0002-pre-receive-declined.sh12
-rw-r--r--t/t5411/test-0003-pre-receive-declined--porcelain.sh12
-rw-r--r--t/t5411/test-0011-no-hook-error.sh38
-rw-r--r--t/t5411/test-0012-no-hook-error--porcelain.sh38
-rw-r--r--t/t5411/test-0013-bad-protocol.sh230
-rw-r--r--t/t5411/test-0014-bad-protocol--porcelain.sh243
-rw-r--r--t/t5411/test-0020-report-ng.sh40
-rw-r--r--t/t5411/test-0021-report-ng--porcelain.sh40
-rw-r--r--t/t5411/test-0022-report-unexpect-ref.sh36
-rw-r--r--t/t5411/test-0023-report-unexpect-ref--porcelain.sh36
-rw-r--r--t/t5411/test-0024-report-unknown-ref.sh12
-rw-r--r--t/t5411/test-0025-report-unknown-ref--porcelain.sh12
-rw-r--r--t/t5411/test-0026-push-options.sh96
-rw-r--r--t/t5411/test-0027-push-options--porcelain.sh98
-rw-r--r--t/t5411/test-0030-report-ok.sh22
-rw-r--r--t/t5411/test-0031-report-ok--porcelain.sh22
-rw-r--r--t/t5411/test-0032-report-with-options.sh120
-rw-r--r--t/t5411/test-0033-report-with-options--porcelain.sh120
-rw-r--r--t/t5411/test-0034-report-ft.sh30
-rw-r--r--t/t5411/test-0035-report-ft--porcelain.sh30
-rw-r--r--t/t5411/test-0036-report-multi-rewrite-for-one-ref.sh90
-rw-r--r--t/t5411/test-0037-report-multi-rewrite-for-one-ref--porcelain.sh82
-rw-r--r--t/t5411/test-0038-report-mixed-refs.sh40
-rw-r--r--t/t5411/test-0039-report-mixed-refs--porcelain.sh40
-rw-r--r--t/t5411/test-0040-process-all-refs.sh42
-rw-r--r--t/t5411/test-0041-process-all-refs--porcelain.sh42
-rw-r--r--t/t5411/test-0050-proc-receive-refs-with-modifiers.sh42
-rwxr-xr-xt/t5500-fetch-pack.sh31
-rwxr-xr-xt/t5501-fetch-push-alternates.sh7
-rwxr-xr-xt/t5502-quickfetch.sh9
-rwxr-xr-xt/t5503-tagfollow.sh15
-rwxr-xr-xt/t5504-fetch-receive-strict.sh23
-rwxr-xr-xt/t5505-remote.sh189
-rwxr-xr-xt/t5506-remote-groups.sh7
-rwxr-xr-xt/t5509-fetch-push-namespaces.sh33
-rwxr-xr-xt/t5510-fetch.sh365
-rwxr-xr-xt/t5511-refspec.sh14
-rwxr-xr-xt/t5512-ls-remote.sh29
-rwxr-xr-xt/t5514-fetch-multiple.sh33
-rwxr-xr-xt/t5515-fetch-merge-logic.sh27
-rw-r--r--t/t5515/fetch.br-branches-default4
-rw-r--r--t/t5515/fetch.br-branches-default-merge4
-rw-r--r--t/t5515/fetch.br-branches-default-merge_branches-default4
-rw-r--r--t/t5515/fetch.br-branches-default-octopus4
-rw-r--r--t/t5515/fetch.br-branches-default-octopus_branches-default4
-rw-r--r--t/t5515/fetch.br-branches-default_branches-default4
-rw-r--r--t/t5515/fetch.br-branches-one2
-rw-r--r--t/t5515/fetch.br-branches-one-merge2
-rw-r--r--t/t5515/fetch.br-branches-one-merge_branches-one2
-rw-r--r--t/t5515/fetch.br-branches-one-octopus2
-rw-r--r--t/t5515/fetch.br-branches-one-octopus_branches-one2
-rw-r--r--t/t5515/fetch.br-branches-one_branches-one2
-rw-r--r--t/t5515/fetch.br-config-explicit4
-rw-r--r--t/t5515/fetch.br-config-explicit-merge4
-rw-r--r--t/t5515/fetch.br-config-explicit-merge_config-explicit4
-rw-r--r--t/t5515/fetch.br-config-explicit-octopus4
-rw-r--r--t/t5515/fetch.br-config-explicit-octopus_config-explicit4
-rw-r--r--t/t5515/fetch.br-config-explicit_config-explicit4
-rw-r--r--t/t5515/fetch.br-config-glob4
-rw-r--r--t/t5515/fetch.br-config-glob-merge4
-rw-r--r--t/t5515/fetch.br-config-glob-merge_config-glob4
-rw-r--r--t/t5515/fetch.br-config-glob-octopus4
-rw-r--r--t/t5515/fetch.br-config-glob-octopus_config-glob4
-rw-r--r--t/t5515/fetch.br-config-glob_config-glob4
-rw-r--r--t/t5515/fetch.br-remote-explicit4
-rw-r--r--t/t5515/fetch.br-remote-explicit-merge4
-rw-r--r--t/t5515/fetch.br-remote-explicit-merge_remote-explicit4
-rw-r--r--t/t5515/fetch.br-remote-explicit-octopus4
-rw-r--r--t/t5515/fetch.br-remote-explicit-octopus_remote-explicit4
-rw-r--r--t/t5515/fetch.br-remote-explicit_remote-explicit4
-rw-r--r--t/t5515/fetch.br-remote-glob4
-rw-r--r--t/t5515/fetch.br-remote-glob-merge4
-rw-r--r--t/t5515/fetch.br-remote-glob-merge_remote-glob4
-rw-r--r--t/t5515/fetch.br-remote-glob-octopus4
-rw-r--r--t/t5515/fetch.br-remote-glob-octopus_remote-glob4
-rw-r--r--t/t5515/fetch.br-remote-glob_remote-glob4
-rw-r--r--t/t5515/fetch.br-unconfig4
-rw-r--r--t/t5515/fetch.br-unconfig_--tags_.._.git2
-rw-r--r--t/t5515/fetch.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file2
-rw-r--r--t/t5515/fetch.br-unconfig_.._.git_tag_tag-one-tree_tag_tag-three-file2
-rw-r--r--t/t5515/fetch.br-unconfig_.._.git_tag_tag-one_tag_tag-three2
-rw-r--r--t/t5515/fetch.br-unconfig_branches-default4
-rw-r--r--t/t5515/fetch.br-unconfig_branches-one2
-rw-r--r--t/t5515/fetch.br-unconfig_config-explicit4
-rw-r--r--t/t5515/fetch.br-unconfig_config-glob4
-rw-r--r--t/t5515/fetch.br-unconfig_remote-explicit4
-rw-r--r--t/t5515/fetch.br-unconfig_remote-glob4
-rw-r--r--t/t5515/fetch.main (renamed from t/t5515/fetch.master)6
-rw-r--r--t/t5515/fetch.main_--tags_.._.git (renamed from t/t5515/fetch.master_--tags_.._.git)4
-rw-r--r--t/t5515/fetch.main_.._.git (renamed from t/t5515/fetch.master_.._.git)2
-rw-r--r--t/t5515/fetch.main_.._.git_one (renamed from t/t5515/fetch.master_.._.git_one)2
-rw-r--r--t/t5515/fetch.main_.._.git_one_tag_tag-one_tag_tag-three-file (renamed from t/t5515/fetch.master_.._.git_one_tag_tag-one_tag_tag-three-file)4
-rw-r--r--t/t5515/fetch.main_.._.git_one_two (renamed from t/t5515/fetch.master_.._.git_one_two)2
-rw-r--r--t/t5515/fetch.main_.._.git_tag_tag-one-tree_tag_tag-three-file (renamed from t/t5515/fetch.master_.._.git_tag_tag-one-tree_tag_tag-three-file)4
-rw-r--r--t/t5515/fetch.main_.._.git_tag_tag-one_tag_tag-three (renamed from t/t5515/fetch.master_.._.git_tag_tag-one_tag_tag-three)4
-rw-r--r--t/t5515/fetch.main_branches-default (renamed from t/t5515/fetch.master_branches-default)6
-rw-r--r--t/t5515/fetch.main_branches-one (renamed from t/t5515/fetch.master_branches-one)4
-rw-r--r--t/t5515/fetch.main_config-explicit (renamed from t/t5515/fetch.master_config-explicit)6
-rw-r--r--t/t5515/fetch.main_config-glob (renamed from t/t5515/fetch.master_config-glob)6
-rw-r--r--t/t5515/fetch.main_remote-explicit (renamed from t/t5515/fetch.master_remote-explicit)6
-rw-r--r--t/t5515/fetch.main_remote-glob11
-rw-r--r--t/t5515/fetch.master_remote-glob11
-rw-r--r--t/t5515/refs.br-branches-default6
-rw-r--r--t/t5515/refs.br-branches-default-merge6
-rw-r--r--t/t5515/refs.br-branches-default-merge_branches-default6
-rw-r--r--t/t5515/refs.br-branches-default-octopus6
-rw-r--r--t/t5515/refs.br-branches-default-octopus_branches-default6
-rw-r--r--t/t5515/refs.br-branches-default_branches-default6
-rw-r--r--t/t5515/refs.br-branches-one4
-rw-r--r--t/t5515/refs.br-branches-one-merge4
-rw-r--r--t/t5515/refs.br-branches-one-merge_branches-one4
-rw-r--r--t/t5515/refs.br-branches-one-octopus4
-rw-r--r--t/t5515/refs.br-branches-one-octopus_branches-one4
-rw-r--r--t/t5515/refs.br-branches-one_branches-one4
-rw-r--r--t/t5515/refs.br-config-explicit6
-rw-r--r--t/t5515/refs.br-config-explicit-merge6
-rw-r--r--t/t5515/refs.br-config-explicit-merge_config-explicit6
-rw-r--r--t/t5515/refs.br-config-explicit-octopus6
-rw-r--r--t/t5515/refs.br-config-explicit-octopus_config-explicit6
-rw-r--r--t/t5515/refs.br-config-explicit_config-explicit6
-rw-r--r--t/t5515/refs.br-config-glob6
-rw-r--r--t/t5515/refs.br-config-glob-merge6
-rw-r--r--t/t5515/refs.br-config-glob-merge_config-glob6
-rw-r--r--t/t5515/refs.br-config-glob-octopus6
-rw-r--r--t/t5515/refs.br-config-glob-octopus_config-glob6
-rw-r--r--t/t5515/refs.br-config-glob_config-glob6
-rw-r--r--t/t5515/refs.br-remote-explicit6
-rw-r--r--t/t5515/refs.br-remote-explicit-merge6
-rw-r--r--t/t5515/refs.br-remote-explicit-merge_remote-explicit6
-rw-r--r--t/t5515/refs.br-remote-explicit-octopus6
-rw-r--r--t/t5515/refs.br-remote-explicit-octopus_remote-explicit6
-rw-r--r--t/t5515/refs.br-remote-explicit_remote-explicit6
-rw-r--r--t/t5515/refs.br-remote-glob6
-rw-r--r--t/t5515/refs.br-remote-glob-merge6
-rw-r--r--t/t5515/refs.br-remote-glob-merge_remote-glob6
-rw-r--r--t/t5515/refs.br-remote-glob-octopus6
-rw-r--r--t/t5515/refs.br-remote-glob-octopus_remote-glob6
-rw-r--r--t/t5515/refs.br-remote-glob_remote-glob6
-rw-r--r--t/t5515/refs.br-unconfig4
-rw-r--r--t/t5515/refs.br-unconfig_--tags_.._.git4
-rw-r--r--t/t5515/refs.br-unconfig_.._.git2
-rw-r--r--t/t5515/refs.br-unconfig_.._.git_one2
-rw-r--r--t/t5515/refs.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file4
-rw-r--r--t/t5515/refs.br-unconfig_.._.git_one_two2
-rw-r--r--t/t5515/refs.br-unconfig_.._.git_tag_tag-one-tree_tag_tag-three-file4
-rw-r--r--t/t5515/refs.br-unconfig_.._.git_tag_tag-one_tag_tag-three4
-rw-r--r--t/t5515/refs.br-unconfig_branches-default6
-rw-r--r--t/t5515/refs.br-unconfig_branches-one4
-rw-r--r--t/t5515/refs.br-unconfig_config-explicit6
-rw-r--r--t/t5515/refs.br-unconfig_config-glob6
-rw-r--r--t/t5515/refs.br-unconfig_remote-explicit6
-rw-r--r--t/t5515/refs.br-unconfig_remote-glob6
-rw-r--r--t/t5515/refs.main (renamed from t/t5515/refs.master_.._.git_one_tag_tag-one_tag_tag-three-file)4
-rw-r--r--t/t5515/refs.main_--tags_.._.git (renamed from t/t5515/refs.master_.._.git_tag_tag-one-tree_tag_tag-three-file)4
-rw-r--r--t/t5515/refs.main_.._.git (renamed from t/t5515/refs.master_.._.git_one_two)2
-rw-r--r--t/t5515/refs.main_.._.git_one (renamed from t/t5515/refs.master_.._.git)2
-rw-r--r--t/t5515/refs.main_.._.git_one_tag_tag-one_tag_tag-three-file (renamed from t/t5515/refs.master)4
-rw-r--r--t/t5515/refs.main_.._.git_one_two (renamed from t/t5515/refs.master_.._.git_one)2
-rw-r--r--t/t5515/refs.main_.._.git_tag_tag-one-tree_tag_tag-three-file (renamed from t/t5515/refs.master_--tags_.._.git)4
-rw-r--r--t/t5515/refs.main_.._.git_tag_tag-one_tag_tag-three11
-rw-r--r--t/t5515/refs.main_branches-default (renamed from t/t5515/refs.master_branches-default)6
-rw-r--r--t/t5515/refs.main_branches-one (renamed from t/t5515/refs.master_branches-one)4
-rw-r--r--t/t5515/refs.main_config-explicit (renamed from t/t5515/refs.master_config-explicit)6
-rw-r--r--t/t5515/refs.main_config-glob (renamed from t/t5515/refs.master_config-glob)6
-rw-r--r--t/t5515/refs.main_remote-explicit (renamed from t/t5515/refs.master_remote-explicit)6
-rw-r--r--t/t5515/refs.main_remote-glob (renamed from t/t5515/refs.master_remote-glob)6
-rw-r--r--t/t5515/refs.master_.._.git_tag_tag-one_tag_tag-three11
-rwxr-xr-xt/t5516-fetch-push.sh594
-rwxr-xr-xt/t5517-push-mirror.sh127
-rwxr-xr-xt/t5518-fetch-exit-status.sh9
-rwxr-xr-xt/t5519-push-alternates.sh15
-rwxr-xr-xt/t5520-pull.sh33
-rwxr-xr-xt/t5521-pull-options.sh19
-rwxr-xr-xt/t5523-push-upstream.sh33
-rwxr-xr-xt/t5526-fetch-submodules.sh161
-rwxr-xr-xt/t5527-fetch-odd-refs.sh17
-rwxr-xr-xt/t5528-push-default.sh101
-rwxr-xr-xt/t5529-push-errors.sh2
-rwxr-xr-xt/t5530-upload-pack-error.sh19
-rwxr-xr-xt/t5531-deep-submodule-push.sh191
-rwxr-xr-xt/t5533-push-cas.sh145
-rwxr-xr-xt/t5534-push-signed.sh7
-rwxr-xr-xt/t5537-fetch-shallow.sh33
-rwxr-xr-xt/t5538-push-shallow.sh25
-rwxr-xr-xt/t5539-fetch-http-shallow.sh17
-rwxr-xr-xt/t5540-http-push-webdav.sh11
-rwxr-xr-xt/t5541-http-push-smart.sh43
-rwxr-xr-xt/t5542-push-http-shallow.sh11
-rwxr-xr-xt/t5543-atomic-push.sh83
-rwxr-xr-xt/t5545-push-options.sh65
-rwxr-xr-xt/t5548-push-porcelain.sh64
-rwxr-xr-xt/t5550-http-fetch-dumb.sh23
-rwxr-xr-xt/t5551-http-fetch-smart.sh23
-rwxr-xr-xt/t5552-skipping-fetch-negotiator.sh2
-rwxr-xr-xt/t5553-set-upstream.sh85
-rwxr-xr-xt/t5560-http-backend-noserver.sh3
-rwxr-xr-xt/t5561-http-backend.sh7
-rwxr-xr-xt/t556x_common8
-rwxr-xr-xt/t5570-git-daemon.sh36
-rwxr-xr-xt/t5571-pre-push-hook.sh7
-rwxr-xr-xt/t5572-pull-submodule.sh60
-rwxr-xr-xt/t5580-unc-paths.sh5
-rwxr-xr-xt/t5581-http-curl-verbose.sh5
-rwxr-xr-xt/t5582-fetch-negative-refspec.sh76
-rwxr-xr-xt/t5601-clone.sh7
-rwxr-xr-xt/t5604-clone-reference.sh15
-rwxr-xr-xt/t5605-clone-local.sh13
-rwxr-xr-xt/t5606-clone-options.sh14
-rwxr-xr-xt/t5607-clone-bundle.sh21
-rwxr-xr-xt/t5608-clone-2gb.sh2
-rwxr-xr-xt/t5609-clone-branch.sh9
-rwxr-xr-xt/t5610-clone-detached.sh7
-rwxr-xr-xt/t5611-clone-config.sh19
-rwxr-xr-xt/t5612-clone-refspec.sh45
-rwxr-xr-xt/t5614-clone-submodules-shallow.sh2
-rwxr-xr-xt/t5616-partial-clone.sh71
-rwxr-xr-xt/t5617-clone-submodules-remote.sh9
-rwxr-xr-xt/t5700-protocol-v1.sh19
-rwxr-xr-xt/t5701-git-serve.sh19
-rwxr-xr-xt/t5702-protocol-v2.sh53
-rwxr-xr-xt/t5703-upload-pack-ref-in-want.sh70
-rwxr-xr-xt/t5705-session-id-in-capabilities.sh78
-rwxr-xr-xt/t5801-remote-helpers.sh27
-rwxr-xr-xt/t6000-rev-list-misc.sh5
-rwxr-xr-xt/t6001-rev-list-graft.sh5
-rwxr-xr-xt/t6004-rev-list-path-optim.sh17
-rwxr-xr-xt/t6006-rev-list-format.sh19
-rwxr-xr-xt/t6007-rev-list-cherry-pick-file.sh19
-rwxr-xr-xt/t6008-rev-list-submodule.sh5
-rwxr-xr-xt/t6009-rev-list-parent.sh9
-rwxr-xr-xt/t6012-rev-list-simplify.sh13
-rwxr-xr-xt/t6013-rev-list-reverse-parents.sh13
-rwxr-xr-xt/t6016-rev-list-graph-simplify-history.sh359
-rwxr-xr-xt/t6017-rev-list-stdin.sh11
-rwxr-xr-xt/t6018-rev-list-glob.sh53
-rwxr-xr-xt/t6019-rev-list-ancestry-path.sh9
-rwxr-xr-xt/t6020-bundle-misc.sh463
-rwxr-xr-xt/t6030-bisect-porcelain.sh29
-rwxr-xr-xt/t6040-tracking-info.sh57
-rwxr-xr-xt/t6050-replace.sh15
-rwxr-xr-xt/t6101-rev-parse-parents.sh5
-rwxr-xr-xt/t6110-rev-list-sparse.sh5
-rwxr-xr-xt/t6111-rev-list-treesame.sh9
-rwxr-xr-xt/t6112-rev-list-filters-objects.sh17
-rwxr-xr-xt/t6120-describe.sh23
-rwxr-xr-xt/t6200-fmt-merge-msg.sh55
-rwxr-xr-xt/t6300-for-each-ref.sh181
-rwxr-xr-xt/t6302-for-each-ref-filter.sh62
-rwxr-xr-xt/t6400-merge-df.sh23
-rwxr-xr-xt/t6402-merge-rename.sh171
-rwxr-xr-xt/t6404-recursive-merge.sh21
-rwxr-xr-xt/t6405-merge-symlinks.sh17
-rwxr-xr-xt/t6406-merge-attr.sh27
-rwxr-xr-xt/t6407-merge-binary.sh9
-rwxr-xr-xt/t6409-merge-subtree.sh19
-rwxr-xr-xt/t6411-merge-filemode.sh13
-rwxr-xr-xt/t6412-merge-large-rename.sh9
-rwxr-xr-xt/t6413-merge-crlf.sh5
-rwxr-xr-xt/t6414-merge-rename-nocruft.sh5
-rwxr-xr-xt/t6415-merge-dir-to-symlink.sh25
-rwxr-xr-xt/t6416-recursive-corner-cases.sh231
-rwxr-xr-xt/t6417-merge-ours-theirs.sh31
-rwxr-xr-xt/t6418-merge-text-auto.sh15
-rwxr-xr-xt/t6419-merge-ignorecase.sh13
-rwxr-xr-xt/t6422-merge-rename-corner-cases.sh52
-rwxr-xr-xt/t6423-merge-rename-directories.sh1242
-rwxr-xr-xt/t6425-merge-rename-delete.sh5
-rwxr-xr-xt/t6426-merge-skip-unneeded-updates.sh3
-rwxr-xr-xt/t6427-diff3-conflict-markers.sh17
-rwxr-xr-xt/t6430-merge-recursive.sh24
-rwxr-xr-xt/t6432-merge-recursive-space-options.sh9
-rwxr-xr-xt/t6433-merge-toplevel.sh11
-rwxr-xr-xt/t6434-merge-recursive-rename-options.sh9
-rwxr-xr-xt/t6436-merge-overwrite.sh23
-rwxr-xr-xt/t6437-submodule-merge.sh42
-rwxr-xr-xt/t6439-merge-co-error-msgs.sh9
-rwxr-xr-xt/t6501-freshen-objects.sh5
-rwxr-xr-xt/t7003-filter-branch.sh43
-rwxr-xr-xt/t7004-tag.sh11
-rwxr-xr-xt/t7006-pager.sh84
-rwxr-xr-xt/t7012-skip-worktree-writing.sh88
-rwxr-xr-xt/t7030-verify-tag.sh5
-rwxr-xr-xt/t7060-wtstatus.sh29
-rwxr-xr-xt/t7063-status-untracked-cache.sh17
-rwxr-xr-xt/t7064-wtstatus-pv2.sh106
-rwxr-xr-xt/t7102-reset.sh9
-rwxr-xr-xt/t7113-post-index-change-hook.sh5
-rwxr-xr-xt/t7201-co.sh113
-rwxr-xr-xt/t7400-submodule-basic.sh23
-rwxr-xr-xt/t7403-submodule-sync.sh13
-rwxr-xr-xt/t7406-submodule-update.sh41
-rwxr-xr-xt/t7407-submodule-foreach.sh27
-rwxr-xr-xt/t7409-submodule-detached-work-tree.sh11
-rwxr-xr-xt/t7416-submodule-dash-url.sh15
-rwxr-xr-xt/t7417-submodule-path-url.sh5
-rwxr-xr-xt/t7501-commit-basic-functionality.sh5
-rwxr-xr-xt/t7502-commit-porcelain.sh15
-rwxr-xr-xt/t7503-pre-commit-and-pre-merge-commit-hooks.sh45
-rwxr-xr-xt/t7504-commit-msg-hook.sh27
-rwxr-xr-xt/t7505-prepare-commit-msg-hook.sh23
-rwxr-xr-xt/t7508-status.sh58
-rwxr-xr-xt/t7509-commit-authorship.sh7
-rwxr-xr-xt/t7510-signed-commit.sh5
-rwxr-xr-xt/t7512-status-help.sh43
-rwxr-xr-xt/t7517-per-repo-email.sh15
-rwxr-xr-xt/t7600-merge.sh47
-rwxr-xr-xt/t7601-merge-pull-config.sh61
-rwxr-xr-xt/t7602-merge-octopus-many.sh6
-rwxr-xr-xt/t7606-merge-custom.sh2
-rwxr-xr-xt/t7608-merge-messages.sh39
-rwxr-xr-xt/t7610-mergetool.sh216
-rwxr-xr-xt/t7611-merge-abort.sh7
-rwxr-xr-xt/t7612-merge-verify-signatures.sh5
-rwxr-xr-xt/t7614-merge-signoff.sh27
-rwxr-xr-xt/t7701-repack-unpack-unreachable.sh5
-rwxr-xr-xt/t7800-difftool.sh54
-rwxr-xr-xt/t7810-grep.sh49
-rwxr-xr-xt/t7900-maintenance.sh367
-rwxr-xr-xt/t8001-annotate.sh5
-rwxr-xr-xt/t8002-blame.sh3
-rwxr-xr-xt/t8003-blame-corner-cases.sh7
-rwxr-xr-xt/t8004-blame-with-conflicts.sh17
-rwxr-xr-xt/t8012-blame-colors.sh3
-rwxr-xr-xt/t8013-blame-ignore-revs.sh4
-rwxr-xr-xt/t9001-send-email.sh31
-rwxr-xr-xt/t9003-help-autocorrect.sh30
-rwxr-xr-xt/t9100-git-svn-basic.sh5
-rwxr-xr-xt/t9145-git-svn-master-branch.sh9
-rwxr-xr-xt/t9151-svn-mergeinfo.sh5
-rwxr-xr-xt/t9155-git-svn-fetch-deleted-tag.sh5
-rwxr-xr-xt/t9156-git-svn-fetch-deleted-tag-2.sh9
-rwxr-xr-xt/t9163-git-svn-reset-clears-caches.sh5
-rwxr-xr-xt/t9169-git-svn-dcommit-crlf.sh5
-rwxr-xr-xt/t9300-fast-import.sh85
-rwxr-xr-xt/t9301-fast-import-notes.sh17
-rwxr-xr-xt/t9302-fast-import-unpack-limit.sh16
-rwxr-xr-xt/t9303-fast-import-compression.sh10
-rwxr-xr-xt/t9304-fast-import-marks.sh51
-rwxr-xr-xt/t9350-fast-export.sh89
-rwxr-xr-xt/t9351-fast-export-anonymize.sh7
-rwxr-xr-xt/t9400-git-cvsserver-server.sh35
-rwxr-xr-xt/t9401-git-cvsserver-crlf.sh19
-rwxr-xr-xt/t9402-git-cvsserver-refs.sh11
-rwxr-xr-xt/t9500-gitweb-standalone-no-errors.sh23
-rwxr-xr-xt/t9501-gitweb-standalone-http-status.sh17
-rwxr-xr-xt/t9502-gitweb-standalone-parse-output.sh19
-rwxr-xr-xt/t9600-cvsimport.sh5
-rwxr-xr-xt/t9601-cvsimport-vendor-branch.sh19
-rwxr-xr-xt/t9602-cvsimport-branches-tags.sh7
-rwxr-xr-xt/t9603-cvsimport-patchsets.sh29
-rwxr-xr-xt/t9800-git-p4-basic.sh5
-rwxr-xr-xt/t9801-git-p4-branch.sh19
-rwxr-xr-xt/t9806-git-p4-options.sh21
-rwxr-xr-xt/t9807-git-p4-submit.sh5
-rwxr-xr-xt/t9811-git-p4-label-import.sh5
-rwxr-xr-xt/t9832-unshelve.sh3
-rwxr-xr-xt/t9902-completion.sh355
-rwxr-xr-xt/t9903-bash-prompt.sh117
-rw-r--r--t/test-bundle-functions.sh42
-rw-r--r--t/test-lib-functions.sh86
-rw-r--r--t/test-lib.sh34
601 files changed, 13708 insertions, 7004 deletions
diff --git a/t/Makefile b/t/Makefile
index c83fd18861..882d26eee3 100644
--- a/t/Makefile
+++ b/t/Makefile
@@ -34,6 +34,7 @@ CHAINLINTTMP_SQ = $(subst ','\'',$(CHAINLINTTMP))
T = $(sort $(wildcard t[0-9][0-9][0-9][0-9]-*.sh))
TGITWEB = $(sort $(wildcard t95[0-9][0-9]-*.sh))
THELPERS = $(sort $(filter-out $(T),$(wildcard *.sh)))
+TPERF = $(sort $(wildcard perf/p[0-9][0-9][0-9][0-9]-*.sh))
CHAINLINTTESTS = $(sort $(patsubst chainlint/%.test,%,$(wildcard chainlint/*.test)))
CHAINLINT = sed -f chainlint.sed
@@ -81,17 +82,17 @@ test-lint: test-lint-duplicates test-lint-executable test-lint-shell-syntax \
test-lint-filenames
test-lint-duplicates:
- @dups=`echo $(T) | tr ' ' '\n' | sed 's/-.*//' | sort | uniq -d` && \
+ @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); do test -x "$$i" || echo $$i; done` && \
+ @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)
+ @'$(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
diff --git a/t/README b/t/README
index 2adaf7c2d2..c730a70770 100644
--- a/t/README
+++ b/t/README
@@ -258,16 +258,21 @@ 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 individual test numbers or
-ranges with an optional negation prefix that define what tests in
-a test suite to include 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.
-
-Optional prefix of '!' means that the test or a range of tests
-should be excluded from the run.
+The argument for --run, <test-selector>, 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 '!'
@@ -275,9 +280,6 @@ 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.
-Individual numbers or ranges could be separated either by a space
-or a comma.
-
For example, to run only tests up to a specific test (21), one
could do this:
@@ -290,7 +292,7 @@ or this:
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'
+ $ sh ./t9200-git-cvsexport-commit.sh --run='1,2,3,21'
or:
@@ -298,17 +300,17 @@ or:
or:
- $ sh ./t9200-git-cvsexport-commit.sh --run='-3 21'
+ $ 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'
+ $ 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'
+ $ sh ./t9200-git-cvsexport-commit.sh --run='!3,1-4'
would just run tests from 1 to 4, including 3.
@@ -317,6 +319,18 @@ 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
diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh
index d933af5714..ee5d2d4cf8 100644
--- a/t/annotate-tests.sh
+++ b/t/annotate-tests.sh
@@ -95,7 +95,7 @@ test_expect_success 'blame 2 authors' '
'
test_expect_success 'setup B1 lines (branch1)' '
- git checkout -b branch1 master &&
+ git checkout -b branch1 main &&
echo "3A slow green fox jumps into the" >>file &&
echo "well." >>file &&
GIT_AUTHOR_NAME="B1" GIT_AUTHOR_EMAIL="B1@test.git" \
@@ -107,7 +107,7 @@ test_expect_success 'blame 2 authors + 1 branch1 author' '
'
test_expect_success 'setup B2 lines (branch2)' '
- git checkout -b branch2 master &&
+ git checkout -b branch2 main &&
sed -e "s/2A quick brown/4A quick brown lazy dog/" <file >file.new &&
mv file.new file &&
GIT_AUTHOR_NAME="B2" GIT_AUTHOR_EMAIL="B2@test.git" \
@@ -131,11 +131,11 @@ test_expect_success 'blame --first-parent blames merge for branch1' '
'
test_expect_success 'blame ancestor' '
- check_count -h master A 2 B 2
+ check_count -h main A 2 B 2
'
test_expect_success 'blame great-ancestor' '
- check_count -h master^ A 2
+ check_count -h main^ A 2
'
test_expect_success 'setup evil merge' '
@@ -479,6 +479,24 @@ test_expect_success 'blame -L ^:RE (absolute: end-of-file)' '
check_count -f hello.c -L$n -L^:ma.. F 4 G 1 H 1
'
+test_expect_success 'setup -L :funcname with userdiff driver' '
+ echo "fortran-* diff=fortran" >.gitattributes &&
+ fortran_file=fortran-external-function &&
+ orig_file="$TEST_DIRECTORY/t4018/$fortran_file" &&
+ cp $orig_file . &&
+ git add $fortran_file &&
+ GIT_AUTHOR_NAME="A" GIT_AUTHOR_EMAIL="A@test.git" \
+ git commit -m "add fortran file" &&
+ sed -e "s/ChangeMe/IWasChanged/" <"$orig_file" >$fortran_file &&
+ git add $fortran_file &&
+ GIT_AUTHOR_NAME="B" GIT_AUTHOR_EMAIL="B@test.git" \
+ git commit -m "change fortran file"
+'
+
+test_expect_success 'blame -L :funcname with userdiff driver' '
+ check_count -f fortran-external-function -L:RIGHT A 7 B 1
+'
+
test_expect_success 'setup incremental' '
(
GIT_AUTHOR_NAME=I &&
diff --git a/t/helper/test-crontab.c b/t/helper/test-crontab.c
new file mode 100644
index 0000000000..e7c0137a47
--- /dev/null
+++ b/t/helper/test-crontab.c
@@ -0,0 +1,35 @@
+#include "test-tool.h"
+#include "cache.h"
+
+/*
+ * Usage: test-tool cron <file> [-l]
+ *
+ * If -l is specified, then write the contents of <file> to stdout.
+ * Otherwise, write from stdin into <file>.
+ */
+int cmd__crontab(int argc, const char **argv)
+{
+ int a;
+ FILE *from, *to;
+
+ if (argc == 3 && !strcmp(argv[2], "-l")) {
+ from = fopen(argv[1], "r");
+ if (!from)
+ return 0;
+ to = stdout;
+ } else if (argc == 2) {
+ from = stdin;
+ to = fopen(argv[1], "w");
+ } else
+ return error("unknown arguments");
+
+ while ((a = fgetc(from)) != EOF)
+ fputc(a, to);
+
+ if (argc == 3)
+ fclose(from);
+ else
+ fclose(to);
+
+ return 0;
+}
diff --git a/t/helper/test-fast-rebase.c b/t/helper/test-fast-rebase.c
new file mode 100644
index 0000000000..373212256a
--- /dev/null
+++ b/t/helper/test-fast-rebase.c
@@ -0,0 +1,211 @@
+/*
+ * "git fast-rebase" builtin command
+ *
+ * FAST: Forking Any Subprocesses (is) Taboo
+ *
+ * This is meant SOLELY as a demo of what is possible. sequencer.c and
+ * rebase.c should be refactored to use the ideas here, rather than attempting
+ * to extend this file to replace those (unless Phillip or Dscho say that
+ * refactoring is too hard and we need a clean slate, but I'm guessing that
+ * refactoring is the better route).
+ */
+
+#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#include "test-tool.h"
+
+#include "cache-tree.h"
+#include "commit.h"
+#include "lockfile.h"
+#include "merge-ort.h"
+#include "refs.h"
+#include "revision.h"
+#include "sequencer.h"
+#include "strvec.h"
+#include "tree.h"
+
+static const char *short_commit_name(struct commit *commit)
+{
+ return find_unique_abbrev(&commit->object.oid, DEFAULT_ABBREV);
+}
+
+static struct commit *peel_committish(const char *name)
+{
+ struct object *obj;
+ struct object_id oid;
+
+ if (get_oid(name, &oid))
+ return NULL;
+ obj = parse_object(the_repository, &oid);
+ return (struct commit *)peel_to_type(name, 0, obj, OBJ_COMMIT);
+}
+
+static char *get_author(const char *message)
+{
+ size_t len;
+ const char *a;
+
+ a = find_commit_header(message, "author", &len);
+ if (a)
+ return xmemdupz(a, len);
+
+ return NULL;
+}
+
+static struct commit *create_commit(struct tree *tree,
+ struct commit *based_on,
+ struct commit *parent)
+{
+ struct object_id ret;
+ struct object *obj;
+ struct commit_list *parents = NULL;
+ char *author;
+ char *sign_commit = NULL;
+ struct commit_extra_header *extra;
+ struct strbuf msg = STRBUF_INIT;
+ const char *out_enc = get_commit_output_encoding();
+ const char *message = logmsg_reencode(based_on, NULL, out_enc);
+ const char *orig_message = NULL;
+ const char *exclude_gpgsig[] = { "gpgsig", NULL };
+
+ commit_list_insert(parent, &parents);
+ extra = read_commit_extra_headers(based_on, exclude_gpgsig);
+ find_commit_subject(message, &orig_message);
+ strbuf_addstr(&msg, orig_message);
+ author = get_author(message);
+ reset_ident_date();
+ if (commit_tree_extended(msg.buf, msg.len, &tree->object.oid, parents,
+ &ret, author, NULL, sign_commit, extra)) {
+ error(_("failed to write commit object"));
+ return NULL;
+ }
+ free(author);
+ strbuf_release(&msg);
+
+ obj = parse_object(the_repository, &ret);
+ return (struct commit *)obj;
+}
+
+int cmd__fast_rebase(int argc, const char **argv)
+{
+ struct commit *onto;
+ struct commit *last_commit = NULL, *last_picked_commit = NULL;
+ struct object_id head;
+ struct lock_file lock = LOCK_INIT;
+ int clean = 1;
+ struct strvec rev_walk_args = STRVEC_INIT;
+ struct rev_info revs;
+ struct commit *commit;
+ struct merge_options merge_opt;
+ struct tree *next_tree, *base_tree, *head_tree;
+ struct merge_result result;
+ struct strbuf reflog_msg = STRBUF_INIT;
+ struct strbuf branch_name = STRBUF_INIT;
+
+ /*
+ * test-tool stuff doesn't set up the git directory by default; need to
+ * do that manually.
+ */
+ setup_git_directory();
+
+ if (argc == 2 && !strcmp(argv[1], "-h")) {
+ printf("Sorry, I am not a psychiatrist; I can not give you the help you need. Oh, you meant usage...\n");
+ exit(129);
+ }
+
+ if (argc != 5 || strcmp(argv[1], "--onto"))
+ die("usage: read the code, figure out how to use it, then do so");
+
+ onto = peel_committish(argv[2]);
+ strbuf_addf(&branch_name, "refs/heads/%s", argv[4]);
+
+ /* Sanity check */
+ if (get_oid("HEAD", &head))
+ die(_("Cannot read HEAD"));
+ assert(oideq(&onto->object.oid, &head));
+
+ hold_locked_index(&lock, LOCK_DIE_ON_ERROR);
+ assert(repo_read_index(the_repository) >= 0);
+
+ repo_init_revisions(the_repository, &revs, NULL);
+ revs.verbose_header = 1;
+ revs.max_parents = 1;
+ revs.cherry_mark = 1;
+ revs.limited = 1;
+ revs.reverse = 1;
+ revs.right_only = 1;
+ revs.sort_order = REV_SORT_IN_GRAPH_ORDER;
+ revs.topo_order = 1;
+ strvec_pushl(&rev_walk_args, "", argv[4], "--not", argv[3], NULL);
+
+ if (setup_revisions(rev_walk_args.nr, rev_walk_args.v, &revs, NULL) > 1)
+ return error(_("unhandled options"));
+
+ strvec_clear(&rev_walk_args);
+
+ if (prepare_revision_walk(&revs) < 0)
+ return error(_("error preparing revisions"));
+
+ init_merge_options(&merge_opt, the_repository);
+ memset(&result, 0, sizeof(result));
+ merge_opt.show_rename_progress = 1;
+ merge_opt.branch1 = "HEAD";
+ head_tree = get_commit_tree(onto);
+ result.tree = head_tree;
+ last_commit = onto;
+ while ((commit = get_revision(&revs))) {
+ struct commit *base;
+
+ fprintf(stderr, "Rebasing %s...\r",
+ oid_to_hex(&commit->object.oid));
+ assert(commit->parents && !commit->parents->next);
+ base = commit->parents->item;
+
+ next_tree = get_commit_tree(commit);
+ base_tree = get_commit_tree(base);
+
+ merge_opt.branch2 = short_commit_name(commit);
+ merge_opt.ancestor = xstrfmt("parent of %s", merge_opt.branch2);
+
+ merge_incore_nonrecursive(&merge_opt,
+ base_tree,
+ result.tree,
+ next_tree,
+ &result);
+
+ free((char*)merge_opt.ancestor);
+ merge_opt.ancestor = NULL;
+ if (!result.clean)
+ die("Aborting: Hit a conflict and restarting is not implemented.");
+ last_picked_commit = commit;
+ last_commit = create_commit(result.tree, commit, last_commit);
+ }
+ fprintf(stderr, "\nDone.\n");
+ /* TODO: There should be some kind of rev_info_free(&revs) call... */
+ memset(&revs, 0, sizeof(revs));
+
+ merge_switch_to_result(&merge_opt, head_tree, &result, 1, !result.clean);
+
+ if (result.clean < 0)
+ exit(128);
+
+ strbuf_addf(&reflog_msg, "finish rebase %s onto %s",
+ oid_to_hex(&last_picked_commit->object.oid),
+ oid_to_hex(&last_commit->object.oid));
+ if (update_ref(reflog_msg.buf, branch_name.buf,
+ &last_commit->object.oid,
+ &last_picked_commit->object.oid,
+ REF_NO_DEREF, UPDATE_REFS_MSG_ON_ERR)) {
+ error(_("could not update %s"), argv[4]);
+ die("Failed to update %s", argv[4]);
+ }
+ if (create_symref("HEAD", branch_name.buf, reflog_msg.buf) < 0)
+ die(_("unable to update HEAD"));
+ strbuf_release(&reflog_msg);
+ strbuf_release(&branch_name);
+
+ prime_cache_tree(the_repository, the_repository->index, result.tree);
+ if (write_locked_index(&the_index, &lock,
+ COMMIT_LOCK | SKIP_IF_UNCHANGED))
+ die(_("unable to write %s"), get_index_file());
+ return (clean == 0);
+}
diff --git a/t/helper/test-hashmap.c b/t/helper/test-hashmap.c
index f38706216f..36ff07bd4b 100644
--- a/t/helper/test-hashmap.c
+++ b/t/helper/test-hashmap.c
@@ -110,7 +110,7 @@ static void perf_hashmap(unsigned int method, unsigned int rounds)
hashmap_add(&map, &entries[i]->ent);
}
- hashmap_free(&map);
+ hashmap_clear(&map);
}
} else {
/* test map lookups */
@@ -130,7 +130,7 @@ static void perf_hashmap(unsigned int method, unsigned int rounds)
}
}
- hashmap_free(&map);
+ hashmap_clear(&map);
}
}
@@ -151,12 +151,11 @@ static void perf_hashmap(unsigned int method, unsigned int rounds)
int cmd__hashmap(int argc, const char **argv)
{
struct strbuf line = STRBUF_INIT;
- struct hashmap map;
int icase;
+ struct hashmap map = HASHMAP_INIT(test_entry_cmp, &icase);
/* init hash map */
icase = argc > 1 && !strcmp("ignorecase", argv[1]);
- hashmap_init(&map, test_entry_cmp, &icase, 0);
/* process commands from stdin */
while (strbuf_getline(&line, stdin) != EOF) {
@@ -262,6 +261,6 @@ int cmd__hashmap(int argc, const char **argv)
}
strbuf_release(&line);
- hashmap_free_entries(&map, struct test_entry, ent);
+ hashmap_clear_and_free(&map, struct test_entry, ent);
return 0;
}
diff --git a/t/helper/test-pkt-line.c b/t/helper/test-pkt-line.c
index 69152958e5..5e638f0b97 100644
--- a/t/helper/test-pkt-line.c
+++ b/t/helper/test-pkt-line.c
@@ -84,6 +84,25 @@ static void unpack_sideband(void)
}
}
+static int send_split_sideband(void)
+{
+ const char *part1 = "Hello,";
+ const char *primary = "\001primary: regular output\n";
+ const char *part2 = " world!\n";
+
+ send_sideband(1, 2, part1, strlen(part1), LARGE_PACKET_MAX);
+ packet_write(1, primary, strlen(primary));
+ send_sideband(1, 2, part2, strlen(part2), LARGE_PACKET_MAX);
+ packet_response_end(1);
+
+ return 0;
+}
+
+static int receive_sideband(void)
+{
+ return recv_sideband("sideband", 0, 1);
+}
+
int cmd__pkt_line(int argc, const char **argv)
{
if (argc < 2)
@@ -95,6 +114,10 @@ int cmd__pkt_line(int argc, const char **argv)
unpack();
else if (!strcmp(argv[1], "unpack-sideband"))
unpack_sideband();
+ else if (!strcmp(argv[1], "send-split-sideband"))
+ send_split_sideband();
+ else if (!strcmp(argv[1], "receive-sideband"))
+ receive_sideband();
else
die("invalid argument '%s'", argv[1]);
diff --git a/t/helper/test-proc-receive.c b/t/helper/test-proc-receive.c
index 42164d9898..cc08506cf0 100644
--- a/t/helper/test-proc-receive.c
+++ b/t/helper/test-proc-receive.c
@@ -10,8 +10,11 @@ static const char *proc_receive_usage[] = {
NULL
};
-static int die_version;
-static int die_readline;
+static int die_read_version;
+static int die_write_version;
+static int die_read_commands;
+static int die_read_push_options;
+static int die_write_report;
static int no_push_options;
static int use_atomic;
static int use_push_options;
@@ -33,14 +36,23 @@ struct command {
static void proc_receive_verison(struct packet_reader *reader) {
int server_version = 0;
+ if (die_read_version)
+ die("die with the --die-read-version option");
+
for (;;) {
int linelen;
if (packet_reader_read(reader) != PACKET_READ_NORMAL)
break;
+ /* Ignore version negotiation for version 0 */
+ if (version == 0)
+ continue;
+
if (reader->pktlen > 8 && starts_with(reader->line, "version=")) {
server_version = atoi(reader->line+8);
+ if (server_version != 1)
+ die("bad protocol version: %d", server_version);
linelen = strlen(reader->line);
if (linelen < reader->pktlen) {
const char *feature_list = reader->line + linelen + 1;
@@ -52,12 +64,13 @@ static void proc_receive_verison(struct packet_reader *reader) {
}
}
- if (server_version != 1 || die_version)
- die("bad protocol version: %d", server_version);
+ if (die_write_version)
+ die("die with the --die-write-version option");
- packet_write_fmt(1, "version=%d%c%s\n",
- version, '\0',
- use_push_options && !no_push_options ? "push-options": "");
+ if (version != 0)
+ packet_write_fmt(1, "version=%d%c%s\n",
+ version, '\0',
+ use_push_options && !no_push_options ? "push-options": "");
packet_flush(1);
}
@@ -75,11 +88,13 @@ static void proc_receive_read_commands(struct packet_reader *reader,
if (packet_reader_read(reader) != PACKET_READ_NORMAL)
break;
+ if (die_read_commands)
+ die("die with the --die-read-commands option");
+
if (parse_oid_hex(reader->line, &old_oid, &p) ||
*p++ != ' ' ||
parse_oid_hex(p, &new_oid, &p) ||
- *p++ != ' ' ||
- die_readline)
+ *p++ != ' ')
die("protocol error: expected 'old new ref', got '%s'",
reader->line);
refname = p;
@@ -99,6 +114,9 @@ static void proc_receive_read_push_options(struct packet_reader *reader,
if (no_push_options || !use_push_options)
return;
+ if (die_read_push_options)
+ die("die with the --die-read-push-options option");
+
while (1) {
if (packet_reader_read(reader) != PACKET_READ_NORMAL)
break;
@@ -117,10 +135,16 @@ int cmd__proc_receive(int argc, const char **argv)
struct option options[] = {
OPT_BOOL(0, "no-push-options", &no_push_options,
"disable push options"),
- OPT_BOOL(0, "die-version", &die_version,
- "die during version negotiation"),
- OPT_BOOL(0, "die-readline", &die_readline,
- "die when readline"),
+ OPT_BOOL(0, "die-read-version", &die_read_version,
+ "die when reading version"),
+ OPT_BOOL(0, "die-write-version", &die_write_version,
+ "die when writing version"),
+ OPT_BOOL(0, "die-read-commands", &die_read_commands,
+ "die when reading commands"),
+ OPT_BOOL(0, "die-read-push-options", &die_read_push_options,
+ "die when reading push-options"),
+ OPT_BOOL(0, "die-write-report", &die_write_report,
+ "die when writing report"),
OPT_STRING_LIST('r', "return", &returns, "old/new/ref/status/msg",
"return of results"),
OPT__VERBOSE(&verbose, "be verbose"),
@@ -136,7 +160,7 @@ int cmd__proc_receive(int argc, const char **argv)
usage_msg_opt("Too many arguments.", proc_receive_usage, options);
packet_reader_init(&reader, 0, NULL, 0,
PACKET_READ_CHOMP_NEWLINE |
- PACKET_READ_DIE_ON_ERR_PACKET);
+ PACKET_READ_GENTLE_ON_EOF);
sigchain_push(SIGPIPE, SIG_IGN);
proc_receive_verison(&reader);
@@ -166,6 +190,8 @@ int cmd__proc_receive(int argc, const char **argv)
fprintf(stderr, "proc-receive> %s\n", item->string);
}
+ if (die_write_report)
+ die("die with the --die-write-report option");
if (returns.nr)
for_each_string_list_item(item, &returns)
packet_write_fmt(1, "%s\n", item->string);
diff --git a/t/helper/test-ref-store.c b/t/helper/test-ref-store.c
index 759e69dc54..bba5f841c6 100644
--- a/t/helper/test-ref-store.c
+++ b/t/helper/test-ref-store.c
@@ -72,18 +72,6 @@ static int cmd_pack_refs(struct ref_store *refs, const char **argv)
return refs_pack_refs(refs, flags);
}
-static int cmd_peel_ref(struct ref_store *refs, const char **argv)
-{
- const char *refname = notnull(*argv++, "refname");
- struct object_id oid;
- int ret;
-
- ret = refs_peel_ref(refs, refname, &oid);
- if (!ret)
- puts(oid_to_hex(&oid));
- return ret;
-}
-
static int cmd_create_symref(struct ref_store *refs, const char **argv)
{
const char *refname = notnull(*argv++, "refname");
@@ -255,7 +243,6 @@ struct command {
static struct command commands[] = {
{ "pack-refs", cmd_pack_refs },
- { "peel-ref", cmd_peel_ref },
{ "create-symref", cmd_create_symref },
{ "delete-refs", cmd_delete_refs },
{ "rename-ref", cmd_rename_ref },
diff --git a/t/helper/test-tool.c b/t/helper/test-tool.c
index a0d3966b29..9d6d14d929 100644
--- a/t/helper/test-tool.c
+++ b/t/helper/test-tool.c
@@ -18,6 +18,7 @@ static struct test_cmd cmds[] = {
{ "bloom", cmd__bloom },
{ "chmtime", cmd__chmtime },
{ "config", cmd__config },
+ { "crontab", cmd__crontab },
{ "ctype", cmd__ctype },
{ "date", cmd__date },
{ "delta", cmd__delta },
@@ -28,6 +29,7 @@ static struct test_cmd cmds[] = {
{ "dump-split-index", cmd__dump_split_index },
{ "dump-untracked-cache", cmd__dump_untracked_cache },
{ "example-decorate", cmd__example_decorate },
+ { "fast-rebase", cmd__fast_rebase },
{ "genrandom", cmd__genrandom },
{ "genzeros", cmd__genzeros },
{ "hashmap", cmd__hashmap },
diff --git a/t/helper/test-tool.h b/t/helper/test-tool.h
index 07034d3f38..a6470ff62c 100644
--- a/t/helper/test-tool.h
+++ b/t/helper/test-tool.h
@@ -8,6 +8,7 @@ int cmd__advise_if_enabled(int argc, const char **argv);
int cmd__bloom(int argc, const char **argv);
int cmd__chmtime(int argc, const char **argv);
int cmd__config(int argc, const char **argv);
+int cmd__crontab(int argc, const char **argv);
int cmd__ctype(int argc, const char **argv);
int cmd__date(int argc, const char **argv);
int cmd__delta(int argc, const char **argv);
@@ -18,6 +19,7 @@ int cmd__dump_fsmonitor(int argc, const char **argv);
int cmd__dump_split_index(int argc, const char **argv);
int cmd__dump_untracked_cache(int argc, const char **argv);
int cmd__example_decorate(int argc, const char **argv);
+int cmd__fast_rebase(int argc, const char **argv);
int cmd__genrandom(int argc, const char **argv);
int cmd__genzeros(int argc, const char **argv);
int cmd__hashmap(int argc, const char **argv);
diff --git a/t/lib-cvs.sh b/t/lib-cvs.sh
index 9b2bcfb1b0..32b3473379 100644
--- a/t/lib-cvs.sh
+++ b/t/lib-cvs.sh
@@ -36,7 +36,7 @@ setup_cvs_test_repository () {
test_cvs_co () {
# Usage: test_cvs_co BRANCH_NAME
rm -rf module-cvs-"$1"
- if [ "$1" = "master" ]
+ if [ "$1" = "main" ]
then
$CVS co -P -d module-cvs-"$1" -A module
else
diff --git a/t/lib-merge.sh b/t/lib-merge.sh
new file mode 100644
index 0000000000..8734ebfc17
--- /dev/null
+++ b/t/lib-merge.sh
@@ -0,0 +1,13 @@
+# Helper functions used by merge tests.
+
+test_expect_merge_algorithm () {
+ status_for_recursive=$1 status_for_ort=$2
+ shift 2
+
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_expect_${status_for_ort} "$@"
+ else
+ test_expect_${status_for_recursive} "$@"
+ fi
+}
diff --git a/t/lib-submodule-update.sh b/t/lib-submodule-update.sh
index 87a759149f..4b714e9308 100644
--- a/t/lib-submodule-update.sh
+++ b/t/lib-submodule-update.sh
@@ -144,7 +144,7 @@ create_lib_submodule_repo () {
git checkout -b valid_sub1 &&
git revert HEAD &&
- git checkout master
+ git checkout "${GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME-master}"
)
}
@@ -316,14 +316,7 @@ test_submodule_switch_common () {
command="$1"
######################### Appearing submodule #########################
# Switching to a commit letting a submodule appear creates empty dir ...
- if test "$KNOWN_FAILURE_STASH_DOES_IGNORE_SUBMODULE_CHANGES" = 1
- then
- # Restoring stash fails to restore submodule index entry
- RESULT="failure"
- else
- RESULT="success"
- fi
- test_expect_$RESULT "$command: added submodule creates empty directory" '
+ test_expect_success "$command: added submodule creates empty directory" '
prolog &&
reset_work_tree_to no_submodule &&
(
@@ -337,6 +330,13 @@ test_submodule_switch_common () {
)
'
# ... and doesn't care if it already exists.
+ if test "$KNOWN_FAILURE_STASH_DOES_IGNORE_SUBMODULE_CHANGES" = 1
+ then
+ # Restoring stash fails to restore submodule index entry
+ RESULT="failure"
+ else
+ RESULT="success"
+ fi
test_expect_$RESULT "$command: added submodule leaves existing empty directory alone" '
prolog &&
reset_work_tree_to no_submodule &&
diff --git a/t/oid-info/README b/t/oid-info/README
index 27f843fc00..ca56a74b1e 100644
--- a/t/oid-info/README
+++ b/t/oid-info/README
@@ -5,7 +5,7 @@ starting with `#` are ignored. The key and value are separated by whitespace
(specifically, those whitespace in the default `$IFS`). The key consists only
of shell identifier characters, and the value consists of a hash algorithm,
colon, and value. The hash algorithm also consists only of shell identifier
-characters; it should match the value in sha1-file.c.
+characters; it should match the value in object-file.c.
For example, the following lines map the key "rawsz" to "20" if SHA-1 is in use
and to "32" if SHA-256 is in use:
diff --git a/t/perf/Makefile b/t/perf/Makefile
index 8c47155a7c..fcb0e8865e 100644
--- a/t/perf/Makefile
+++ b/t/perf/Makefile
@@ -1,7 +1,7 @@
-include ../../config.mak
export GIT_TEST_OPTIONS
-all: perf
+all: test-lint perf
perf: pre-clean
./run
@@ -12,4 +12,7 @@ pre-clean:
clean:
rm -rf build "trash directory".* test-results
+test-lint:
+ $(MAKE) -C .. test-lint
+
.PHONY: all perf pre-clean clean
diff --git a/t/perf/README b/t/perf/README
index bd649afa97..fb9127a66f 100644
--- a/t/perf/README
+++ b/t/perf/README
@@ -28,6 +28,8 @@ the tests on the current git repository.
7810.3: grep --cached, cheap regex 3.07(3.02+0.25)
7810.4: grep --cached, expensive regex 9.39(30.57+0.24)
+Output format is in seconds "Elapsed(User + System)"
+
You can compare multiple repositories and even git revisions with the
'run' script:
diff --git a/t/perf/p1400-update-ref.sh b/t/perf/p1400-update-ref.sh
index ce5ac3ed85..dda8a74866 100755
--- a/t/perf/p1400-update-ref.sh
+++ b/t/perf/p1400-update-ref.sh
@@ -7,13 +7,14 @@ test_description="Tests performance of update-ref"
test_perf_fresh_repo
test_expect_success "setup" '
- git init --bare target-repo.git &&
test_commit PRE &&
test_commit POST &&
- printf "create refs/heads/%d PRE\n" $(test_seq 1000) >create &&
- printf "update refs/heads/%d POST PRE\n" $(test_seq 1000) >update &&
- printf "delete refs/heads/%d POST\n" $(test_seq 1000) >delete &&
- git update-ref --stdin <create
+ for i in $(test_seq 5000)
+ do
+ printf "start\ncreate refs/heads/%d PRE\ncommit\n" $i &&
+ printf "start\nupdate refs/heads/%d POST PRE\ncommit\n" $i &&
+ printf "start\ndelete refs/heads/%d POST\ncommit\n" $i
+ done >instructions
'
test_perf "update-ref" '
@@ -26,14 +27,7 @@ test_perf "update-ref" '
'
test_perf "update-ref --stdin" '
- git update-ref --stdin <update &&
- git update-ref --stdin <delete &&
- git update-ref --stdin <create
-'
-
-test_perf "nonatomic push" '
- git push ./target-repo.git $(test_seq 1000) &&
- git push --delete ./target-repo.git $(test_seq 1000)
+ git update-ref --stdin <instructions >/dev/null
'
test_done
diff --git a/t/perf/p3400-rebase.sh b/t/perf/p3400-rebase.sh
index d202aaed06..7a0bb29448 100755
--- a/t/perf/p3400-rebase.sh
+++ b/t/perf/p3400-rebase.sh
@@ -9,16 +9,16 @@ test_expect_success 'setup rebasing on top of a lot of changes' '
git checkout -f -B base &&
git checkout -B to-rebase &&
git checkout -B upstream &&
- for i in $(seq 100)
+ for i in $(test_seq 100)
do
# simulate huge diffs
echo change$i >unrelated-file$i &&
- seq 1000 >>unrelated-file$i &&
+ test_seq 1000 >>unrelated-file$i &&
git add unrelated-file$i &&
test_tick &&
git commit -m commit$i unrelated-file$i &&
echo change$i >unrelated-file$i &&
- seq 1000 | tac >>unrelated-file$i &&
+ test_seq 1000 | tac >>unrelated-file$i &&
git add unrelated-file$i &&
test_tick &&
git commit -m commit$i-reverse unrelated-file$i ||
diff --git a/t/perf/p7519-fsmonitor.sh b/t/perf/p7519-fsmonitor.sh
index def7ecdbc7..1e20a184c7 100755
--- a/t/perf/p7519-fsmonitor.sh
+++ b/t/perf/p7519-fsmonitor.sh
@@ -22,7 +22,9 @@ test_description="Test core.fsmonitor"
#
# GIT_PERF_7519_UNTRACKED_CACHE: used to configure core.untrackedCache
# GIT_PERF_7519_SPLIT_INDEX: used to configure core.splitIndex
-# GIT_PERF_7519_FSMONITOR: used to configure core.fsMonitor
+# GIT_PERF_7519_FSMONITOR: used to configure core.fsMonitor. May be an
+# absolute path to an integration. May be a space delimited list of
+# absolute paths to integrations.
#
# The big win for using fsmonitor is the elimination of the need to scan the
# working directory looking for changed and untracked files. If the file
@@ -68,7 +70,7 @@ then
fi
fi
-test_expect_success "setup for fsmonitor" '
+test_expect_success "one time repo setup" '
# set untrackedCache depending on the environment
if test -n "$GIT_PERF_7519_UNTRACKED_CACHE"
then
@@ -88,24 +90,36 @@ test_expect_success "setup for fsmonitor" '
git config core.splitIndex "$GIT_PERF_7519_SPLIT_INDEX"
fi &&
+ mkdir 1_file 10_files 100_files 1000_files 10000_files &&
+ for i in $(test_seq 1 10); do touch 10_files/$i; done &&
+ for i in $(test_seq 1 100); do touch 100_files/$i; done &&
+ for i in $(test_seq 1 1000); do touch 1000_files/$i; done &&
+ for i in $(test_seq 1 10000); do touch 10000_files/$i; done &&
+ git add 1_file 10_files 100_files 1000_files 10000_files &&
+ git commit -qm "Add files" &&
+
+ # If Watchman exists, watch the work tree and attempt a query.
+ if test_have_prereq WATCHMAN; then
+ watchman watch "$GIT_WORK_TREE" &&
+ watchman watch-list | grep -q -F "$GIT_WORK_TREE"
+ fi
+'
+
+setup_for_fsmonitor() {
# set INTEGRATION_SCRIPT depending on the environment
- if test -n "$GIT_PERF_7519_FSMONITOR"
+ if test -n "$INTEGRATION_PATH"
then
- INTEGRATION_SCRIPT="$GIT_PERF_7519_FSMONITOR"
+ INTEGRATION_SCRIPT="$INTEGRATION_PATH"
else
#
# Choose integration script based on existence of Watchman.
- # If Watchman exists, watch the work tree and attempt a query.
- # If everything succeeds, use Watchman integration script,
- # else fall back to an empty integration script.
+ # Fall back to an empty integration script.
#
mkdir .git/hooks &&
if test_have_prereq WATCHMAN
then
INTEGRATION_SCRIPT=".git/hooks/fsmonitor-watchman" &&
- cp "$TEST_DIRECTORY/../templates/hooks--fsmonitor-watchman.sample" "$INTEGRATION_SCRIPT" &&
- watchman watch "$GIT_WORK_TREE" &&
- watchman watch-list | grep -q -F "$GIT_WORK_TREE"
+ cp "$TEST_DIRECTORY/../templates/hooks--fsmonitor-watchman.sample" "$INTEGRATION_SCRIPT"
else
INTEGRATION_SCRIPT=".git/hooks/fsmonitor-empty" &&
write_script "$INTEGRATION_SCRIPT"<<-\EOF
@@ -114,62 +128,98 @@ test_expect_success "setup for fsmonitor" '
fi &&
git config core.fsmonitor "$INTEGRATION_SCRIPT" &&
- git update-index --fsmonitor
-'
-
-if test -n "$GIT_PERF_7519_DROP_CACHE"; then
- test-tool drop-caches
-fi
+ git update-index --fsmonitor 2>error &&
+ if test_have_prereq WATCHMAN
+ then
+ test_must_be_empty error # ensure no silent error
+ else
+ grep "Empty last update token" error
+ fi
+}
-test_perf "status (fsmonitor=$INTEGRATION_SCRIPT)" '
- git status
-'
+test_perf_w_drop_caches () {
+ if test -n "$GIT_PERF_7519_DROP_CACHE"; then
+ test-tool drop-caches
+ fi
-if test -n "$GIT_PERF_7519_DROP_CACHE"; then
- test-tool drop-caches
-fi
+ test_perf "$@"
+}
-test_perf "status -uno (fsmonitor=$INTEGRATION_SCRIPT)" '
- git status -uno
-'
+test_fsmonitor_suite() {
+ if test -n "$INTEGRATION_SCRIPT"; then
+ DESC="fsmonitor=$(basename $INTEGRATION_SCRIPT)"
+ else
+ DESC="fsmonitor=disabled"
+ fi
-if test -n "$GIT_PERF_7519_DROP_CACHE"; then
- test-tool drop-caches
+ test_expect_success "test_initialization" '
+ git reset --hard &&
+ git status # Warm caches
+ '
+
+ test_perf_w_drop_caches "status ($DESC)" '
+ git status
+ '
+
+ test_perf_w_drop_caches "status -uno ($DESC)" '
+ git status -uno
+ '
+
+ test_perf_w_drop_caches "status -uall ($DESC)" '
+ git status -uall
+ '
+
+ test_perf_w_drop_caches "status (dirty) ($DESC)" '
+ git ls-files | head -100000 | xargs -d "\n" touch -h &&
+ git status
+ '
+
+ test_perf_w_drop_caches "diff ($DESC)" '
+ git diff
+ '
+
+ test_perf_w_drop_caches "diff -- 0_files ($DESC)" '
+ git diff -- 1_file
+ '
+
+ test_perf_w_drop_caches "diff -- 10_files ($DESC)" '
+ git diff -- 10_files
+ '
+
+ test_perf_w_drop_caches "diff -- 100_files ($DESC)" '
+ git diff -- 100_files
+ '
+
+ test_perf_w_drop_caches "diff -- 1000_files ($DESC)" '
+ git diff -- 1000_files
+ '
+
+ test_perf_w_drop_caches "diff -- 10000_files ($DESC)" '
+ git diff -- 10000_files
+ '
+
+ test_perf_w_drop_caches "add ($DESC)" '
+ git add --all
+ '
+}
+
+if test -n "$GIT_PERF_7519_FSMONITOR"; then
+ for INTEGRATION_PATH in $GIT_PERF_7519_FSMONITOR; do
+ test_expect_success "setup for fsmonitor $INTEGRATION_PATH" 'setup_for_fsmonitor'
+ test_fsmonitor_suite
+ done
+else
+ test_expect_success "setup for fsmonitor" 'setup_for_fsmonitor'
+ test_fsmonitor_suite
fi
-test_perf "status -uall (fsmonitor=$INTEGRATION_SCRIPT)" '
- git status -uall
-'
-
test_expect_success "setup without fsmonitor" '
unset INTEGRATION_SCRIPT &&
git config --unset core.fsmonitor &&
git update-index --no-fsmonitor
'
-if test -n "$GIT_PERF_7519_DROP_CACHE"; then
- test-tool drop-caches
-fi
-
-test_perf "status (fsmonitor=$INTEGRATION_SCRIPT)" '
- git status
-'
-
-if test -n "$GIT_PERF_7519_DROP_CACHE"; then
- test-tool drop-caches
-fi
-
-test_perf "status -uno (fsmonitor=$INTEGRATION_SCRIPT)" '
- git status -uno
-'
-
-if test -n "$GIT_PERF_7519_DROP_CACHE"; then
- test-tool drop-caches
-fi
-
-test_perf "status -uall (fsmonitor=$INTEGRATION_SCRIPT)" '
- git status -uall
-'
+test_fsmonitor_suite
if test_have_prereq WATCHMAN
then
diff --git a/t/perf/perf-lib.sh b/t/perf/perf-lib.sh
index 821581a885..e385c6896f 100644
--- a/t/perf/perf-lib.sh
+++ b/t/perf/perf-lib.sh
@@ -147,14 +147,16 @@ test_run_perf_ () {
"$GTIME" -f "%E %U %S" -o test_time.$i "$SHELL" -c '
. '"$TEST_DIRECTORY"/test-lib-functions.sh'
test_export () {
- [ $# != 0 ] || return 0
- test_export_="$test_export_\\|$1"
- shift
- test_export "$@"
+ test_export_="$test_export_ $*"
}
'"$1"'
ret=$?
-set | sed -n "s'"/'/'\\\\''/g"';s/^\\($test_export_\\)/export '"'&'"'/p" >test_vars
+needles=
+for v in $test_export_
+do
+ needles="$needles;s/^$v=/export $v=/p"
+done
+set | sed -n "s'"/'/'\\\\''/g"'$needles" >test_vars
exit $ret' >&3 2>&4
eval_ret=$?
diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh
index eb99892a87..f4ba2e8c85 100755
--- a/t/t0000-basic.sh
+++ b/t/t0000-basic.sh
@@ -430,7 +430,7 @@ test_expect_success 'GIT_SKIP_TESTS does not skip unmatched suite' "
test_expect_success '--run basic' "
run_sub_test_lib_test run-basic \
- '--run basic' --run='1 3 5' <<-\\EOF &&
+ '--run basic' --run='1,3,5' <<-\\EOF &&
for i in 1 2 3 4 5 6
do
test_expect_success \"passing test #\$i\" 'true'
@@ -472,7 +472,7 @@ test_expect_success '--run with a range' "
test_expect_success '--run with two ranges' "
run_sub_test_lib_test run-two-ranges \
- '--run with two ranges' --run='1-2 5-6' <<-\\EOF &&
+ '--run with two ranges' --run='1-2,5-6' <<-\\EOF &&
for i in 1 2 3 4 5 6
do
test_expect_success \"passing test #\$i\" 'true'
@@ -556,7 +556,7 @@ test_expect_success '--run with basic negation' "
test_expect_success '--run with two negations' "
run_sub_test_lib_test run-two-neg \
- '--run with two negations' --run='"'!3 !6'"' <<-\\EOF &&
+ '--run with two negations' --run='"'!3,!6'"' <<-\\EOF &&
for i in 1 2 3 4 5 6
do
test_expect_success \"passing test #\$i\" 'true'
@@ -577,7 +577,7 @@ test_expect_success '--run with two negations' "
test_expect_success '--run a range and negation' "
run_sub_test_lib_test run-range-and-neg \
- '--run a range and negation' --run='"'-4 !2'"' <<-\\EOF &&
+ '--run a range and negation' --run='"'-4,!2'"' <<-\\EOF &&
for i in 1 2 3 4 5 6
do
test_expect_success \"passing test #\$i\" 'true'
@@ -620,7 +620,7 @@ test_expect_success '--run range negation' "
test_expect_success '--run include, exclude and include' "
run_sub_test_lib_test run-inc-neg-inc \
'--run include, exclude and include' \
- --run='"'1-5 !1-3 2'"' <<-\\EOF &&
+ --run='"'1-5,!1-3,2'"' <<-\\EOF &&
for i in 1 2 3 4 5 6
do
test_expect_success \"passing test #\$i\" 'true'
@@ -664,7 +664,7 @@ test_expect_success '--run include, exclude and include, comma separated' "
test_expect_success '--run exclude and include' "
run_sub_test_lib_test run-neg-inc \
'--run exclude and include' \
- --run='"'!3- 5'"' <<-\\EOF &&
+ --run='"'!3-,5'"' <<-\\EOF &&
for i in 1 2 3 4 5 6
do
test_expect_success \"passing test #\$i\" 'true'
@@ -705,7 +705,31 @@ test_expect_success '--run empty selectors' "
EOF
"
-test_expect_success '--run invalid range start' "
+test_expect_success '--run substring selector' "
+ run_sub_test_lib_test run-substring-selector \
+ '--run empty selectors' \
+ --run='relevant' <<-\\EOF &&
+ test_expect_success \"relevant test\" 'true'
+ for i in 1 2 3 4 5 6
+ do
+ test_expect_success \"other test #\$i\" 'true'
+ done
+ test_done
+ EOF
+ check_sub_test_lib_test run-substring-selector <<-\\EOF
+ > ok 1 - relevant test
+ > ok 2 # skip other test #1 (--run)
+ > ok 3 # skip other test #2 (--run)
+ > ok 4 # skip other test #3 (--run)
+ > ok 5 # skip other test #4 (--run)
+ > ok 6 # skip other test #5 (--run)
+ > ok 7 # skip other test #6 (--run)
+ > # passed all 7 test(s)
+ > 1..7
+ EOF
+"
+
+test_expect_success '--run keyword selection' "
run_sub_test_lib_test_err run-inv-range-start \
'--run invalid range start' \
--run='a-5' <<-\\EOF &&
@@ -735,21 +759,6 @@ test_expect_success '--run invalid range end' "
EOF_ERR
"
-test_expect_success '--run invalid selector' "
- run_sub_test_lib_test_err run-inv-selector \
- '--run invalid selector' \
- --run='1?' <<-\\EOF &&
- test_expect_success \"passing test #1\" 'true'
- test_done
- EOF
- check_sub_test_lib_test_err run-inv-selector \
- <<-\\EOF_OUT 3<<-\\EOF_ERR
- > FATAL: Unexpected exit with code 1
- EOF_OUT
- > error: --run: invalid non-numeric in test selector: '1?'
- EOF_ERR
-"
-
test_set_prereq HAVEIT
haveit=no
@@ -831,6 +840,27 @@ then
exit 1
fi
+test_lazy_prereq NESTED_INNER '
+ >inner &&
+ rm -f outer
+'
+test_lazy_prereq NESTED_PREREQ '
+ >outer &&
+ test_have_prereq NESTED_INNER &&
+ echo "can create new file in cwd" >file &&
+ test -f outer &&
+ test ! -f inner
+'
+test_expect_success NESTED_PREREQ 'evaluating nested lazy prereqs dont interfere with each other' '
+ nestedworks=yes
+'
+
+if test -z "$GIT_TEST_FAIL_PREREQS_INTERNAL" && test "$nestedworks" != yes
+then
+ say 'bug in test framework: nested lazy prerequisites do not work'
+ exit 1
+fi
+
test_expect_success 'lazy prereqs do not turn off tracing' "
run_sub_test_lib_test lazy-prereq-and-tracing \
'lazy prereqs and -x' -v -x <<-\\EOF &&
diff --git a/t/t0001-init.sh b/t/t0001-init.sh
index 2f7c3dcd0f..0803994874 100755
--- a/t/t0001-init.sh
+++ b/t/t0001-init.sh
@@ -163,7 +163,7 @@ test_expect_success 'reinit' '
(
mkdir again &&
cd again &&
- git init >out1 2>err1 &&
+ git -c init.defaultBranch=initial init >out1 2>err1 &&
git init >out2 2>err2
) &&
test_i18ngrep "Initialized empty" again/out1 &&
@@ -553,15 +553,37 @@ test_expect_success '--initial-branch' '
test_expect_success 'overridden default initial branch name (config)' '
test_config_global init.defaultBranch nmb &&
- git init initial-branch-config &&
+ GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME= git init initial-branch-config &&
git -C initial-branch-config symbolic-ref HEAD >actual &&
grep nmb actual
'
+test_expect_success 'advice on unconfigured init.defaultBranch' '
+ GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME= git -c color.advice=always \
+ init unconfigured-default-branch-name 2>err &&
+ test_decode_color <err >decoded &&
+ test_i18ngrep "<YELLOW>hint: " decoded
+'
+
+test_expect_success 'overridden default main branch name (env)' '
+ test_config_global init.defaultBranch nmb &&
+ GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=env git init main-branch-env &&
+ git -C main-branch-env symbolic-ref HEAD >actual &&
+ grep env actual
+'
+
test_expect_success 'invalid default branch name' '
- test_config_global init.defaultBranch "with space" &&
- test_must_fail git init initial-branch-invalid 2>err &&
+ test_must_fail env GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME="with space" \
+ git init initial-branch-invalid 2>err &&
test_i18ngrep "invalid branch name" err
'
+test_expect_success 'branch -m with the initial branch' '
+ git init rename-initial &&
+ git -C rename-initial branch -m renamed &&
+ test renamed = $(git -C rename-initial symbolic-ref --short HEAD) &&
+ git -C rename-initial branch -m renamed again &&
+ test again = $(git -C rename-initial symbolic-ref --short HEAD)
+'
+
test_done
diff --git a/t/t0002-gitfile.sh b/t/t0002-gitfile.sh
index 960ed150cb..8440e6add1 100755
--- a/t/t0002-gitfile.sh
+++ b/t/t0002-gitfile.sh
@@ -4,6 +4,9 @@ test_description='.git file
Verify that plumbing commands work when .git is a file
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
objpath() {
@@ -96,7 +99,7 @@ test_expect_success 'enter_repo non-strict mode' '
git ls-remote enter_repo >actual &&
cat >expected <<-EOF &&
$head HEAD
- $head refs/heads/master
+ $head refs/heads/main
$head refs/tags/foo
EOF
test_cmp expected actual
@@ -111,7 +114,7 @@ test_expect_success 'enter_repo linked checkout' '
git ls-remote foo >actual &&
cat >expected <<-EOF &&
$head HEAD
- $head refs/heads/master
+ $head refs/heads/main
$head refs/tags/foo
EOF
test_cmp expected actual
@@ -122,7 +125,7 @@ test_expect_success 'enter_repo strict mode' '
git ls-remote --upload-pack="git upload-pack --strict" foo/.git >actual &&
cat >expected <<-EOF &&
$head HEAD
- $head refs/heads/master
+ $head refs/heads/main
$head refs/tags/foo
EOF
test_cmp expected actual
diff --git a/t/t0020-crlf.sh b/t/t0020-crlf.sh
index b63ba62e5d..375cf94398 100755
--- a/t/t0020-crlf.sh
+++ b/t/t0020-crlf.sh
@@ -2,6 +2,9 @@
test_description='CRLF conversion'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
has_cr() {
@@ -318,8 +321,8 @@ test_expect_success 'checkout with existing .gitattributes' '
git add .gitattributes .file &&
git commit -m second &&
- git checkout master~1 &&
- git checkout master &&
+ git checkout main~1 &&
+ git checkout main &&
test "$(git diff-files --raw)" = ""
'
@@ -331,8 +334,8 @@ test_expect_success 'checkout when deleting .gitattributes' '
git add .file2 &&
git commit -m third &&
- git checkout master~1 &&
- git checkout master &&
+ git checkout main~1 &&
+ git checkout main &&
has_cr .file2
'
diff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh
index 4bfffa9c31..e4c4de5c74 100755
--- a/t/t0021-conversion.sh
+++ b/t/t0021-conversion.sh
@@ -2,6 +2,9 @@
test_description='blob conversion via gitattributes'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
TEST_ROOT="$PWD"
@@ -23,10 +26,6 @@ generate_random_characters () {
perl -pe "s/./chr((ord($&) % 26) + ord('a'))/sge" >"$TEST_ROOT/$NAME"
}
-file_size () {
- test-tool path-utils file-size "$1"
-}
-
filter_git () {
rm -f *.log &&
git "$@"
@@ -361,9 +360,9 @@ test_expect_success PERL 'required process filter should filter data' '
cp "$TEST_ROOT/test3 '\''sq'\'',\$x=.o" "testsubdir/test3 '\''sq'\'',\$x=.r" &&
>test4-empty.r &&
- S=$(file_size test.r) &&
- S2=$(file_size test2.r) &&
- S3=$(file_size "testsubdir/test3 '\''sq'\'',\$x=.r") &&
+ S=$(test_file_size test.r) &&
+ S2=$(test_file_size test2.r) &&
+ S3=$(test_file_size "testsubdir/test3 '\''sq'\'',\$x=.r") &&
M=$(git hash-object test.r) &&
M2=$(git hash-object test2.r) &&
M3=$(git hash-object "testsubdir/test3 '\''sq'\'',\$x=.r") &&
@@ -382,8 +381,8 @@ test_expect_success PERL 'required process filter should filter data' '
test_cmp_count expected.log debug.log &&
git commit -m "test commit 2" &&
- MASTER=$(git rev-parse --verify master) &&
- META="ref=refs/heads/master treeish=$MASTER" &&
+ MAIN=$(git rev-parse --verify main) &&
+ META="ref=refs/heads/main treeish=$MAIN" &&
rm -f test2.r "testsubdir/test3 '\''sq'\'',\$x=.r" &&
filter_git checkout --quiet --no-progress . &&
@@ -408,7 +407,7 @@ test_expect_success PERL 'required process filter should filter data' '
EOF
test_cmp_exclude_clean expected.log debug.log &&
- filter_git checkout --quiet --no-progress master &&
+ filter_git checkout --quiet --no-progress main &&
cat >expected.log <<-EOF &&
START
init handshake complete
@@ -432,23 +431,23 @@ test_expect_success PERL 'required process filter should filter data for various
(
cd repo &&
- S=$(file_size test.r) &&
- S2=$(file_size test2.r) &&
- S3=$(file_size "testsubdir/test3 '\''sq'\'',\$x=.r") &&
+ S=$(test_file_size test.r) &&
+ S2=$(test_file_size test2.r) &&
+ S3=$(test_file_size "testsubdir/test3 '\''sq'\'',\$x=.r") &&
M=$(git hash-object test.r) &&
M2=$(git hash-object test2.r) &&
M3=$(git hash-object "testsubdir/test3 '\''sq'\'',\$x=.r") &&
EMPTY=$(git hash-object /dev/null) &&
- MASTER=$(git rev-parse --verify master) &&
+ MAIN=$(git rev-parse --verify main) &&
cp "$TEST_ROOT/test.o" test5.r &&
git add test5.r &&
git commit -m "test commit 3" &&
git checkout empty-branch &&
- filter_git rebase --onto empty-branch master^^ master &&
- MASTER2=$(git rev-parse --verify master) &&
- META="ref=refs/heads/master treeish=$MASTER2" &&
+ filter_git rebase --onto empty-branch main^^ main &&
+ MAIN2=$(git rev-parse --verify main) &&
+ META="ref=refs/heads/main treeish=$MAIN2" &&
cat >expected.log <<-EOF &&
START
init handshake complete
@@ -462,8 +461,8 @@ test_expect_success PERL 'required process filter should filter data for various
test_cmp_exclude_clean expected.log debug.log &&
git reset --hard empty-branch &&
- filter_git reset --hard $MASTER &&
- META="treeish=$MASTER" &&
+ filter_git reset --hard $MAIN &&
+ META="treeish=$MAIN" &&
cat >expected.log <<-EOF &&
START
init handshake complete
@@ -475,10 +474,10 @@ test_expect_success PERL 'required process filter should filter data for various
EOF
test_cmp_exclude_clean expected.log debug.log &&
- git branch old-master $MASTER &&
+ git branch old-main $MAIN &&
git reset --hard empty-branch &&
- filter_git reset --hard old-master &&
- META="ref=refs/heads/old-master treeish=$MASTER" &&
+ filter_git reset --hard old-main &&
+ META="ref=refs/heads/old-main treeish=$MAIN" &&
cat >expected.log <<-EOF &&
START
init handshake complete
@@ -491,9 +490,9 @@ test_expect_success PERL 'required process filter should filter data for various
test_cmp_exclude_clean expected.log debug.log &&
git checkout -b merge empty-branch &&
- git branch -f master $MASTER2 &&
- filter_git merge master &&
- META="treeish=$MASTER2" &&
+ git branch -f main $MAIN2 &&
+ filter_git merge main &&
+ META="treeish=$MAIN2" &&
cat >expected.log <<-EOF &&
START
init handshake complete
@@ -506,8 +505,8 @@ test_expect_success PERL 'required process filter should filter data for various
EOF
test_cmp_exclude_clean expected.log debug.log &&
- filter_git archive master >/dev/null &&
- META="ref=refs/heads/master treeish=$MASTER2" &&
+ filter_git archive main >/dev/null &&
+ META="ref=refs/heads/main treeish=$MAIN2" &&
cat >expected.log <<-EOF &&
START
init handshake complete
@@ -520,7 +519,7 @@ test_expect_success PERL 'required process filter should filter data for various
EOF
test_cmp_exclude_clean expected.log debug.log &&
- TREE="$(git rev-parse $MASTER2^{tree})" &&
+ TREE="$(git rev-parse $MAIN2^{tree})" &&
filter_git archive $TREE >/dev/null &&
META="treeish=$TREE" &&
cat >expected.log <<-EOF &&
@@ -549,7 +548,7 @@ test_expect_success PERL 'required process filter takes precedence' '
echo "*.r filter=protocol" >.gitattributes &&
cp "$TEST_ROOT/test.o" test.r &&
- S=$(file_size test.r) &&
+ S=$(test_file_size test.r) &&
# Check that the process filter is invoked here
filter_git add . &&
@@ -573,7 +572,7 @@ test_expect_success PERL 'required process filter should be used only for "clean
echo "*.r filter=protocol" >.gitattributes &&
cp "$TEST_ROOT/test.o" test.r &&
- S=$(file_size test.r) &&
+ S=$(test_file_size test.r) &&
filter_git add . &&
cat >expected.log <<-EOF &&
@@ -697,9 +696,9 @@ test_expect_success PERL 'process filter should restart after unexpected write f
echo "this is going to fail" >smudge-write-fail.o &&
cp smudge-write-fail.o smudge-write-fail.r &&
- S=$(file_size test.r) &&
- S2=$(file_size test2.r) &&
- SF=$(file_size smudge-write-fail.r) &&
+ S=$(test_file_size test.r) &&
+ S2=$(test_file_size test2.r) &&
+ SF=$(test_file_size smudge-write-fail.r) &&
M=$(git hash-object test.r) &&
M2=$(git hash-object test2.r) &&
MF=$(git hash-object smudge-write-fail.r) &&
@@ -752,9 +751,9 @@ test_expect_success PERL 'process filter should not be restarted if it signals a
echo "this will cause an error" >error.o &&
cp error.o error.r &&
- S=$(file_size test.r) &&
- S2=$(file_size test2.r) &&
- SE=$(file_size error.r) &&
+ S=$(test_file_size test.r) &&
+ S2=$(test_file_size test2.r) &&
+ SE=$(test_file_size error.r) &&
M=$(git hash-object test.r) &&
M2=$(git hash-object test2.r) &&
ME=$(git hash-object error.r) &&
@@ -797,7 +796,7 @@ test_expect_success PERL 'process filter abort stops processing of all further f
M="blob=$(git hash-object abort.r)" &&
rm -f debug.log &&
- SA=$(file_size abort.r) &&
+ SA=$(test_file_size abort.r) &&
git add . &&
rm -f *.r &&
@@ -859,9 +858,9 @@ test_expect_success PERL 'delayed checkout in process filter' '
git commit -m "test commit"
) &&
- S=$(file_size "$TEST_ROOT/test.o") &&
- PM="ref=refs/heads/master treeish=$(git -C repo rev-parse --verify master) " &&
- M="${PM}blob=$(git -C repo rev-parse --verify master:test.a)" &&
+ S=$(test_file_size "$TEST_ROOT/test.o") &&
+ PM="ref=refs/heads/main treeish=$(git -C repo rev-parse --verify main) " &&
+ M="${PM}blob=$(git -C repo rev-parse --verify main:test.a)" &&
cat >a.exp <<-EOF &&
START
init handshake complete
diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh
index 9fcd56fab3..51f74a3ddf 100755
--- a/t/t0027-auto-crlf.sh
+++ b/t/t0027-auto-crlf.sh
@@ -368,9 +368,9 @@ test_expect_success 'ls-files --eol -o Text/Binary' '
test_cmp expect actual
'
-test_expect_success 'setup master' '
+test_expect_success 'setup main' '
echo >.gitattributes &&
- git checkout -b master &&
+ git checkout -b main &&
git add .gitattributes &&
git commit -m "add .gitattributes" . &&
printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONE\nLINETWO\nLINETHREE" >LF &&
diff --git a/t/t0028-working-tree-encoding.sh b/t/t0028-working-tree-encoding.sh
index bfc4fb9af5..f970a9806b 100755
--- a/t/t0028-working-tree-encoding.sh
+++ b/t/t0028-working-tree-encoding.sh
@@ -2,6 +2,9 @@
test_description='working-tree-encoding conversion via gitattributes'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
GIT_TRACE_WORKING_TREE_ENCODING=1 && export GIT_TRACE_WORKING_TREE_ENCODING
@@ -215,7 +218,7 @@ test_expect_success 'error if encoding round trip is not the same during refresh
TEST_HASH=$(git hash-object --no-filters -w nonsense.utf16le) &&
git update-index --add --cacheinfo 100644 $TEST_HASH nonsense.utf16le &&
COMMIT=$(git commit-tree -p $(git rev-parse HEAD) -m "plain commit" $(git write-tree)) &&
- git update-ref refs/heads/master $COMMIT &&
+ git update-ref refs/heads/main $COMMIT &&
test_must_fail git checkout HEAD^ 2>err.out &&
test_i18ngrep "error: .* overwritten by checkout:" err.out
@@ -231,7 +234,7 @@ test_expect_success 'error if encoding garbage is already in Git' '
TEST_HASH=$(git hash-object --no-filters -w nonsense.utf16) &&
git update-index --add --cacheinfo 100644 $TEST_HASH nonsense.utf16 &&
COMMIT=$(git commit-tree -p $(git rev-parse HEAD) -m "plain commit" $(git write-tree)) &&
- git update-ref refs/heads/master $COMMIT &&
+ git update-ref refs/heads/main $COMMIT &&
git diff 2>err.out &&
test_i18ngrep "error: BOM is required" err.out
diff --git a/t/t0041-usage.sh b/t/t0041-usage.sh
index 5b927b76fe..c4fc34eb18 100755
--- a/t/t0041-usage.sh
+++ b/t/t0041-usage.sh
@@ -2,6 +2,9 @@
test_description='Test commands behavior when given invalid argument value'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup ' '
@@ -41,8 +44,8 @@ test_expect_success 'tag usage error' '
'
test_expect_success 'branch --contains <existent_commit>' '
- git branch --contains "master" >actual 2>actual.err &&
- test_i18ngrep "master" actual &&
+ git branch --contains "main" >actual 2>actual.err &&
+ test_i18ngrep "main" actual &&
test_line_count = 0 actual.err
'
@@ -54,7 +57,7 @@ test_expect_success 'branch --contains <inexistent_commit>' '
'
test_expect_success 'branch --no-contains <existent_commit>' '
- git branch --no-contains "master" >actual 2>actual.err &&
+ git branch --no-contains "main" >actual 2>actual.err &&
test_line_count = 0 actual &&
test_line_count = 0 actual.err
'
@@ -73,7 +76,7 @@ test_expect_success 'branch usage error' '
'
test_expect_success 'for-each-ref --contains <existent_object>' '
- git for-each-ref --contains "master" >actual 2>actual.err &&
+ git for-each-ref --contains "main" >actual 2>actual.err &&
test_line_count = 2 actual &&
test_line_count = 0 actual.err
'
@@ -86,7 +89,7 @@ test_expect_success 'for-each-ref --contains <inexistent_object>' '
'
test_expect_success 'for-each-ref --no-contains <existent_object>' '
- git for-each-ref --no-contains "master" >actual 2>actual.err &&
+ git for-each-ref --no-contains "main" >actual 2>actual.err &&
test_line_count = 0 actual &&
test_line_count = 0 actual.err
'
diff --git a/t/t0050-filesystem.sh b/t/t0050-filesystem.sh
index 608673fb77..afc343cf9b 100755
--- a/t/t0050-filesystem.sh
+++ b/t/t0050-filesystem.sh
@@ -2,6 +2,9 @@
test_description='Various filesystem issues'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
auml=$(printf '\303\244')
@@ -65,7 +68,7 @@ test_expect_success "setup case tests" '
git mv camelcase tmp &&
git mv tmp CamelCase &&
git commit -m "rename" &&
- git checkout -f master
+ git checkout -f main
'
test_expect_success 'rename (case change)' '
@@ -118,7 +121,7 @@ test_expect_success "setup unicode normalization tests" '
git mv $aumlcdiar tmp &&
git mv tmp "$auml" &&
git commit -m rename &&
- git checkout -f master
+ git checkout -f main
'
$test_unicode 'rename (silent unicode normalization)' '
@@ -147,7 +150,7 @@ test_expect_success CASE_INSENSITIVE_FS 'checkout with no pathspec and a case in
git add gitweb &&
git commit -m "add gitweb/subdir/file" &&
- git checkout master
+ git checkout main
)
'
diff --git a/t/t0060-path-utils.sh b/t/t0060-path-utils.sh
index 56db5c8aba..0ff06b5d1b 100755
--- a/t/t0060-path-utils.sh
+++ b/t/t0060-path-utils.sh
@@ -312,8 +312,8 @@ test_git_path GIT_COMMON_DIR=bar info/sparse-checkout .git/info/sparse-check
test_git_path GIT_COMMON_DIR=bar info//sparse-checkout .git/info//sparse-checkout
test_git_path GIT_COMMON_DIR=bar remotes/bar bar/remotes/bar
test_git_path GIT_COMMON_DIR=bar branches/bar bar/branches/bar
-test_git_path GIT_COMMON_DIR=bar logs/refs/heads/master bar/logs/refs/heads/master
-test_git_path GIT_COMMON_DIR=bar refs/heads/master bar/refs/heads/master
+test_git_path GIT_COMMON_DIR=bar logs/refs/heads/main bar/logs/refs/heads/main
+test_git_path GIT_COMMON_DIR=bar refs/heads/main bar/refs/heads/main
test_git_path GIT_COMMON_DIR=bar refs/bisect/foo .git/refs/bisect/foo
test_git_path GIT_COMMON_DIR=bar hooks/me bar/hooks/me
test_git_path GIT_COMMON_DIR=bar config bar/config
diff --git a/t/t0064-sha1-array.sh b/t/t0064-oid-array.sh
index 45685af2fd..2e5438ccda 100755
--- a/t/t0064-sha1-array.sh
+++ b/t/t0064-oid-array.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-test_description='basic tests for the SHA1 array implementation'
+test_description='basic tests for the oid array implementation'
. ./test-lib.sh
echoid () {
@@ -27,6 +27,7 @@ test_expect_success 'ordered enumeration with duplicate suppression' '
{
echoid append 88 44 aa 55 &&
echoid append 88 44 aa 55 &&
+ echoid append 88 44 aa 55 &&
echo for_each_unique
} | test-tool oid-array >actual &&
test_cmp expect actual
@@ -54,17 +55,19 @@ test_expect_success 'lookup with duplicates' '
{
echoid append 88 44 aa 55 &&
echoid append 88 44 aa 55 &&
+ echoid append 88 44 aa 55 &&
echoid lookup 55
} | test-tool oid-array >actual &&
n=$(cat actual) &&
- test "$n" -ge 2 &&
- test "$n" -le 3
+ test "$n" -ge 3 &&
+ test "$n" -le 5
'
test_expect_success 'lookup non-existing entry with duplicates' '
{
echoid append 88 44 aa 55 &&
echoid append 88 44 aa 55 &&
+ echoid append 88 44 aa 55 &&
echoid lookup 66
} | test-tool oid-array >actual &&
n=$(cat actual) &&
diff --git a/t/t0068-for-each-repo.sh b/t/t0068-for-each-repo.sh
new file mode 100755
index 0000000000..4675e85251
--- /dev/null
+++ b/t/t0068-for-each-repo.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+test_description='git for-each-repo builtin'
+
+. ./test-lib.sh
+
+test_expect_success 'run based on configured value' '
+ git init one &&
+ git init two &&
+ git init three &&
+ git -C two commit --allow-empty -m "DID NOT RUN" &&
+ git config run.key "$TRASH_DIRECTORY/one" &&
+ git config --add run.key "$TRASH_DIRECTORY/three" &&
+ git for-each-repo --config=run.key commit --allow-empty -m "ran" &&
+ git -C one log -1 --pretty=format:%s >message &&
+ grep ran message &&
+ git -C two log -1 --pretty=format:%s >message &&
+ ! grep ran message &&
+ git -C three log -1 --pretty=format:%s >message &&
+ grep ran message &&
+ git for-each-repo --config=run.key -- commit --allow-empty -m "ran again" &&
+ git -C one log -1 --pretty=format:%s >message &&
+ grep again message &&
+ git -C two log -1 --pretty=format:%s >message &&
+ ! grep again message &&
+ git -C three log -1 --pretty=format:%s >message &&
+ grep again message
+'
+
+test_expect_success 'do nothing on empty config' '
+ # the whole thing would fail if for-each-ref iterated even
+ # once, because "git help --no-such-option" would fail
+ git for-each-repo --config=bogus.config -- help --no-such-option
+'
+
+test_done
diff --git a/t/t0070-fundamental.sh b/t/t0070-fundamental.sh
index 7b111a56fd..8d59905ef0 100755
--- a/t/t0070-fundamental.sh
+++ b/t/t0070-fundamental.sh
@@ -34,4 +34,22 @@ test_expect_success 'check for a bug in the regex routines' '
test-tool regex --bug
'
+test_expect_success 'incomplete sideband messages are reassembled' '
+ test-tool pkt-line send-split-sideband >split-sideband &&
+ test-tool pkt-line receive-sideband <split-sideband 2>err &&
+ grep "Hello, world" err
+'
+
+test_expect_success 'eof on sideband message is reported' '
+ printf 1234 >input &&
+ test-tool pkt-line receive-sideband <input 2>err &&
+ test_i18ngrep "unexpected disconnect" err
+'
+
+test_expect_success 'missing sideband designator is reported' '
+ printf 0004 >input &&
+ test-tool pkt-line receive-sideband <input 2>err &&
+ test_i18ngrep "missing sideband" err
+'
+
test_done
diff --git a/t/t0100-previous.sh b/t/t0100-previous.sh
index 58c0b7e9b6..69beb59f62 100755
--- a/t/t0100-previous.sh
+++ b/t/t0100-previous.sh
@@ -2,13 +2,16 @@
test_description='previous branch syntax @{-n}'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'branch -d @{-1}' '
test_commit A &&
git checkout -b junk &&
git checkout - &&
- test "$(git symbolic-ref HEAD)" = refs/heads/master &&
+ test "$(git symbolic-ref HEAD)" = refs/heads/main &&
git branch -d @{-1} &&
test_must_fail git rev-parse --verify refs/heads/junk
'
@@ -17,9 +20,9 @@ test_expect_success 'branch -d @{-12} when there is not enough switches yet' '
git reflog expire --expire=now &&
git checkout -b junk2 &&
git checkout - &&
- test "$(git symbolic-ref HEAD)" = refs/heads/master &&
+ test "$(git symbolic-ref HEAD)" = refs/heads/main &&
test_must_fail git branch -d @{-12} &&
- git rev-parse --verify refs/heads/master
+ git rev-parse --verify refs/heads/main
'
test_expect_success 'merge @{-1}' '
@@ -28,19 +31,19 @@ test_expect_success 'merge @{-1}' '
git checkout A &&
test_commit C &&
test_commit D &&
- git branch -f master B &&
+ git branch -f main B &&
git branch -f other &&
git checkout other &&
- git checkout master &&
+ git checkout main &&
git merge @{-1} &&
git cat-file commit HEAD | grep "Merge branch '\''other'\''"
'
test_expect_success 'merge @{-1}~1' '
- git checkout master &&
+ git checkout main &&
git reset --hard B &&
git checkout other &&
- git checkout master &&
+ git checkout main &&
git merge @{-1}~1 &&
git cat-file commit HEAD >actual &&
grep "Merge branch '\''other'\''" actual
@@ -48,11 +51,11 @@ test_expect_success 'merge @{-1}~1' '
test_expect_success 'merge @{-100} before checking out that many branches yet' '
git reflog expire --expire=now &&
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard B &&
git branch -f other C &&
git checkout other &&
- git checkout master &&
+ git checkout main &&
test_must_fail git merge @{-100}
'
diff --git a/t/t0300-credentials.sh b/t/t0300-credentials.sh
index bc2d74098f..a18f8a473b 100755
--- a/t/t0300-credentials.sh
+++ b/t/t0300-credentials.sh
@@ -265,6 +265,32 @@ test_expect_success 'internal getpass does not ask for known username' '
EOF
'
+test_expect_success 'git-credential respects core.askPass' '
+ write_script alternate-askpass <<-\EOF &&
+ echo >&2 "alternate askpass invoked"
+ echo alternate-value
+ EOF
+ test_config core.askpass "$PWD/alternate-askpass" &&
+ (
+ # unset GIT_ASKPASS set by lib-credential.sh which would
+ # override our config, but do so in a subshell so that we do
+ # not interfere with other tests
+ sane_unset GIT_ASKPASS &&
+ check fill <<-\EOF
+ protocol=http
+ host=example.com
+ --
+ protocol=http
+ host=example.com
+ username=alternate-value
+ password=alternate-value
+ --
+ alternate askpass invoked
+ alternate askpass invoked
+ EOF
+ )
+'
+
HELPER="!f() {
cat >/dev/null
echo username=foo
diff --git a/t/t1004-read-tree-m-u-wf.sh b/t/t1004-read-tree-m-u-wf.sh
index c13578a635..11bf10424f 100755
--- a/t/t1004-read-tree-m-u-wf.sh
+++ b/t/t1004-read-tree-m-u-wf.sh
@@ -2,6 +2,9 @@
test_description='read-tree -m -u checks working tree files'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-read-tree.sh
@@ -20,17 +23,17 @@ test_expect_success 'two-way setup' '
git branch side &&
git tag -f branch-point &&
- echo file2 is not tracked on the master anymore &&
+ echo file2 is not tracked on the main branch anymore &&
rm -f file2 subdir/file2 &&
git update-index --remove file2 subdir/file2 &&
- git commit -a -m "master removes file2 and subdir/file2"
+ git commit -a -m "main removes file2 and subdir/file2"
'
test_expect_success 'two-way not clobbering' '
- echo >file2 master creates untracked file2 &&
- echo >subdir/file2 master creates untracked subdir/file2 &&
- if err=$(read_tree_u_must_succeed -m -u master side 2>&1)
+ echo >file2 main creates untracked file2 &&
+ echo >subdir/file2 main creates untracked subdir/file2 &&
+ if err=$(read_tree_u_must_succeed -m -u main side 2>&1)
then
echo should have complained
false
@@ -43,7 +46,7 @@ echo file2 >.gitignore
test_expect_success 'two-way with incorrect --exclude-per-directory (1)' '
- if err=$(read_tree_u_must_succeed -m --exclude-per-directory=.gitignore master side 2>&1)
+ if err=$(read_tree_u_must_succeed -m --exclude-per-directory=.gitignore main side 2>&1)
then
echo should have complained
false
@@ -54,7 +57,7 @@ test_expect_success 'two-way with incorrect --exclude-per-directory (1)' '
test_expect_success 'two-way with incorrect --exclude-per-directory (2)' '
- if err=$(read_tree_u_must_succeed -m -u --exclude-per-directory=foo --exclude-per-directory=.gitignore master side 2>&1)
+ if err=$(read_tree_u_must_succeed -m -u --exclude-per-directory=foo --exclude-per-directory=.gitignore main side 2>&1)
then
echo should have complained
false
@@ -65,7 +68,7 @@ test_expect_success 'two-way with incorrect --exclude-per-directory (2)' '
test_expect_success 'two-way clobbering a ignored file' '
- read_tree_u_must_succeed -m -u --exclude-per-directory=.gitignore master side
+ read_tree_u_must_succeed -m -u --exclude-per-directory=.gitignore main side
'
rm -f .gitignore
@@ -81,21 +84,21 @@ test_expect_success 'three-way not complaining on an untracked path in both' '
git update-index --add file3 subdir/file3 &&
git commit -a -m "side adds file3 and removes file2" &&
- git checkout master &&
- echo >file2 file two is untracked on the master side &&
- echo >subdir/file2 file two is untracked on the master side &&
+ git checkout main &&
+ echo >file2 file two is untracked on the main side &&
+ echo >subdir/file2 file two is untracked on the main side &&
- read_tree_u_must_succeed -m -u branch-point master side
+ read_tree_u_must_succeed -m -u branch-point main side
'
test_expect_success 'three-way not clobbering a working tree file' '
git reset --hard &&
rm -f file2 subdir/file2 file3 subdir/file3 &&
- git checkout master &&
- echo >file3 file three created in master, untracked &&
- echo >subdir/file3 file three created in master, untracked &&
- if err=$(read_tree_u_must_succeed -m -u branch-point master side 2>&1)
+ git checkout main &&
+ echo >file3 file three created in main, untracked &&
+ echo >subdir/file3 file three created in main, untracked &&
+ if err=$(read_tree_u_must_succeed -m -u branch-point main side 2>&1)
then
echo should have complained
false
@@ -110,11 +113,11 @@ test_expect_success 'three-way not complaining on an untracked file' '
git reset --hard &&
rm -f file2 subdir/file2 file3 subdir/file3 &&
- git checkout master &&
- echo >file3 file three created in master, untracked &&
- echo >subdir/file3 file three created in master, untracked &&
+ git checkout main &&
+ echo >file3 file three created in main, untracked &&
+ echo >subdir/file3 file three created in main, untracked &&
- read_tree_u_must_succeed -m -u --exclude-per-directory=.gitignore branch-point master side
+ read_tree_u_must_succeed -m -u --exclude-per-directory=.gitignore branch-point main side
'
test_expect_success '3-way not overwriting local changes (setup)' '
diff --git a/t/t1006-cat-file.sh b/t/t1006-cat-file.sh
index 2f501d2dc9..5d2dc99b74 100755
--- a/t/t1006-cat-file.sh
+++ b/t/t1006-cat-file.sh
@@ -166,7 +166,7 @@ tag_content="$tag_header_without_timestamp 0000000000 +0000
$tag_description"
-tag_sha1=$(echo_without_newline "$tag_content" | git mktag)
+tag_sha1=$(echo_without_newline "$tag_content" | git hash-object -t tag --stdin -w)
tag_size=$(strlen "$tag_content")
run_tests 'tag' $tag_sha1 $tag_size "$tag_content" "$tag_content" 1
diff --git a/t/t1008-read-tree-overlay.sh b/t/t1008-read-tree-overlay.sh
index cf96016844..4512fb0b6e 100755
--- a/t/t1008-read-tree-overlay.sh
+++ b/t/t1008-read-tree-overlay.sh
@@ -2,6 +2,9 @@
test_description='test multi-tree read-tree without merging'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-read-tree.sh
@@ -22,7 +25,7 @@ test_expect_success setup '
'
test_expect_success 'multi-read' '
- read_tree_must_succeed initial master side &&
+ read_tree_must_succeed initial main side &&
test_write_lines a b/c >expect &&
git ls-files >actual &&
test_cmp expect actual
diff --git a/t/t1009-read-tree-new-index.sh b/t/t1009-read-tree-new-index.sh
index 59b3aa4bc4..2935f68f8d 100755
--- a/t/t1009-read-tree-new-index.sh
+++ b/t/t1009-read-tree-new-index.sh
@@ -2,6 +2,9 @@
test_description='test read-tree into a fresh index file'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -12,13 +15,13 @@ test_expect_success setup '
test_expect_success 'non-existent index file' '
rm -f new-index &&
- GIT_INDEX_FILE=new-index git read-tree master
+ GIT_INDEX_FILE=new-index git read-tree main
'
test_expect_success 'empty index file' '
rm -f new-index &&
> new-index &&
- GIT_INDEX_FILE=new-index git read-tree master
+ GIT_INDEX_FILE=new-index git read-tree main
'
test_done
diff --git a/t/t1011-read-tree-sparse-checkout.sh b/t/t1011-read-tree-sparse-checkout.sh
index 140f459977..dfe9794a74 100755
--- a/t/t1011-read-tree-sparse-checkout.sh
+++ b/t/t1011-read-tree-sparse-checkout.sh
@@ -2,7 +2,7 @@
test_description='sparse checkout tests
-* (tag: removed, master) removed
+* (tag: removed, main) removed
| D sub/added
* (HEAD, tag: top) modified and added
| M init.t
diff --git a/t/t1021-rerere-in-workdir.sh b/t/t1021-rerere-in-workdir.sh
index 301e071ff7..0b892894eb 100755
--- a/t/t1021-rerere-in-workdir.sh
+++ b/t/t1021-rerere-in-workdir.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='rerere run in a workdir'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success SYMLINKS setup '
@@ -19,7 +22,7 @@ test_expect_success SYMLINKS setup '
test_tick &&
git commit -a -m goodbye &&
- git checkout master
+ git checkout main
'
test_expect_success SYMLINKS 'rerere in workdir' '
diff --git a/t/t1050-large.sh b/t/t1050-large.sh
index 61e89a8071..4bab6a513c 100755
--- a/t/t1050-large.sh
+++ b/t/t1050-large.sh
@@ -5,12 +5,6 @@ test_description='adding and checking out large blobs'
. ./test-lib.sh
-# This should be moved to test-lib.sh together with the
-# copy in t0021 after both topics have graduated to 'master'.
-file_size () {
- test-tool path-utils file-size "$1"
-}
-
test_expect_success setup '
# clone does not allow us to pass core.bigfilethreshold to
# new repos, so set core.bigfilethreshold globally
@@ -29,7 +23,7 @@ do
test_expect_success "add with $config" '
test_when_finished "rm -f .git/objects/pack/pack-*.* .git/index" &&
git $config add large1 &&
- sz=$(file_size .git/objects/pack/pack-*.pack) &&
+ sz=$(test_file_size .git/objects/pack/pack-*.pack) &&
case "$expect" in
small) test "$sz" -le 100000 ;;
large) test "$sz" -ge 100000 ;;
diff --git a/t/t1090-sparse-checkout-scope.sh b/t/t1090-sparse-checkout-scope.sh
index f35a73dd20..3deb490187 100755
--- a/t/t1090-sparse-checkout-scope.sh
+++ b/t/t1090-sparse-checkout-scope.sh
@@ -2,6 +2,9 @@
test_description='sparse checkout scope tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -20,18 +23,18 @@ test_expect_success 'create feature branch' '
git commit -m "modification"
'
-test_expect_success 'perform sparse checkout of master' '
+test_expect_success 'perform sparse checkout of main' '
git config --local --bool core.sparsecheckout true &&
echo "!/*" >.git/info/sparse-checkout &&
echo "/a" >>.git/info/sparse-checkout &&
echo "/c" >>.git/info/sparse-checkout &&
- git checkout master &&
+ git checkout main &&
test_path_is_file a &&
test_path_is_missing b &&
test_path_is_file c
'
-test_expect_success 'merge feature branch into sparse checkout of master' '
+test_expect_success 'merge feature branch into sparse checkout of main' '
git merge feature &&
test_path_is_file a &&
test_path_is_missing b &&
@@ -39,10 +42,10 @@ test_expect_success 'merge feature branch into sparse checkout of master' '
test "$(cat c)" = "modified"
'
-test_expect_success 'return to full checkout of master' '
+test_expect_success 'return to full checkout of main' '
git checkout feature &&
echo "/*" >.git/info/sparse-checkout &&
- git checkout master &&
+ git checkout main &&
test_path_is_file a &&
test_path_is_file b &&
test_path_is_file c &&
diff --git a/t/t1091-sparse-checkout-builtin.sh b/t/t1091-sparse-checkout-builtin.sh
index 84acfc48b6..fc64e9ed99 100755
--- a/t/t1091-sparse-checkout-builtin.sh
+++ b/t/t1091-sparse-checkout-builtin.sh
@@ -2,6 +2,9 @@
test_description='sparse checkout builtin tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
list_files() {
@@ -117,7 +120,7 @@ test_expect_success 'interaction with clone --no-checkout (unborn index)' '
test_path_is_missing clone_no_checkout/.git/index &&
# No branch is checked out until we manually switch to one
- git -C clone_no_checkout switch master &&
+ git -C clone_no_checkout switch main &&
test_path_is_file clone_no_checkout/.git/index &&
check_files clone_no_checkout a folder1
'
diff --git a/t/t1300-config.sh b/t/t1300-config.sh
index 825d9a184f..936d72041b 100755
--- a/t/t1300-config.sh
+++ b/t/t1300-config.sh
@@ -5,6 +5,9 @@
test_description='Test git config in different settings'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'clear default config' '
@@ -12,75 +15,75 @@ test_expect_success 'clear default config' '
'
cat > expect << EOF
-[core]
+[section]
penguin = little blue
EOF
test_expect_success 'initial' '
- git config core.penguin "little blue" &&
+ git config section.penguin "little blue" &&
test_cmp expect .git/config
'
cat > expect << EOF
-[core]
+[section]
penguin = little blue
Movie = BadPhysics
EOF
test_expect_success 'mixed case' '
- git config Core.Movie BadPhysics &&
+ git config Section.Movie BadPhysics &&
test_cmp expect .git/config
'
cat > expect << EOF
-[core]
+[section]
penguin = little blue
Movie = BadPhysics
-[Cores]
+[Sections]
WhatEver = Second
EOF
test_expect_success 'similar section' '
- git config Cores.WhatEver Second &&
+ git config Sections.WhatEver Second &&
test_cmp expect .git/config
'
cat > expect << EOF
-[core]
+[section]
penguin = little blue
Movie = BadPhysics
UPPERCASE = true
-[Cores]
+[Sections]
WhatEver = Second
EOF
test_expect_success 'uppercase section' '
- git config CORE.UPPERCASE true &&
+ git config SECTION.UPPERCASE true &&
test_cmp expect .git/config
'
test_expect_success 'replace with non-match' '
- git config core.penguin kingpin !blue
+ git config section.penguin kingpin !blue
'
test_expect_success 'replace with non-match (actually matching)' '
- git config core.penguin "very blue" !kingpin
+ git config section.penguin "very blue" !kingpin
'
cat > expect << EOF
-[core]
+[section]
penguin = very blue
Movie = BadPhysics
UPPERCASE = true
penguin = kingpin
-[Cores]
+[Sections]
WhatEver = Second
EOF
test_expect_success 'non-match result' 'test_cmp expect .git/config'
test_expect_success 'find mixed-case key by canonical name' '
- test_cmp_config Second cores.whatever
+ test_cmp_config Second sections.whatever
'
test_expect_success 'find mixed-case key by non-canonical name' '
- test_cmp_config Second CoReS.WhAtEvEr
+ test_cmp_config Second SeCtIoNs.WhAtEvEr
'
test_expect_success 'subsections are not canonicalized by git-config' '
@@ -469,7 +472,8 @@ test_expect_success 'new variable inserts into proper section' '
'
test_expect_success 'alternative --file (non-existing file should fail)' '
- test_must_fail git config --file non-existing-config -l
+ test_must_fail git config --file non-existing-config -l &&
+ test_must_fail git config --file non-existing-config test.xyzzy
'
cat > other-config << EOF
@@ -506,10 +510,6 @@ test_expect_success 'editing stdin is an error' '
test_expect_success 'refer config from subdirectory' '
mkdir x &&
- test_cmp_config -C x strasse --get --file ../other-config ein.bahn
-'
-
-test_expect_success 'refer config from subdirectory via --file' '
test_cmp_config -C x strasse --file=../other-config --get ein.bahn
'
@@ -1036,11 +1036,6 @@ test_expect_success SYMLINKS 'symlinked configuration' '
test_cmp expect actual
'
-test_expect_success 'nonexistent configuration' '
- test_must_fail git config --file=doesnotexist --list &&
- test_must_fail git config --file=doesnotexist test.xyzzy
-'
-
test_expect_success SYMLINKS 'symlink to nonexistent configuration' '
ln -s doesnotexist linktonada &&
ln -s linktonada linktolinktonada &&
@@ -1054,8 +1049,8 @@ test_expect_success 'check split_cmdline return' "
echo foo > foo &&
git add foo &&
git commit -m 'initial commit' &&
- git config branch.master.mergeoptions 'echo \"' &&
- test_must_fail git merge master
+ git config branch.main.mergeoptions 'echo \"' &&
+ test_must_fail git merge main
"
test_expect_success 'git -c "key=value" support' '
@@ -1065,12 +1060,12 @@ test_expect_success 'git -c "key=value" support' '
true
EOF
{
- git -c core.name=value config core.name &&
+ git -c section.name=value config section.name &&
git -c foo.CamelCase=value config foo.camelcase &&
git -c foo.flag config --bool foo.flag
} >actual &&
test_cmp expect actual &&
- test_must_fail git -c name=value config core.name
+ test_must_fail git -c name=value config section.name
'
# We just need a type-specifier here that cares about the
@@ -1115,7 +1110,7 @@ test_expect_success 'aliases can be CamelCased' '
test_expect_success 'git -c does not split values on equals' '
echo "value with = in it" >expect &&
- git -c core.foo="value with = in it" config core.foo >actual &&
+ git -c section.foo="value with = in it" config section.foo >actual &&
test_cmp expect actual
'
@@ -1294,6 +1289,58 @@ test_expect_success 'git -c is not confused by empty environment' '
GIT_CONFIG_PARAMETERS="" git -c x.one=1 config --list
'
+test_expect_success 'GIT_CONFIG_PARAMETERS handles old-style entries' '
+ v="${SQ}key.one=foo${SQ}" &&
+ v="$v ${SQ}key.two=bar${SQ}" &&
+ v="$v ${SQ}key.ambiguous=section.whatever=value${SQ}" &&
+ GIT_CONFIG_PARAMETERS=$v git config --get-regexp "key.*" >actual &&
+ cat >expect <<-EOF &&
+ key.one foo
+ key.two bar
+ key.ambiguous section.whatever=value
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success 'GIT_CONFIG_PARAMETERS handles new-style entries' '
+ v="${SQ}key.one${SQ}=${SQ}foo${SQ}" &&
+ v="$v ${SQ}key.two${SQ}=${SQ}bar${SQ}" &&
+ v="$v ${SQ}key.ambiguous=section.whatever${SQ}=${SQ}value${SQ}" &&
+ GIT_CONFIG_PARAMETERS=$v git config --get-regexp "key.*" >actual &&
+ cat >expect <<-EOF &&
+ key.one foo
+ key.two bar
+ key.ambiguous=section.whatever value
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success 'old and new-style entries can mix' '
+ v="${SQ}key.oldone=oldfoo${SQ}" &&
+ v="$v ${SQ}key.newone${SQ}=${SQ}newfoo${SQ}" &&
+ v="$v ${SQ}key.oldtwo=oldbar${SQ}" &&
+ v="$v ${SQ}key.newtwo${SQ}=${SQ}newbar${SQ}" &&
+ GIT_CONFIG_PARAMETERS=$v git config --get-regexp "key.*" >actual &&
+ cat >expect <<-EOF &&
+ key.oldone oldfoo
+ key.newone newfoo
+ key.oldtwo oldbar
+ key.newtwo newbar
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success 'old and new bools with ambiguous subsection' '
+ v="${SQ}key.with=equals.oldbool${SQ}" &&
+ v="$v ${SQ}key.with=equals.newbool${SQ}=" &&
+ GIT_CONFIG_PARAMETERS=$v git config --get-regexp "key.*" >actual &&
+ cat >expect <<-EOF &&
+ key.with equals.oldbool
+ key.with=equals.newbool
+ EOF
+ test_cmp expect actual
+'
+
test_expect_success 'detect bogus GIT_CONFIG_PARAMETERS' '
cat >expect <<-\EOF &&
env.one one
@@ -1316,6 +1363,173 @@ test_expect_success 'detect bogus GIT_CONFIG_PARAMETERS' '
git config --get-regexp "env.*"
'
+test_expect_success 'git --config-env=key=envvar support' '
+ cat >expect <<-\EOF &&
+ value
+ value
+ false
+ EOF
+ {
+ ENVVAR=value git --config-env=core.name=ENVVAR config core.name &&
+ ENVVAR=value git --config-env=foo.CamelCase=ENVVAR config foo.camelcase &&
+ ENVVAR= git --config-env=foo.flag=ENVVAR config --bool foo.flag
+ } >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'git --config-env fails with invalid parameters' '
+ test_must_fail git --config-env=foo.flag config --bool foo.flag 2>error &&
+ test_i18ngrep "invalid config format: foo.flag" error &&
+ test_must_fail git --config-env=foo.flag= config --bool foo.flag 2>error &&
+ test_i18ngrep "missing environment variable name for configuration ${SQ}foo.flag${SQ}" error &&
+ sane_unset NONEXISTENT &&
+ test_must_fail git --config-env=foo.flag=NONEXISTENT config --bool foo.flag 2>error &&
+ test_i18ngrep "missing environment variable ${SQ}NONEXISTENT${SQ} for configuration ${SQ}foo.flag${SQ}" error
+'
+
+test_expect_success 'git -c and --config-env work together' '
+ cat >expect <<-\EOF &&
+ bar.cmd cmd-value
+ bar.env env-value
+ EOF
+ ENVVAR=env-value git \
+ -c bar.cmd=cmd-value \
+ --config-env=bar.env=ENVVAR \
+ config --get-regexp "^bar.*" >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'git -c and --config-env override each other' '
+ cat >expect <<-\EOF &&
+ env
+ cmd
+ EOF
+ {
+ ENVVAR=env git -c bar.bar=cmd --config-env=bar.bar=ENVVAR config bar.bar &&
+ ENVVAR=env git --config-env=bar.bar=ENVVAR -c bar.bar=cmd config bar.bar
+ } >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success '--config-env handles keys with equals' '
+ echo value=with=equals >expect &&
+ ENVVAR=value=with=equals git \
+ --config-env=section.subsection=with=equals.key=ENVVAR \
+ config section.subsection=with=equals.key >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'git config handles environment config pairs' '
+ GIT_CONFIG_COUNT=2 \
+ GIT_CONFIG_KEY_0="pair.one" GIT_CONFIG_VALUE_0="foo" \
+ GIT_CONFIG_KEY_1="pair.two" GIT_CONFIG_VALUE_1="bar" \
+ git config --get-regexp "pair.*" >actual &&
+ cat >expect <<-EOF &&
+ pair.one foo
+ pair.two bar
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success 'git config ignores pairs without count' '
+ test_must_fail env GIT_CONFIG_KEY_0="pair.one" GIT_CONFIG_VALUE_0="value" \
+ git config pair.one 2>error &&
+ test_must_be_empty error
+'
+
+test_expect_success 'git config ignores pairs with zero count' '
+ test_must_fail env \
+ GIT_CONFIG_COUNT=0 \
+ GIT_CONFIG_KEY_0="pair.one" GIT_CONFIG_VALUE_0="value" \
+ git config pair.one
+'
+
+test_expect_success 'git config ignores pairs exceeding count' '
+ GIT_CONFIG_COUNT=1 \
+ GIT_CONFIG_KEY_0="pair.one" GIT_CONFIG_VALUE_0="value" \
+ GIT_CONFIG_KEY_1="pair.two" GIT_CONFIG_VALUE_1="value" \
+ git config --get-regexp "pair.*" >actual &&
+ cat >expect <<-EOF &&
+ pair.one value
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success 'git config ignores pairs with zero count' '
+ test_must_fail env \
+ GIT_CONFIG_COUNT=0 GIT_CONFIG_KEY_0="pair.one" GIT_CONFIG_VALUE_0="value" \
+ git config pair.one >error &&
+ test_must_be_empty error
+'
+
+test_expect_success 'git config ignores pairs with empty count' '
+ test_must_fail env \
+ GIT_CONFIG_COUNT= GIT_CONFIG_KEY_0="pair.one" GIT_CONFIG_VALUE_0="value" \
+ git config pair.one >error &&
+ test_must_be_empty error
+'
+
+test_expect_success 'git config fails with invalid count' '
+ test_must_fail env GIT_CONFIG_COUNT=10a git config --list 2>error &&
+ test_i18ngrep "bogus count" error &&
+ test_must_fail env GIT_CONFIG_COUNT=9999999999999999 git config --list 2>error &&
+ test_i18ngrep "too many entries" error
+'
+
+test_expect_success 'git config fails with missing config key' '
+ test_must_fail env GIT_CONFIG_COUNT=1 GIT_CONFIG_VALUE_0="value" \
+ git config --list 2>error &&
+ test_i18ngrep "missing config key" error
+'
+
+test_expect_success 'git config fails with missing config value' '
+ test_must_fail env GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0="pair.one" \
+ git config --list 2>error &&
+ test_i18ngrep "missing config value" error
+'
+
+test_expect_success 'git config fails with invalid config pair key' '
+ test_must_fail env GIT_CONFIG_COUNT=1 \
+ GIT_CONFIG_KEY_0= GIT_CONFIG_VALUE_0=value \
+ git config --list &&
+ test_must_fail env GIT_CONFIG_COUNT=1 \
+ GIT_CONFIG_KEY_0=missing-section GIT_CONFIG_VALUE_0=value \
+ git config --list
+'
+
+test_expect_success 'environment overrides config file' '
+ test_when_finished "rm -f .git/config" &&
+ cat >.git/config <<-EOF &&
+ [pair]
+ one = value
+ EOF
+ GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0=pair.one GIT_CONFIG_VALUE_0=override \
+ git config pair.one >actual &&
+ cat >expect <<-EOF &&
+ override
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success 'GIT_CONFIG_PARAMETERS overrides environment config' '
+ GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0=pair.one GIT_CONFIG_VALUE_0=value \
+ GIT_CONFIG_PARAMETERS="${SQ}pair.one=override${SQ}" \
+ git config pair.one >actual &&
+ cat >expect <<-EOF &&
+ override
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success 'command line overrides environment config' '
+ GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0=pair.one GIT_CONFIG_VALUE_0=value \
+ git -c pair.one=override config pair.one >actual &&
+ cat >expect <<-EOF &&
+ override
+ EOF
+ test_cmp expect actual
+'
+
test_expect_success 'git config --edit works' '
git config -f tmp test.value no &&
echo test.value=yes >expect &&
@@ -1661,9 +1875,11 @@ test_expect_success '--show-origin with --list' '
file:.git/config user.override=local
file:.git/config include.path=../include/relative.include
file:.git/../include/relative.include user.relative=include
+ command line: user.environ=true
command line: user.cmdline=true
EOF
- git -c user.cmdline=true config --list --show-origin >output &&
+ GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0=user.environ GIT_CONFIG_VALUE_0=true\
+ git -c user.cmdline=true config --list --show-origin >output &&
test_cmp expect output
'
@@ -1769,11 +1985,11 @@ test_expect_success '--show-origin blob' '
test_expect_success '--show-origin blob ref' '
cat >expect <<-\EOF &&
- blob:master:custom.conf user.custom=true
+ blob:main:custom.conf user.custom=true
EOF
git add "$CUSTOM_CONFIG_FILE" &&
git commit -m "new config file" &&
- git config --blob=master:"$CUSTOM_CONFIG_FILE" --show-origin --list >output &&
+ git config --blob=main:"$CUSTOM_CONFIG_FILE" --show-origin --list >output &&
test_cmp expect output
'
@@ -1846,53 +2062,53 @@ do
done
cat >.git/config <<-\EOF &&
-[core]
+[section]
foo = true
number = 10
big = 1M
EOF
test_expect_success 'identical modern --type specifiers are allowed' '
- test_cmp_config 1048576 --type=int --type=int core.big
+ test_cmp_config 1048576 --type=int --type=int section.big
'
test_expect_success 'identical legacy --type specifiers are allowed' '
- test_cmp_config 1048576 --int --int core.big
+ test_cmp_config 1048576 --int --int section.big
'
test_expect_success 'identical mixed --type specifiers are allowed' '
- test_cmp_config 1048576 --int --type=int core.big
+ test_cmp_config 1048576 --int --type=int section.big
'
test_expect_success 'non-identical modern --type specifiers are not allowed' '
- test_must_fail git config --type=int --type=bool core.big 2>error &&
+ test_must_fail git config --type=int --type=bool section.big 2>error &&
test_i18ngrep "only one type at a time" error
'
test_expect_success 'non-identical legacy --type specifiers are not allowed' '
- test_must_fail git config --int --bool core.big 2>error &&
+ test_must_fail git config --int --bool section.big 2>error &&
test_i18ngrep "only one type at a time" error
'
test_expect_success 'non-identical mixed --type specifiers are not allowed' '
- test_must_fail git config --type=int --bool core.big 2>error &&
+ test_must_fail git config --type=int --bool section.big 2>error &&
test_i18ngrep "only one type at a time" error
'
test_expect_success '--type allows valid type specifiers' '
- test_cmp_config true --type=bool core.foo
+ test_cmp_config true --type=bool section.foo
'
test_expect_success '--no-type unsets type specifiers' '
- test_cmp_config 10 --type=bool --no-type core.number
+ test_cmp_config 10 --type=bool --no-type section.number
'
test_expect_success 'unset type specifiers may be reset to conflicting ones' '
- test_cmp_config 1048576 --type=bool --no-type --type=int core.big
+ test_cmp_config 1048576 --type=bool --no-type --type=int section.big
'
test_expect_success '--type rejects unknown specifiers' '
- test_must_fail git config --type=nonsense core.foo 2>error &&
+ test_must_fail git config --type=nonsense section.foo 2>error &&
test_i18ngrep "unrecognized --type argument" error
'
@@ -1917,4 +2133,153 @@ test_expect_success '--replace-all does not invent newlines' '
test_cmp expect .git/config
'
+test_expect_success 'set all config with value-pattern' '
+ test_when_finished rm -f config initial &&
+ git config --file=initial abc.key one &&
+
+ # no match => add new entry
+ cp initial config &&
+ git config --file=config abc.key two a+ &&
+ git config --file=config --list >actual &&
+ cat >expect <<-\EOF &&
+ abc.key=one
+ abc.key=two
+ EOF
+ test_cmp expect actual &&
+
+ # multiple matches => failure
+ test_must_fail git config --file=config abc.key three o+ 2>err &&
+ test_i18ngrep "has multiple values" err &&
+
+ # multiple values, no match => add
+ git config --file=config abc.key three a+ &&
+ git config --file=config --list >actual &&
+ cat >expect <<-\EOF &&
+ abc.key=one
+ abc.key=two
+ abc.key=three
+ EOF
+ test_cmp expect actual &&
+
+ # single match => replace
+ git config --file=config abc.key four h+ &&
+ git config --file=config --list >actual &&
+ cat >expect <<-\EOF &&
+ abc.key=one
+ abc.key=two
+ abc.key=four
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success '--replace-all and value-pattern' '
+ test_when_finished rm -f config &&
+ git config --file=config --add abc.key one &&
+ git config --file=config --add abc.key two &&
+ git config --file=config --add abc.key three &&
+ git config --file=config --replace-all abc.key four "o+" &&
+ git config --file=config --list >actual &&
+ cat >expect <<-\EOF &&
+ abc.key=four
+ abc.key=three
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success 'refuse --fixed-value for incompatible actions' '
+ test_when_finished rm -f config &&
+ git config --file=config dev.null bogus &&
+
+ # These modes do not allow --fixed-value at all
+ test_must_fail git config --file=config --fixed-value --add dev.null bogus &&
+ test_must_fail git config --file=config --fixed-value --get-urlmatch dev.null bogus &&
+ test_must_fail git config --file=config --fixed-value --get-urlmatch dev.null bogus &&
+ test_must_fail git config --file=config --fixed-value --rename-section dev null &&
+ test_must_fail git config --file=config --fixed-value --remove-section dev &&
+ test_must_fail git config --file=config --fixed-value --list &&
+ test_must_fail git config --file=config --fixed-value --get-color dev.null &&
+ test_must_fail git config --file=config --fixed-value --get-colorbool dev.null &&
+
+ # These modes complain when --fixed-value has no value-pattern
+ test_must_fail git config --file=config --fixed-value dev.null bogus &&
+ test_must_fail git config --file=config --fixed-value --replace-all dev.null bogus &&
+ test_must_fail git config --file=config --fixed-value --get dev.null &&
+ test_must_fail git config --file=config --fixed-value --get-all dev.null &&
+ test_must_fail git config --file=config --fixed-value --get-regexp "dev.*" &&
+ test_must_fail git config --file=config --fixed-value --unset dev.null &&
+ test_must_fail git config --file=config --fixed-value --unset-all dev.null
+'
+
+test_expect_success '--fixed-value uses exact string matching' '
+ test_when_finished rm -f config initial &&
+ META="a+b*c?d[e]f.g" &&
+ git config --file=initial fixed.test "$META" &&
+
+ cp initial config &&
+ git config --file=config fixed.test bogus "$META" &&
+ git config --file=config --list >actual &&
+ cat >expect <<-EOF &&
+ fixed.test=$META
+ fixed.test=bogus
+ EOF
+ test_cmp expect actual &&
+
+ cp initial config &&
+ git config --file=config --fixed-value fixed.test bogus "$META" &&
+ git config --file=config --list >actual &&
+ cat >expect <<-\EOF &&
+ fixed.test=bogus
+ EOF
+ test_cmp expect actual &&
+
+ cp initial config &&
+ test_must_fail git config --file=config --unset fixed.test "$META" &&
+ git config --file=config --fixed-value --unset fixed.test "$META" &&
+ test_must_fail git config --file=config fixed.test &&
+
+ cp initial config &&
+ test_must_fail git config --file=config --unset-all fixed.test "$META" &&
+ git config --file=config --fixed-value --unset-all fixed.test "$META" &&
+ test_must_fail git config --file=config fixed.test &&
+
+ cp initial config &&
+ git config --file=config --replace-all fixed.test bogus "$META" &&
+ git config --file=config --list >actual &&
+ cat >expect <<-EOF &&
+ fixed.test=$META
+ fixed.test=bogus
+ EOF
+ test_cmp expect actual &&
+
+ git config --file=config --fixed-value --replace-all fixed.test bogus "$META" &&
+ git config --file=config --list >actual &&
+ cat >expect <<-EOF &&
+ fixed.test=bogus
+ fixed.test=bogus
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success '--get and --get-all with --fixed-value' '
+ test_when_finished rm -f config &&
+ META="a+b*c?d[e]f.g" &&
+ git config --file=config fixed.test bogus &&
+ git config --file=config --add fixed.test "$META" &&
+
+ git config --file=config --get fixed.test bogus &&
+ test_must_fail git config --file=config --get fixed.test "$META" &&
+ git config --file=config --get --fixed-value fixed.test "$META" &&
+ test_must_fail git config --file=config --get --fixed-value fixed.test non-existent &&
+
+ git config --file=config --get-all fixed.test bogus &&
+ test_must_fail git config --file=config --get-all fixed.test "$META" &&
+ git config --file=config --get-all --fixed-value fixed.test "$META" &&
+ test_must_fail git config --file=config --get-all --fixed-value fixed.test non-existent &&
+
+ git config --file=config --get-regexp fixed+ bogus &&
+ test_must_fail git config --file=config --get-regexp fixed+ "$META" &&
+ git config --file=config --get-regexp --fixed-value fixed+ "$META" &&
+ test_must_fail git config --file=config --get-regexp --fixed-value fixed+ non-existent
+'
+
test_done
diff --git a/t/t1301-shared-repo.sh b/t/t1301-shared-repo.sh
index 2dc853d1be..ac947bff9f 100755
--- a/t/t1301-shared-repo.sh
+++ b/t/t1301-shared-repo.sh
@@ -5,6 +5,9 @@
test_description='Test shared repository initialization'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# Remove a default ACL from the test dir if possible.
@@ -115,13 +118,13 @@ test_expect_success POSIXPERM 'git reflog expire honors core.sharedRepository' '
umask 077 &&
git config core.sharedRepository group &&
git reflog expire --all &&
- actual="$(ls -l .git/logs/refs/heads/master)" &&
+ actual="$(ls -l .git/logs/refs/heads/main)" &&
case "$actual" in
-rw-rw-*)
: happy
;;
*)
- echo Ooops, .git/logs/refs/heads/master is not 0662 [$actual]
+ echo Ooops, .git/logs/refs/heads/main is not 0662 [$actual]
false
;;
esac
diff --git a/t/t1305-config-include.sh b/t/t1305-config-include.sh
index f1e1b289f9..938ca17d78 100755
--- a/t/t1305-config-include.sh
+++ b/t/t1305-config-include.sh
@@ -312,7 +312,7 @@ test_expect_success SYMLINKS 'conditional include, gitdir matching symlink, icas
test_expect_success 'conditional include, onbranch' '
echo "[includeIf \"onbranch:foo-branch\"]path=bar9" >>.git/config &&
echo "[test]nine=9" >.git/bar9 &&
- git checkout -b master &&
+ git checkout -b main &&
test_must_fail git config test.nine &&
git checkout -b foo-branch &&
echo 9 >expect &&
diff --git a/t/t1309-early-config.sh b/t/t1309-early-config.sh
index ebb8e1aecb..b4a9158307 100755
--- a/t/t1309-early-config.sh
+++ b/t/t1309-early-config.sh
@@ -91,11 +91,11 @@ test_expect_failure 'ignore .git/ with invalid config' '
test_expect_success 'early config and onbranch' '
echo "[broken" >broken &&
- test_with_config "[includeif \"onbranch:master\"]path=../broken"
+ test_with_config "[includeif \"onbranch:topic\"]path=../broken"
'
test_expect_success 'onbranch config outside of git repo' '
- test_config_global includeIf.onbranch:master.path non-existent &&
+ test_config_global includeIf.onbranch:topic.path non-existent &&
nongit git help
'
diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh
index 770e7be363..359d8731c8 100755
--- a/t/t1400-update-ref.sh
+++ b/t/t1400-update-ref.sh
@@ -4,11 +4,14 @@
#
test_description='Test git update-ref and basic ref logging'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
Z=$ZERO_OID
-m=refs/heads/master
+m=refs/heads/main
n_dir=refs/heads/gu
n=$n_dir/fixes
outside=refs/foo
@@ -27,10 +30,11 @@ create_test_commits ()
}
test_expect_success setup '
+ git checkout --orphan main &&
create_test_commits "" &&
mkdir $bare &&
cd $bare &&
- git init --bare &&
+ git init --bare -b main &&
create_test_commits "bare" &&
cd -
'
@@ -48,17 +52,17 @@ test_expect_success "fail to delete $m with stale ref" '
test $B = "$(git show-ref -s --verify $m)"
'
test_expect_success "delete $m" '
- test_when_finished "rm -f .git/$m" &&
+ test_when_finished "git update-ref -d $m" &&
git update-ref -d $m $B &&
- test_path_is_missing .git/$m
+ test_must_fail git show-ref --verify -q $m
'
test_expect_success "delete $m without oldvalue verification" '
- test_when_finished "rm -f .git/$m" &&
+ test_when_finished "git update-ref -d $m" &&
git update-ref $m $A &&
test $A = $(git show-ref -s --verify $m) &&
git update-ref -d $m &&
- test_path_is_missing .git/$m
+ test_must_fail git show-ref --verify -q $m
'
test_expect_success "fail to create $n" '
@@ -80,26 +84,26 @@ test_expect_success "fail to delete $m (by HEAD) with stale ref" '
test $B = $(git show-ref -s --verify $m)
'
test_expect_success "delete $m (by HEAD)" '
- test_when_finished "rm -f .git/$m" &&
+ test_when_finished "git update-ref -d $m" &&
git update-ref -d HEAD $B &&
- test_path_is_missing .git/$m
+ test_must_fail git show-ref --verify -q $m
'
test_expect_success "deleting current branch adds message to HEAD's log" '
- test_when_finished "rm -f .git/$m" &&
+ test_when_finished "git update-ref -d $m" &&
git update-ref $m $A &&
git symbolic-ref HEAD $m &&
git update-ref -m delete-$m -d $m &&
- test_path_is_missing .git/$m &&
+ test_must_fail git show-ref --verify -q $m &&
grep "delete-$m$" .git/logs/HEAD
'
test_expect_success "deleting by HEAD adds message to HEAD's log" '
- test_when_finished "rm -f .git/$m" &&
+ test_when_finished "git update-ref -d $m" &&
git update-ref $m $A &&
git symbolic-ref HEAD $m &&
git update-ref -m delete-by-head -d HEAD &&
- test_path_is_missing .git/$m &&
+ test_must_fail git show-ref --verify -q $m &&
grep "delete-by-head$" .git/logs/HEAD
'
@@ -188,31 +192,37 @@ test_expect_success "move $m (by HEAD)" '
test $B = $(git show-ref -s --verify $m)
'
test_expect_success "delete $m (by HEAD) should remove both packed and loose $m" '
- test_when_finished "rm -f .git/$m" &&
+ test_when_finished "git update-ref -d $m" &&
git update-ref -d HEAD $B &&
! grep "$m" .git/packed-refs &&
- test_path_is_missing .git/$m
+ test_must_fail git show-ref --verify -q $m
'
-cp -f .git/HEAD .git/HEAD.orig
test_expect_success 'delete symref without dereference' '
- test_when_finished "cp -f .git/HEAD.orig .git/HEAD" &&
- git update-ref --no-deref -d HEAD &&
- test_path_is_missing .git/HEAD
+ test_when_finished "git update-ref -d $m" &&
+ echo foo >foo.c &&
+ git add foo.c &&
+ git commit -m foo &&
+ git symbolic-ref SYMREF $m &&
+ git update-ref --no-deref -d SYMREF &&
+ git show-ref --verify -q $m &&
+ test_must_fail git show-ref --verify -q SYMREF &&
+ test_must_fail git symbolic-ref SYMREF
'
test_expect_success 'delete symref without dereference when the referred ref is packed' '
- test_when_finished "cp -f .git/HEAD.orig .git/HEAD" &&
+ test_when_finished "git update-ref -d $m" &&
echo foo >foo.c &&
git add foo.c &&
git commit -m foo &&
+ git symbolic-ref SYMREF $m &&
git pack-refs --all &&
- git update-ref --no-deref -d HEAD &&
- test_path_is_missing .git/HEAD
+ git update-ref --no-deref -d SYMREF &&
+ git show-ref --verify -q $m &&
+ test_must_fail git show-ref --verify -q SYMREF &&
+ test_must_fail git symbolic-ref SYMREF
'
-git update-ref -d $m
-
test_expect_success 'update-ref -d is not confused by self-reference' '
git symbolic-ref refs/heads/self refs/heads/self &&
test_when_finished "rm -f .git/refs/heads/self" &&
@@ -226,25 +236,25 @@ test_expect_success 'update-ref --no-deref -d can delete self-reference' '
test_when_finished "rm -f .git/refs/heads/self" &&
test_path_is_file .git/refs/heads/self &&
git update-ref --no-deref -d refs/heads/self &&
- test_path_is_missing .git/refs/heads/self
+ test_must_fail git show-ref --verify -q refs/heads/self
'
test_expect_success 'update-ref --no-deref -d can delete reference to bad ref' '
>.git/refs/heads/bad &&
test_when_finished "rm -f .git/refs/heads/bad" &&
git symbolic-ref refs/heads/ref-to-bad refs/heads/bad &&
- test_when_finished "rm -f .git/refs/heads/ref-to-bad" &&
+ test_when_finished "git update-ref -d refs/heads/ref-to-bad" &&
test_path_is_file .git/refs/heads/ref-to-bad &&
git update-ref --no-deref -d refs/heads/ref-to-bad &&
- test_path_is_missing .git/refs/heads/ref-to-bad
+ test_must_fail git show-ref --verify -q refs/heads/ref-to-bad
'
test_expect_success '(not) create HEAD with old sha1' '
test_must_fail git update-ref HEAD $A $B
'
test_expect_success "(not) prior created .git/$m" '
- test_when_finished "rm -f .git/$m" &&
- test_path_is_missing .git/$m
+ test_when_finished "git update-ref -d $m" &&
+ test_must_fail git show-ref --verify -q $m
'
test_expect_success 'create HEAD' '
@@ -254,11 +264,11 @@ test_expect_success '(not) change HEAD with wrong SHA1' '
test_must_fail git update-ref HEAD $B $Z
'
test_expect_success "(not) changed .git/$m" '
- test_when_finished "rm -f .git/$m" &&
+ test_when_finished "git update-ref -d $m" &&
! test $B = $(git show-ref -s --verify $m)
'
-rm -f .git/logs/refs/heads/master
+rm -f .git/logs/refs/heads/main
test_expect_success "create $m (logged by touch)" '
test_config core.logAllRefUpdates false &&
GIT_COMMITTER_DATE="2005-05-26 23:30" \
@@ -284,8 +294,8 @@ test_expect_success 'empty directory removal' '
test_path_is_file .git/refs/heads/d1/d2/r1 &&
test_path_is_file .git/logs/refs/heads/d1/d2/r1 &&
git branch -d d1/d2/r1 &&
- test_path_is_missing .git/refs/heads/d1/d2 &&
- test_path_is_missing .git/logs/refs/heads/d1/d2 &&
+ test_must_fail git show-ref --verify -q refs/heads/d1/d2 &&
+ test_must_fail git show-ref --verify -q logs/refs/heads/d1/d2 &&
test_path_is_file .git/refs/heads/d1/r2 &&
test_path_is_file .git/logs/refs/heads/d1/r2
'
@@ -294,12 +304,12 @@ test_expect_success 'symref empty directory removal' '
git branch e1/e2/r1 HEAD &&
git branch e1/r2 HEAD &&
git checkout e1/e2/r1 &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
test_path_is_file .git/refs/heads/e1/e2/r1 &&
test_path_is_file .git/logs/refs/heads/e1/e2/r1 &&
git update-ref -d HEAD &&
- test_path_is_missing .git/refs/heads/e1/e2 &&
- test_path_is_missing .git/logs/refs/heads/e1/e2 &&
+ test_must_fail git show-ref --verify -q refs/heads/e1/e2 &&
+ test_must_fail git show-ref --verify -q logs/refs/heads/e1/e2 &&
test_path_is_file .git/refs/heads/e1/r2 &&
test_path_is_file .git/logs/refs/heads/e1/r2 &&
test_path_is_file .git/logs/HEAD
@@ -358,68 +368,68 @@ test_expect_success 'set up for querying the reflog' '
ed="Thu, 26 May 2005 18:32:00 -0500"
gd="Thu, 26 May 2005 18:33:00 -0500"
ld="Thu, 26 May 2005 18:43:00 -0500"
-test_expect_success 'Query "master@{May 25 2005}" (before history)' '
+test_expect_success 'Query "main@{May 25 2005}" (before history)' '
test_when_finished "rm -f o e" &&
- git rev-parse --verify "master@{May 25 2005}" >o 2>e &&
+ git rev-parse --verify "main@{May 25 2005}" >o 2>e &&
echo "$C" >expect &&
test_cmp expect o &&
- echo "warning: log for '\''master'\'' only goes back to $ed" >expect &&
+ echo "warning: log for '\''main'\'' only goes back to $ed" >expect &&
test_i18ncmp expect e
'
-test_expect_success 'Query master@{2005-05-25} (before history)' '
+test_expect_success 'Query main@{2005-05-25} (before history)' '
test_when_finished "rm -f o e" &&
- git rev-parse --verify master@{2005-05-25} >o 2>e &&
+ git rev-parse --verify main@{2005-05-25} >o 2>e &&
echo "$C" >expect &&
test_cmp expect o &&
- echo "warning: log for '\''master'\'' only goes back to $ed" >expect &&
+ echo "warning: log for '\''main'\'' only goes back to $ed" >expect &&
test_i18ncmp expect e
'
-test_expect_success 'Query "master@{May 26 2005 23:31:59}" (1 second before history)' '
+test_expect_success 'Query "main@{May 26 2005 23:31:59}" (1 second before history)' '
test_when_finished "rm -f o e" &&
- git rev-parse --verify "master@{May 26 2005 23:31:59}" >o 2>e &&
+ git rev-parse --verify "main@{May 26 2005 23:31:59}" >o 2>e &&
echo "$C" >expect &&
test_cmp expect o &&
- echo "warning: log for '\''master'\'' only goes back to $ed" >expect &&
+ echo "warning: log for '\''main'\'' only goes back to $ed" >expect &&
test_i18ncmp expect e
'
-test_expect_success 'Query "master@{May 26 2005 23:32:00}" (exactly history start)' '
+test_expect_success 'Query "main@{May 26 2005 23:32:00}" (exactly history start)' '
test_when_finished "rm -f o e" &&
- git rev-parse --verify "master@{May 26 2005 23:32:00}" >o 2>e &&
+ git rev-parse --verify "main@{May 26 2005 23:32:00}" >o 2>e &&
echo "$C" >expect &&
test_cmp expect o &&
test_must_be_empty e
'
-test_expect_success 'Query "master@{May 26 2005 23:32:30}" (first non-creation change)' '
+test_expect_success 'Query "main@{May 26 2005 23:32:30}" (first non-creation change)' '
test_when_finished "rm -f o e" &&
- git rev-parse --verify "master@{May 26 2005 23:32:30}" >o 2>e &&
+ git rev-parse --verify "main@{May 26 2005 23:32:30}" >o 2>e &&
echo "$A" >expect &&
test_cmp expect o &&
test_must_be_empty e
'
-test_expect_success 'Query "master@{2005-05-26 23:33:01}" (middle of history with gap)' '
+test_expect_success 'Query "main@{2005-05-26 23:33:01}" (middle of history with gap)' '
test_when_finished "rm -f o e" &&
- git rev-parse --verify "master@{2005-05-26 23:33:01}" >o 2>e &&
+ git rev-parse --verify "main@{2005-05-26 23:33:01}" >o 2>e &&
echo "$B" >expect &&
test_cmp expect o &&
test_i18ngrep -F "warning: log for ref $m has gap after $gd" e
'
-test_expect_success 'Query "master@{2005-05-26 23:38:00}" (middle of history)' '
+test_expect_success 'Query "main@{2005-05-26 23:38:00}" (middle of history)' '
test_when_finished "rm -f o e" &&
- git rev-parse --verify "master@{2005-05-26 23:38:00}" >o 2>e &&
+ git rev-parse --verify "main@{2005-05-26 23:38:00}" >o 2>e &&
echo "$Z" >expect &&
test_cmp expect o &&
test_must_be_empty e
'
-test_expect_success 'Query "master@{2005-05-26 23:43:00}" (exact end of history)' '
+test_expect_success 'Query "main@{2005-05-26 23:43:00}" (exact end of history)' '
test_when_finished "rm -f o e" &&
- git rev-parse --verify "master@{2005-05-26 23:43:00}" >o 2>e &&
+ git rev-parse --verify "main@{2005-05-26 23:43:00}" >o 2>e &&
echo "$E" >expect &&
test_cmp expect o &&
test_must_be_empty e
'
-test_expect_success 'Query "master@{2005-05-28}" (past end of history)' '
+test_expect_success 'Query "main@{2005-05-28}" (past end of history)' '
test_when_finished "rm -f o e" &&
- git rev-parse --verify "master@{2005-05-28}" >o 2>e &&
+ git rev-parse --verify "main@{2005-05-28}" >o 2>e &&
echo "$D" >expect &&
test_cmp expect o &&
test_i18ngrep -F "warning: log for ref $m unexpectedly ended on $ld" e
@@ -461,14 +471,14 @@ test_expect_success 'git commit logged updates' '
'
unset h_TEST h_OTHER h_FIXED h_MERGED
-test_expect_success 'git cat-file blob master:F (expect OTHER)' '
- test OTHER = $(git cat-file blob master:F)
+test_expect_success 'git cat-file blob main:F (expect OTHER)' '
+ test OTHER = $(git cat-file blob main:F)
'
-test_expect_success 'git cat-file blob master@{2005-05-26 23:30}:F (expect TEST)' '
- test TEST = $(git cat-file blob "master@{2005-05-26 23:30}:F")
+test_expect_success 'git cat-file blob main@{2005-05-26 23:30}:F (expect TEST)' '
+ test TEST = $(git cat-file blob "main@{2005-05-26 23:30}:F")
'
-test_expect_success 'git cat-file blob master@{2005-05-26 23:42}:F (expect OTHER)' '
- test OTHER = $(git cat-file blob "master@{2005-05-26 23:42}:F")
+test_expect_success 'git cat-file blob main@{2005-05-26 23:42}:F (expect OTHER)' '
+ test OTHER = $(git cat-file blob "main@{2005-05-26 23:42}:F")
'
# Test adding and deleting pseudorefs
@@ -580,21 +590,21 @@ test_expect_success 'stdin fails on unknown command' '
'
test_expect_success 'stdin fails on unbalanced quotes' '
- echo "create $a \"master" >stdin &&
+ echo "create $a \"main" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
- grep "fatal: badly quoted argument: \\\"master" err
+ grep "fatal: badly quoted argument: \\\"main" err
'
test_expect_success 'stdin fails on invalid escape' '
- echo "create $a \"ma\zter\"" >stdin &&
+ echo "create $a \"ma\zn\"" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
- grep "fatal: badly quoted argument: \\\"ma\\\\zter\\\"" err
+ grep "fatal: badly quoted argument: \\\"ma\\\\zn\\\"" err
'
test_expect_success 'stdin fails on junk after quoted argument' '
- echo "create \"$a\"master" >stdin &&
+ echo "create \"$a\"main" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
- grep "fatal: unexpected character after quoted argument: \\\"$a\\\"master" err
+ grep "fatal: unexpected character after quoted argument: \\\"$a\\\"main" err
'
test_expect_success 'stdin fails create with no ref' '
@@ -706,7 +716,7 @@ test_expect_success 'stdin succeeds with quoted argument' '
test_expect_success 'stdin succeeds with escaped character' '
git update-ref -d $a &&
- echo "create $a \"ma\\163ter\"" >stdin &&
+ echo "create $a \"ma\\151n\"" >stdin &&
git update-ref --stdin <stdin &&
git rev-parse $m >expect &&
git rev-parse $a >actual &&
@@ -1388,7 +1398,8 @@ test_expect_success 'handle per-worktree refs in refs/bisect' '
git rev-parse refs/bisect/something >../worktree-head &&
git for-each-ref | grep refs/bisect/something
) &&
- test_path_is_missing .git/refs/bisect &&
+ git show-ref >actual &&
+ ! grep 'refs/bisect' actual &&
test_must_fail git rev-parse refs/bisect/something &&
git update-ref refs/bisect/something HEAD &&
git rev-parse refs/bisect/something >main-head &&
@@ -1500,7 +1511,7 @@ test_expect_success 'transaction can handle abort' '
git update-ref --stdin <stdin >actual &&
printf "%s: ok\n" start abort >expect &&
test_cmp expect actual &&
- test_path_is_missing .git/$b
+ test_must_fail git show-ref --verify -q $b
'
test_expect_success 'transaction aborts by default' '
@@ -1511,7 +1522,7 @@ test_expect_success 'transaction aborts by default' '
git update-ref --stdin <stdin >actual &&
printf "%s: ok\n" start >expect &&
test_cmp expect actual &&
- test_path_is_missing .git/$b
+ test_must_fail git show-ref --verify -q $b
'
test_expect_success 'transaction with prepare aborts by default' '
@@ -1523,7 +1534,68 @@ test_expect_success 'transaction with prepare aborts by default' '
git update-ref --stdin <stdin >actual &&
printf "%s: ok\n" start prepare >expect &&
test_cmp expect actual &&
- test_path_is_missing .git/$b
+ test_must_fail git show-ref --verify -q $b
+'
+
+test_expect_success 'transaction can commit multiple times' '
+ cat >stdin <<-EOF &&
+ start
+ create refs/heads/branch-1 $A
+ commit
+ start
+ create refs/heads/branch-2 $B
+ commit
+ EOF
+ git update-ref --stdin <stdin >actual &&
+ printf "%s: ok\n" start commit start commit >expect &&
+ test_cmp expect actual &&
+ echo "$A" >expect &&
+ git rev-parse refs/heads/branch-1 >actual &&
+ test_cmp expect actual &&
+ echo "$B" >expect &&
+ git rev-parse refs/heads/branch-2 >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'transaction can create and delete' '
+ cat >stdin <<-EOF &&
+ start
+ create refs/heads/create-and-delete $A
+ commit
+ start
+ delete refs/heads/create-and-delete $A
+ commit
+ EOF
+ git update-ref --stdin <stdin >actual &&
+ printf "%s: ok\n" start commit start commit >expect &&
+ test_must_fail git show-ref --verify refs/heads/create-and-delete
+'
+
+test_expect_success 'transaction can commit after abort' '
+ cat >stdin <<-EOF &&
+ start
+ create refs/heads/abort $A
+ abort
+ start
+ create refs/heads/abort $A
+ commit
+ EOF
+ git update-ref --stdin <stdin >actual &&
+ printf "%s: ok\n" start abort start commit >expect &&
+ echo "$A" >expect &&
+ git rev-parse refs/heads/abort >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'transaction cannot restart ongoing transaction' '
+ cat >stdin <<-EOF &&
+ start
+ create refs/heads/restart $A
+ start
+ commit
+ EOF
+ test_must_fail git update-ref --stdin <stdin >actual &&
+ test_must_fail git show-ref --verify refs/heads/restart
'
test_done
diff --git a/t/t1402-check-ref-format.sh b/t/t1402-check-ref-format.sh
index 98e4a8613b..cabc516ae9 100755
--- a/t/t1402-check-ref-format.sh
+++ b/t/t1402-check-ref-format.sh
@@ -134,18 +134,18 @@ valid_ref !MINGW "$ref" '--refspec-pattern --allow-onelevel --normalize'
test_expect_success "check-ref-format --branch @{-1}" '
T=$(git write-tree) &&
sha1=$(echo A | git commit-tree $T) &&
- git update-ref refs/heads/master $sha1 &&
- git update-ref refs/remotes/origin/master $sha1 &&
- git checkout master &&
- git checkout origin/master &&
- git checkout master &&
+ git update-ref refs/heads/main $sha1 &&
+ git update-ref refs/remotes/origin/main $sha1 &&
+ git checkout main &&
+ git checkout origin/main &&
+ git checkout main &&
refname=$(git check-ref-format --branch @{-1}) &&
test "$refname" = "$sha1" &&
refname2=$(git check-ref-format --branch @{-2}) &&
- test "$refname2" = master'
+ test "$refname2" = main'
-test_expect_success 'check-ref-format --branch -naster' '
- test_must_fail git check-ref-format --branch -naster >actual &&
+test_expect_success 'check-ref-format --branch -nain' '
+ test_must_fail git check-ref-format --branch -nain >actual &&
test_must_be_empty actual
'
@@ -154,11 +154,11 @@ test_expect_success 'check-ref-format --branch from subdir' '
T=$(git write-tree) &&
sha1=$(echo A | git commit-tree $T) &&
- git update-ref refs/heads/master $sha1 &&
- git update-ref refs/remotes/origin/master $sha1 &&
- git checkout master &&
- git checkout origin/master &&
- git checkout master &&
+ git update-ref refs/heads/main $sha1 &&
+ git update-ref refs/remotes/origin/main $sha1 &&
+ git checkout main &&
+ git checkout origin/main &&
+ git checkout main &&
refname=$(
cd subdir &&
git check-ref-format --branch @{-1}
@@ -171,9 +171,9 @@ test_expect_success 'check-ref-format --branch @{-1} from non-repo' '
test_must_be_empty actual
'
-test_expect_success 'check-ref-format --branch master from non-repo' '
- echo master >expect &&
- nongit git check-ref-format --branch master >actual &&
+test_expect_success 'check-ref-format --branch main from non-repo' '
+ echo main >expect &&
+ nongit git check-ref-format --branch main >actual &&
test_cmp expect actual
'
diff --git a/t/t1403-show-ref.sh b/t/t1403-show-ref.sh
index 5d955c3bff..6ce62f878c 100755
--- a/t/t1403-show-ref.sh
+++ b/t/t1403-show-ref.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='show-ref'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -9,7 +12,7 @@ test_expect_success setup '
git checkout -b side &&
test_commit B &&
git tag -f -a -m "annotated B" B &&
- git checkout master &&
+ git checkout main &&
test_commit C &&
git branch B A^0
'
@@ -92,23 +95,23 @@ test_expect_success 'show-ref -d' '
git show-ref --verify -d refs/tags/A refs/tags/C >actual &&
test_cmp expect actual &&
- echo $(git rev-parse refs/heads/master) refs/heads/master >expect &&
- git show-ref -d master >actual &&
+ echo $(git rev-parse refs/heads/main) refs/heads/main >expect &&
+ git show-ref -d main >actual &&
test_cmp expect actual &&
- git show-ref -d heads/master >actual &&
+ git show-ref -d heads/main >actual &&
test_cmp expect actual &&
- git show-ref -d refs/heads/master >actual &&
+ git show-ref -d refs/heads/main >actual &&
test_cmp expect actual &&
- git show-ref -d --verify refs/heads/master >actual &&
+ git show-ref -d --verify refs/heads/main >actual &&
test_cmp expect actual &&
- test_must_fail git show-ref -d --verify master >actual &&
+ test_must_fail git show-ref -d --verify main >actual &&
test_must_be_empty actual &&
- test_must_fail git show-ref -d --verify heads/master >actual &&
+ test_must_fail git show-ref -d --verify heads/main >actual &&
test_must_be_empty actual &&
test_must_fail git show-ref --verify -d A C >actual &&
@@ -120,7 +123,7 @@ test_expect_success 'show-ref -d' '
'
test_expect_success 'show-ref --heads, --tags, --head, pattern' '
- for branch in B master side
+ for branch in B main side
do
echo $(git rev-parse refs/heads/$branch) refs/heads/$branch
done >expect.heads &&
diff --git a/t/t1405-main-ref-store.sh b/t/t1405-main-ref-store.sh
index 74af927fba..a237d9880e 100755
--- a/t/t1405-main-ref-store.sh
+++ b/t/t1405-main-ref-store.sh
@@ -2,6 +2,9 @@
test_description='test main ref store api'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
RUN="test-tool ref-store main"
@@ -14,24 +17,18 @@ test_expect_success 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '
N=`find .git/refs -type f | wc -l`
'
-test_expect_success 'peel_ref(new-tag)' '
- git rev-parse HEAD >expected &&
- git tag -a -m new-tag new-tag HEAD &&
- $RUN peel-ref refs/tags/new-tag >actual &&
- test_cmp expected actual
-'
-
-test_expect_success 'create_symref(FOO, refs/heads/master)' '
- $RUN create-symref FOO refs/heads/master nothing &&
- echo refs/heads/master >expected &&
+test_expect_success 'create_symref(FOO, refs/heads/main)' '
+ $RUN create-symref FOO refs/heads/main nothing &&
+ echo refs/heads/main >expected &&
git symbolic-ref FOO >actual &&
test_cmp expected actual
'
test_expect_success 'delete_refs(FOO, refs/tags/new-tag)' '
+ git tag -a -m new-tag new-tag HEAD &&
git rev-parse FOO -- &&
git rev-parse refs/tags/new-tag -- &&
- m=$(git rev-parse master) &&
+ m=$(git rev-parse main) &&
REF_NO_DEREF=1 &&
$RUN delete-refs $REF_NO_DEREF nothing FOO refs/tags/new-tag &&
test_must_fail git rev-parse --symbolic-full-name FOO &&
@@ -39,19 +36,19 @@ test_expect_success 'delete_refs(FOO, refs/tags/new-tag)' '
test_must_fail git rev-parse refs/tags/new-tag --
'
-test_expect_success 'rename_refs(master, new-master)' '
- git rev-parse master >expected &&
- $RUN rename-ref refs/heads/master refs/heads/new-master &&
- git rev-parse new-master >actual &&
+test_expect_success 'rename_refs(main, new-main)' '
+ git rev-parse main >expected &&
+ $RUN rename-ref refs/heads/main refs/heads/new-main &&
+ git rev-parse new-main >actual &&
test_cmp expected actual &&
- test_commit recreate-master
+ test_commit recreate-main
'
test_expect_success 'for_each_ref(refs/heads/)' '
$RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual &&
cat >expected <<-\EOF &&
- master 0x0
- new-master 0x0
+ main 0x0
+ new-main 0x0
EOF
test_cmp expected actual
'
@@ -62,23 +59,23 @@ test_expect_success 'for_each_ref() is sorted' '
test_cmp expected actual
'
-test_expect_success 'resolve_ref(new-master)' '
- SHA1=`git rev-parse new-master` &&
- echo "$SHA1 refs/heads/new-master 0x0" >expected &&
- $RUN resolve-ref refs/heads/new-master 0 >actual &&
+test_expect_success 'resolve_ref(new-main)' '
+ SHA1=`git rev-parse new-main` &&
+ echo "$SHA1 refs/heads/new-main 0x0" >expected &&
+ $RUN resolve-ref refs/heads/new-main 0 >actual &&
test_cmp expected actual
'
-test_expect_success 'verify_ref(new-master)' '
- $RUN verify-ref refs/heads/new-master
+test_expect_success 'verify_ref(new-main)' '
+ $RUN verify-ref refs/heads/new-main
'
test_expect_success 'for_each_reflog()' '
$RUN for-each-reflog | sort -k2 | cut -d" " -f 2- >actual &&
cat >expected <<-\EOF &&
HEAD 0x1
- refs/heads/master 0x0
- refs/heads/new-master 0x0
+ refs/heads/main 0x0
+ refs/heads/new-main 0x0
EOF
test_cmp expected actual
'
@@ -86,12 +83,12 @@ test_expect_success 'for_each_reflog()' '
test_expect_success 'for_each_reflog_ent()' '
$RUN for-each-reflog-ent HEAD >actual &&
head -n1 actual | grep one &&
- tail -n2 actual | head -n1 | grep recreate-master
+ tail -n2 actual | head -n1 | grep recreate-main
'
test_expect_success 'for_each_reflog_ent_reverse()' '
$RUN for-each-reflog-ent-reverse HEAD >actual &&
- head -n1 actual | grep recreate-master &&
+ head -n1 actual | grep recreate-main &&
tail -n2 actual | head -n1 | grep one
'
diff --git a/t/t1406-submodule-ref-store.sh b/t/t1406-submodule-ref-store.sh
index 36b7ef5046..0a87058971 100755
--- a/t/t1406-submodule-ref-store.sh
+++ b/t/t1406-submodule-ref-store.sh
@@ -2,6 +2,9 @@
test_description='test submodule ref store api'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
RUN="test-tool ref-store submodule:sub"
@@ -11,7 +14,8 @@ test_expect_success 'setup' '
(
cd sub &&
test_commit first &&
- git checkout -b new-master
+ git checkout -b new-main &&
+ git tag -a -m new-tag new-tag HEAD
)
'
@@ -19,15 +23,8 @@ test_expect_success 'pack_refs() not allowed' '
test_must_fail $RUN pack-refs 3
'
-test_expect_success 'peel_ref(new-tag)' '
- git -C sub rev-parse HEAD >expected &&
- git -C sub tag -a -m new-tag new-tag HEAD &&
- $RUN peel-ref refs/tags/new-tag >actual &&
- test_cmp expected actual
-'
-
test_expect_success 'create_symref() not allowed' '
- test_must_fail $RUN create-symref FOO refs/heads/master nothing
+ test_must_fail $RUN create-symref FOO refs/heads/main nothing
'
test_expect_success 'delete_refs() not allowed' '
@@ -35,14 +32,14 @@ test_expect_success 'delete_refs() not allowed' '
'
test_expect_success 'rename_refs() not allowed' '
- test_must_fail $RUN rename-ref refs/heads/master refs/heads/new-master
+ test_must_fail $RUN rename-ref refs/heads/main refs/heads/new-main
'
test_expect_success 'for_each_ref(refs/heads/)' '
$RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual &&
cat >expected <<-\EOF &&
- master 0x0
- new-master 0x0
+ main 0x0
+ new-main 0x0
EOF
test_cmp expected actual
'
@@ -53,23 +50,23 @@ test_expect_success 'for_each_ref() is sorted' '
test_cmp expected actual
'
-test_expect_success 'resolve_ref(master)' '
- SHA1=`git -C sub rev-parse master` &&
- echo "$SHA1 refs/heads/master 0x0" >expected &&
- $RUN resolve-ref refs/heads/master 0 >actual &&
+test_expect_success 'resolve_ref(main)' '
+ SHA1=`git -C sub rev-parse main` &&
+ echo "$SHA1 refs/heads/main 0x0" >expected &&
+ $RUN resolve-ref refs/heads/main 0 >actual &&
test_cmp expected actual
'
-test_expect_success 'verify_ref(new-master)' '
- $RUN verify-ref refs/heads/new-master
+test_expect_success 'verify_ref(new-main)' '
+ $RUN verify-ref refs/heads/new-main
'
test_expect_success 'for_each_reflog()' '
$RUN for-each-reflog | sort | cut -d" " -f 2- >actual &&
cat >expected <<-\EOF &&
HEAD 0x1
- refs/heads/master 0x0
- refs/heads/new-master 0x0
+ refs/heads/main 0x0
+ refs/heads/new-main 0x0
EOF
test_cmp expected actual
'
@@ -77,12 +74,12 @@ test_expect_success 'for_each_reflog()' '
test_expect_success 'for_each_reflog_ent()' '
$RUN for-each-reflog-ent HEAD >actual &&
head -n1 actual | grep first &&
- tail -n2 actual | head -n1 | grep master.to.new
+ tail -n2 actual | head -n1 | grep main.to.new
'
test_expect_success 'for_each_reflog_ent_reverse()' '
$RUN for-each-reflog-ent-reverse HEAD >actual &&
- head -n1 actual | grep master.to.new &&
+ head -n1 actual | grep main.to.new &&
tail -n2 actual | head -n1 | grep first
'
diff --git a/t/t1407-worktree-ref-store.sh b/t/t1407-worktree-ref-store.sh
index 9a84858118..d3fe777511 100755
--- a/t/t1407-worktree-ref-store.sh
+++ b/t/t1407-worktree-ref-store.sh
@@ -2,6 +2,9 @@
test_description='test worktree ref store api'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
RWT="test-tool ref-store worktree:wt"
@@ -9,7 +12,7 @@ RMAIN="test-tool ref-store worktree:main"
test_expect_success 'setup' '
test_commit first &&
- git worktree add -b wt-master wt &&
+ git worktree add -b wt-main wt &&
(
cd wt &&
test_commit second
@@ -17,34 +20,34 @@ test_expect_success 'setup' '
'
test_expect_success 'resolve_ref(<shared-ref>)' '
- SHA1=`git rev-parse master` &&
- echo "$SHA1 refs/heads/master 0x0" >expected &&
- $RWT resolve-ref refs/heads/master 0 >actual &&
+ SHA1=`git rev-parse main` &&
+ echo "$SHA1 refs/heads/main 0x0" >expected &&
+ $RWT resolve-ref refs/heads/main 0 >actual &&
test_cmp expected actual &&
- $RMAIN resolve-ref refs/heads/master 0 >actual &&
+ $RMAIN resolve-ref refs/heads/main 0 >actual &&
test_cmp expected actual
'
test_expect_success 'resolve_ref(<per-worktree-ref>)' '
SHA1=`git -C wt rev-parse HEAD` &&
- echo "$SHA1 refs/heads/wt-master 0x1" >expected &&
+ echo "$SHA1 refs/heads/wt-main 0x1" >expected &&
$RWT resolve-ref HEAD 0 >actual &&
test_cmp expected actual &&
SHA1=`git rev-parse HEAD` &&
- echo "$SHA1 refs/heads/master 0x1" >expected &&
+ echo "$SHA1 refs/heads/main 0x1" >expected &&
$RMAIN resolve-ref HEAD 0 >actual &&
test_cmp expected actual
'
-test_expect_success 'create_symref(FOO, refs/heads/master)' '
- $RWT create-symref FOO refs/heads/master nothing &&
- echo refs/heads/master >expected &&
+test_expect_success 'create_symref(FOO, refs/heads/main)' '
+ $RWT create-symref FOO refs/heads/main nothing &&
+ echo refs/heads/main >expected &&
git -C wt symbolic-ref FOO >actual &&
test_cmp expected actual &&
- $RMAIN create-symref FOO refs/heads/wt-master nothing &&
- echo refs/heads/wt-master >expected &&
+ $RMAIN create-symref FOO refs/heads/wt-main nothing &&
+ echo refs/heads/wt-main >expected &&
git symbolic-ref FOO >actual &&
test_cmp expected actual
'
@@ -63,8 +66,8 @@ test_expect_success 'for_each_reflog()' '
HEAD 0x1
PSEUDO-WT 0x0
refs/bisect/wt-random 0x0
- refs/heads/master 0x0
- refs/heads/wt-master 0x0
+ refs/heads/main 0x0
+ refs/heads/wt-main 0x0
EOF
test_cmp expected actual &&
@@ -73,8 +76,8 @@ test_expect_success 'for_each_reflog()' '
HEAD 0x1
PSEUDO-MAIN 0x0
refs/bisect/random 0x0
- refs/heads/master 0x0
- refs/heads/wt-master 0x0
+ refs/heads/main 0x0
+ refs/heads/wt-main 0x0
EOF
test_cmp expected actual
'
diff --git a/t/t1408-packed-refs.sh b/t/t1408-packed-refs.sh
index 1e44a17eea..41ba1f1d7f 100755
--- a/t/t1408-packed-refs.sh
+++ b/t/t1408-packed-refs.sh
@@ -2,6 +2,9 @@
test_description='packed-refs entries are covered by loose refs'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -9,32 +12,32 @@ test_expect_success setup '
git commit --allow-empty -m one &&
one=$(git rev-parse HEAD) &&
git for-each-ref >actual &&
- echo "$one commit refs/heads/master" >expect &&
+ echo "$one commit refs/heads/main" >expect &&
test_cmp expect actual &&
git pack-refs --all &&
git for-each-ref >actual &&
- echo "$one commit refs/heads/master" >expect &&
+ echo "$one commit refs/heads/main" >expect &&
test_cmp expect actual &&
git checkout --orphan another &&
test_tick &&
git commit --allow-empty -m two &&
two=$(git rev-parse HEAD) &&
- git checkout -B master &&
+ git checkout -B main &&
git branch -D another &&
git for-each-ref >actual &&
- echo "$two commit refs/heads/master" >expect &&
+ echo "$two commit refs/heads/main" >expect &&
test_cmp expect actual &&
git reflog expire --expire=now --all &&
git prune &&
- git tag -m v1.0 v1.0 master
+ git tag -m v1.0 v1.0 main
'
test_expect_success 'no error from stale entry in packed-refs' '
- git describe master >actual 2>&1 &&
+ git describe main >actual 2>&1 &&
echo "v1.0" >expect &&
test_cmp expect actual
'
diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh
index 730a43d9dd..ecccaa0634 100755
--- a/t/t1410-reflog.sh
+++ b/t/t1410-reflog.sh
@@ -4,6 +4,9 @@
#
test_description='Test prune and reflog expiration'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
check_have () {
@@ -99,7 +102,7 @@ test_expect_success setup '
check_fsck &&
- git reflog refs/heads/master >output &&
+ git reflog refs/heads/main >output &&
test_line_count = 4 output
'
@@ -116,7 +119,7 @@ test_expect_success rewind '
check_have A B C D E F G H I J K L &&
- git reflog refs/heads/master >output &&
+ git reflog refs/heads/main >output &&
test_line_count = 5 output
'
@@ -135,7 +138,7 @@ test_expect_success 'reflog expire --dry-run should not touch reflog' '
--stale-fix \
--all &&
- git reflog refs/heads/master >output &&
+ git reflog refs/heads/main >output &&
test_line_count = 5 output &&
check_fsck "missing blob $F"
@@ -149,7 +152,7 @@ test_expect_success 'reflog expire' '
--stale-fix \
--all &&
- git reflog refs/heads/master >output &&
+ git reflog refs/heads/main >output &&
test_line_count = 2 output &&
check_fsck "dangling commit $K"
@@ -186,29 +189,29 @@ test_expect_success 'delete' '
git commit -m tiger C &&
HEAD_entry_count=$(git reflog | wc -l) &&
- master_entry_count=$(git reflog show master | wc -l) &&
+ main_entry_count=$(git reflog show main | wc -l) &&
test $HEAD_entry_count = 5 &&
- test $master_entry_count = 5 &&
+ test $main_entry_count = 5 &&
- git reflog delete master@{1} &&
- git reflog show master > output &&
- test_line_count = $(($master_entry_count - 1)) output &&
+ git reflog delete main@{1} &&
+ git reflog show main > output &&
+ test_line_count = $(($main_entry_count - 1)) output &&
test $HEAD_entry_count = $(git reflog | wc -l) &&
! grep ox < output &&
- master_entry_count=$(wc -l < output) &&
+ main_entry_count=$(wc -l < output) &&
git reflog delete HEAD@{1} &&
test $(($HEAD_entry_count -1)) = $(git reflog | wc -l) &&
- test $master_entry_count = $(git reflog show master | wc -l) &&
+ test $main_entry_count = $(git reflog show main | wc -l) &&
HEAD_entry_count=$(git reflog | wc -l) &&
- git reflog delete master@{07.04.2005.15:15:00.-0700} &&
- git reflog show master > output &&
- test_line_count = $(($master_entry_count - 1)) output &&
+ git reflog delete main@{07.04.2005.15:15:00.-0700} &&
+ git reflog show main > output &&
+ test_line_count = $(($main_entry_count - 1)) output &&
! grep dragon < output
'
@@ -216,7 +219,7 @@ test_expect_success 'delete' '
test_expect_success 'rewind2' '
test_tick && git reset --hard HEAD~2 &&
- git reflog refs/heads/master >output &&
+ git reflog refs/heads/main >output &&
test_line_count = 4 output
'
@@ -226,7 +229,7 @@ test_expect_success '--expire=never' '
--expire=never \
--expire-unreachable=never \
--all &&
- git reflog refs/heads/master >output &&
+ git reflog refs/heads/main >output &&
test_line_count = 4 output
'
@@ -237,7 +240,7 @@ test_expect_success 'gc.reflogexpire=never' '
git reflog expire --verbose --all >output &&
test_line_count = 9 output &&
- git reflog refs/heads/master >output &&
+ git reflog refs/heads/main >output &&
test_line_count = 4 output
'
@@ -246,7 +249,7 @@ test_expect_success 'gc.reflogexpire=false' '
test_config gc.reflogexpireunreachable false &&
git reflog expire --verbose --all &&
- git reflog refs/heads/master >output &&
+ git reflog refs/heads/main >output &&
test_line_count = 4 output
'
@@ -255,33 +258,33 @@ test_expect_success 'git reflog expire unknown reference' '
test_config gc.reflogexpire never &&
test_config gc.reflogexpireunreachable never &&
- test_must_fail git reflog expire master@{123} 2>stderr &&
+ test_must_fail git reflog expire main@{123} 2>stderr &&
test_i18ngrep "points nowhere" stderr &&
test_must_fail git reflog expire does-not-exist 2>stderr &&
test_i18ngrep "points nowhere" stderr
'
test_expect_success 'checkout should not delete log for packed ref' '
- test $(git reflog master | wc -l) = 4 &&
+ test $(git reflog main | wc -l) = 4 &&
git branch foo &&
git pack-refs --all &&
git checkout foo &&
- test $(git reflog master | wc -l) = 4
+ test $(git reflog main | wc -l) = 4
'
test_expect_success 'stale dirs do not cause d/f conflicts (reflogs on)' '
test_when_finished "git branch -d one || git branch -d one/two" &&
- git branch one/two master &&
- echo "one/two@{0} branch: Created from master" >expect &&
+ git branch one/two main &&
+ echo "one/two@{0} branch: Created from main" >expect &&
git log -g --format="%gd %gs" one/two >actual &&
test_cmp expect actual &&
git branch -d one/two &&
# now logs/refs/heads/one is a stale directory, but
# we should move it out of the way to create "one" reflog
- git branch one master &&
- echo "one@{0} branch: Created from master" >expect &&
+ git branch one main &&
+ echo "one@{0} branch: Created from main" >expect &&
git log -g --format="%gd %gs" one >actual &&
test_cmp expect actual
'
@@ -289,15 +292,15 @@ test_expect_success 'stale dirs do not cause d/f conflicts (reflogs on)' '
test_expect_success 'stale dirs do not cause d/f conflicts (reflogs off)' '
test_when_finished "git branch -d one || git branch -d one/two" &&
- git branch one/two master &&
- echo "one/two@{0} branch: Created from master" >expect &&
+ git branch one/two main &&
+ echo "one/two@{0} branch: Created from main" >expect &&
git log -g --format="%gd %gs" one/two >actual &&
test_cmp expect actual &&
git branch -d one/two &&
# same as before, but we only create a reflog for "one" if
# it already exists, which it does not
- git -c core.logallrefupdates=false branch one master &&
+ git -c core.logallrefupdates=false branch one main &&
git log -g --format="%gd %gs" one >actual &&
test_must_be_empty actual
'
diff --git a/t/t1411-reflog-show.sh b/t/t1411-reflog-show.sh
index 985daf1def..0bb319b944 100755
--- a/t/t1411-reflog-show.sh
+++ b/t/t1411-reflog-show.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='Test reflog display routines'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -167,7 +170,7 @@ test_expect_success 'git log -g -p shows diffs vs. parents' '
'
test_expect_success 'reflog exists works' '
- git reflog exists refs/heads/master &&
+ git reflog exists refs/heads/main &&
! git reflog exists refs/heads/nonexistent
'
diff --git a/t/t1412-reflog-loop.sh b/t/t1412-reflog-loop.sh
index 3acd895afb..977603f7f1 100755
--- a/t/t1412-reflog-loop.sh
+++ b/t/t1412-reflog-loop.sh
@@ -4,11 +4,8 @@ test_description='reflog walk shows repeated commits again'
. ./test-lib.sh
test_expect_success 'setup commits' '
- test_tick &&
- echo content >file && git add file && git commit -m one &&
- git tag one &&
- echo content >>file && git add file && git commit -m two &&
- git tag two
+ test_commit one file content &&
+ test_commit --append two file content
'
test_expect_success 'setup reflog with alternating commits' '
diff --git a/t/t1413-reflog-detach.sh b/t/t1413-reflog-detach.sh
index c730600d8a..bde05208ae 100755
--- a/t/t1413-reflog-detach.sh
+++ b/t/t1413-reflog-detach.sh
@@ -1,10 +1,13 @@
#!/bin/sh
test_description='Test reflog interaction with detached HEAD'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
reset_state () {
- git checkout master &&
+ git checkout main &&
cp saved_reflog .git/logs/HEAD
}
@@ -19,14 +22,14 @@ test_expect_success setup '
test_expect_success baseline '
reset_state &&
- git rev-parse master master^ >expect &&
+ git rev-parse main main^ >expect &&
git log -g --format=%H >actual &&
test_cmp expect actual
'
test_expect_success 'switch to branch' '
reset_state &&
- git rev-parse side master master^ >expect &&
+ git rev-parse side main main^ >expect &&
git checkout side &&
git log -g --format=%H >actual &&
test_cmp expect actual
@@ -34,34 +37,34 @@ test_expect_success 'switch to branch' '
test_expect_success 'detach to other' '
reset_state &&
- git rev-parse master side master master^ >expect &&
+ git rev-parse main side main main^ >expect &&
git checkout side &&
- git checkout master^0 &&
+ git checkout main^0 &&
git log -g --format=%H >actual &&
test_cmp expect actual
'
test_expect_success 'detach to self' '
reset_state &&
- git rev-parse master master master^ >expect &&
- git checkout master^0 &&
+ git rev-parse main main main^ >expect &&
+ git checkout main^0 &&
git log -g --format=%H >actual &&
test_cmp expect actual
'
test_expect_success 'attach to self' '
reset_state &&
- git rev-parse master master master master^ >expect &&
- git checkout master^0 &&
- git checkout master &&
+ git rev-parse main main main main^ >expect &&
+ git checkout main^0 &&
+ git checkout main &&
git log -g --format=%H >actual &&
test_cmp expect actual
'
test_expect_success 'attach to other' '
reset_state &&
- git rev-parse side master master master^ >expect &&
- git checkout master^0 &&
+ git rev-parse side main main main^ >expect &&
+ git checkout main^0 &&
git checkout side &&
git log -g --format=%H >actual &&
test_cmp expect actual
diff --git a/t/t1414-reflog-walk.sh b/t/t1414-reflog-walk.sh
index 1181a9fb28..80d94704d0 100755
--- a/t/t1414-reflog-walk.sh
+++ b/t/t1414-reflog-walk.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='various tests of reflog walk (log -g) behavior'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'set up some reflog entries' '
@@ -8,7 +11,7 @@ test_expect_success 'set up some reflog entries' '
test_commit two &&
git checkout -b side HEAD^ &&
test_commit three &&
- git merge --no-commit master &&
+ git merge --no-commit main &&
echo evil-merge-content >>one.t &&
test_tick &&
git commit --no-edit -a
@@ -20,9 +23,9 @@ do_walk () {
test_expect_success 'set up expected reflog' '
cat >expect.all <<-EOF
- HEAD@{0} commit (merge): Merge branch ${SQ}master${SQ} into side
+ HEAD@{0} commit (merge): Merge branch ${SQ}main${SQ} into side
HEAD@{1} commit: three
- HEAD@{2} checkout: moving from master to side
+ HEAD@{2} checkout: moving from main to side
HEAD@{3} commit: two
HEAD@{4} commit (initial): one
EOF
@@ -73,15 +76,15 @@ test_expect_success 'walking multiple reflogs shows all' '
# sort ignores the bits after the timestamp.
#
# 2. POSIX leaves undefined whether this is a stable sort or not. So
- # we use "-k 1" to ensure that we see HEAD before master before
+ # we use "-k 1" to ensure that we see HEAD before main before
# side when breaking ties.
{
do_walk --date=unix HEAD &&
do_walk --date=unix side &&
- do_walk --date=unix master
+ do_walk --date=unix main
} >expect.raw &&
sort -t "{" -k 2nr -k 1 <expect.raw >expect &&
- do_walk --date=unix HEAD master side >actual &&
+ do_walk --date=unix HEAD main side >actual &&
test_cmp expect actual
'
diff --git a/t/t1416-ref-transaction-hooks.sh b/t/t1416-ref-transaction-hooks.sh
index f6e741c6c0..6c941027a8 100755
--- a/t/t1416-ref-transaction-hooks.sh
+++ b/t/t1416-ref-transaction-hooks.sh
@@ -2,6 +2,9 @@
test_description='reference transaction hooks'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -53,11 +56,11 @@ test_expect_success 'hook gets all queued updates in prepared state' '
EOF
cat >expect <<-EOF &&
$ZERO_OID $POST_OID HEAD
- $ZERO_OID $POST_OID refs/heads/master
+ $ZERO_OID $POST_OID refs/heads/main
EOF
git update-ref HEAD POST <<-EOF &&
update HEAD $ZERO_OID $POST_OID
- update refs/heads/master $ZERO_OID $POST_OID
+ update refs/heads/main $ZERO_OID $POST_OID
EOF
test_cmp expect actual
'
@@ -76,7 +79,7 @@ test_expect_success 'hook gets all queued updates in committed state' '
EOF
cat >expect <<-EOF &&
$ZERO_OID $POST_OID HEAD
- $ZERO_OID $POST_OID refs/heads/master
+ $ZERO_OID $POST_OID refs/heads/main
EOF
git update-ref HEAD POST &&
test_cmp expect actual
@@ -96,12 +99,12 @@ test_expect_success 'hook gets all queued updates in aborted state' '
EOF
cat >expect <<-EOF &&
$ZERO_OID $POST_OID HEAD
- $ZERO_OID $POST_OID refs/heads/master
+ $ZERO_OID $POST_OID refs/heads/main
EOF
git update-ref --stdin <<-EOF &&
start
update HEAD POST $ZERO_OID
- update refs/heads/master POST $ZERO_OID
+ update refs/heads/main POST $ZERO_OID
abort
EOF
test_cmp expect actual
diff --git a/t/t1430-bad-ref-name.sh b/t/t1430-bad-ref-name.sh
index c7878a60ed..354902e514 100755
--- a/t/t1430-bad-ref-name.sh
+++ b/t/t1430-bad-ref-name.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='Test handling of ref names that check-ref-format rejects'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -17,7 +20,7 @@ test_expect_success 'fast-import: fail on invalid branch name ".badbranchname"'
corrupt
COMMIT
- from refs/heads/master
+ from refs/heads/main
INPUT_END
test_must_fail git fast-import <input
@@ -32,14 +35,14 @@ test_expect_success 'fast-import: fail on invalid branch name "bad[branch]name"'
corrupt
COMMIT
- from refs/heads/master
+ from refs/heads/main
INPUT_END
test_must_fail git fast-import <input
'
test_expect_success 'git branch shows badly named ref as warning' '
- cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ cp .git/refs/heads/main .git/refs/heads/broken...ref &&
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
git branch >output 2>error &&
test_i18ngrep -e "ignoring ref with broken name refs/heads/broken\.\.\.ref" error &&
@@ -47,7 +50,7 @@ test_expect_success 'git branch shows badly named ref as warning' '
'
test_expect_success 'branch -d can delete badly named ref' '
- cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ cp .git/refs/heads/main .git/refs/heads/broken...ref &&
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
git branch -d broken...ref &&
git branch >output 2>error &&
@@ -56,7 +59,7 @@ test_expect_success 'branch -d can delete badly named ref' '
'
test_expect_success 'branch -D can delete badly named ref' '
- cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ cp .git/refs/heads/main .git/refs/heads/broken...ref &&
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
git branch -D broken...ref &&
git branch >output 2>error &&
@@ -98,17 +101,17 @@ test_expect_success 'branch -m cannot rename to a bad ref name' '
test_might_fail git branch -D goodref &&
git branch goodref &&
test_must_fail git branch -m goodref broken...ref &&
- test_cmp_rev master goodref &&
+ test_cmp_rev main goodref &&
git branch >output 2>error &&
! grep -e "broken\.\.\.ref" error &&
! grep -e "broken\.\.\.ref" output
'
test_expect_failure 'branch -m can rename from a bad ref name' '
- cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ cp .git/refs/heads/main .git/refs/heads/broken...ref &&
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
git branch -m broken...ref renamed &&
- test_cmp_rev master renamed &&
+ test_cmp_rev main renamed &&
git branch >output 2>error &&
! grep -e "broken\.\.\.ref" error &&
! grep -e "broken\.\.\.ref" output
@@ -135,7 +138,7 @@ test_expect_failure C_LOCALE_OUTPUT 'push --mirror can delete badly named ref' '
cd dest &&
test_commit two &&
git checkout --detach &&
- cp .git/refs/heads/master .git/refs/heads/broken...ref
+ cp .git/refs/heads/main .git/refs/heads/broken...ref
) &&
git -C src push --mirror "file://$top/dest" &&
git -C dest branch >output 2>error &&
@@ -146,7 +149,7 @@ test_expect_failure C_LOCALE_OUTPUT 'push --mirror can delete badly named ref' '
test_expect_success 'rev-parse skips symref pointing to broken name' '
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
git branch shadow one &&
- cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ cp .git/refs/heads/main .git/refs/heads/broken...ref &&
printf "ref: refs/heads/broken...ref\n" >.git/refs/tags/shadow &&
test_when_finished "rm -f .git/refs/tags/shadow" &&
git rev-parse --verify one >expect &&
@@ -156,11 +159,11 @@ test_expect_success 'rev-parse skips symref pointing to broken name' '
'
test_expect_success 'for-each-ref emits warnings for broken names' '
- cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ cp .git/refs/heads/main .git/refs/heads/broken...ref &&
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname &&
test_when_finished "rm -f .git/refs/heads/badname" &&
- printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref &&
+ printf "ref: refs/heads/main\n" >.git/refs/heads/broken...symref &&
test_when_finished "rm -f .git/refs/heads/broken...symref" &&
git for-each-ref >output 2>error &&
! grep -e "broken\.\.\.ref" output &&
@@ -172,7 +175,7 @@ test_expect_success 'for-each-ref emits warnings for broken names' '
'
test_expect_success 'update-ref -d can delete broken name' '
- cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ cp .git/refs/heads/main .git/refs/heads/broken...ref &&
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
git update-ref -d refs/heads/broken...ref >output 2>error &&
test_must_be_empty output &&
@@ -183,7 +186,7 @@ test_expect_success 'update-ref -d can delete broken name' '
'
test_expect_success 'branch -d can delete broken name' '
- cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ cp .git/refs/heads/main .git/refs/heads/broken...ref &&
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
git branch -d broken...ref >output 2>error &&
test_i18ngrep "Deleted branch broken...ref (was broken)" output &&
@@ -194,7 +197,7 @@ test_expect_success 'branch -d can delete broken name' '
'
test_expect_success 'update-ref --no-deref -d can delete symref to broken name' '
- cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ cp .git/refs/heads/main .git/refs/heads/broken...ref &&
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname &&
test_when_finished "rm -f .git/refs/heads/badname" &&
@@ -205,7 +208,7 @@ test_expect_success 'update-ref --no-deref -d can delete symref to broken name'
'
test_expect_success 'branch -d can delete symref to broken name' '
- cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ cp .git/refs/heads/main .git/refs/heads/broken...ref &&
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname &&
test_when_finished "rm -f .git/refs/heads/badname" &&
@@ -234,7 +237,7 @@ test_expect_success 'branch -d can delete dangling symref to broken name' '
'
test_expect_success 'update-ref -d can delete broken name through symref' '
- cp .git/refs/heads/master .git/refs/heads/broken...ref &&
+ cp .git/refs/heads/main .git/refs/heads/broken...ref &&
test_when_finished "rm -f .git/refs/heads/broken...ref" &&
printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname &&
test_when_finished "rm -f .git/refs/heads/badname" &&
@@ -245,7 +248,7 @@ test_expect_success 'update-ref -d can delete broken name through symref' '
'
test_expect_success 'update-ref --no-deref -d can delete symref with broken name' '
- printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref &&
+ printf "ref: refs/heads/main\n" >.git/refs/heads/broken...symref &&
test_when_finished "rm -f .git/refs/heads/broken...symref" &&
git update-ref --no-deref -d refs/heads/broken...symref >output 2>error &&
test_path_is_missing .git/refs/heads/broken...symref &&
@@ -254,11 +257,11 @@ test_expect_success 'update-ref --no-deref -d can delete symref with broken name
'
test_expect_success 'branch -d can delete symref with broken name' '
- printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref &&
+ printf "ref: refs/heads/main\n" >.git/refs/heads/broken...symref &&
test_when_finished "rm -f .git/refs/heads/broken...symref" &&
git branch -d broken...symref >output 2>error &&
test_path_is_missing .git/refs/heads/broken...symref &&
- test_i18ngrep "Deleted branch broken...symref (was refs/heads/master)" output &&
+ test_i18ngrep "Deleted branch broken...symref (was refs/heads/main)" output &&
test_must_be_empty error
'
@@ -296,37 +299,37 @@ test_expect_success 'update-ref -d cannot delete absolute path' '
'
test_expect_success 'update-ref --stdin fails create with bad ref name' '
- echo "create ~a refs/heads/master" >stdin &&
+ echo "create ~a refs/heads/main" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: invalid ref format: ~a" err
'
test_expect_success 'update-ref --stdin fails update with bad ref name' '
- echo "update ~a refs/heads/master" >stdin &&
+ echo "update ~a refs/heads/main" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: invalid ref format: ~a" err
'
test_expect_success 'update-ref --stdin fails delete with bad ref name' '
- echo "delete ~a refs/heads/master" >stdin &&
+ echo "delete ~a refs/heads/main" >stdin &&
test_must_fail git update-ref --stdin <stdin 2>err &&
grep "fatal: invalid ref format: ~a" err
'
test_expect_success 'update-ref --stdin -z fails create with bad ref name' '
- printf "%s\0" "create ~a " refs/heads/master >stdin &&
+ printf "%s\0" "create ~a " refs/heads/main >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: invalid ref format: ~a " err
'
test_expect_success 'update-ref --stdin -z fails update with bad ref name' '
- printf "%s\0" "update ~a" refs/heads/master "" >stdin &&
+ printf "%s\0" "update ~a" refs/heads/main "" >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: invalid ref format: ~a" err
'
test_expect_success 'update-ref --stdin -z fails delete with bad ref name' '
- printf "%s\0" "delete ~a" refs/heads/master >stdin &&
+ printf "%s\0" "delete ~a" refs/heads/main >stdin &&
test_must_fail git update-ref -z --stdin <stdin 2>err &&
grep "fatal: invalid ref format: ~a" err
'
diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh
index b17f5c21fb..a30fc5f74a 100755
--- a/t/t1450-fsck.sh
+++ b/t/t1450-fsck.sh
@@ -3,7 +3,7 @@
test_description='git fsck random collection of tests
* (HEAD) B
-* (master) A
+* (main) A
'
. ./test-lib.sh
diff --git a/t/t1500-rev-parse.sh b/t/t1500-rev-parse.sh
index 408b97d5af..abdda360d5 100755
--- a/t/t1500-rev-parse.sh
+++ b/t/t1500-rev-parse.sh
@@ -1,8 +1,21 @@
#!/bin/sh
test_description='test git rev-parse'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
+test_one () {
+ dir="$1" &&
+ expect="$2" &&
+ shift &&
+ shift &&
+ echo "$expect" >expect &&
+ git -C "$dir" rev-parse "$@" >actual &&
+ test_cmp expect actual
+}
+
# usage: [options] label is-bare is-inside-git is-inside-work prefix git-dir absolute-git-dir
test_rev_parse () {
d=
@@ -60,7 +73,13 @@ ROOT=$(pwd)
test_expect_success 'setup' '
mkdir -p sub/dir work &&
- cp -R .git repo.git
+ cp -R .git repo.git &&
+ git checkout -B main &&
+ test_commit abc &&
+ git checkout -b side &&
+ test_commit def &&
+ git checkout main &&
+ git worktree add worktree side
'
test_rev_parse toplevel false false true '' .git "$ROOT/.git"
@@ -88,6 +107,45 @@ test_rev_parse -C work -g ../repo.git -b t 'GIT_DIR=../repo.git, core.bare = tru
test_rev_parse -C work -g ../repo.git -b u 'GIT_DIR=../repo.git, core.bare undefined' false false true ''
+test_expect_success 'rev-parse --path-format=absolute' '
+ test_one "." "$ROOT/.git" --path-format=absolute --git-dir &&
+ test_one "." "$ROOT/.git" --path-format=absolute --git-common-dir &&
+ test_one "sub/dir" "$ROOT/.git" --path-format=absolute --git-dir &&
+ test_one "sub/dir" "$ROOT/.git" --path-format=absolute --git-common-dir &&
+ test_one "worktree" "$ROOT/.git/worktrees/worktree" --path-format=absolute --git-dir &&
+ test_one "worktree" "$ROOT/.git" --path-format=absolute --git-common-dir &&
+ test_one "." "$ROOT" --path-format=absolute --show-toplevel &&
+ test_one "." "$ROOT/.git/objects" --path-format=absolute --git-path objects &&
+ test_one "." "$ROOT/.git/objects/foo/bar/baz" --path-format=absolute --git-path objects/foo/bar/baz
+'
+
+test_expect_success 'rev-parse --path-format=relative' '
+ test_one "." ".git" --path-format=relative --git-dir &&
+ test_one "." ".git" --path-format=relative --git-common-dir &&
+ test_one "sub/dir" "../../.git" --path-format=relative --git-dir &&
+ test_one "sub/dir" "../../.git" --path-format=relative --git-common-dir &&
+ test_one "worktree" "../.git/worktrees/worktree" --path-format=relative --git-dir &&
+ test_one "worktree" "../.git" --path-format=relative --git-common-dir &&
+ test_one "." "./" --path-format=relative --show-toplevel &&
+ test_one "." ".git/objects" --path-format=relative --git-path objects &&
+ test_one "." ".git/objects/foo/bar/baz" --path-format=relative --git-path objects/foo/bar/baz
+'
+
+test_expect_success '--path-format=relative does not affect --absolute-git-dir' '
+ git rev-parse --path-format=relative --absolute-git-dir >actual &&
+ echo "$ROOT/.git" >expect &&
+ test_cmp expect actual
+'
+
+test_expect_success '--path-format can change in the middle of the command line' '
+ git rev-parse --path-format=absolute --git-dir --path-format=relative --git-path objects/foo/bar >actual &&
+ cat >expect <<-EOF &&
+ $ROOT/.git
+ .git/objects/foo/bar
+ EOF
+ test_cmp expect actual
+'
+
test_expect_success 'git-common-dir from worktree root' '
echo .git >expect &&
git rev-parse --git-common-dir >actual &&
@@ -174,8 +232,8 @@ test_expect_success 'showing the superproject correctly' '
test_commit -C super/dir/sub branch1_commit &&
git -C super add dir/sub &&
test_commit -C super branch1_commit &&
- git -C super checkout -b branch2 master &&
- git -C super/dir/sub checkout -b branch2 master &&
+ git -C super checkout -b branch2 main &&
+ git -C super/dir/sub checkout -b branch2 main &&
test_commit -C super/dir/sub branch2_commit &&
git -C super add dir/sub &&
test_commit -C super branch2_commit &&
diff --git a/t/t1503-rev-parse-verify.sh b/t/t1503-rev-parse-verify.sh
index 492edffa9c..bf08102391 100755
--- a/t/t1503-rev-parse-verify.sh
+++ b/t/t1503-rev-parse-verify.sh
@@ -6,6 +6,9 @@ test_description='test git rev-parse --verify'
exec </dev/null
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
add_line_into_file()
@@ -51,8 +54,8 @@ test_expect_success 'works with one good rev' '
test "$rev_hash3" = "$HASH3" &&
rev_hash4=$(git rev-parse --verify $HASH4) &&
test "$rev_hash4" = "$HASH4" &&
- rev_master=$(git rev-parse --verify master) &&
- test "$rev_master" = "$HASH4" &&
+ rev_main=$(git rev-parse --verify main) &&
+ test "$rev_main" = "$HASH4" &&
rev_head=$(git rev-parse --verify HEAD) &&
test "$rev_head" = "$HASH4"
'
@@ -86,8 +89,8 @@ test_expect_success 'fails silently when using -q' '
test_expect_success 'fails silently when using -q with deleted reflogs' '
ref=$(git rev-parse HEAD) &&
git update-ref --create-reflog -m "message for refs/test" refs/test "$ref" &&
- git reflog delete --updateref --rewrite refs/test@{0} &&
- test_must_fail git rev-parse -q --verify refs/test@{0} >error 2>&1 &&
+ git reflog delete --updateref --rewrite refs/test@{1} &&
+ test_must_fail git rev-parse -q --verify refs/test@{1} >error 2>&1 &&
test_must_be_empty error
'
@@ -116,27 +119,27 @@ test_expect_success 'no stdout output on error' '
'
test_expect_success 'use --default' '
- git rev-parse --verify --default master &&
- git rev-parse --verify --default master HEAD &&
- git rev-parse --default master --verify &&
- git rev-parse --default master --verify HEAD &&
- git rev-parse --verify HEAD --default master &&
- test_must_fail git rev-parse --verify foo --default master &&
+ git rev-parse --verify --default main &&
+ git rev-parse --verify --default main HEAD &&
+ git rev-parse --default main --verify &&
+ git rev-parse --default main --verify HEAD &&
+ git rev-parse --verify HEAD --default main &&
+ test_must_fail git rev-parse --verify foo --default main &&
test_must_fail git rev-parse --default HEAD --verify bar &&
test_must_fail git rev-parse --verify --default HEAD baz &&
test_must_fail git rev-parse --default foo --verify &&
test_must_fail git rev-parse --verify --default bar
'
-test_expect_success 'master@{n} for various n' '
+test_expect_success 'main@{n} for various n' '
N=$(git reflog | wc -l) &&
Nm1=$(($N-1)) &&
Np1=$(($N+1)) &&
- git rev-parse --verify master@{0} &&
- git rev-parse --verify master@{1} &&
- git rev-parse --verify master@{$Nm1} &&
- test_must_fail git rev-parse --verify master@{$N} &&
- test_must_fail git rev-parse --verify master@{$Np1}
+ git rev-parse --verify main@{0} &&
+ git rev-parse --verify main@{1} &&
+ git rev-parse --verify main@{$Nm1} &&
+ test_must_fail git rev-parse --verify main@{$N} &&
+ test_must_fail git rev-parse --verify main@{$Np1}
'
test_expect_success SYMLINKS 'ref resolution not confused by broken symlinks' '
@@ -144,4 +147,17 @@ test_expect_success SYMLINKS 'ref resolution not confused by broken symlinks' '
test_must_fail git rev-parse --verify broken
'
+test_expect_success 'options can appear after --verify' '
+ git rev-parse --verify HEAD >expect &&
+ git rev-parse --verify -q HEAD >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'verify respects --end-of-options' '
+ git update-ref refs/heads/-tricky HEAD &&
+ git rev-parse --verify HEAD >expect &&
+ git rev-parse --verify --end-of-options -tricky >actual &&
+ test_cmp expect actual
+'
+
test_done
diff --git a/t/t1505-rev-parse-last.sh b/t/t1505-rev-parse-last.sh
index 4969edb314..2803ca9489 100755
--- a/t/t1505-rev-parse-last.sh
+++ b/t/t1505-rev-parse-last.sh
@@ -2,6 +2,9 @@
test_description='test @{-N} syntax'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
@@ -20,12 +23,12 @@ test_expect_success 'setup' '
make_commit 3 &&
git checkout side &&
make_commit 4 &&
- git merge master &&
- git checkout master
+ git merge main &&
+ git checkout main
'
-# 1 -- 2 -- 3 master
+# 1 -- 2 -- 3 main
# \ \
# \ \
# --- 4 --- 5 side
@@ -49,7 +52,7 @@ test_expect_success '@{-1}@{1} works' '
'
test_expect_success '@{-2} works' '
- test_cmp_rev master @{-2}
+ test_cmp_rev main @{-2}
'
test_expect_success '@{-3} fails' '
diff --git a/t/t1506-rev-parse-diagnosis.sh b/t/t1506-rev-parse-diagnosis.sh
index 3e657e693b..f6e6f23f7e 100755
--- a/t/t1506-rev-parse-diagnosis.sh
+++ b/t/t1506-rev-parse-diagnosis.sh
@@ -4,6 +4,9 @@ test_description='test git rev-parse diagnosis for invalid argument'
exec </dev/null
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_did_you_mean ()
@@ -137,10 +140,10 @@ test_expect_success 'incorrect file in :path and :N:path' '
'
test_expect_success 'invalid @{n} reference' '
- test_must_fail git rev-parse master@{99999} >output 2>error &&
+ test_must_fail git rev-parse main@{99999} >output 2>error &&
test_must_be_empty output &&
test_i18ngrep "log for [^ ]* only has [0-9][0-9]* entries" error &&
- test_must_fail git rev-parse --verify master@{99999} >output 2>error &&
+ test_must_fail git rev-parse --verify main@{99999} >output 2>error &&
test_must_be_empty output &&
test_i18ngrep "log for [^ ]* only has [0-9][0-9]* entries" error
'
@@ -254,4 +257,29 @@ test_expect_success 'escaped char does not trigger wildcard rule' '
test_must_fail git rev-parse "foo\\*bar"
'
+test_expect_success 'arg after dashdash not interpreted as option' '
+ cat >expect <<-\EOF &&
+ --
+ --local-env-vars
+ EOF
+ git rev-parse -- --local-env-vars >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'arg after end-of-options not interpreted as option' '
+ test_must_fail git rev-parse --end-of-options --not-real -- 2>err &&
+ test_i18ngrep bad.revision.*--not-real err
+'
+
+test_expect_success 'end-of-options still allows --' '
+ cat >expect <<-EOF &&
+ --end-of-options
+ $(git rev-parse --verify HEAD)
+ --
+ path
+ EOF
+ git rev-parse --end-of-options HEAD -- path >actual &&
+ test_cmp expect actual
+'
+
test_done
diff --git a/t/t1507-rev-parse-upstream.sh b/t/t1507-rev-parse-upstream.sh
index dfc0d96d8a..73b4f34c6e 100755
--- a/t/t1507-rev-parse-upstream.sh
+++ b/t/t1507-rev-parse-upstream.sh
@@ -2,6 +2,9 @@
test_description='test <branch>@{upstream} syntax'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
@@ -10,20 +13,20 @@ test_expect_success 'setup' '
test_commit 1 &&
git checkout -b side &&
test_commit 2 &&
- git checkout master &&
+ git checkout main &&
git clone . clone &&
test_commit 3 &&
(cd clone &&
test_commit 4 &&
git branch --track my-side origin/side &&
- git branch --track local-master master &&
+ git branch --track local-main main &&
git branch --track fun@ny origin/side &&
git branch --track @funny origin/side &&
git branch --track funny@ origin/side &&
- git remote add -t master master-only .. &&
- git fetch master-only &&
+ git remote add -t main main-only .. &&
+ git fetch main-only &&
git branch bad-upstream &&
- git config branch.bad-upstream.remote master-only &&
+ git config branch.bad-upstream.remote main-only &&
git config branch.bad-upstream.merge refs/heads/side
)
'
@@ -39,7 +42,7 @@ error_message () {
}
test_expect_success '@{upstream} resolves to correct full name' '
- echo refs/remotes/origin/master >expect &&
+ echo refs/remotes/origin/main >expect &&
git -C clone rev-parse --symbolic-full-name @{upstream} >actual &&
test_cmp expect actual &&
git -C clone rev-parse --symbolic-full-name @{UPSTREAM} >actual &&
@@ -49,7 +52,7 @@ test_expect_success '@{upstream} resolves to correct full name' '
'
test_expect_success '@{u} resolves to correct full name' '
- echo refs/remotes/origin/master >expect &&
+ echo refs/remotes/origin/main >expect &&
git -C clone rev-parse --symbolic-full-name @{u} >actual &&
test_cmp expect actual &&
git -C clone rev-parse --symbolic-full-name @{U} >actual &&
@@ -132,7 +135,7 @@ test_expect_success 'checkout -b new my-side@{u} forks from the same' '
test_expect_success 'merge my-side@{u} records the correct name' '
(
cd clone &&
- git checkout master &&
+ git checkout main &&
test_might_fail git branch -D new &&
git branch -t new my-side@{u} &&
git merge -s ours new@{u} &&
@@ -143,24 +146,24 @@ test_expect_success 'merge my-side@{u} records the correct name' '
'
test_expect_success 'branch -d other@{u}' '
- git checkout -t -b other master &&
+ git checkout -t -b other main &&
git branch -d @{u} &&
- git for-each-ref refs/heads/master >actual &&
+ git for-each-ref refs/heads/main >actual &&
test_must_be_empty actual
'
test_expect_success 'checkout other@{u}' '
- git branch -f master HEAD &&
- git checkout -t -b another master &&
+ git branch -f main HEAD &&
+ git checkout -t -b another main &&
git checkout @{u} &&
git symbolic-ref HEAD >actual &&
- echo refs/heads/master >expect &&
+ echo refs/heads/main >expect &&
test_cmp expect actual
'
test_expect_success 'branch@{u} works when tracking a local branch' '
- echo refs/heads/master >expect &&
- git -C clone rev-parse --symbolic-full-name local-master@{u} >actual &&
+ echo refs/heads/main >expect &&
+ git -C clone rev-parse --symbolic-full-name local-main@{u} >actual &&
test_cmp expect actual
'
@@ -174,7 +177,7 @@ test_expect_success 'branch@{u} error message when no upstream' '
test_expect_success '@{u} error message when no upstream' '
cat >expect <<-EOF &&
- fatal: no upstream configured for branch ${SQ}master${SQ}
+ fatal: no upstream configured for branch ${SQ}main${SQ}
EOF
test_must_fail git rev-parse --verify @{u} 2>actual &&
test_i18ncmp expect actual
@@ -208,14 +211,14 @@ test_expect_success 'branch@{u} error message if upstream branch not fetched' '
test_expect_success 'pull works when tracking a local branch' '
(
cd clone &&
- git checkout local-master &&
+ git checkout local-main &&
git pull
)
'
# makes sense if the previous one succeeded
test_expect_success '@{u} works when tracking a local branch' '
- echo refs/heads/master >expect &&
+ echo refs/heads/main >expect &&
git -C clone rev-parse --symbolic-full-name @{u} >actual &&
test_cmp expect actual
'
@@ -224,7 +227,7 @@ test_expect_success 'log -g other@{u}' '
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
- Reflog: master@{0} (C O Mitter <committer@example.com>)
+ Reflog: main@{0} (C O Mitter <committer@example.com>)
Reflog message: branch: Created from HEAD
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:15:13 2005 -0700
@@ -239,7 +242,7 @@ test_expect_success 'log -g other@{u}@{now}' '
commit=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
commit $commit
- Reflog: master@{Thu Apr 7 15:17:13 2005 -0700} (C O Mitter <committer@example.com>)
+ Reflog: main@{Thu Apr 7 15:17:13 2005 -0700} (C O Mitter <committer@example.com>)
Reflog message: branch: Created from HEAD
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:15:13 2005 -0700
diff --git a/t/t1508-at-combinations.sh b/t/t1508-at-combinations.sh
index 4a9964e9dc..87a4286414 100755
--- a/t/t1508-at-combinations.sh
+++ b/t/t1508-at-combinations.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='test various @{X} syntax combinations together'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
check() {
@@ -30,8 +33,8 @@ fail() {
}
test_expect_success 'setup' '
- test_commit master-one &&
- test_commit master-two &&
+ test_commit main-one &&
+ test_commit main-two &&
git checkout -b upstream-branch &&
test_commit upstream-one &&
test_commit upstream-two &&
@@ -47,7 +50,7 @@ test_expect_success 'setup' '
git checkout -b new-branch &&
test_commit new-one &&
test_commit new-two &&
- git branch -u master old-branch &&
+ git branch -u main old-branch &&
git branch -u upstream-branch new-branch
'
@@ -62,8 +65,8 @@ check "@{-1}@{1}" commit old-one
check "@{u}" ref refs/heads/upstream-branch
check "HEAD@{u}" ref refs/heads/upstream-branch
check "@{u}@{1}" commit upstream-one
-check "@{-1}@{u}" ref refs/heads/master
-check "@{-1}@{u}@{1}" commit master-one
+check "@{-1}@{u}" ref refs/heads/main
+check "@{-1}@{u}@{1}" commit main-one
check "@" commit new-two
check "@@{u}" ref refs/heads/upstream-branch
check "@@/at-test" ref refs/heads/@@/at-test
@@ -99,4 +102,17 @@ test_expect_success 'create path with @' '
check "@:normal" blob content
check "@:fun@ny" blob content
+test_expect_success '@{1} works with only one reflog entry' '
+ git checkout -B newbranch main &&
+ git reflog expire --expire=now refs/heads/newbranch &&
+ git commit --allow-empty -m "first after expiration" &&
+ test_cmp_rev newbranch~ newbranch@{1}
+'
+
+test_expect_success '@{0} works with empty reflog' '
+ git checkout -B newbranch main &&
+ git reflog expire --expire=now refs/heads/newbranch &&
+ test_cmp_rev newbranch newbranch@{0}
+'
+
test_done
diff --git a/t/t1510-repo-setup.sh b/t/t1510-repo-setup.sh
index 9974457f56..bbfe05b8e4 100755
--- a/t/t1510-repo-setup.sh
+++ b/t/t1510-repo-setup.sh
@@ -79,7 +79,7 @@ setup_repo () {
name=$1 worktreecfg=$2 gitfile=$3 barecfg=$4 &&
sane_unset GIT_DIR GIT_WORK_TREE &&
- git init "$name" &&
+ git -c init.defaultBranch=initial init "$name" &&
maybe_config "$name/.git/config" core.worktree "$worktreecfg" &&
maybe_config "$name/.git/config" core.bare "$barecfg" &&
mkdir -p "$name/sub/sub" &&
diff --git a/t/t1511-rev-parse-caret.sh b/t/t1511-rev-parse-caret.sh
index e0a49a651f..6ecfed86bc 100755
--- a/t/t1511-rev-parse-caret.sh
+++ b/t/t1511-rev-parse-caret.sh
@@ -2,6 +2,9 @@
test_description='tests for ref^{stuff}'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -15,7 +18,7 @@ test_expect_success 'setup' '
git commit -m Initial &&
git tag -a -m commit commit-tag &&
git branch ref &&
- git checkout master &&
+ git checkout main &&
echo modified >>a-blob &&
git add -u &&
git commit -m Modified &&
@@ -73,52 +76,52 @@ test_expect_success 'ref^{tag}' '
'
test_expect_success 'ref^{/.}' '
- git rev-parse master >expected &&
- git rev-parse master^{/.} >actual &&
+ git rev-parse main >expected &&
+ git rev-parse main^{/.} >actual &&
test_cmp expected actual
'
test_expect_success 'ref^{/non-existent}' '
- test_must_fail git rev-parse master^{/non-existent}
+ test_must_fail git rev-parse main^{/non-existent}
'
test_expect_success 'ref^{/Initial}' '
git rev-parse ref >expected &&
- git rev-parse master^{/Initial} >actual &&
+ git rev-parse main^{/Initial} >actual &&
test_cmp expected actual
'
test_expect_success 'ref^{/!Exp}' '
- test_must_fail git rev-parse master^{/!Exp}
+ test_must_fail git rev-parse main^{/!Exp}
'
test_expect_success 'ref^{/!}' '
- test_must_fail git rev-parse master^{/!}
+ test_must_fail git rev-parse main^{/!}
'
test_expect_success 'ref^{/!!Exp}' '
git rev-parse expref >expected &&
- git rev-parse master^{/!!Exp} >actual &&
+ git rev-parse main^{/!!Exp} >actual &&
test_cmp expected actual
'
test_expect_success 'ref^{/!-}' '
- test_must_fail git rev-parse master^{/!-}
+ test_must_fail git rev-parse main^{/!-}
'
test_expect_success 'ref^{/!-.}' '
- test_must_fail git rev-parse master^{/!-.}
+ test_must_fail git rev-parse main^{/!-.}
'
test_expect_success 'ref^{/!-non-existent}' '
- git rev-parse master >expected &&
- git rev-parse master^{/!-non-existent} >actual &&
+ git rev-parse main >expected &&
+ git rev-parse main^{/!-non-existent} >actual &&
test_cmp expected actual
'
test_expect_success 'ref^{/!-Changed}' '
git rev-parse expref >expected &&
- git rev-parse master^{/!-Changed} >actual &&
+ git rev-parse main^{/!-Changed} >actual &&
test_cmp expected actual
'
diff --git a/t/t1512-rev-parse-disambiguation.sh b/t/t1512-rev-parse-disambiguation.sh
index 18fa6cf40d..242abbfa0b 100755
--- a/t/t1512-rev-parse-disambiguation.sh
+++ b/t/t1512-rev-parse-disambiguation.sh
@@ -20,6 +20,9 @@ one tagged as v1.0.0. They all have one regular file each.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
if ! test_have_prereq SHA1
@@ -48,7 +51,7 @@ test_expect_success 'blob and tree' '
test_expect_success 'warn ambiguity when no candidate matches type hint' '
test_must_fail git rev-parse --verify 000000000^{commit} 2>actual &&
- test_i18ngrep "short SHA1 000000000 is ambiguous" actual
+ test_i18ngrep "short object ID 000000000 is ambiguous" actual
'
test_expect_success 'disambiguate tree-ish' '
@@ -212,7 +215,7 @@ test_expect_success 'more history' '
side=$(git rev-parse HEAD) &&
# commit 000000000066
- git checkout master &&
+ git checkout main &&
# If you use recursive, merge will fail and you will need to
# clean up a0blgqsjc as well. If you use resolve, merge will
diff --git a/t/t1513-rev-parse-prefix.sh b/t/t1513-rev-parse-prefix.sh
index 87ec3ae714..5f437be8c9 100755
--- a/t/t1513-rev-parse-prefix.sh
+++ b/t/t1513-rev-parse-prefix.sh
@@ -2,6 +2,9 @@
test_description='Tests for rev-parse --prefix'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -76,9 +79,9 @@ test_expect_success 'disambiguate path with valid prefix' '
'
test_expect_success 'file and refs with prefix' '
- git rev-parse --prefix sub1/ master file1 >actual &&
+ git rev-parse --prefix sub1/ main file1 >actual &&
cat <<-EOF >expected &&
- $(git rev-parse master)
+ $(git rev-parse main)
sub1/file1
EOF
test_cmp expected actual
diff --git a/t/t1514-rev-parse-push.sh b/t/t1514-rev-parse-push.sh
index 788cc91e45..d868a08110 100755
--- a/t/t1514-rev-parse-push.sh
+++ b/t/t1514-rev-parse-push.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='test <branch>@{push} syntax'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
resolve () {
@@ -16,24 +19,24 @@ test_expect_success 'setup' '
git remote add other other.git &&
test_commit base &&
git push origin HEAD &&
- git branch --set-upstream-to=origin/master master &&
- git branch --track topic origin/master &&
+ git branch --set-upstream-to=origin/main main &&
+ git branch --track topic origin/main &&
git push origin topic &&
git push other topic
'
test_expect_success '@{push} with default=nothing' '
test_config push.default nothing &&
- test_must_fail git rev-parse master@{push} &&
- test_must_fail git rev-parse master@{PUSH} &&
- test_must_fail git rev-parse master@{PuSH}
+ test_must_fail git rev-parse main@{push} &&
+ test_must_fail git rev-parse main@{PUSH} &&
+ test_must_fail git rev-parse main@{PuSH}
'
test_expect_success '@{push} with default=simple' '
test_config push.default simple &&
- resolve master@{push} refs/remotes/origin/master &&
- resolve master@{PUSH} refs/remotes/origin/master &&
- resolve master@{pUSh} refs/remotes/origin/master
+ resolve main@{push} refs/remotes/origin/main &&
+ resolve main@{PUSH} refs/remotes/origin/main &&
+ resolve main@{pUSh} refs/remotes/origin/main
'
test_expect_success 'triangular @{push} fails with default=simple' '
diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh
index 12a5568844..986baa612e 100755
--- a/t/t1700-split-index.sh
+++ b/t/t1700-split-index.sh
@@ -2,6 +2,9 @@
test_description='split index mode tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# We need total control of index splitting here
@@ -496,7 +499,7 @@ test_expect_success 'do not refresh null base index' '
test_commit initial &&
git checkout -b side-branch &&
test_commit extra &&
- git checkout master &&
+ git checkout main &&
git update-index --split-index &&
test_commit more &&
# must not write a new shareindex, or we wont catch the problem
diff --git a/t/t2004-checkout-cache-temp.sh b/t/t2004-checkout-cache-temp.sh
index a12afe93f3..a9352b08a8 100755
--- a/t/t2004-checkout-cache-temp.sh
+++ b/t/t2004-checkout-cache-temp.sh
@@ -88,9 +88,17 @@ test_expect_success 'checkout all stage 2 to temporary files' '
done
'
+test_expect_success 'checkout all stages of unknown path' '
+ rm -f path* .merge_* actual &&
+ test_must_fail git checkout-index --stage=all --temp \
+ -- does-not-exist 2>stderr &&
+ test_i18ngrep not.in.the.cache stderr
+'
+
test_expect_success 'checkout all stages/one file to nothing' '
rm -f path* .merge_* actual &&
- git checkout-index --stage=all --temp -- path0 >actual &&
+ git checkout-index --stage=all --temp -- path0 >actual 2>stderr &&
+ test_must_be_empty stderr &&
test_line_count = 0 actual
'
diff --git a/t/t2006-checkout-index-basic.sh b/t/t2006-checkout-index-basic.sh
index 57cbdfe9bc..8e181dbf01 100755
--- a/t/t2006-checkout-index-basic.sh
+++ b/t/t2006-checkout-index-basic.sh
@@ -21,4 +21,15 @@ test_expect_success 'checkout-index -h in broken repository' '
test_i18ngrep "[Uu]sage" broken/usage
'
+test_expect_success 'checkout-index reports errors (cmdline)' '
+ test_must_fail git checkout-index -- does-not-exist 2>stderr &&
+ test_i18ngrep not.in.the.cache stderr
+'
+
+test_expect_success 'checkout-index reports errors (stdin)' '
+ echo does-not-exist |
+ test_must_fail git checkout-index --stdin 2>stderr &&
+ test_i18ngrep not.in.the.cache stderr
+'
+
test_done
diff --git a/t/t2007-checkout-symlink.sh b/t/t2007-checkout-symlink.sh
index fc9aad530e..6f0b90ce12 100755
--- a/t/t2007-checkout-symlink.sh
+++ b/t/t2007-checkout-symlink.sh
@@ -4,6 +4,9 @@
test_description='git checkout to switch between branches with symlink<->dir'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -12,14 +15,14 @@ test_expect_success setup '
echo hello >frotz/filfre &&
git add frotz/filfre &&
test_tick &&
- git commit -m "master has file frotz/filfre" &&
+ git commit -m "main has file frotz/filfre" &&
git branch side &&
echo goodbye >nitfol &&
git add nitfol &&
test_tick &&
- git commit -m "master adds file nitfol" &&
+ git commit -m "main adds file nitfol" &&
git checkout side &&
@@ -34,13 +37,13 @@ test_expect_success setup '
test_expect_success 'switch from symlink to dir' '
- git checkout master
+ git checkout main
'
-test_expect_success 'Remove temporary directories & switch to master' '
+test_expect_success 'Remove temporary directories & switch to main' '
rm -fr frotz xyzzy nitfol &&
- git checkout -f master
+ git checkout -f main
'
test_expect_success 'switch from dir to symlink' '
diff --git a/t/t2009-checkout-statinfo.sh b/t/t2009-checkout-statinfo.sh
index f3c2152087..b0540636ae 100755
--- a/t/t2009-checkout-statinfo.sh
+++ b/t/t2009-checkout-statinfo.sh
@@ -2,6 +2,9 @@
test_description='checkout should leave clean stat info'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -21,13 +24,13 @@ test_expect_success 'branch switching' '
git reset --hard &&
test "$(git diff-files --raw)" = "" &&
- git checkout master &&
+ git checkout main &&
test "$(git diff-files --raw)" = "" &&
git checkout side &&
test "$(git diff-files --raw)" = "" &&
- git checkout master &&
+ git checkout main &&
test "$(git diff-files --raw)" = ""
'
@@ -37,13 +40,13 @@ test_expect_success 'path checkout' '
git reset --hard &&
test "$(git diff-files --raw)" = "" &&
- git checkout master world &&
+ git checkout main world &&
test "$(git diff-files --raw)" = "" &&
git checkout side world &&
test "$(git diff-files --raw)" = "" &&
- git checkout master world &&
+ git checkout main world &&
test "$(git diff-files --raw)" = ""
'
diff --git a/t/t2010-checkout-ambiguous.sh b/t/t2010-checkout-ambiguous.sh
index 2e47fe01cf..6e8757387d 100755
--- a/t/t2010-checkout-ambiguous.sh
+++ b/t/t2010-checkout-ambiguous.sh
@@ -2,6 +2,9 @@
test_description='checkout and pathspecs/refspecs ambiguities'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -17,7 +20,7 @@ test_expect_success 'reference must be a tree' '
'
test_expect_success 'branch switching' '
- test "refs/heads/master" = "$(git symbolic-ref HEAD)" &&
+ test "refs/heads/main" = "$(git symbolic-ref HEAD)" &&
git checkout world -- &&
test "refs/heads/world" = "$(git symbolic-ref HEAD)"
'
@@ -57,7 +60,7 @@ test_expect_success 'disambiguate checking out from a tree-ish' '
'
test_expect_success 'accurate error message with more than one ref' '
- test_must_fail git checkout HEAD master -- 2>actual &&
+ test_must_fail git checkout HEAD main -- 2>actual &&
test_i18ngrep 2 actual &&
test_i18ngrep "one reference expected, 2 given" actual
'
diff --git a/t/t2011-checkout-invalid-head.sh b/t/t2011-checkout-invalid-head.sh
index 0e8d56aa76..e52022e152 100755
--- a/t/t2011-checkout-invalid-head.sh
+++ b/t/t2011-checkout-invalid-head.sh
@@ -2,6 +2,9 @@
test_description='checkout switching away from an invalid branch'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -11,12 +14,12 @@ test_expect_success 'setup' '
'
test_expect_success 'checkout should not start branch from a tree' '
- test_must_fail git checkout -b newbranch master^{tree}
+ test_must_fail git checkout -b newbranch main^{tree}
'
-test_expect_success 'checkout master from invalid HEAD' '
+test_expect_success 'checkout main from invalid HEAD' '
echo $ZERO_OID >.git/HEAD &&
- git checkout master --
+ git checkout main --
'
test_expect_success 'checkout notices failure to lock HEAD' '
@@ -26,7 +29,7 @@ test_expect_success 'checkout notices failure to lock HEAD' '
'
test_expect_success 'create ref directory/file conflict scenario' '
- git update-ref refs/heads/outer/inner master &&
+ git update-ref refs/heads/outer/inner main &&
# do not rely on symbolic-ref to get a known state,
# as it may use the same code we are testing
@@ -37,12 +40,12 @@ test_expect_success 'create ref directory/file conflict scenario' '
test_expect_success 'checkout away from d/f HEAD (unpacked, to branch)' '
reset_to_df &&
- git checkout master
+ git checkout main
'
test_expect_success 'checkout away from d/f HEAD (unpacked, to detached)' '
reset_to_df &&
- git checkout --detach master
+ git checkout --detach main
'
test_expect_success 'pack refs' '
@@ -51,11 +54,11 @@ test_expect_success 'pack refs' '
test_expect_success 'checkout away from d/f HEAD (packed, to branch)' '
reset_to_df &&
- git checkout master
+ git checkout main
'
test_expect_success 'checkout away from d/f HEAD (packed, to detached)' '
reset_to_df &&
- git checkout --detach master
+ git checkout --detach main
'
test_done
diff --git a/t/t2012-checkout-last.sh b/t/t2012-checkout-last.sh
index e7ba8c505f..0e7d47ab31 100755
--- a/t/t2012-checkout-last.sh
+++ b/t/t2012-checkout-last.sh
@@ -2,16 +2,15 @@
test_description='checkout can switch to last branch and merge base'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
- echo hello >world &&
- git add world &&
- git commit -m initial &&
+ test_commit initial world hello &&
git branch other &&
- echo "hello again" >>world &&
- git add world &&
- git commit -m second
+ test_commit --append second world "hello again"
'
test_expect_success '"checkout -" does not work initially' '
@@ -24,7 +23,7 @@ test_expect_success 'first branch switch' '
test_expect_success '"checkout -" switches back' '
git checkout - &&
- test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master"
+ test "z$(git symbolic-ref HEAD)" = "zrefs/heads/main"
'
test_expect_success '"checkout -" switches forth' '
@@ -93,61 +92,59 @@ test_expect_success 'switch to twelfth from the last' '
test_expect_success 'merge base test setup' '
git checkout -b another other &&
- echo "hello again" >>world &&
- git add world &&
- git commit -m third
+ test_commit --append third world "hello again"
'
-test_expect_success 'another...master' '
+test_expect_success 'another...main' '
git checkout another &&
- git checkout another...master &&
- test "z$(git rev-parse --verify HEAD)" = "z$(git rev-parse --verify master^)"
+ git checkout another...main &&
+ test "z$(git rev-parse --verify HEAD)" = "z$(git rev-parse --verify main^)"
'
-test_expect_success '...master' '
+test_expect_success '...main' '
git checkout another &&
- git checkout ...master &&
- test "z$(git rev-parse --verify HEAD)" = "z$(git rev-parse --verify master^)"
+ git checkout ...main &&
+ test "z$(git rev-parse --verify HEAD)" = "z$(git rev-parse --verify main^)"
'
-test_expect_success 'master...' '
+test_expect_success 'main...' '
git checkout another &&
- git checkout master... &&
- test "z$(git rev-parse --verify HEAD)" = "z$(git rev-parse --verify master^)"
+ git checkout main... &&
+ test "z$(git rev-parse --verify HEAD)" = "z$(git rev-parse --verify main^)"
'
test_expect_success '"checkout -" works after a rebase A' '
- git checkout master &&
+ git checkout main &&
git checkout other &&
- git rebase master &&
+ git rebase main &&
git checkout - &&
- test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master"
+ test "z$(git symbolic-ref HEAD)" = "zrefs/heads/main"
'
test_expect_success '"checkout -" works after a rebase A B' '
- git branch moodle master~1 &&
- git checkout master &&
+ git branch moodle main~1 &&
+ git checkout main &&
git checkout other &&
- git rebase master moodle &&
+ git rebase main moodle &&
git checkout - &&
- test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master"
+ test "z$(git symbolic-ref HEAD)" = "zrefs/heads/main"
'
test_expect_success '"checkout -" works after a rebase -i A' '
- git checkout master &&
+ git checkout main &&
git checkout other &&
- git rebase -i master &&
+ git rebase -i main &&
git checkout - &&
- test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master"
+ test "z$(git symbolic-ref HEAD)" = "zrefs/heads/main"
'
test_expect_success '"checkout -" works after a rebase -i A B' '
- git branch foodle master~1 &&
- git checkout master &&
+ git branch foodle main~1 &&
+ git checkout main &&
git checkout other &&
- git rebase master foodle &&
+ git rebase main foodle &&
git checkout - &&
- test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master"
+ test "z$(git symbolic-ref HEAD)" = "zrefs/heads/main"
'
test_done
diff --git a/t/t2015-checkout-unborn.sh b/t/t2015-checkout-unborn.sh
index 37bdcedcc9..a9721215fa 100755
--- a/t/t2015-checkout-unborn.sh
+++ b/t/t2015-checkout-unborn.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='checkout from unborn branch'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -11,7 +14,7 @@ test_expect_success 'setup' '
git add file &&
git commit -m base
) &&
- git fetch parent master:origin
+ git fetch parent main:origin
'
test_expect_success 'checkout from unborn preserves untracked files' '
diff --git a/t/t2016-checkout-patch.sh b/t/t2016-checkout-patch.sh
index d91a329eb3..abfd586c32 100755
--- a/t/t2016-checkout-patch.sh
+++ b/t/t2016-checkout-patch.sh
@@ -123,4 +123,9 @@ test_expect_success PERL 'none of this moved HEAD' '
verify_saved_head
'
+test_expect_success PERL 'empty tree can be handled' '
+ test_when_finished "git reset --hard" &&
+ git checkout -p $(test_oid empty_tree) --
+'
+
test_done
diff --git a/t/t2017-checkout-orphan.sh b/t/t2017-checkout-orphan.sh
index 655f278c5f..c7adbdd39a 100755
--- a/t/t2017-checkout-orphan.sh
+++ b/t/t2017-checkout-orphan.sh
@@ -7,6 +7,9 @@ test_description='git checkout --orphan
Main Tests for --orphan functionality.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
TEST_FILE=foo
@@ -29,34 +32,34 @@ test_expect_success '--orphan creates a new orphan branch from HEAD' '
test_tick &&
git commit -m "Third Commit" &&
test_must_fail git rev-parse --verify HEAD^ &&
- git diff-tree --quiet master alpha
+ git diff-tree --quiet main alpha
'
test_expect_success '--orphan creates a new orphan branch from <start_point>' '
- git checkout master &&
- git checkout --orphan beta master^ &&
+ git checkout main &&
+ git checkout --orphan beta main^ &&
test_must_fail git rev-parse --verify HEAD &&
test "refs/heads/beta" = "$(git symbolic-ref HEAD)" &&
test_tick &&
git commit -m "Fourth Commit" &&
test_must_fail git rev-parse --verify HEAD^ &&
- git diff-tree --quiet master^ beta
+ git diff-tree --quiet main^ beta
'
test_expect_success '--orphan must be rejected with -b' '
- git checkout master &&
+ git checkout main &&
test_must_fail git checkout --orphan new -b newer &&
- test refs/heads/master = "$(git symbolic-ref HEAD)"
+ test refs/heads/main = "$(git symbolic-ref HEAD)"
'
test_expect_success '--orphan must be rejected with -t' '
- git checkout master &&
- test_must_fail git checkout --orphan new -t master &&
- test refs/heads/master = "$(git symbolic-ref HEAD)"
+ git checkout main &&
+ test_must_fail git checkout --orphan new -t main &&
+ test refs/heads/main = "$(git symbolic-ref HEAD)"
'
test_expect_success '--orphan ignores branch.autosetupmerge' '
- git checkout master &&
+ git checkout main &&
git config branch.autosetupmerge always &&
git checkout --orphan gamma &&
test -z "$(git config branch.gamma.merge)" &&
@@ -65,7 +68,7 @@ test_expect_success '--orphan ignores branch.autosetupmerge' '
'
test_expect_success '--orphan makes reflog by default' '
- git checkout master &&
+ git checkout main &&
git config --unset core.logAllRefUpdates &&
git checkout --orphan delta &&
test_must_fail git rev-parse --verify delta@{0} &&
@@ -74,7 +77,7 @@ test_expect_success '--orphan makes reflog by default' '
'
test_expect_success '--orphan does not make reflog when core.logAllRefUpdates = false' '
- git checkout master &&
+ git checkout main &&
git config core.logAllRefUpdates false &&
git checkout --orphan epsilon &&
test_must_fail git rev-parse --verify epsilon@{0} &&
@@ -83,7 +86,7 @@ test_expect_success '--orphan does not make reflog when core.logAllRefUpdates =
'
test_expect_success '--orphan with -l makes reflog when core.logAllRefUpdates = false' '
- git checkout master &&
+ git checkout main &&
git checkout -l --orphan zeta &&
test_must_fail git rev-parse --verify zeta@{0} &&
git commit -m Zeta &&
@@ -91,33 +94,33 @@ test_expect_success '--orphan with -l makes reflog when core.logAllRefUpdates =
'
test_expect_success 'giving up --orphan not committed when -l and core.logAllRefUpdates = false deletes reflog' '
- git checkout master &&
+ git checkout main &&
git checkout -l --orphan eta &&
test_must_fail git rev-parse --verify eta@{0} &&
- git checkout master &&
+ git checkout main &&
test_must_fail git rev-parse --verify eta@{0}
'
test_expect_success '--orphan is rejected with an existing name' '
- git checkout master &&
- test_must_fail git checkout --orphan master &&
- test refs/heads/master = "$(git symbolic-ref HEAD)"
+ git checkout main &&
+ test_must_fail git checkout --orphan main &&
+ test refs/heads/main = "$(git symbolic-ref HEAD)"
'
test_expect_success '--orphan refuses to switch if a merge is needed' '
- git checkout master &&
+ git checkout main &&
git reset --hard &&
echo local >>"$TEST_FILE" &&
cat "$TEST_FILE" >"$TEST_FILE.saved" &&
- test_must_fail git checkout --orphan new master^ &&
- test refs/heads/master = "$(git symbolic-ref HEAD)" &&
+ test_must_fail git checkout --orphan new main^ &&
+ test refs/heads/main = "$(git symbolic-ref HEAD)" &&
test_cmp "$TEST_FILE" "$TEST_FILE.saved" &&
git diff-index --quiet --cached HEAD &&
git reset --hard
'
test_expect_success 'cannot --detach on an unborn branch' '
- git checkout master &&
+ git checkout main &&
git checkout --orphan new &&
test_must_fail git checkout --detach
'
diff --git a/t/t2020-checkout-detach.sh b/t/t2020-checkout-detach.sh
index b748db9946..b432b6427b 100755
--- a/t/t2020-checkout-detach.sh
+++ b/t/t2020-checkout-detach.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='checkout into detached HEAD state'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
check_detached () {
@@ -22,7 +25,7 @@ check_no_orphan_warning() {
}
reset () {
- git checkout master &&
+ git checkout main &&
check_not_detached
}
@@ -85,7 +88,7 @@ test_expect_success 'checkout --detach errors out for non-commit' '
test_expect_success 'checkout --detach errors out for extra argument' '
reset &&
- git checkout master &&
+ git checkout main &&
test_must_fail git checkout --detach tag one.t &&
check_not_detached
'
@@ -113,7 +116,7 @@ test_expect_success 'checkout warns on orphan commits' '
echo new content >orphan &&
git commit -a -m orphan2 &&
orphan2=$(git rev-parse HEAD) &&
- git checkout master 2>stderr
+ git checkout main 2>stderr
'
test_expect_success 'checkout warns on orphan commits: output' '
@@ -132,7 +135,7 @@ test_expect_success 'checkout warns orphaning 1 of 2 commits: output' '
test_expect_success 'checkout does not warn leaving ref tip' '
reset &&
git checkout --detach two &&
- git checkout master 2>stderr
+ git checkout main 2>stderr
'
test_expect_success 'checkout does not warn leaving ref tip' '
@@ -142,7 +145,7 @@ test_expect_success 'checkout does not warn leaving ref tip' '
test_expect_success 'checkout does not warn leaving reachable commit' '
reset &&
git checkout --detach HEAD^ &&
- git checkout master 2>stderr
+ git checkout main 2>stderr
'
test_expect_success 'checkout does not warn leaving reachable commit' '
@@ -150,14 +153,14 @@ test_expect_success 'checkout does not warn leaving reachable commit' '
'
cat >expect <<'EOF'
-Your branch is behind 'master' by 1 commit, and can be fast-forwarded.
+Your branch is behind 'main' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
EOF
test_expect_success 'tracking count is accurate after orphan check' '
reset &&
- git branch child master^ &&
+ git branch child main^ &&
git config branch.child.remote . &&
- git config branch.child.merge refs/heads/master &&
+ git config branch.child.merge refs/heads/main &&
git checkout child^ &&
git checkout child >stdout &&
test_i18ncmp expect stdout
@@ -189,9 +192,9 @@ test_expect_success 'no advice given for explicit detached head state' '
# Detached HEAD tests for GIT_PRINT_SHA1_ELLIPSIS (new format)
test_expect_success 'describe_detached_head prints no SHA-1 ellipsis when not asked to' "
- commit=$(git rev-parse --short=12 master^) &&
- commit2=$(git rev-parse --short=12 master~2) &&
- commit3=$(git rev-parse --short=12 master~3) &&
+ commit=$(git rev-parse --short=12 main^) &&
+ commit2=$(git rev-parse --short=12 main~2) &&
+ commit3=$(git rev-parse --short=12 main~3) &&
# The first detach operation is more chatty than the following ones.
cat >1st_detach <<-EOF &&
@@ -271,9 +274,9 @@ test_expect_success 'describe_detached_head prints no SHA-1 ellipsis when not as
# Detached HEAD tests for GIT_PRINT_SHA1_ELLIPSIS (old format)
test_expect_success 'describe_detached_head does print SHA-1 ellipsis when asked to' "
- commit=$(git rev-parse --short=12 master^) &&
- commit2=$(git rev-parse --short=12 master~2) &&
- commit3=$(git rev-parse --short=12 master~3) &&
+ commit=$(git rev-parse --short=12 main^) &&
+ commit2=$(git rev-parse --short=12 main~2) &&
+ commit3=$(git rev-parse --short=12 main~3) &&
# The first detach operation is more chatty than the following ones.
cat >1st_detach <<-EOF &&
diff --git a/t/t2022-checkout-paths.sh b/t/t2022-checkout-paths.sh
index 6844afafc0..c49ba7f9bd 100755
--- a/t/t2022-checkout-paths.sh
+++ b/t/t2022-checkout-paths.sh
@@ -1,19 +1,22 @@
#!/bin/sh
test_description='checkout $tree -- $paths'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
mkdir dir &&
- >dir/master &&
+ >dir/main &&
echo common >dir/common &&
- git add dir/master dir/common &&
- test_tick && git commit -m "master has dir/master" &&
+ git add dir/main dir/common &&
+ test_tick && git commit -m "main has dir/main" &&
git checkout -b next &&
- git mv dir/master dir/next0 &&
+ git mv dir/main dir/next0 &&
echo next >dir/next1 &&
git add dir &&
- test_tick && git commit -m "next has dir/next but not dir/master"
+ test_tick && git commit -m "next has dir/next but not dir/main"
'
test_expect_success 'checking out paths out of a tree does not clobber unrelated paths' '
@@ -26,11 +29,11 @@ test_expect_success 'checking out paths out of a tree does not clobber unrelated
echo untracked >expect.next2 &&
cat expect.next2 >dir/next2 &&
- git checkout master dir &&
+ git checkout main dir &&
test_cmp expect.common dir/common &&
- test_path_is_file dir/master &&
- git diff --exit-code master dir/master &&
+ test_path_is_file dir/main &&
+ git diff --exit-code main dir/main &&
test_path_is_missing dir/next0 &&
test_cmp expect.next1 dir/next1 &&
@@ -52,11 +55,11 @@ test_expect_success 'do not touch unmerged entries matching $path but not in $tr
EOF
git update-index --index-info <expect.next0 &&
- git checkout master dir &&
+ git checkout main dir &&
test_cmp expect.common dir/common &&
- test_path_is_file dir/master &&
- git diff --exit-code master dir/master &&
+ test_path_is_file dir/main &&
+ git diff --exit-code main dir/main &&
git ls-files -s dir/next0 >actual.next0 &&
test_cmp expect.next0 actual.next0
'
diff --git a/t/t2023-checkout-m.sh b/t/t2023-checkout-m.sh
index fca3f85824..7b327b7544 100755
--- a/t/t2023-checkout-m.sh
+++ b/t/t2023-checkout-m.sh
@@ -4,21 +4,24 @@ test_description='checkout -m -- <conflicted path>
Ensures that checkout -m on a resolved file restores the conflicted file'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
test_tick &&
test_commit both.txt both.txt initial &&
git branch topic &&
- test_commit modified_in_master both.txt in_master &&
- test_commit added_in_master each.txt in_master &&
+ test_commit modified_in_main both.txt in_main &&
+ test_commit added_in_main each.txt in_main &&
git checkout topic &&
test_commit modified_in_topic both.txt in_topic &&
test_commit added_in_topic each.txt in_topic
'
-test_expect_success 'git merge master' '
- test_must_fail git merge master
+test_expect_success 'git merge main' '
+ test_must_fail git merge main
'
clean_branchnames () {
@@ -61,7 +64,7 @@ test_expect_success 'force checkout a conflict file creates stage zero entry' '
git checkout topic &&
echo c >a &&
C_OBJ=$(git hash-object a) &&
- git checkout -m master &&
+ git checkout -m main &&
test_cmp_rev :1:a $A_OBJ &&
test_cmp_rev :2:a $B_OBJ &&
test_cmp_rev :3:a $C_OBJ &&
diff --git a/t/t2024-checkout-dwim.sh b/t/t2024-checkout-dwim.sh
index a4f8d3a67e..4a1c901456 100755
--- a/t/t2024-checkout-dwim.sh
+++ b/t/t2024-checkout-dwim.sh
@@ -29,11 +29,11 @@ status_uno_is_clean () {
}
test_expect_success 'setup' '
- test_commit my_master &&
+ test_commit my_main &&
git init repo_a &&
(
cd repo_a &&
- test_commit a_master &&
+ test_commit a_main &&
git checkout -b foo &&
test_commit a_foo &&
git checkout -b bar &&
@@ -44,7 +44,7 @@ test_expect_success 'setup' '
git init repo_b &&
(
cd repo_b &&
- test_commit b_master &&
+ test_commit b_main &&
git checkout -b foo &&
test_commit b_foo &&
git checkout -b baz &&
@@ -60,23 +60,23 @@ test_expect_success 'setup' '
'
test_expect_success 'checkout of non-existing branch fails' '
- git checkout -B master &&
+ git checkout -B main &&
test_might_fail git branch -D xyzzy &&
test_must_fail git checkout xyzzy &&
status_uno_is_clean &&
test_must_fail git rev-parse --verify refs/heads/xyzzy &&
- test_branch master
+ test_branch main
'
test_expect_success 'checkout of branch from multiple remotes fails #1' '
- git checkout -B master &&
+ git checkout -B main &&
test_might_fail git branch -D foo &&
test_must_fail git checkout foo &&
status_uno_is_clean &&
test_must_fail git rev-parse --verify refs/heads/foo &&
- test_branch master
+ test_branch main
'
test_expect_success 'when arg matches multiple remotes, do not fallback to interpreting as pathspec' '
@@ -100,21 +100,21 @@ test_expect_success 'when arg matches multiple remotes, do not fallback to inter
'
test_expect_success 'checkout of branch from multiple remotes fails with advice' '
- git checkout -B master &&
+ git checkout -B main &&
test_might_fail git branch -D foo &&
test_must_fail git checkout foo 2>stderr &&
- test_branch master &&
+ test_branch main &&
status_uno_is_clean &&
test_i18ngrep "^hint: " stderr &&
test_must_fail git -c advice.checkoutAmbiguousRemoteBranchName=false \
checkout foo 2>stderr &&
- test_branch master &&
+ test_branch main &&
status_uno_is_clean &&
test_i18ngrep ! "^hint: " stderr
'
test_expect_success PERL 'checkout -p with multiple remotes does not print advice' '
- git checkout -B master &&
+ git checkout -B main &&
test_might_fail git branch -D foo &&
git checkout -p foo 2>stderr &&
@@ -123,7 +123,7 @@ test_expect_success PERL 'checkout -p with multiple remotes does not print advic
'
test_expect_success 'checkout of branch from multiple remotes succeeds with checkout.defaultRemote #1' '
- git checkout -B master &&
+ git checkout -B main &&
status_uno_is_clean &&
test_might_fail git branch -D foo &&
@@ -135,7 +135,7 @@ test_expect_success 'checkout of branch from multiple remotes succeeds with chec
'
test_expect_success 'checkout of branch from a single remote succeeds #1' '
- git checkout -B master &&
+ git checkout -B main &&
test_might_fail git branch -D bar &&
git checkout bar &&
@@ -146,7 +146,7 @@ test_expect_success 'checkout of branch from a single remote succeeds #1' '
'
test_expect_success 'checkout of branch from a single remote succeeds #2' '
- git checkout -B master &&
+ git checkout -B main &&
test_might_fail git branch -D baz &&
git checkout baz &&
@@ -157,33 +157,33 @@ test_expect_success 'checkout of branch from a single remote succeeds #2' '
'
test_expect_success '--no-guess suppresses branch auto-vivification' '
- git checkout -B master &&
+ git checkout -B main &&
status_uno_is_clean &&
test_might_fail git branch -D bar &&
test_must_fail git checkout --no-guess bar &&
test_must_fail git rev-parse --verify refs/heads/bar &&
- test_branch master
+ test_branch main
'
test_expect_success 'checkout.guess = false suppresses branch auto-vivification' '
- git checkout -B master &&
+ git checkout -B main &&
status_uno_is_clean &&
test_might_fail git branch -D bar &&
test_config checkout.guess false &&
test_must_fail git checkout bar &&
test_must_fail git rev-parse --verify refs/heads/bar &&
- test_branch master
+ test_branch main
'
test_expect_success 'setup more remotes with unconventional refspecs' '
- git checkout -B master &&
+ git checkout -B main &&
status_uno_is_clean &&
git init repo_c &&
(
cd repo_c &&
- test_commit c_master &&
+ test_commit c_main &&
git checkout -b bar &&
test_commit c_bar &&
git checkout -b spam &&
@@ -192,7 +192,7 @@ test_expect_success 'setup more remotes with unconventional refspecs' '
git init repo_d &&
(
cd repo_d &&
- test_commit d_master &&
+ test_commit d_main &&
git checkout -b baz &&
test_commit d_baz &&
git checkout -b eggs &&
@@ -208,29 +208,29 @@ test_expect_success 'setup more remotes with unconventional refspecs' '
'
test_expect_success 'checkout of branch from multiple remotes fails #2' '
- git checkout -B master &&
+ git checkout -B main &&
status_uno_is_clean &&
test_might_fail git branch -D bar &&
test_must_fail git checkout bar &&
status_uno_is_clean &&
test_must_fail git rev-parse --verify refs/heads/bar &&
- test_branch master
+ test_branch main
'
test_expect_success 'checkout of branch from multiple remotes fails #3' '
- git checkout -B master &&
+ git checkout -B main &&
status_uno_is_clean &&
test_might_fail git branch -D baz &&
test_must_fail git checkout baz &&
status_uno_is_clean &&
test_must_fail git rev-parse --verify refs/heads/baz &&
- test_branch master
+ test_branch main
'
test_expect_success 'checkout of branch from a single remote succeeds #3' '
- git checkout -B master &&
+ git checkout -B main &&
status_uno_is_clean &&
test_might_fail git branch -D spam &&
@@ -242,7 +242,7 @@ test_expect_success 'checkout of branch from a single remote succeeds #3' '
'
test_expect_success 'checkout of branch from a single remote succeeds #4' '
- git checkout -B master &&
+ git checkout -B main &&
status_uno_is_clean &&
test_might_fail git branch -D eggs &&
@@ -254,7 +254,7 @@ test_expect_success 'checkout of branch from a single remote succeeds #4' '
'
test_expect_success 'checkout of branch with a file having the same name fails' '
- git checkout -B master &&
+ git checkout -B main &&
status_uno_is_clean &&
test_might_fail git branch -D spam &&
@@ -262,11 +262,11 @@ test_expect_success 'checkout of branch with a file having the same name fails'
test_must_fail git checkout spam &&
status_uno_is_clean &&
test_must_fail git rev-parse --verify refs/heads/spam &&
- test_branch master
+ test_branch main
'
test_expect_success 'checkout of branch with a file in subdir having the same name fails' '
- git checkout -B master &&
+ git checkout -B main &&
status_uno_is_clean &&
test_might_fail git branch -D spam &&
@@ -276,11 +276,11 @@ test_expect_success 'checkout of branch with a file in subdir having the same na
test_must_fail git -C sub checkout spam &&
status_uno_is_clean &&
test_must_fail git rev-parse --verify refs/heads/spam &&
- test_branch master
+ test_branch main
'
test_expect_success 'checkout <branch> -- succeeds, even if a file with the same name exists' '
- git checkout -B master &&
+ git checkout -B main &&
status_uno_is_clean &&
test_might_fail git branch -D spam &&
@@ -294,7 +294,7 @@ test_expect_success 'checkout <branch> -- succeeds, even if a file with the same
test_expect_success 'loosely defined local base branch is reported correctly' '
- git checkout master &&
+ git checkout main &&
status_uno_is_clean &&
git branch strict &&
git branch loose &&
@@ -302,8 +302,8 @@ test_expect_success 'loosely defined local base branch is reported correctly' '
test_config branch.strict.remote . &&
test_config branch.loose.remote . &&
- test_config branch.strict.merge refs/heads/master &&
- test_config branch.loose.merge master &&
+ test_config branch.strict.merge refs/heads/main &&
+ test_config branch.loose.merge main &&
git checkout strict | sed -e "s/strict/BRANCHNAME/g" >expect &&
status_uno_is_clean &&
diff --git a/t/t2027-checkout-track.sh b/t/t2027-checkout-track.sh
index bcba1bf90c..4453741b96 100755
--- a/t/t2027-checkout-track.sh
+++ b/t/t2027-checkout-track.sh
@@ -2,6 +2,9 @@
test_description='tests for git branch --track'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -10,14 +13,14 @@ test_expect_success 'setup' '
'
test_expect_success 'checkout --track -b creates a new tracking branch' '
- git checkout --track -b branch1 master &&
+ git checkout --track -b branch1 main &&
test $(git rev-parse --abbrev-ref HEAD) = branch1 &&
test $(git config --get branch.branch1.remote) = . &&
- test $(git config --get branch.branch1.merge) = refs/heads/master
+ test $(git config --get branch.branch1.merge) = refs/heads/main
'
test_expect_success 'checkout --track -b rejects an extra path argument' '
- test_must_fail git checkout --track -b branch2 master one.t 2>err &&
+ test_must_fail git checkout --track -b branch2 main one.t 2>err &&
test_i18ngrep "cannot be used with updating paths" err
'
diff --git a/t/t2030-unresolve-info.sh b/t/t2030-unresolve-info.sh
index 309199bca2..be6c84c52a 100755
--- a/t/t2030-unresolve-info.sh
+++ b/t/t2030-unresolve-info.sh
@@ -2,6 +2,9 @@
test_description='undoing resolution'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
check_resolve_undo () {
@@ -59,7 +62,7 @@ test_expect_success setup '
test_commit fourth fi/le fourth &&
git checkout add-add &&
test_commit fifth add-differently &&
- git checkout master
+ git checkout main
'
test_expect_success 'add records switch clears' '
@@ -183,8 +186,8 @@ test_expect_success 'rerere forget (binary)' '
'
test_expect_success 'rerere forget (add-add conflict)' '
- git checkout -f master &&
- echo master >add-differently &&
+ git checkout -f main &&
+ echo main >add-differently &&
git add add-differently &&
git commit -m "add differently" &&
test_must_fail git merge fifth &&
diff --git a/t/t2060-switch.sh b/t/t2060-switch.sh
index 68c9101b02..9bc6a3aa5c 100755
--- a/t/t2060-switch.sh
+++ b/t/t2060-switch.sh
@@ -2,6 +2,9 @@
test_description='switch basic functionality'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -23,41 +26,41 @@ test_expect_success 'switch branch' '
'
test_expect_success 'switch and detach' '
- test_when_finished git switch master &&
- test_must_fail git switch master^{commit} &&
- git switch --detach master^{commit} &&
+ test_when_finished git switch main &&
+ test_must_fail git switch main^{commit} &&
+ git switch --detach main^{commit} &&
test_must_fail git symbolic-ref HEAD
'
test_expect_success 'switch and detach current branch' '
- test_when_finished git switch master &&
- git switch master &&
+ test_when_finished git switch main &&
+ git switch main &&
git switch --detach &&
test_must_fail git symbolic-ref HEAD
'
test_expect_success 'switch and create branch' '
- test_when_finished git switch master &&
- git switch -c temp master^ &&
- test_cmp_rev master^ refs/heads/temp &&
+ test_when_finished git switch main &&
+ git switch -c temp main^ &&
+ test_cmp_rev main^ refs/heads/temp &&
echo refs/heads/temp >expected-branch &&
git symbolic-ref HEAD >actual-branch &&
test_cmp expected-branch actual-branch
'
test_expect_success 'force create branch from HEAD' '
- test_when_finished git switch master &&
- git switch --detach master &&
+ test_when_finished git switch main &&
+ git switch --detach main &&
test_must_fail git switch -c temp &&
git switch -C temp &&
- test_cmp_rev master refs/heads/temp &&
+ test_cmp_rev main refs/heads/temp &&
echo refs/heads/temp >expected-branch &&
git symbolic-ref HEAD >actual-branch &&
test_cmp expected-branch actual-branch
'
test_expect_success 'new orphan branch from empty' '
- test_when_finished git switch master &&
+ test_when_finished git switch main &&
test_must_fail git switch --orphan new-orphan HEAD &&
git switch --orphan new-orphan &&
test_commit orphan &&
@@ -69,7 +72,7 @@ test_expect_success 'new orphan branch from empty' '
'
test_expect_success 'orphan branch works with --discard-changes' '
- test_when_finished git switch master &&
+ test_when_finished git switch main &&
echo foo >foo.txt &&
git switch --discard-changes --orphan new-orphan2 &&
git ls-files >tracked-files &&
@@ -77,7 +80,7 @@ test_expect_success 'orphan branch works with --discard-changes' '
'
test_expect_success 'switching ignores file of same branch name' '
- test_when_finished git switch master &&
+ test_when_finished git switch main &&
: >first-branch &&
git switch first-branch &&
echo refs/heads/first-branch >expected &&
@@ -86,7 +89,7 @@ test_expect_success 'switching ignores file of same branch name' '
'
test_expect_success 'guess and create branch' '
- test_when_finished git switch master &&
+ test_when_finished git switch main &&
test_must_fail git switch --no-guess foo &&
test_config checkout.guess false &&
test_must_fail git switch foo &&
diff --git a/t/t2070-restore.sh b/t/t2070-restore.sh
index 89e5a142c9..7c43ddf1d9 100755
--- a/t/t2070-restore.sh
+++ b/t/t2070-restore.sh
@@ -2,6 +2,9 @@
test_description='restore basic functionality'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -15,7 +18,7 @@ test_expect_success 'setup' '
echo ignored >ignored &&
echo /ignored >.gitignore &&
git add one two .gitignore &&
- git update-ref refs/heads/one master
+ git update-ref refs/heads/one main
'
test_expect_success 'restore without pathspec is not ok' '
@@ -91,7 +94,7 @@ test_expect_success 'restore --ignore-unmerged ignores unmerged entries' '
git switch -c first &&
echo first >unmerged &&
git commit -am first &&
- git switch -c second master &&
+ git switch -c second main &&
echo second >unmerged &&
git commit -am second &&
test_must_fail git merge first &&
diff --git a/t/t2106-update-index-assume-unchanged.sh b/t/t2106-update-index-assume-unchanged.sh
index 99d858c6b7..2d450daf5c 100755
--- a/t/t2106-update-index-assume-unchanged.sh
+++ b/t/t2106-update-index-assume-unchanged.sh
@@ -5,20 +5,23 @@ test_description='git update-index --assume-unchanged test.
. ./test-lib.sh
-test_expect_success 'setup' \
- ': >file &&
- git add file &&
- git commit -m initial &&
- git branch other &&
- echo upstream >file &&
- git add file &&
- git commit -m upstream'
+test_expect_success 'setup' '
+ : >file &&
+ git add file &&
+ git commit -m initial &&
+ git branch other &&
+ echo upstream >file &&
+ git add file &&
+ git commit -m upstream
+'
-test_expect_success 'do not switch branches with dirty file' \
- 'git reset --hard &&
- git checkout other &&
- echo dirt >file &&
- git update-index --assume-unchanged file &&
- test_must_fail git checkout master'
+test_expect_success 'do not switch branches with dirty file' '
+ git reset --hard &&
+ git checkout other &&
+ echo dirt >file &&
+ git update-index --assume-unchanged file &&
+ test_must_fail git checkout - 2>err &&
+ test_i18ngrep overwritten err
+'
test_done
diff --git a/t/t2200-add-update.sh b/t/t2200-add-update.sh
index f764b7e3f5..7cb7a70382 100755
--- a/t/t2200-add-update.sh
+++ b/t/t2200-add-update.sh
@@ -179,7 +179,8 @@ test_expect_success 'add -u resolves unmerged paths' '
test_expect_success '"add -u non-existent" should fail' '
test_must_fail git add -u non-existent &&
- ! (git ls-files | grep "non-existent")
+ git ls-files >actual &&
+ ! grep "non-existent" actual
'
test_done
diff --git a/t/t2400-worktree-add.sh b/t/t2400-worktree-add.sh
index 5a7495474a..96dfca1554 100755
--- a/t/t2400-worktree-add.sh
+++ b/t/t2400-worktree-add.sh
@@ -2,6 +2,9 @@
test_description='test git worktree add'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-rebase.sh
@@ -12,12 +15,12 @@ test_expect_success 'setup' '
test_expect_success '"add" an existing worktree' '
mkdir -p existing/subtree &&
- test_must_fail git worktree add --detach existing master
+ test_must_fail git worktree add --detach existing main
'
test_expect_success '"add" an existing empty worktree' '
mkdir existing_empty &&
- git worktree add --detach existing_empty master
+ git worktree add --detach existing_empty main
'
test_expect_success '"add" using shorthand - fails when no previous branch' '
@@ -29,7 +32,7 @@ test_expect_success '"add" using - shorthand' '
echo hello >myworld &&
git add myworld &&
git commit -m myworld &&
- git checkout master &&
+ git checkout main &&
git worktree add short-hand - &&
echo refs/heads/newbranch >expect &&
git -C short-hand rev-parse --symbolic-full-name HEAD >actual &&
@@ -37,7 +40,7 @@ test_expect_success '"add" using - shorthand' '
'
test_expect_success '"add" refuses to checkout locked branch' '
- test_must_fail git worktree add zere master &&
+ test_must_fail git worktree add zere main &&
! test -d zere &&
! test -d .git/worktrees/zere
'
@@ -46,13 +49,13 @@ test_expect_success 'checking out paths not complaining about linked checkouts'
(
cd existing_empty &&
echo dirty >>init.t &&
- git checkout master -- init.t
+ git checkout main -- init.t
)
'
test_expect_success '"add" worktree' '
git rev-parse HEAD >expect &&
- git worktree add --detach here master &&
+ git worktree add --detach here main &&
(
cd here &&
test_cmp ../init.t init.t &&
@@ -65,7 +68,7 @@ test_expect_success '"add" worktree' '
test_expect_success '"add" worktree with lock' '
git rev-parse HEAD >expect &&
- git worktree add --detach --lock here-with-lock master &&
+ git worktree add --detach --lock here-with-lock main &&
test -f .git/worktrees/here-with-lock/locked
'
@@ -73,7 +76,7 @@ test_expect_success '"add" worktree from a subdir' '
(
mkdir sub &&
cd sub &&
- git worktree add --detach here master &&
+ git worktree add --detach here main &&
cd here &&
test_cmp ../../init.t init.t
)
@@ -82,19 +85,19 @@ test_expect_success '"add" worktree from a subdir' '
test_expect_success '"add" from a linked checkout' '
(
cd here &&
- git worktree add --detach nested-here master &&
+ git worktree add --detach nested-here main &&
cd nested-here &&
git fsck
)
'
test_expect_success '"add" worktree creating new branch' '
- git worktree add -b newmaster there master &&
+ git worktree add -b newmain there main &&
(
cd there &&
test_cmp ../init.t init.t &&
git symbolic-ref HEAD >actual &&
- echo refs/heads/newmaster >expect &&
+ echo refs/heads/newmain >expect &&
test_cmp expect actual &&
git fsck
)
@@ -103,7 +106,7 @@ test_expect_success '"add" worktree creating new branch' '
test_expect_success 'die the same branch is already checked out' '
(
cd here &&
- test_must_fail git checkout newmaster
+ test_must_fail git checkout newmain
)
'
@@ -112,20 +115,20 @@ test_expect_success SYMLINKS 'die the same branch is already checked out (symlin
ref=$(git -C there symbolic-ref HEAD) &&
rm "$head" &&
ln -s "$ref" "$head" &&
- test_must_fail git -C here checkout newmaster
+ test_must_fail git -C here checkout newmain
'
test_expect_success 'not die the same branch is already checked out' '
(
cd here &&
- git worktree add --force anothernewmaster newmaster
+ git worktree add --force anothernewmain newmain
)
'
test_expect_success 'not die on re-checking out current branch' '
(
cd there &&
- git checkout newmaster
+ git checkout newmain
)
'
@@ -133,14 +136,14 @@ test_expect_success '"add" from a bare repo' '
(
git clone --bare . bare &&
cd bare &&
- git worktree add -b bare-master ../there2 master
+ git worktree add -b bare-main ../there2 main
)
'
test_expect_success 'checkout from a bare repo without "add"' '
(
cd bare &&
- test_must_fail git checkout master
+ test_must_fail git checkout main
)
'
@@ -148,7 +151,7 @@ test_expect_success '"add" default branch of a bare repo' '
(
git clone --bare . bare2 &&
cd bare2 &&
- git worktree add ../there3 master
+ git worktree add ../there3 main
)
'
@@ -165,7 +168,7 @@ test_expect_success 'checkout with grafts' '
EOF
git log --format=%s -2 >actual &&
test_cmp expected actual &&
- git worktree add --detach grafted master &&
+ git worktree add --detach grafted main &&
git --git-dir=grafted/.git log --format=%s -2 >actual &&
test_cmp expected actual
'
@@ -226,34 +229,34 @@ test_expect_success '"add" no auto-vivify with --detach and <branch> omitted' '
'
test_expect_success '"add" -b/-B mutually exclusive' '
- test_must_fail git worktree add -b poodle -B poodle bamboo master
+ test_must_fail git worktree add -b poodle -B poodle bamboo main
'
test_expect_success '"add" -b/--detach mutually exclusive' '
- test_must_fail git worktree add -b poodle --detach bamboo master
+ test_must_fail git worktree add -b poodle --detach bamboo main
'
test_expect_success '"add" -B/--detach mutually exclusive' '
- test_must_fail git worktree add -B poodle --detach bamboo master
+ test_must_fail git worktree add -B poodle --detach bamboo main
'
test_expect_success '"add -B" fails if the branch is checked out' '
- git rev-parse newmaster >before &&
- test_must_fail git worktree add -B newmaster bamboo master &&
- git rev-parse newmaster >after &&
+ git rev-parse newmain >before &&
+ test_must_fail git worktree add -B newmain bamboo main &&
+ git rev-parse newmain >after &&
test_cmp before after
'
test_expect_success 'add -B' '
- git worktree add -B poodle bamboo2 master^ &&
+ git worktree add -B poodle bamboo2 main^ &&
git -C bamboo2 symbolic-ref HEAD >actual &&
echo refs/heads/poodle >expected &&
test_cmp expected actual &&
- test_cmp_rev master^ poodle
+ test_cmp_rev main^ poodle
'
test_expect_success 'add --quiet' '
- git worktree add --quiet another-worktree master 2>actual &&
+ git worktree add --quiet another-worktree main 2>actual &&
test_must_be_empty actual
'
@@ -348,24 +351,24 @@ test_branch_upstream () {
test_expect_success '--track sets up tracking' '
test_when_finished rm -rf track &&
- git worktree add --track -b track track master &&
- test_branch_upstream track . master
+ git worktree add --track -b track track main &&
+ test_branch_upstream track . main
'
# setup remote repository $1 and repository $2 with $1 set up as
-# remote. The remote has two branches, master and foo.
+# remote. The remote has two branches, main and foo.
setup_remote_repo () {
git init $1 &&
(
cd $1 &&
- test_commit $1_master &&
+ test_commit $1_main &&
git checkout -b foo &&
test_commit upstream_foo
) &&
git init $2 &&
(
cd $2 &&
- test_commit $2_master &&
+ test_commit $2_main &&
git remote add $1 ../$1 &&
git config remote.$1.fetch \
"refs/heads/*:refs/remotes/$1/*" &&
diff --git a/t/t2401-worktree-prune.sh b/t/t2401-worktree-prune.sh
index a6ce7f590b..aff877590d 100755
--- a/t/t2401-worktree-prune.sh
+++ b/t/t2401-worktree-prune.sh
@@ -2,6 +2,9 @@
test_description='prune $GIT_DIR/worktrees'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success initialize '
@@ -87,7 +90,7 @@ test_expect_success 'not prune recent checkouts' '
test_expect_success 'not prune proper checkouts' '
test_when_finished rm -r .git/worktrees &&
- git worktree add --detach "$PWD/nop" master &&
+ git worktree add --detach "$PWD/nop" main &&
git worktree prune &&
test -d .git/worktrees/nop
'
diff --git a/t/t2402-worktree-list.sh b/t/t2402-worktree-list.sh
index b85bd2655d..821a20f3d6 100755
--- a/t/t2402-worktree-list.sh
+++ b/t/t2402-worktree-list.sh
@@ -2,6 +2,9 @@
test_description='test git worktree list'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -21,7 +24,7 @@ test_expect_success 'rev-parse --git-common-dir on main worktree' '
test_expect_success 'rev-parse --git-path objects linked worktree' '
echo "$(git rev-parse --show-toplevel)/.git/objects" >expect &&
test_when_finished "rm -rf linked-tree actual expect && git worktree prune" &&
- git worktree add --detach linked-tree master &&
+ git worktree add --detach linked-tree main &&
git -C linked-tree rev-parse --git-path objects >actual &&
test_cmp expect actual
'
@@ -29,7 +32,7 @@ test_expect_success 'rev-parse --git-path objects linked worktree' '
test_expect_success '"list" all worktrees from main' '
echo "$(git rev-parse --show-toplevel) $(git rev-parse --short HEAD) [$(git symbolic-ref --short HEAD)]" >expect &&
test_when_finished "rm -rf here out actual expect && git worktree prune" &&
- git worktree add --detach here master &&
+ git worktree add --detach here main &&
echo "$(git -C here rev-parse --show-toplevel) $(git rev-parse --short HEAD) (detached HEAD)" >>expect &&
git worktree list >out &&
sed "s/ */ /g" <out >actual &&
@@ -39,7 +42,7 @@ test_expect_success '"list" all worktrees from main' '
test_expect_success '"list" all worktrees from linked' '
echo "$(git rev-parse --show-toplevel) $(git rev-parse --short HEAD) [$(git symbolic-ref --short HEAD)]" >expect &&
test_when_finished "rm -rf here out actual expect && git worktree prune" &&
- git worktree add --detach here master &&
+ git worktree add --detach here main &&
echo "$(git -C here rev-parse --show-toplevel) $(git rev-parse --short HEAD) (detached HEAD)" >>expect &&
git -C here worktree list >out &&
sed "s/ */ /g" <out >actual &&
@@ -52,7 +55,7 @@ test_expect_success '"list" all worktrees --porcelain' '
echo "branch $(git symbolic-ref HEAD)" >>expect &&
echo >>expect &&
test_when_finished "rm -rf here actual expect && git worktree prune" &&
- git worktree add --detach here master &&
+ git worktree add --detach here main &&
echo "worktree $(git -C here rev-parse --show-toplevel)" >>expect &&
echo "HEAD $(git rev-parse HEAD)" >>expect &&
echo "detached" >>expect &&
@@ -61,10 +64,10 @@ test_expect_success '"list" all worktrees --porcelain' '
test_cmp expect actual
'
-test_expect_success '"list" all worktress with locked annotation' '
+test_expect_success '"list" all worktrees with locked annotation' '
test_when_finished "rm -rf locked unlocked out && git worktree prune" &&
- git worktree add --detach locked master &&
- git worktree add --detach unlocked master &&
+ git worktree add --detach locked main &&
+ git worktree add --detach unlocked main &&
git worktree lock locked &&
git worktree list >out &&
grep "/locked *[0-9a-f].* locked$" out &&
@@ -76,13 +79,13 @@ test_expect_success 'bare repo setup' '
echo "data" >file1 &&
git add file1 &&
git commit -m"File1: add data" &&
- git push bare1 master &&
+ git push bare1 main &&
git reset --hard HEAD^
'
test_expect_success '"list" all worktrees from bare main' '
test_when_finished "rm -rf there out actual expect && git -C bare1 worktree prune" &&
- git -C bare1 worktree add --detach ../there master &&
+ git -C bare1 worktree add --detach ../there main &&
echo "$(pwd)/bare1 (bare)" >expect &&
echo "$(git -C there rev-parse --show-toplevel) $(git -C there rev-parse --short HEAD) (detached HEAD)" >>expect &&
git -C bare1 worktree list >out &&
@@ -92,7 +95,7 @@ test_expect_success '"list" all worktrees from bare main' '
test_expect_success '"list" all worktrees --porcelain from bare main' '
test_when_finished "rm -rf there actual expect && git -C bare1 worktree prune" &&
- git -C bare1 worktree add --detach ../there master &&
+ git -C bare1 worktree add --detach ../there main &&
echo "worktree $(pwd)/bare1" >expect &&
echo "bare" >>expect &&
echo >>expect &&
@@ -106,7 +109,7 @@ test_expect_success '"list" all worktrees --porcelain from bare main' '
test_expect_success '"list" all worktrees from linked with a bare main' '
test_when_finished "rm -rf there out actual expect && git -C bare1 worktree prune" &&
- git -C bare1 worktree add --detach ../there master &&
+ git -C bare1 worktree add --detach ../there main &&
echo "$(pwd)/bare1 (bare)" >expect &&
echo "$(git -C there rev-parse --show-toplevel) $(git -C there rev-parse --short HEAD) (detached HEAD)" >>expect &&
git -C there worktree list >out &&
diff --git a/t/t2405-worktree-submodule.sh b/t/t2405-worktree-submodule.sh
index e1b2bfd87e..b172c26ca4 100755
--- a/t/t2405-worktree-submodule.sh
+++ b/t/t2405-worktree-submodule.sh
@@ -2,6 +2,9 @@
test_description='Combination of submodules and multiple worktrees'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
base_path=$(pwd -P)
@@ -31,7 +34,7 @@ test_expect_success 'add superproject worktree' '
'
test_expect_failure 'submodule is checked out just after worktree add' '
- git -C worktree diff --submodule master"^!" >out &&
+ git -C worktree diff --submodule main"^!" >out &&
grep "file1 updated" out
'
@@ -41,7 +44,7 @@ test_expect_success 'add superproject worktree and initialize submodules' '
'
test_expect_success 'submodule is checked out just after submodule update in linked worktree' '
- git -C worktree-submodule-update diff --submodule master"^!" >out &&
+ git -C worktree-submodule-update diff --submodule main"^!" >out &&
grep "file1 updated" out
'
@@ -51,7 +54,7 @@ test_expect_success 'add superproject worktree and manually add submodule worktr
'
test_expect_success 'submodule is checked out after manually adding submodule worktree' '
- git -C linked_submodule diff --submodule master"^!" >out &&
+ git -C linked_submodule diff --submodule main"^!" >out &&
grep "file1 updated" out
'
diff --git a/t/t2406-worktree-repair.sh b/t/t2406-worktree-repair.sh
index 1fe468bfe8..f73741886b 100755
--- a/t/t2406-worktree-repair.sh
+++ b/t/t2406-worktree-repair.sh
@@ -104,6 +104,16 @@ test_expect_success 'repo not found; .git not file' '
test_i18ngrep ".git is not a file" err
'
+test_expect_success 'repo not found; .git not referencing repo' '
+ test_when_finished "rm -rf side not-a-repo && git worktree prune" &&
+ git worktree add --detach side &&
+ sed s,\.git/worktrees/side$,not-a-repo, side/.git >side/.newgit &&
+ mv side/.newgit side/.git &&
+ mkdir not-a-repo &&
+ test_must_fail git worktree repair side 2>err &&
+ test_i18ngrep ".git file does not reference a repository" err
+'
+
test_expect_success 'repo not found; .git file broken' '
test_when_finished "rm -rf orig moved && git worktree prune" &&
git worktree add --detach orig &&
@@ -176,4 +186,20 @@ test_expect_success 'repair multiple gitdir files' '
test_must_be_empty err
'
+test_expect_success 'repair moved main and linked worktrees' '
+ test_when_finished "rm -rf main side mainmoved sidemoved" &&
+ test_create_repo main &&
+ test_commit -C main init &&
+ git -C main worktree add --detach ../side &&
+ sed "s,side/\.git$,sidemoved/.git," \
+ main/.git/worktrees/side/gitdir >expect-gitdir &&
+ sed "s,main/.git/worktrees/side$,mainmoved/.git/worktrees/side," \
+ side/.git >expect-gitfile &&
+ mv main mainmoved &&
+ mv side sidemoved &&
+ git -C mainmoved worktree repair ../sidemoved &&
+ test_cmp expect-gitdir mainmoved/.git/worktrees/side/gitdir &&
+ test_cmp expect-gitfile sidemoved/.git
+'
+
test_done
diff --git a/t/t3040-subprojects-basic.sh b/t/t3040-subprojects-basic.sh
index b81eb5fd6f..6abdcbbc94 100755
--- a/t/t3040-subprojects-basic.sh
+++ b/t/t3040-subprojects-basic.sh
@@ -79,7 +79,4 @@ test_expect_success 'checkout in superproject' '
git diff-index --exit-code --raw --cached save -- sub1
'
-# just interesting what happened...
-# git diff --name-status -M save master
-
test_done
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh
index 6efe7a44bc..00761e4080 100755
--- a/t/t3200-branch.sh
+++ b/t/t3200-branch.sh
@@ -5,6 +5,9 @@
test_description='git branch assorted tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-rebase.sh
@@ -12,6 +15,7 @@ test_expect_success 'prepare a trivial repository' '
echo Hello >A &&
git update-index --add A &&
git commit -m "Initial commit." &&
+ git branch -M main &&
echo World >>A &&
git update-index --add A &&
git commit -m "Second commit." &&
@@ -27,8 +31,8 @@ test_expect_success 'branch -h in broken repository' '
mkdir broken &&
(
cd broken &&
- git init &&
- >.git/refs/heads/master &&
+ git init -b main &&
+ >.git/refs/heads/main &&
test_expect_code 129 git branch -h >usage 2>&1
) &&
test_i18ngrep "[Uu]sage" broken/usage
@@ -42,8 +46,8 @@ test_expect_success 'git branch a/b/c should create a branch' '
git branch a/b/c && test_path_is_file .git/refs/heads/a/b/c
'
-test_expect_success 'git branch mb master... should create a branch' '
- git branch mb master... && test_path_is_file .git/refs/heads/mb
+test_expect_success 'git branch mb main... should create a branch' '
+ git branch mb main... && test_path_is_file .git/refs/heads/mb
'
test_expect_success 'git branch HEAD should fail' '
@@ -51,7 +55,7 @@ test_expect_success 'git branch HEAD should fail' '
'
cat >expect <<EOF
-$ZERO_OID $HEAD $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150200 +0000 branch: Created from master
+$ZERO_OID $HEAD $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150200 +0000 branch: Created from main
EOF
test_expect_success 'git branch --create-reflog d/e/f should create a branch and a log' '
GIT_COMMITTER_DATE="2005-05-26 23:30" \
@@ -110,7 +114,7 @@ test_expect_success 'git branch -m n/n n should work' '
test_expect_success 'git branch -m bbb should rename checked out branch' '
test_when_finished git branch -D bbb &&
- test_when_finished git checkout master &&
+ test_when_finished git checkout main &&
git checkout -b aaa &&
git commit --allow-empty -m "a new commit" &&
git rev-parse aaa@{0} >expect &&
@@ -124,7 +128,7 @@ test_expect_success 'git branch -m bbb should rename checked out branch' '
test_expect_success 'renaming checked out branch works with d/f conflict' '
test_when_finished "git branch -D foo/bar || git branch -D foo" &&
- test_when_finished git checkout master &&
+ test_when_finished git checkout main &&
git checkout -b foo &&
git branch -m foo/bar &&
git symbolic-ref HEAD >actual &&
@@ -178,14 +182,14 @@ test_expect_success 'git branch -M baz bam should add entries to .git/logs/HEAD'
'
test_expect_success 'git branch -M should leave orphaned HEAD alone' '
- git init orphan &&
+ git init -b main orphan &&
(
cd orphan &&
test_commit initial &&
git checkout --orphan lonely &&
grep lonely .git/HEAD &&
test_path_is_missing .git/refs/head/lonely &&
- git branch -M master mistress &&
+ git branch -M main mistress &&
grep lonely .git/HEAD
)
'
@@ -201,7 +205,7 @@ test_expect_success 'resulting reflog can be shown by log -g' '
'
test_expect_success 'git branch -M baz bam should succeed when baz is checked out as linked working tree' '
- git checkout master &&
+ git checkout main &&
git worktree add -b baz bazdir &&
git worktree add -f bazdir2 baz &&
git branch -M baz bam &&
@@ -224,18 +228,18 @@ test_expect_success 'git branch -M baz bam should succeed within a worktree in w
git worktree prune
'
-test_expect_success 'git branch -M master should work when master is checked out' '
- git checkout master &&
- git branch -M master
+test_expect_success 'git branch -M main should work when main is checked out' '
+ git checkout main &&
+ git branch -M main
'
-test_expect_success 'git branch -M master master should work when master is checked out' '
- git checkout master &&
- git branch -M master master
+test_expect_success 'git branch -M main main should work when main is checked out' '
+ git checkout main &&
+ git branch -M main main
'
-test_expect_success 'git branch -M topic topic should work when master is checked out' '
- git checkout master &&
+test_expect_success 'git branch -M topic topic should work when main is checked out' '
+ git checkout main &&
git branch topic &&
git branch -M topic topic
'
@@ -289,11 +293,11 @@ test_expect_success 'deleting checked-out branch from repo that is a submodule'
test_expect_success 'bare main worktree has HEAD at branch deleted by secondary worktree' '
test_when_finished "rm -rf nonbare base secondary" &&
- git init nonbare &&
+ git init -b main nonbare &&
test_commit -C nonbare x &&
git clone --bare nonbare bare &&
- git -C bare worktree add --detach ../secondary master &&
- git -C secondary branch -D master
+ git -C bare worktree add --detach ../secondary main &&
+ git -C secondary branch -D main
'
test_expect_success 'git branch --list -v with --abbrev' '
@@ -305,7 +309,9 @@ test_expect_success 'git branch --list -v with --abbrev' '
git branch -v --list --no-abbrev t >actual.noabbrev &&
git branch -v --list --abbrev=0 t >actual.0abbrev &&
+ git -c core.abbrev=no branch -v --list t >actual.noabbrev-conf &&
test_cmp actual.noabbrev actual.0abbrev &&
+ test_cmp actual.noabbrev actual.noabbrev-conf &&
git branch -v --list --abbrev=36 t >actual.36abbrev &&
# how many hexdigits are used?
@@ -324,8 +330,8 @@ test_expect_success 'git branch --list -v with --abbrev' '
test_expect_success 'git branch --column' '
COLUMNS=81 git branch --column=column >actual &&
cat >expect <<\EOF &&
- a/b/c bam foo l * master n o/p r
- abc bar j/k m/m mb o/o q topic
+ a/b/c bam foo l * main n o/p r
+ abc bar j/k m/m mb o/o q topic
EOF
test_cmp expect actual
'
@@ -345,7 +351,7 @@ test_expect_success 'git branch --column with an extremely long branch name' '
j/k
l
m/m
-* master
+* main
mb
n
o/o
@@ -365,8 +371,8 @@ test_expect_success 'git branch with column.*' '
git config --unset column.branch &&
git config --unset column.ui &&
cat >expect <<\EOF &&
- a/b/c bam foo l * master n o/p r
- abc bar j/k m/m mb o/o q topic
+ a/b/c bam foo l * main n o/p r
+ abc bar j/k m/m mb o/o q topic
EOF
test_cmp expect actual
'
@@ -377,7 +383,7 @@ test_expect_success 'git branch --column -v should fail' '
test_expect_success 'git branch -v with column.ui ignored' '
git config column.ui column &&
- COLUMNS=80 git branch -v | cut -c -9 | sed "s/ *$//" >actual &&
+ COLUMNS=80 git branch -v | cut -c -8 | sed "s/ *$//" >actual &&
git config --unset column.ui &&
cat >expect <<\EOF &&
a/b/c
@@ -388,7 +394,7 @@ test_expect_success 'git branch -v with column.ui ignored' '
j/k
l
m/m
-* master
+* main
mb
n
o/o
@@ -427,8 +433,8 @@ test_expect_success 'config information was renamed, too' '
'
test_expect_success 'git branch -m correctly renames multiple config sections' '
- test_when_finished "git checkout master" &&
- git checkout -b source master &&
+ test_when_finished "git checkout main" &&
+ git checkout -b source main &&
# Assert that a config file with multiple config sections has
# those sections preserved...
@@ -587,18 +593,18 @@ test_expect_success 'git branch -C c1 c2 should never touch HEAD' '
! grep "$msg$" .git/logs/HEAD
'
-test_expect_success 'git branch -C master should work when master is checked out' '
- git checkout master &&
- git branch -C master
+test_expect_success 'git branch -C main should work when main is checked out' '
+ git checkout main &&
+ git branch -C main
'
-test_expect_success 'git branch -C master master should work when master is checked out' '
- git checkout master &&
- git branch -C master master
+test_expect_success 'git branch -C main main should work when main is checked out' '
+ git checkout main &&
+ git branch -C main main
'
-test_expect_success 'git branch -C main5 main5 should work when master is checked out' '
- git checkout master &&
+test_expect_success 'git branch -C main5 main5 should work when main is checked out' '
+ git checkout main &&
git branch main5 &&
git branch -C main5 main5
'
@@ -620,8 +626,8 @@ test_expect_success 'git branch -C ab cd should overwrite existing config for cd
test_expect_success 'git branch -c correctly copies multiple config sections' '
FOO=1 &&
export FOO &&
- test_when_finished "git checkout master" &&
- git checkout -b source2 master &&
+ test_when_finished "git checkout main" &&
+ git checkout -b source2 main &&
# Assert that a config file with multiple config sections has
# those sections preserved...
@@ -711,10 +717,10 @@ test_expect_success 'deleting a self-referential symref' '
'
test_expect_success 'renaming a symref is not allowed' '
- git symbolic-ref refs/heads/topic refs/heads/master &&
+ git symbolic-ref refs/heads/topic refs/heads/main &&
test_must_fail git branch -m topic new-topic &&
git symbolic-ref refs/heads/topic &&
- test_path_is_file .git/refs/heads/master &&
+ test_path_is_file .git/refs/heads/main &&
test_path_is_missing .git/refs/heads/new-topic
'
@@ -728,27 +734,27 @@ test_expect_success SYMLINKS 'git branch -m u v should fail when the reflog for
test_expect_success 'test tracking setup via --track' '
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch --track my1 local/master &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch --track my1 local/main &&
test $(git config branch.my1.remote) = local &&
- test $(git config branch.my1.merge) = refs/heads/master
+ test $(git config branch.my1.merge) = refs/heads/main
'
test_expect_success 'test tracking setup (non-wildcard, matching)' '
git config remote.local.url . &&
- git config remote.local.fetch refs/heads/master:refs/remotes/local/master &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch --track my4 local/master &&
+ git config remote.local.fetch refs/heads/main:refs/remotes/local/main &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch --track my4 local/main &&
test $(git config branch.my4.remote) = local &&
- test $(git config branch.my4.merge) = refs/heads/master
+ test $(git config branch.my4.merge) = refs/heads/main
'
test_expect_success 'tracking setup fails on non-matching refspec' '
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
git config remote.local.fetch refs/heads/s:refs/remotes/local/s &&
- test_must_fail git branch --track my5 local/master &&
+ test_must_fail git branch --track my5 local/main &&
test_must_fail git config branch.my5.remote &&
test_must_fail git config branch.my5.merge
'
@@ -757,21 +763,21 @@ test_expect_success 'test tracking setup via config' '
git config branch.autosetupmerge true &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch my3 local/master &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch my3 local/main &&
test $(git config branch.my3.remote) = local &&
- test $(git config branch.my3.merge) = refs/heads/master
+ test $(git config branch.my3.merge) = refs/heads/main
'
test_expect_success 'test overriding tracking setup via --no-track' '
git config branch.autosetupmerge true &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch --no-track my2 local/master &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch --no-track my2 local/main &&
git config branch.autosetupmerge false &&
! test "$(git config branch.my2.remote)" = local &&
- ! test "$(git config branch.my2.merge)" = refs/heads/master
+ ! test "$(git config branch.my2.merge)" = refs/heads/main
'
test_expect_success 'no tracking without .fetch entries' '
@@ -836,26 +842,26 @@ test_expect_success 'branch from tag w/--track causes failure' '
test_expect_success '--set-upstream-to fails on multiple branches' '
echo "fatal: too many arguments to set new upstream" >expect &&
- test_must_fail git branch --set-upstream-to master a b c 2>err &&
+ test_must_fail git branch --set-upstream-to main a b c 2>err &&
test_i18ncmp expect err
'
test_expect_success '--set-upstream-to fails on detached HEAD' '
git checkout HEAD^{} &&
test_when_finished git checkout - &&
- echo "fatal: could not set upstream of HEAD to master when it does not point to any branch." >expect &&
- test_must_fail git branch --set-upstream-to master 2>err &&
+ echo "fatal: could not set upstream of HEAD to main when it does not point to any branch." >expect &&
+ test_must_fail git branch --set-upstream-to main 2>err &&
test_i18ncmp expect err
'
test_expect_success '--set-upstream-to fails on a missing dst branch' '
echo "fatal: branch '"'"'does-not-exist'"'"' does not exist" >expect &&
- test_must_fail git branch --set-upstream-to master does-not-exist 2>err &&
+ test_must_fail git branch --set-upstream-to main does-not-exist 2>err &&
test_i18ncmp expect err
'
test_expect_success '--set-upstream-to fails on a missing src branch' '
- test_must_fail git branch --set-upstream-to does-not-exist master 2>err &&
+ test_must_fail git branch --set-upstream-to does-not-exist main 2>err &&
test_i18ngrep "the requested upstream branch '"'"'does-not-exist'"'"' does not exist" err
'
@@ -874,20 +880,20 @@ test_expect_success '--set-upstream-to fails on locked config' '
'
test_expect_success 'use --set-upstream-to modify HEAD' '
- test_config branch.master.remote foo &&
- test_config branch.master.merge foo &&
+ test_config branch.main.remote foo &&
+ test_config branch.main.merge foo &&
git branch my12 &&
git branch --set-upstream-to my12 &&
- test "$(git config branch.master.remote)" = "." &&
- test "$(git config branch.master.merge)" = "refs/heads/my12"
+ test "$(git config branch.main.remote)" = "." &&
+ test "$(git config branch.main.merge)" = "refs/heads/my12"
'
test_expect_success 'use --set-upstream-to modify a particular branch' '
git branch my13 &&
- git branch --set-upstream-to master my13 &&
+ git branch --set-upstream-to main my13 &&
test_when_finished "git branch --unset-upstream my13" &&
test "$(git config branch.my13.remote)" = "." &&
- test "$(git config branch.my13.merge)" = "refs/heads/master"
+ test "$(git config branch.my13.merge)" = "refs/heads/main"
'
test_expect_success '--unset-upstream should fail if given a non-existent branch' '
@@ -906,14 +912,14 @@ test_expect_success '--unset-upstream should fail if config is locked' '
test_expect_success 'test --unset-upstream on HEAD' '
git branch my14 &&
- test_config branch.master.remote foo &&
- test_config branch.master.merge foo &&
+ test_config branch.main.remote foo &&
+ test_config branch.main.merge foo &&
git branch --set-upstream-to my14 &&
git branch --unset-upstream &&
- test_must_fail git config branch.master.remote &&
- test_must_fail git config branch.master.merge &&
+ test_must_fail git config branch.main.remote &&
+ test_must_fail git config branch.main.merge &&
# fail for a branch without upstream set
- echo "fatal: Branch '"'"'master'"'"' has no upstream information" >expect &&
+ echo "fatal: Branch '"'"'main'"'"' has no upstream information" >expect &&
test_must_fail git branch --unset-upstream 2>err &&
test_i18ncmp expect err
'
@@ -934,14 +940,14 @@ test_expect_success '--unset-upstream should fail on detached HEAD' '
test_expect_success 'test --unset-upstream on a particular branch' '
git branch my15 &&
- git branch --set-upstream-to master my14 &&
+ git branch --set-upstream-to main my14 &&
git branch --unset-upstream my14 &&
test_must_fail git config branch.my14.remote &&
test_must_fail git config branch.my14.merge
'
test_expect_success 'disabled option --set-upstream fails' '
- test_must_fail git branch --set-upstream origin/master
+ test_must_fail git branch --set-upstream origin/main
'
test_expect_success '--set-upstream-to notices an error to set branch as own upstream' '
@@ -956,32 +962,32 @@ test_expect_success '--set-upstream-to notices an error to set branch as own ups
# Keep this test last, as it changes the current branch
cat >expect <<EOF
-$ZERO_OID $HEAD $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150200 +0000 branch: Created from master
+$ZERO_OID $HEAD $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150200 +0000 branch: Created from main
EOF
test_expect_success 'git checkout -b g/h/i -l should create a branch and a log' '
GIT_COMMITTER_DATE="2005-05-26 23:30" \
- git checkout -b g/h/i -l master &&
+ git checkout -b g/h/i -l main &&
test_path_is_file .git/refs/heads/g/h/i &&
test_path_is_file .git/logs/refs/heads/g/h/i &&
test_cmp expect .git/logs/refs/heads/g/h/i
'
test_expect_success 'checkout -b makes reflog by default' '
- git checkout master &&
+ git checkout main &&
git config --unset core.logAllRefUpdates &&
git checkout -b alpha &&
git rev-parse --verify alpha@{0}
'
test_expect_success 'checkout -b does not make reflog when core.logAllRefUpdates = false' '
- git checkout master &&
+ git checkout main &&
git config core.logAllRefUpdates false &&
git checkout -b beta &&
test_must_fail git rev-parse --verify beta@{0}
'
test_expect_success 'checkout -b with -l makes reflog when core.logAllRefUpdates = false' '
- git checkout master &&
+ git checkout main &&
git checkout -lb gamma &&
git config --unset core.logAllRefUpdates &&
git rev-parse --verify gamma@{0}
@@ -990,10 +996,10 @@ test_expect_success 'checkout -b with -l makes reflog when core.logAllRefUpdates
test_expect_success 'avoid ambiguous track' '
git config branch.autosetupmerge true &&
git config remote.ambi1.url lalala &&
- git config remote.ambi1.fetch refs/heads/lalala:refs/heads/master &&
+ git config remote.ambi1.fetch refs/heads/lalala:refs/heads/main &&
git config remote.ambi2.url lilili &&
- git config remote.ambi2.fetch refs/heads/lilili:refs/heads/master &&
- test_must_fail git branch all1 master &&
+ git config remote.ambi2.fetch refs/heads/lilili:refs/heads/main &&
+ test_must_fail git branch all1 main &&
test -z "$(git config branch.all1.merge)"
'
@@ -1049,10 +1055,10 @@ test_expect_success 'autosetuprebase local on a tracked remote branch' '
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
git config branch.autosetuprebase local &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch --track myr5 local/master &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch --track myr5 local/main &&
test "$(git config branch.myr5.remote)" = local &&
- test "$(git config branch.myr5.merge)" = refs/heads/master &&
+ test "$(git config branch.myr5.merge)" = refs/heads/main &&
! test "$(git config branch.myr5.rebase)" = true
'
@@ -1060,10 +1066,10 @@ test_expect_success 'autosetuprebase never on a tracked remote branch' '
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
git config branch.autosetuprebase never &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch --track myr6 local/master &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch --track myr6 local/main &&
test "$(git config branch.myr6.remote)" = local &&
- test "$(git config branch.myr6.merge)" = refs/heads/master &&
+ test "$(git config branch.myr6.merge)" = refs/heads/main &&
! test "$(git config branch.myr6.rebase)" = true
'
@@ -1071,10 +1077,10 @@ test_expect_success 'autosetuprebase remote on a tracked remote branch' '
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
git config branch.autosetuprebase remote &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch --track myr7 local/master &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch --track myr7 local/main &&
test "$(git config branch.myr7.remote)" = local &&
- test "$(git config branch.myr7.merge)" = refs/heads/master &&
+ test "$(git config branch.myr7.merge)" = refs/heads/main &&
test "$(git config branch.myr7.rebase)" = true
'
@@ -1082,10 +1088,10 @@ test_expect_success 'autosetuprebase always on a tracked remote branch' '
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
git config branch.autosetuprebase remote &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch --track myr8 local/master &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch --track myr8 local/main &&
test "$(git config branch.myr8.remote)" = local &&
- test "$(git config branch.myr8.merge)" = refs/heads/master &&
+ test "$(git config branch.myr8.merge)" = refs/heads/main &&
test "$(git config branch.myr8.rebase)" = true
'
@@ -1093,10 +1099,10 @@ test_expect_success 'autosetuprebase unconfigured on a tracked remote branch' '
git config --unset branch.autosetuprebase &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch --track myr9 local/master &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch --track myr9 local/main &&
test "$(git config branch.myr9.remote)" = local &&
- test "$(git config branch.myr9.merge)" = refs/heads/master &&
+ test "$(git config branch.myr9.merge)" = refs/heads/main &&
test "z$(git config branch.myr9.rebase)" = z
'
@@ -1114,7 +1120,7 @@ test_expect_success 'autosetuprebase unconfigured on a tracked local branch' '
test_expect_success 'autosetuprebase unconfigured on untracked local branch' '
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
git branch --no-track myr11 mybase2 &&
test "z$(git config branch.myr11.remote)" = z &&
test "z$(git config branch.myr11.merge)" = z &&
@@ -1124,8 +1130,8 @@ test_expect_success 'autosetuprebase unconfigured on untracked local branch' '
test_expect_success 'autosetuprebase unconfigured on untracked remote branch' '
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch --no-track myr12 local/master &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch --no-track myr12 local/main &&
test "z$(git config branch.myr12.remote)" = z &&
test "z$(git config branch.myr12.merge)" = z &&
test "z$(git config branch.myr12.rebase)" = z
@@ -1135,7 +1141,7 @@ test_expect_success 'autosetuprebase never on an untracked local branch' '
git config branch.autosetuprebase never &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
git branch --no-track myr13 mybase2 &&
test "z$(git config branch.myr13.remote)" = z &&
test "z$(git config branch.myr13.merge)" = z &&
@@ -1146,7 +1152,7 @@ test_expect_success 'autosetuprebase local on an untracked local branch' '
git config branch.autosetuprebase local &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
git branch --no-track myr14 mybase2 &&
test "z$(git config branch.myr14.remote)" = z &&
test "z$(git config branch.myr14.merge)" = z &&
@@ -1157,7 +1163,7 @@ test_expect_success 'autosetuprebase remote on an untracked local branch' '
git config branch.autosetuprebase remote &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
git branch --no-track myr15 mybase2 &&
test "z$(git config branch.myr15.remote)" = z &&
test "z$(git config branch.myr15.merge)" = z &&
@@ -1168,7 +1174,7 @@ test_expect_success 'autosetuprebase always on an untracked local branch' '
git config branch.autosetuprebase always &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
git branch --no-track myr16 mybase2 &&
test "z$(git config branch.myr16.remote)" = z &&
test "z$(git config branch.myr16.merge)" = z &&
@@ -1179,8 +1185,8 @@ test_expect_success 'autosetuprebase never on an untracked remote branch' '
git config branch.autosetuprebase never &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch --no-track myr17 local/master &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch --no-track myr17 local/main &&
test "z$(git config branch.myr17.remote)" = z &&
test "z$(git config branch.myr17.merge)" = z &&
test "z$(git config branch.myr17.rebase)" = z
@@ -1190,8 +1196,8 @@ test_expect_success 'autosetuprebase local on an untracked remote branch' '
git config branch.autosetuprebase local &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch --no-track myr18 local/master &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch --no-track myr18 local/main &&
test "z$(git config branch.myr18.remote)" = z &&
test "z$(git config branch.myr18.merge)" = z &&
test "z$(git config branch.myr18.rebase)" = z
@@ -1201,8 +1207,8 @@ test_expect_success 'autosetuprebase remote on an untracked remote branch' '
git config branch.autosetuprebase remote &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch --no-track myr19 local/master &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch --no-track myr19 local/main &&
test "z$(git config branch.myr19.remote)" = z &&
test "z$(git config branch.myr19.merge)" = z &&
test "z$(git config branch.myr19.rebase)" = z
@@ -1212,8 +1218,8 @@ test_expect_success 'autosetuprebase always on an untracked remote branch' '
git config branch.autosetuprebase always &&
git config remote.local.url . &&
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
- (git show-ref -q refs/remotes/local/master || git fetch local) &&
- git branch --no-track myr20 local/master &&
+ (git show-ref -q refs/remotes/local/main || git fetch local) &&
+ git branch --no-track myr20 local/main &&
test "z$(git config branch.myr20.remote)" = z &&
test "z$(git config branch.myr20.merge)" = z &&
test "z$(git config branch.myr20.rebase)" = z
@@ -1221,7 +1227,7 @@ test_expect_success 'autosetuprebase always on an untracked remote branch' '
test_expect_success 'autosetuprebase always on detached HEAD' '
git config branch.autosetupmerge always &&
- test_when_finished git checkout master &&
+ test_when_finished git checkout main &&
git checkout HEAD^0 &&
git branch my11 &&
test -z "$(git config branch.my11.remote)" &&
@@ -1249,18 +1255,18 @@ test_expect_success 'attempt to delete a branch without base and unmerged to HEA
test_expect_success 'attempt to delete a branch merged to its base' '
# we are on my9 which is the initial commit; traditionally
# we would not have allowed deleting my8 that is not merged
- # to my9, but it is set to track master that already has my8
- git config branch.my8.merge refs/heads/master &&
+ # to my9, but it is set to track main that already has my8
+ git config branch.my8.merge refs/heads/main &&
git branch -d my8
'
test_expect_success 'attempt to delete a branch merged to its base' '
- git checkout master &&
+ git checkout main &&
echo Third >>A &&
git commit -m "Third commit" A &&
git branch -t my10 my9 &&
git branch -f my10 HEAD^ &&
- # we are on master which is at the third commit, and my10
+ # we are on main which is at the third commit, and my10
# is behind us, so traditionally we would have allowed deleting
# it; but my10 is set to track my9 that is further behind.
test_must_fail git branch -d my10
@@ -1287,7 +1293,7 @@ test_expect_success 'detect typo in branch name when using --edit-description' '
'
test_expect_success 'refuse --edit-description on unborn branch for now' '
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
write_script editor <<-\EOF &&
echo "New contents" >"$1"
EOF
@@ -1301,18 +1307,18 @@ test_expect_success '--merged catches invalid object names' '
test_expect_success '--list during rebase' '
test_when_finished "reset_rebase" &&
- git checkout master &&
+ git checkout main &&
FAKE_LINES="1 edit 2" &&
export FAKE_LINES &&
set_fake_editor &&
git rebase -i HEAD~2 &&
git branch --list >actual &&
- test_i18ngrep "rebasing master" actual
+ test_i18ngrep "rebasing main" actual
'
test_expect_success '--list during rebase from detached HEAD' '
- test_when_finished "reset_rebase && git checkout master" &&
- git checkout master^0 &&
+ test_when_finished "reset_rebase && git checkout main" &&
+ git checkout main^0 &&
oid=$(git rev-parse --short HEAD) &&
FAKE_LINES="1 edit 2" &&
export FAKE_LINES &&
@@ -1324,17 +1330,17 @@ test_expect_success '--list during rebase from detached HEAD' '
test_expect_success 'tracking with unexpected .fetch refspec' '
rm -rf a b c d &&
- git init a &&
+ git init -b main a &&
(
cd a &&
test_commit a
) &&
- git init b &&
+ git init -b main b &&
(
cd b &&
test_commit b
) &&
- git init c &&
+ git init -b main c &&
(
cd c &&
test_commit c &&
@@ -1342,23 +1348,23 @@ test_expect_success 'tracking with unexpected .fetch refspec' '
git remote add b ../b &&
git fetch --all
) &&
- git init d &&
+ git init -b main d &&
(
cd d &&
git remote add c ../c &&
git config remote.c.fetch "+refs/remotes/*:refs/remotes/*" &&
git fetch c &&
- git branch --track local/a/master remotes/a/master &&
- test "$(git config branch.local/a/master.remote)" = "c" &&
- test "$(git config branch.local/a/master.merge)" = "refs/remotes/a/master" &&
+ git branch --track local/a/main remotes/a/main &&
+ test "$(git config branch.local/a/main.remote)" = "c" &&
+ test "$(git config branch.local/a/main.merge)" = "refs/remotes/a/main" &&
git rev-parse --verify a >expect &&
- git rev-parse --verify local/a/master >actual &&
+ git rev-parse --verify local/a/main >actual &&
test_cmp expect actual
)
'
test_expect_success 'configured committerdate sort' '
- git init sort &&
+ git init -b main sort &&
(
cd sort &&
git config branch.sort committerdate &&
@@ -1371,7 +1377,7 @@ test_expect_success 'configured committerdate sort' '
test_commit b &&
git branch >actual &&
cat >expect <<-\EOF &&
- master
+ main
a
c
* b
@@ -1389,7 +1395,7 @@ test_expect_success 'option override configured sort' '
a
* b
c
- master
+ main
EOF
test_cmp expect actual
)
diff --git a/t/t3201-branch-contains.sh b/t/t3201-branch-contains.sh
index efea5c4971..578b5f4825 100755
--- a/t/t3201-branch-contains.sh
+++ b/t/t3201-branch-contains.sh
@@ -2,6 +2,9 @@
test_description='branch --contains <commit>, --no-contains <commit> --merged, and --no-merged'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -10,51 +13,52 @@ test_expect_success setup '
git add file &&
test_tick &&
git commit -m initial &&
+ git branch -M main &&
git branch side &&
echo 1 >file &&
test_tick &&
- git commit -a -m "second on master" &&
+ git commit -a -m "second on main" &&
git checkout side &&
echo 1 >file &&
test_tick &&
git commit -a -m "second on side" &&
- git merge master
+ git merge main
'
-test_expect_success 'branch --contains=master' '
+test_expect_success 'branch --contains=main' '
- git branch --contains=master >actual &&
+ git branch --contains=main >actual &&
{
- echo " master" && echo "* side"
+ echo " main" && echo "* side"
} >expect &&
test_cmp expect actual
'
-test_expect_success 'branch --contains master' '
+test_expect_success 'branch --contains main' '
- git branch --contains master >actual &&
+ git branch --contains main >actual &&
{
- echo " master" && echo "* side"
+ echo " main" && echo "* side"
} >expect &&
test_cmp expect actual
'
-test_expect_success 'branch --no-contains=master' '
+test_expect_success 'branch --no-contains=main' '
- git branch --no-contains=master >actual &&
+ git branch --no-contains=main >actual &&
test_must_be_empty actual
'
-test_expect_success 'branch --no-contains master' '
+test_expect_success 'branch --no-contains main' '
- git branch --no-contains master >actual &&
+ git branch --no-contains main >actual &&
test_must_be_empty actual
'
@@ -73,7 +77,7 @@ test_expect_success 'branch --no-contains=side' '
git branch --no-contains=side >actual &&
{
- echo " master"
+ echo " main"
} >expect &&
test_cmp expect actual
@@ -81,9 +85,9 @@ test_expect_success 'branch --no-contains=side' '
test_expect_success 'branch --contains with pattern implies --list' '
- git branch --contains=master master >actual &&
+ git branch --contains=main main >actual &&
{
- echo " master"
+ echo " main"
} >expect &&
test_cmp expect actual
@@ -91,7 +95,7 @@ test_expect_success 'branch --contains with pattern implies --list' '
test_expect_success 'branch --no-contains with pattern implies --list' '
- git branch --no-contains=master master >actual &&
+ git branch --no-contains=main main >actual &&
test_must_be_empty actual
'
@@ -100,7 +104,7 @@ test_expect_success 'side: branch --merged' '
git branch --merged >actual &&
{
- echo " master" &&
+ echo " main" &&
echo "* side"
} >expect &&
test_cmp expect actual
@@ -109,9 +113,9 @@ test_expect_success 'side: branch --merged' '
test_expect_success 'branch --merged with pattern implies --list' '
- git branch --merged=side master >actual &&
+ git branch --merged=side main >actual &&
{
- echo " master"
+ echo " main"
} >expect &&
test_cmp expect actual
@@ -124,18 +128,18 @@ test_expect_success 'side: branch --no-merged' '
'
-test_expect_success 'master: branch --merged' '
+test_expect_success 'main: branch --merged' '
- git checkout master &&
+ git checkout main &&
git branch --merged >actual &&
{
- echo "* master"
+ echo "* main"
} >expect &&
test_cmp expect actual
'
-test_expect_success 'master: branch --no-merged' '
+test_expect_success 'main: branch --no-merged' '
git branch --no-merged >actual &&
{
@@ -147,22 +151,22 @@ test_expect_success 'master: branch --no-merged' '
test_expect_success 'branch --no-merged with pattern implies --list' '
- git branch --no-merged=master master >actual &&
+ git branch --no-merged=main main >actual &&
test_must_be_empty actual
'
test_expect_success 'implicit --list conflicts with modification options' '
- test_must_fail git branch --contains=master -d &&
- test_must_fail git branch --contains=master -m foo &&
- test_must_fail git branch --no-contains=master -d &&
- test_must_fail git branch --no-contains=master -m foo
+ test_must_fail git branch --contains=main -d &&
+ test_must_fail git branch --contains=main -m foo &&
+ test_must_fail git branch --no-contains=main -d &&
+ test_must_fail git branch --no-contains=main -m foo
'
test_expect_success 'Assert that --contains only works on commits, not trees & blobs' '
- test_must_fail git branch --contains master^{tree} &&
+ test_must_fail git branch --contains main^{tree} &&
blob=$(git hash-object -w --stdin <<-\EOF
Some blob
EOF
@@ -172,11 +176,11 @@ test_expect_success 'Assert that --contains only works on commits, not trees & b
'
test_expect_success 'multiple branch --contains' '
- git checkout -b side2 master &&
+ git checkout -b side2 main &&
>feature &&
git add feature &&
git commit -m "add feature" &&
- git checkout -b next master &&
+ git checkout -b next main &&
git merge side &&
git branch --contains side --contains side2 >actual &&
cat >expect <<-\EOF &&
@@ -188,9 +192,9 @@ test_expect_success 'multiple branch --contains' '
'
test_expect_success 'multiple branch --merged' '
- git branch --merged next --merged master >actual &&
+ git branch --merged next --merged main >actual &&
cat >expect <<-\EOF &&
- master
+ main
* next
side
EOF
@@ -200,13 +204,13 @@ test_expect_success 'multiple branch --merged' '
test_expect_success 'multiple branch --no-contains' '
git branch --no-contains side --no-contains side2 >actual &&
cat >expect <<-\EOF &&
- master
+ main
EOF
test_cmp expect actual
'
test_expect_success 'multiple branch --no-merged' '
- git branch --no-merged next --no-merged master >actual &&
+ git branch --no-merged next --no-merged main >actual &&
cat >expect <<-\EOF &&
side2
EOF
@@ -214,7 +218,7 @@ test_expect_success 'multiple branch --no-merged' '
'
test_expect_success 'branch --contains combined with --no-contains' '
- git checkout -b seen master &&
+ git checkout -b seen main &&
git merge side &&
git merge side2 &&
git branch --contains side --no-contains side2 >actual &&
@@ -239,26 +243,26 @@ test_expect_success 'branch --merged combined with --no-merged' '
# that the latter walk does not mess up our flag to see if it was
# merged).
#
-# Here "topic" tracks "master" with one extra commit, and "zzz" points to the
-# same tip as master The name "zzz" must come alphabetically after "topic"
+# Here "topic" tracks "main" with one extra commit, and "zzz" points to the
+# same tip as main The name "zzz" must come alphabetically after "topic"
# as we process them in that order.
test_expect_success 'branch --merged with --verbose' '
- git branch --track topic master &&
+ git branch --track topic main &&
git branch zzz topic &&
git checkout topic &&
test_commit foo &&
git branch --merged topic >actual &&
cat >expect <<-\EOF &&
- master
+ main
* topic
zzz
EOF
test_cmp expect actual &&
git branch --verbose --merged topic >actual &&
cat >expect <<-EOF &&
- master $(git rev-parse --short master) second on master
- * topic $(git rev-parse --short topic ) [ahead 1] foo
- zzz $(git rev-parse --short zzz ) second on master
+ main $(git rev-parse --short main) second on main
+ * topic $(git rev-parse --short topic ) [ahead 1] foo
+ zzz $(git rev-parse --short zzz ) second on main
EOF
test_i18ncmp expect actual
'
diff --git a/t/t3202-show-branch-octopus.sh b/t/t3202-show-branch-octopus.sh
index 6adf47869c..5cb0126cfe 100755
--- a/t/t3202-show-branch-octopus.sh
+++ b/t/t3202-show-branch-octopus.sh
@@ -2,6 +2,9 @@
test_description='test show-branch with more than 8 heads'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
numbers="1 2 3 4 5 6 7 8 9 10"
@@ -15,7 +18,7 @@ test_expect_success 'setup' '
for i in $numbers
do
- git checkout -b branch$i master &&
+ git checkout -b branch$i main &&
> file$i &&
git add file$i &&
test_tick &&
diff --git a/t/t3203-branch-output.sh b/t/t3203-branch-output.sh
index 71818b90f0..b6fcd017af 100755
--- a/t/t3203-branch-output.sh
+++ b/t/t3203-branch-output.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='git branch display tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-terminal.sh
@@ -8,6 +11,7 @@ test_expect_success 'make commits' '
echo content >file &&
git add file &&
git commit -m one &&
+ git branch -M main &&
echo content >>file &&
git commit -a -m two
'
@@ -26,7 +30,7 @@ test_expect_success 'make remote branches' '
cat >expect <<'EOF'
branch-one
branch-two
-* master
+* main
EOF
test_expect_success 'git branch shows local branches' '
git branch >actual &&
@@ -60,7 +64,7 @@ test_expect_success 'git branch -r shows remote branches' '
cat >expect <<'EOF'
branch-one
branch-two
-* master
+* main
remotes/origin/HEAD -> origin/branch-one
remotes/origin/branch-one
remotes/origin/branch-two
@@ -152,7 +156,7 @@ test_expect_success 'git branch shows detached HEAD properly' '
* (HEAD detached at $(git rev-parse --short HEAD^0))
branch-one
branch-two
- master
+ main
EOF
git checkout HEAD^0 &&
git branch >actual &&
@@ -160,12 +164,12 @@ EOF
'
test_expect_success 'git branch shows detached HEAD properly after checkout --detach' '
- git checkout master &&
+ git checkout main &&
cat >expect <<EOF &&
* (HEAD detached at $(git rev-parse --short HEAD^0))
branch-one
branch-two
- master
+ main
EOF
git checkout --detach &&
git branch >actual &&
@@ -177,7 +181,7 @@ test_expect_success 'git branch shows detached HEAD properly after moving' '
* (HEAD detached from $(git rev-parse --short HEAD))
branch-one
branch-two
- master
+ main
EOF
git reset --hard HEAD^1 &&
git branch >actual &&
@@ -189,9 +193,9 @@ test_expect_success 'git branch shows detached HEAD properly from tag' '
* (HEAD detached at fromtag)
branch-one
branch-two
- master
+ main
EOF
- git tag fromtag master &&
+ git tag fromtag main &&
git checkout fromtag &&
git branch >actual &&
test_i18ncmp expect actual
@@ -202,28 +206,77 @@ test_expect_success 'git branch shows detached HEAD properly after moving from t
* (HEAD detached from fromtag)
branch-one
branch-two
- master
+ main
EOF
git reset --hard HEAD^1 &&
git branch >actual &&
test_i18ncmp expect actual
'
-test_expect_success 'git branch `--sort` option' '
+test_expect_success 'git branch `--sort=[-]objectsize` option' '
cat >expect <<-\EOF &&
* (HEAD detached from fromtag)
branch-two
branch-one
- master
+ main
EOF
git branch --sort=objectsize >actual &&
+ test_i18ncmp expect actual &&
+
+ cat >expect <<-\EOF &&
+ * (HEAD detached from fromtag)
+ branch-one
+ main
+ branch-two
+ EOF
+ git branch --sort=-objectsize >actual &&
+ test_i18ncmp expect actual
+'
+
+test_expect_success 'git branch `--sort=[-]type` option' '
+ cat >expect <<-\EOF &&
+ * (HEAD detached from fromtag)
+ branch-one
+ branch-two
+ main
+ EOF
+ git branch --sort=type >actual &&
+ test_i18ncmp expect actual &&
+
+ cat >expect <<-\EOF &&
+ * (HEAD detached from fromtag)
+ branch-one
+ branch-two
+ main
+ EOF
+ git branch --sort=-type >actual &&
+ test_i18ncmp expect actual
+'
+
+test_expect_success 'git branch `--sort=[-]version:refname` option' '
+ cat >expect <<-\EOF &&
+ * (HEAD detached from fromtag)
+ branch-one
+ branch-two
+ main
+ EOF
+ git branch --sort=version:refname >actual &&
+ test_i18ncmp expect actual &&
+
+ cat >expect <<-\EOF &&
+ * (HEAD detached from fromtag)
+ main
+ branch-two
+ branch-one
+ EOF
+ git branch --sort=-version:refname >actual &&
test_i18ncmp expect actual
'
test_expect_success 'git branch --points-at option' '
cat >expect <<-\EOF &&
branch-one
- master
+ main
EOF
git branch --points-at=branch-one >actual &&
test_cmp expect actual
@@ -251,7 +304,7 @@ test_expect_success 'local-branch symrefs shortened properly' '
test_expect_success 'sort branches, ignore case' '
(
- git init sort-icase &&
+ git init -b main sort-icase &&
cd sort-icase &&
test_commit initial &&
git branch branch-one &&
@@ -260,14 +313,14 @@ test_expect_success 'sort branches, ignore case' '
cat >expected <<-\EOF &&
BRANCH-two
branch-one
- master
+ main
EOF
test_cmp expected actual &&
git branch --list -i | awk "{print \$NF}" >actual &&
cat >expected <<-\EOF &&
branch-one
BRANCH-two
- master
+ main
EOF
test_cmp expected actual
)
@@ -279,7 +332,7 @@ test_expect_success 'git branch --format option' '
Refname is refs/heads/ambiguous
Refname is refs/heads/branch-one
Refname is refs/heads/branch-two
- Refname is refs/heads/master
+ Refname is refs/heads/main
Refname is refs/heads/ref-to-branch
Refname is refs/heads/ref-to-remote
EOF
@@ -293,7 +346,7 @@ test_expect_success 'worktree colors correct' '
ambiguous<RESET>
branch-one<RESET>
+ <CYAN>branch-two<RESET>
- master<RESET>
+ main<RESET>
ref-to-branch<RESET> -> branch-one
ref-to-remote<RESET> -> origin/branch-one
EOF
@@ -306,9 +359,9 @@ test_expect_success 'worktree colors correct' '
'
test_expect_success "set up color tests" '
- echo "<RED>master<RESET>" >expect.color &&
- echo "master" >expect.bare &&
- color_args="--format=%(color:red)%(refname:short) --list master"
+ echo "<RED>main<RESET>" >expect.color &&
+ echo "main" >expect.bare &&
+ color_args="--format=%(color:red)%(refname:short) --list main"
'
test_expect_success '%(color) omitted without tty' '
@@ -331,13 +384,13 @@ test_expect_success '--color overrides auto-color' '
test_expect_success 'verbose output lists worktree path' '
one=$(git rev-parse --short HEAD) &&
- two=$(git rev-parse --short master) &&
+ two=$(git rev-parse --short main) &&
cat >expect <<-EOF &&
* (HEAD detached from fromtag) $one one
ambiguous $one one
branch-one $two two
+ branch-two $one ($(pwd)/worktree_dir) one
- master $two two
+ main $two two
ref-to-branch $two two
ref-to-remote $two two
EOF
diff --git a/t/t3204-branch-name-interpretation.sh b/t/t3204-branch-name-interpretation.sh
index 698d9cc4f3..993a6b5eff 100755
--- a/t/t3204-branch-name-interpretation.sh
+++ b/t/t3204-branch-name-interpretation.sh
@@ -6,6 +6,9 @@ Branch name arguments are usually names which are taken to be inside of
refs/heads/, but we interpret some magic syntax like @{-1}, @{upstream}, etc.
This script aims to check the behavior of those corner cases.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
expect_branch() {
@@ -28,7 +31,7 @@ test_expect_success 'update branch via @{-1}' '
git branch previous one &&
git checkout previous &&
- git checkout master &&
+ git checkout main &&
git branch -f @{-1} two &&
expect_branch previous two
@@ -58,7 +61,7 @@ test_expect_success 'delete branch via @{-1}' '
git branch previous-del &&
git checkout previous-del &&
- git checkout master &&
+ git checkout main &&
git branch -D @{-1} &&
expect_deleted previous-del
@@ -98,7 +101,7 @@ test_expect_success 'disallow deleting remote branch via @{-1}' '
git update-ref refs/remotes/origin/previous one &&
git checkout -b origin/previous two &&
- git checkout master &&
+ git checkout main &&
test_must_fail git branch -r -D @{-1} &&
expect_branch refs/remotes/origin/previous one &&
diff --git a/t/t3205-branch-color.sh b/t/t3205-branch-color.sh
index 4f1e16bb44..08bd906173 100755
--- a/t/t3205-branch-color.sh
+++ b/t/t3205-branch-color.sh
@@ -1,11 +1,15 @@
#!/bin/sh
test_description='basic branch output coloring'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'set up some sample branches' '
test_commit foo &&
- git update-ref refs/remotes/origin/master HEAD &&
+ git branch -M main &&
+ git update-ref refs/remotes/origin/main HEAD &&
git update-ref refs/heads/other HEAD
'
@@ -19,9 +23,9 @@ test_expect_success 'set up some color config' '
test_expect_success 'regular output shows colors' '
cat >expect <<-\EOF &&
- * <CYAN>master<RESET>
+ * <CYAN>main<RESET>
<BLUE>other<RESET>
- <YELLOW>remotes/origin/master<RESET>
+ <YELLOW>remotes/origin/main<RESET>
EOF
git branch --color -a >actual.raw &&
test_decode_color <actual.raw >actual &&
@@ -31,9 +35,9 @@ test_expect_success 'regular output shows colors' '
test_expect_success 'verbose output shows colors' '
oid=$(git rev-parse --short HEAD) &&
cat >expect <<-EOF &&
- * <CYAN>master <RESET> $oid foo
- <BLUE>other <RESET> $oid foo
- <YELLOW>remotes/origin/master<RESET> $oid foo
+ * <CYAN>main <RESET> $oid foo
+ <BLUE>other <RESET> $oid foo
+ <YELLOW>remotes/origin/main<RESET> $oid foo
EOF
git branch --color -v -a >actual.raw &&
test_decode_color <actual.raw >actual &&
diff --git a/t/t3206-range-diff.sh b/t/t3206-range-diff.sh
index 6eb344be03..ce24b5d735 100755
--- a/t/t3206-range-diff.sh
+++ b/t/t3206-range-diff.sh
@@ -2,6 +2,9 @@
test_description='range-diff tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# Note that because of the range-diff's heuristics, test_commit does more
@@ -127,7 +130,7 @@ test_expect_success 'setup' '
'
test_expect_success 'simple A..B A..C (unmodified)' '
- git range-diff --no-color master..topic master..unmodified \
+ git range-diff --no-color main..topic main..unmodified \
>actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid u1) s/5/A/
@@ -145,13 +148,13 @@ test_expect_success 'simple B...C (unmodified)' '
'
test_expect_success 'simple A B C (unmodified)' '
- git range-diff --no-color master topic unmodified >actual &&
+ git range-diff --no-color main topic unmodified >actual &&
# same "expect" as above
test_cmp expect actual
'
test_expect_success 'trivial reordering' '
- git range-diff --no-color master topic reordered >actual &&
+ git range-diff --no-color main topic reordered >actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid r1) s/5/A/
3: $(test_oid t3) = 2: $(test_oid r2) s/11/B/
@@ -162,7 +165,7 @@ test_expect_success 'trivial reordering' '
'
test_expect_success 'removed a commit' '
- git range-diff --no-color master topic removed >actual &&
+ git range-diff --no-color main topic removed >actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid d1) s/5/A/
2: $(test_oid t2) < -: $(test_oid __) s/4/A/
@@ -173,7 +176,7 @@ test_expect_success 'removed a commit' '
'
test_expect_success 'added a commit' '
- git range-diff --no-color master topic added >actual &&
+ git range-diff --no-color main topic added >actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid a1) s/5/A/
2: $(test_oid t2) = 2: $(test_oid a2) s/4/A/
@@ -185,7 +188,7 @@ test_expect_success 'added a commit' '
'
test_expect_success 'new base, A B C' '
- git range-diff --no-color master topic rebased >actual &&
+ git range-diff --no-color main topic rebased >actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid b1) s/5/A/
2: $(test_oid t2) = 2: $(test_oid b2) s/4/A/
@@ -196,7 +199,7 @@ test_expect_success 'new base, A B C' '
'
test_expect_success 'new base, B...C' '
- # this syntax includes the commits from master!
+ # this syntax includes the commits from main!
git range-diff --no-color topic...rebased >actual &&
cat >expect <<-EOF &&
-: $(test_oid __) > 1: $(test_oid b5) unrelated
@@ -420,7 +423,7 @@ test_expect_success 'file added and later removed' '
test_expect_success 'no commits on one side' '
git commit --amend -m "new message" &&
- git range-diff master HEAD@{1} HEAD
+ git range-diff main HEAD@{1} HEAD
'
test_expect_success 'changed message' '
@@ -482,11 +485,11 @@ test_expect_success 'dual-coloring' '
test_cmp expect actual
'
-for prev in topic master..topic
+for prev in topic main..topic
do
test_expect_success "format-patch --range-diff=$prev" '
git format-patch --cover-letter --range-diff=$prev \
- master..unmodified >actual &&
+ main..unmodified >actual &&
test_when_finished "rm 000?-*" &&
test_line_count = 5 actual &&
test_i18ngrep "^Range-diff:$" 0000-* &&
@@ -511,19 +514,19 @@ test_expect_success 'range-diff overrides diff.noprefix internally' '
test_expect_success 'basic with modified format.pretty with suffix' '
git -c format.pretty="format:commit %H%d%n" range-diff \
- master..topic master..unmodified
+ main..topic main..unmodified
'
test_expect_success 'basic with modified format.pretty without "commit "' '
git -c format.pretty="format:%H%n" range-diff \
- master..topic master..unmodified
+ main..topic main..unmodified
'
test_expect_success 'range-diff compares notes by default' '
git notes add -m "topic note" topic &&
git notes add -m "unmodified note" unmodified &&
test_when_finished git notes remove topic unmodified &&
- git range-diff --no-color master..topic master..unmodified \
+ git range-diff --no-color main..topic main..unmodified \
>actual &&
sed s/Z/\ /g >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid u1) s/5/A/
@@ -547,7 +550,7 @@ test_expect_success 'range-diff with --no-notes' '
git notes add -m "topic note" topic &&
git notes add -m "unmodified note" unmodified &&
test_when_finished git notes remove topic unmodified &&
- git range-diff --no-color --no-notes master..topic master..unmodified \
+ git range-diff --no-color --no-notes main..topic main..unmodified \
>actual &&
cat >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid u1) s/5/A/
@@ -565,7 +568,7 @@ test_expect_success 'range-diff with multiple --notes' '
git notes --ref=note2 add -m "topic note2" topic &&
git notes --ref=note2 add -m "unmodified note2" unmodified &&
test_when_finished git notes --ref=note2 remove topic unmodified &&
- git range-diff --no-color --notes=note1 --notes=note2 master..topic master..unmodified \
+ git range-diff --no-color --notes=note1 --notes=note2 main..topic main..unmodified \
>actual &&
sed s/Z/\ /g >expect <<-EOF &&
1: $(test_oid t1) = 1: $(test_oid u1) s/5/A/
@@ -595,7 +598,7 @@ test_expect_success 'format-patch --range-diff does not compare notes by default
git notes add -m "unmodified note" unmodified &&
test_when_finished git notes remove topic unmodified &&
git format-patch --cover-letter --range-diff=$prev \
- master..unmodified >actual &&
+ main..unmodified >actual &&
test_when_finished "rm 000?-*" &&
test_line_count = 5 actual &&
test_i18ngrep "^Range-diff:$" 0000-* &&
@@ -612,7 +615,7 @@ test_expect_success 'format-patch --range-diff with --no-notes' '
git notes add -m "unmodified note" unmodified &&
test_when_finished git notes remove topic unmodified &&
git format-patch --no-notes --cover-letter --range-diff=$prev \
- master..unmodified >actual &&
+ main..unmodified >actual &&
test_when_finished "rm 000?-*" &&
test_line_count = 5 actual &&
test_i18ngrep "^Range-diff:$" 0000-* &&
@@ -629,7 +632,7 @@ test_expect_success 'format-patch --range-diff with --notes' '
git notes add -m "unmodified note" unmodified &&
test_when_finished git notes remove topic unmodified &&
git format-patch --notes --cover-letter --range-diff=$prev \
- master..unmodified >actual &&
+ main..unmodified >actual &&
test_when_finished "rm 000?-*" &&
test_line_count = 5 actual &&
test_i18ngrep "^Range-diff:$" 0000-* &&
@@ -658,7 +661,7 @@ test_expect_success 'format-patch --range-diff with format.notes config' '
test_when_finished git notes remove topic unmodified &&
test_config format.notes true &&
git format-patch --cover-letter --range-diff=$prev \
- master..unmodified >actual &&
+ main..unmodified >actual &&
test_when_finished "rm 000?-*" &&
test_line_count = 5 actual &&
test_i18ngrep "^Range-diff:$" 0000-* &&
@@ -689,7 +692,7 @@ test_expect_success 'format-patch --range-diff with multiple notes' '
git notes --ref=note2 add -m "unmodified note2" unmodified &&
test_when_finished git notes --ref=note2 remove topic unmodified &&
git format-patch --notes=note1 --notes=note2 --cover-letter --range-diff=$prev \
- master..unmodified >actual &&
+ main..unmodified >actual &&
test_when_finished "rm 000?-*" &&
test_line_count = 5 actual &&
test_i18ngrep "^Range-diff:$" 0000-* &&
diff --git a/t/t3206/history.export b/t/t3206/history.export
index 4c808e5b3b..4485adc37b 100644
--- a/t/t3206/history.export
+++ b/t/t3206/history.export
@@ -168,7 +168,7 @@ mark :11
data 10
unrelated
-commit refs/heads/master
+commit refs/heads/main
mark :12
author Thomas Rast <trast@inf.ethz.ch> 1374485127 +0200
committer Thomas Rast <trast@inf.ethz.ch> 1374485127 +0200
diff --git a/t/t3210-pack-refs.sh b/t/t3210-pack-refs.sh
index f41b2afb99..3b7cdc56ec 100755
--- a/t/t3210-pack-refs.sh
+++ b/t/t3210-pack-refs.sh
@@ -9,6 +9,9 @@ test_description='git pack-refs should not change the branch semantic
This test runs git pack-refs and git show-ref and checks that the branch
semantic is still the same.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'enable reflogs' '
@@ -135,7 +138,7 @@ test_expect_success 'delete ref with dangling packed version' '
git commit --allow-empty -m "future garbage" &&
git pack-refs --all &&
git reset --hard HEAD^ &&
- git checkout master &&
+ git checkout main &&
git reflog expire --expire=all --all &&
git prune --expire=all &&
git branch -d lamb 2>result &&
@@ -240,7 +243,7 @@ test_expect_success 'retry acquiring packed-refs.lock' '
test_expect_success SYMLINKS 'pack symlinked packed-refs' '
# First make sure that symlinking works when reading:
- git update-ref refs/heads/lossy refs/heads/master &&
+ git update-ref refs/heads/lossy refs/heads/main &&
git for-each-ref >all-refs-before &&
mv .git/packed-refs .git/my-deviant-packed-refs &&
ln -s my-deviant-packed-refs .git/packed-refs &&
diff --git a/t/t3211-peel-ref.sh b/t/t3211-peel-ref.sh
index 3b7caca421..37b9d26f4b 100755
--- a/t/t3211-peel-ref.sh
+++ b/t/t3211-peel-ref.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='tests for the peel_ref optimization of packed-refs'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'create annotated tag in refs/tags' '
@@ -19,7 +22,7 @@ print_ref() {
test_expect_success 'set up expected show-ref output' '
{
- print_ref "refs/heads/master" &&
+ print_ref "refs/heads/main" &&
print_ref "refs/outside/foo" &&
print_ref "refs/outside/foo^{}" &&
print_ref "refs/tags/base" &&
@@ -47,7 +50,7 @@ test_expect_success 'create old-style pack-refs without fully-peeled' '
# know we are emulating exactly what an older git would have written.
{
echo "# pack-refs with: peeled " &&
- print_ref "refs/heads/master" &&
+ print_ref "refs/heads/main" &&
print_ref "refs/outside/foo" &&
print_ref "refs/tags/base" &&
print_ref "refs/tags/foo" &&
diff --git a/t/t3301-notes.sh b/t/t3301-notes.sh
index 8f43303007..4af881f0ba 100755
--- a/t/t3301-notes.sh
+++ b/t/t3301-notes.sh
@@ -672,6 +672,11 @@ test_expect_success 'notes.displayRef respects order' '
test_cmp expect-both-reversed actual
'
+test_expect_success 'notes.displayRef with no value handled gracefully' '
+ test_must_fail git -c notes.displayRef log -0 --notes &&
+ test_must_fail git -c notes.displayRef diff-tree --notes HEAD
+'
+
test_expect_success 'GIT_NOTES_DISPLAY_REF works' '
GIT_NOTES_DISPLAY_REF=refs/notes/commits:refs/notes/other \
git log -2 >actual &&
@@ -1295,11 +1300,11 @@ test_expect_success 'git notes copy diagnoses too many or too few parameters' '
test_i18ngrep "too many parameters" error
'
-test_expect_success 'git notes get-ref expands refs/heads/master to refs/notes/refs/heads/master' '
+test_expect_success 'git notes get-ref expands refs/heads/main to refs/notes/refs/heads/main' '
test_unconfig core.notesRef &&
sane_unset GIT_NOTES_REF &&
- echo refs/notes/refs/heads/master >expect &&
- git notes --ref=refs/heads/master get-ref >actual &&
+ echo refs/notes/refs/heads/main >expect &&
+ git notes --ref=refs/heads/main get-ref >actual &&
test_cmp expect actual
'
diff --git a/t/t3302-notes-index-expensive.sh b/t/t3302-notes-index-expensive.sh
index 7217c5e222..ef8b63952e 100755
--- a/t/t3302-notes-index-expensive.sh
+++ b/t/t3302-notes-index-expensive.sh
@@ -5,6 +5,9 @@
test_description='Test commit notes index (expensive!)'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
create_repo () {
@@ -20,7 +23,7 @@ create_repo () {
notemark=$(($mark+1))
test_tick &&
cat <<-INPUT_END &&
- commit refs/heads/master
+ commit refs/heads/main
mark :$mark
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
diff --git a/t/t3303-notes-subtrees.sh b/t/t3303-notes-subtrees.sh
index 704aee81ef..d47ce00f69 100755
--- a/t/t3303-notes-subtrees.sh
+++ b/t/t3303-notes-subtrees.sh
@@ -2,6 +2,9 @@
test_description='Test commit notes organized in subtrees'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
number_of_commits=100
@@ -40,7 +43,7 @@ test_expect_success "setup: create $number_of_commits commits" '
nr=$(($nr+1)) &&
test_tick &&
cat <<INPUT_END
-commit refs/heads/master
+commit refs/heads/main
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
commit #$nr
@@ -75,7 +78,7 @@ test_sha1_based () {
(
start_note_commit &&
nr=$number_of_commits &&
- git rev-list refs/heads/master |
+ git rev-list refs/heads/main |
while read sha1; do
note_path=$(echo "$sha1" | sed "$1")
cat <<INPUT_END &&
@@ -105,7 +108,7 @@ test_same_notes () {
(
start_note_commit &&
nr=$number_of_commits &&
- git rev-list refs/heads/master |
+ git rev-list refs/heads/main |
while read sha1; do
first_note_path=$(echo "$sha1" | sed "$1")
second_note_path=$(echo "$sha1" | sed "$2")
@@ -144,7 +147,7 @@ test_concatenated_notes () {
(
start_note_commit &&
nr=$number_of_commits &&
- git rev-list refs/heads/master |
+ git rev-list refs/heads/main |
while read sha1; do
first_note_path=$(echo "$sha1" | sed "$1")
second_note_path=$(echo "$sha1" | sed "$2")
diff --git a/t/t3304-notes-mixed.sh b/t/t3304-notes-mixed.sh
index 1709e8c00b..03dfcd3954 100755
--- a/t/t3304-notes-mixed.sh
+++ b/t/t3304-notes-mixed.sh
@@ -2,6 +2,9 @@
test_description='Test notes trees that also contain non-notes'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
number_of_commits=100
@@ -36,7 +39,7 @@ test_expect_success "setup: create a couple of commits" '
test_tick &&
cat <<INPUT_END >input &&
-commit refs/heads/master
+commit refs/heads/main
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
commit #1
@@ -51,7 +54,7 @@ INPUT_END
test_tick &&
cat <<INPUT_END >>input &&
-commit refs/heads/master
+commit refs/heads/main
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
commit #2
@@ -68,8 +71,8 @@ INPUT_END
test_expect_success "create a notes tree with both notes and non-notes" '
- commit1=$(git rev-parse refs/heads/master^) &&
- commit2=$(git rev-parse refs/heads/master) &&
+ commit1=$(git rev-parse refs/heads/main^) &&
+ commit2=$(git rev-parse refs/heads/main) &&
test_tick &&
cat <<INPUT_END >input &&
commit refs/notes/commits
diff --git a/t/t3308-notes-merge.sh b/t/t3308-notes-merge.sh
index d69c84c640..202702be1a 100755
--- a/t/t3308-notes-merge.sh
+++ b/t/t3308-notes-merge.sh
@@ -108,7 +108,7 @@ test_expect_success 'fail to merge into various non-notes refs' '
git update-ref refs/notes/dir/foo HEAD &&
test_must_fail git -c "core.notesRef=refs/notes/dir" notes merge x &&
test_must_fail git -c "core.notesRef=refs/notes/dir/" notes merge x &&
- test_must_fail git -c "core.notesRef=refs/heads/master" notes merge x &&
+ test_must_fail git -c "core.notesRef=refs/heads/main" notes merge x &&
test_must_fail git -c "core.notesRef=refs/notes/y:" notes merge x &&
test_must_fail git -c "core.notesRef=refs/notes/y:foo" notes merge x &&
test_must_fail git -c "core.notesRef=refs/notes/foo^{bar" notes merge x
diff --git a/t/t3320-notes-merge-worktrees.sh b/t/t3320-notes-merge-worktrees.sh
index 823fdbda1f..052516e6c6 100755
--- a/t/t3320-notes-merge-worktrees.sh
+++ b/t/t3320-notes-merge-worktrees.sh
@@ -5,6 +5,9 @@
test_description='Test merging of notes trees in multiple worktrees'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup commit' '
@@ -36,8 +39,8 @@ test_expect_success 'modify notes ref ourselves (x)' '
'
test_expect_success 'create some new worktrees' '
- git worktree add -b newbranch worktree master &&
- git worktree add -b newbranch2 worktree2 master
+ git worktree add -b newbranch worktree main &&
+ git worktree add -b newbranch2 worktree2 main
'
test_expect_success 'merge z into y fails and sets NOTES_MERGE_REF' '
diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh
index 40d2975995..5e88a10f8d 100755
--- a/t/t3400-rebase.sh
+++ b/t/t3400-rebase.sh
@@ -8,6 +8,9 @@ test_description='git rebase assorted tests
This test runs git rebase and checks that the author information is not lost
among other things.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
GIT_AUTHOR_NAME=author@name
@@ -24,15 +27,15 @@ test_expect_success 'prepare repository with topic branches' '
git update-index --add Y &&
git commit -m "Add Y." &&
git checkout -b filemove &&
- git reset --soft master &&
+ git reset --soft main &&
mkdir D &&
git mv A D/A &&
git commit -m "Move A." &&
- git checkout -b my-topic-branch master &&
+ git checkout -b my-topic-branch main &&
echo Second >B &&
git update-index --add B &&
git commit -m "Add B." &&
- git checkout -f master &&
+ git checkout -f main &&
echo Third >>A &&
git update-index A &&
git commit -m "Modify A." &&
@@ -46,23 +49,23 @@ test_expect_success 'prepare repository with topic branches' '
test_expect_success 'rebase on dirty worktree' '
echo dirty >>A &&
- test_must_fail git rebase master
+ test_must_fail git rebase main
'
test_expect_success 'rebase on dirty cache' '
git add A &&
- test_must_fail git rebase master
+ test_must_fail git rebase main
'
-test_expect_success 'rebase against master' '
+test_expect_success 'rebase against main' '
git reset --hard HEAD &&
- git rebase master
+ git rebase main
'
test_expect_success 'rebase sets ORIG_HEAD to pre-rebase state' '
git checkout -b orig-head topic &&
pre="$(git rev-parse --verify HEAD)" &&
- git rebase master &&
+ git rebase main &&
test_cmp_rev "$pre" ORIG_HEAD &&
test_cmp_rev ! "$pre" HEAD
'
@@ -93,19 +96,19 @@ test_expect_success 'HEAD was detached during rebase' '
test_expect_success 'rebase from ambiguous branch name' '
git checkout -b topic side &&
- git rebase master
+ git rebase main
'
test_expect_success 'rebase off of the previous branch using "-"' '
- git checkout master &&
+ git checkout main &&
git checkout HEAD^ &&
git rebase @{-1} >expect.messages &&
- git merge-base master HEAD >expect.forkpoint &&
+ git merge-base main HEAD >expect.forkpoint &&
- git checkout master &&
+ git checkout main &&
git checkout HEAD^ &&
git rebase - >actual.messages &&
- git merge-base master HEAD >actual.forkpoint &&
+ git merge-base main HEAD >actual.forkpoint &&
test_cmp expect.forkpoint actual.forkpoint &&
# the next one is dubious---we may want to say "-",
@@ -114,7 +117,7 @@ test_expect_success 'rebase off of the previous branch using "-"' '
'
test_expect_success 'rebase a single mode change' '
- git checkout master &&
+ git checkout main &&
git branch -D topic &&
echo 1 >X &&
git add X &&
@@ -126,7 +129,7 @@ test_expect_success 'rebase a single mode change' '
test_chmod +x A &&
test_tick &&
git commit -m modechange &&
- GIT_TRACE=1 git rebase master
+ GIT_TRACE=1 git rebase main
'
test_expect_success 'rebase is not broken by diff.renames' '
@@ -162,11 +165,11 @@ test_expect_success 'fail when upstream arg is missing and not configured' '
test_expect_success 'rebase works with format.useAutoBase' '
test_config format.useAutoBase true &&
git checkout topic &&
- git rebase master
+ git rebase main
'
test_expect_success 'default to common base in @{upstream}s reflog if no upstream arg (--merge)' '
- git checkout -b default-base master &&
+ git checkout -b default-base main &&
git checkout -b default topic &&
git config branch.default.remote . &&
git config branch.default.merge refs/heads/default-base &&
@@ -184,7 +187,7 @@ test_expect_success 'default to common base in @{upstream}s reflog if no upstrea
'
test_expect_success 'default to common base in @{upstream}s reflog if no upstream arg (--apply)' '
- git checkout -B default-base master &&
+ git checkout -B default-base main &&
git checkout -B default topic &&
git config branch.default.remote . &&
git config branch.default.merge refs/heads/default-base &&
@@ -226,13 +229,13 @@ test_expect_success 'cherry-picked commits and fork-point work together' '
test_expect_success 'rebase --apply -q is quiet' '
git checkout -b quiet topic &&
- git rebase --apply -q master >output.out 2>&1 &&
+ git rebase --apply -q main >output.out 2>&1 &&
test_must_be_empty output.out
'
test_expect_success 'rebase --merge -q is quiet' '
git checkout -B quiet topic &&
- git rebase --merge -q master >output.out 2>&1 &&
+ git rebase --merge -q main >output.out 2>&1 &&
test_must_be_empty output.out
'
@@ -294,7 +297,7 @@ test_expect_success 'rebase commit with an ancient timestamp' '
'
test_expect_success 'rebase with "From " line in commit message' '
- git checkout -b preserve-from master~1 &&
+ git checkout -b preserve-from main~1 &&
cat >From_.msg <<EOF &&
Somebody embedded an mbox in a commit message
@@ -310,7 +313,7 @@ EOF
>From_ &&
git add From_ &&
git commit -F From_.msg &&
- git rebase master &&
+ git rebase main &&
git log -1 --pretty=format:%B >out &&
test_cmp From_.msg out
'
@@ -357,12 +360,12 @@ test_expect_success 'rebase --apply and .gitattributes' '
git cherry-pick test &&
git checkout test &&
- git rebase master &&
+ git rebase main &&
grep "smudged" a.txt &&
git checkout removal &&
git reset --hard &&
- git rebase master &&
+ git rebase main &&
grep "clean" a.txt
)
'
@@ -402,20 +405,20 @@ test_expect_success 'rebase -c rebase.useBuiltin=false warning' '
'
test_expect_success 'switch to branch checked out here' '
- git checkout master &&
- git rebase master master
+ git checkout main &&
+ git rebase main main
'
test_expect_success 'switch to branch not checked out' '
- git checkout master &&
+ git checkout main &&
git branch other &&
- git rebase master other
+ git rebase main other
'
test_expect_success 'refuse to switch to branch checked out elsewhere' '
- git checkout master &&
+ git checkout main &&
git worktree add wt &&
- test_must_fail git -C wt rebase master master 2>err &&
+ test_must_fail git -C wt rebase main main 2>err &&
test_i18ngrep "already checked out" err
'
diff --git a/t/t3402-rebase-merge.sh b/t/t3402-rebase-merge.sh
index 6e032716a6..cfde68f193 100755
--- a/t/t3402-rebase-merge.sh
+++ b/t/t3402-rebase-merge.sh
@@ -5,6 +5,9 @@
test_description='git rebase --merge test'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
T="A quick brown fox
@@ -19,10 +22,10 @@ test_expect_success setup '
git commit -m"initial" &&
git branch side &&
echo "11 $T" >>original &&
- git commit -a -m"master updates a bit." &&
+ git commit -a -m"main updates a bit." &&
echo "12 $T" >>original &&
- git commit -a -m"master updates a bit more." &&
+ git commit -a -m"main updates a bit more." &&
git checkout side &&
(echo "0 $T" && cat original) >renamed &&
@@ -47,13 +50,13 @@ test_expect_success setup '
'
test_expect_success 'reference merge' '
- git merge -s recursive -m "reference merge" master
+ git merge -s recursive -m "reference merge" main
'
PRE_REBASE=$(git rev-parse test-rebase)
test_expect_success rebase '
git checkout test-rebase &&
- GIT_TRACE=1 git rebase --merge master
+ GIT_TRACE=1 git rebase --merge main
'
test_expect_success 'test-rebase@{1} is pre rebase' '
@@ -72,24 +75,24 @@ test_expect_success 'merge and rebase should match' '
'
test_expect_success 'rebase the other way' '
- git reset --hard master &&
+ git reset --hard main &&
git rebase --merge side
'
test_expect_success 'rebase -Xtheirs' '
- git checkout -b conflicting master~2 &&
+ git checkout -b conflicting main~2 &&
echo "AB $T" >> original &&
git commit -mconflicting original &&
- git rebase -Xtheirs master &&
+ git rebase -Xtheirs main &&
grep AB original &&
! grep 11 original
'
test_expect_success 'rebase -Xtheirs from orphan' '
- git checkout --orphan orphan-conflicting master~2 &&
+ git checkout --orphan orphan-conflicting main~2 &&
echo "AB $T" >> original &&
git commit -morphan-conflicting original &&
- git rebase -Xtheirs master &&
+ git rebase -Xtheirs main &&
grep AB original &&
! grep 11 original
'
@@ -107,9 +110,9 @@ test_expect_success 'merge and rebase should match' '
test_expect_success 'picking rebase' '
git reset --hard side &&
- git rebase --merge --onto master side^^ &&
- mb=$(git merge-base master HEAD) &&
- if test "$mb" = "$(git rev-parse master)"
+ git rebase --merge --onto main side^^ &&
+ mb=$(git merge-base main HEAD) &&
+ if test "$mb" = "$(git rev-parse main)"
then
echo happy
else
@@ -140,11 +143,11 @@ test_expect_success 'rebase -s funny -Xopt' '
EOF
chmod +x test-bin/git-merge-funny &&
git reset --hard &&
- git checkout -b test-funny master^ &&
+ git checkout -b test-funny main^ &&
test_commit funny &&
(
PATH=./test-bin:$PATH &&
- git rebase -s funny -Xopt master
+ git rebase -s funny -Xopt main
) &&
test -f funny.was.run
'
@@ -165,7 +168,7 @@ test_expect_success 'rebase --skip works with two conflicts in a row' '
test_expect_success '--reapply-cherry-picks' '
git init repo &&
- # O(1-10) -- O(1-11) -- O(0-10) master
+ # O(1-10) -- O(1-11) -- O(0-10) main
# \
# -- O(1-11) -- O(1-12) otherbranch
@@ -187,18 +190,18 @@ test_expect_success '--reapply-cherry-picks' '
git -C repo commit -a -m "add 12 in another branch" &&
# Regular rebase fails, because the 1-11 commit is deduplicated
- test_must_fail git -C repo rebase --merge master 2> err &&
+ test_must_fail git -C repo rebase --merge main 2> err &&
test_i18ngrep "error: could not apply.*add 12 in another branch" err &&
git -C repo rebase --abort &&
# With --reapply-cherry-picks, it works
- git -C repo rebase --merge --reapply-cherry-picks master
+ git -C repo rebase --merge --reapply-cherry-picks main
'
test_expect_success '--reapply-cherry-picks refrains from reading unneeded blobs' '
git init server &&
- # O(1-10) -- O(1-11) -- O(1-12) master
+ # O(1-10) -- O(1-11) -- O(1-12) main
# \
# -- O(0-10) otherbranch
@@ -220,18 +223,18 @@ test_expect_success '--reapply-cherry-picks refrains from reading unneeded blobs
test_config -C server uploadpack.allowanysha1inwant 1 &&
git clone --filter=blob:none "file://$(pwd)/server" client &&
- git -C client checkout origin/master &&
+ git -C client checkout origin/main &&
git -C client checkout origin/otherbranch &&
# Sanity check to ensure that the blobs from the merge base and "add
# 11" are missing
git -C client rev-list --objects --all --missing=print >missing_list &&
- MERGE_BASE_BLOB=$(git -C server rev-parse master^^:file.txt) &&
- ADD_11_BLOB=$(git -C server rev-parse master^:file.txt) &&
+ MERGE_BASE_BLOB=$(git -C server rev-parse main^^:file.txt) &&
+ ADD_11_BLOB=$(git -C server rev-parse main^:file.txt) &&
grep "[?]$MERGE_BASE_BLOB" missing_list &&
grep "[?]$ADD_11_BLOB" missing_list &&
- git -C client rebase --merge --reapply-cherry-picks origin/master &&
+ git -C client rebase --merge --reapply-cherry-picks origin/main &&
# The blob from the merge base had to be fetched, but not "add 11"
git -C client rev-list --objects --all --missing=print >missing_list &&
diff --git a/t/t3403-rebase-skip.sh b/t/t3403-rebase-skip.sh
index a927774910..e26762d0b2 100755
--- a/t/t3403-rebase-skip.sh
+++ b/t/t3403-rebase-skip.sh
@@ -5,6 +5,9 @@
test_description='git rebase --merge --skip tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-rebase.sh
@@ -48,7 +51,7 @@ test_expect_success setup '
'
test_expect_success 'rebase with git am -3 (default)' '
- test_must_fail git rebase master
+ test_must_fail git rebase main
'
test_expect_success 'rebase --skip can not be used with other options' '
@@ -64,7 +67,7 @@ test_expect_success 'rebase moves back to skip-reference' '
test refs/heads/skip-reference = $(git symbolic-ref HEAD) &&
git branch post-rebase &&
git reset --hard pre-rebase &&
- test_must_fail git rebase master &&
+ test_must_fail git rebase main &&
echo "hello" > hello &&
git add hello &&
git rebase --continue &&
@@ -75,7 +78,7 @@ test_expect_success 'rebase moves back to skip-reference' '
test_expect_success 'checkout skip-merge' 'git checkout -f skip-merge'
test_expect_success 'rebase with --merge' '
- test_must_fail git rebase --merge master
+ test_must_fail git rebase --merge main
'
test_expect_success 'rebase --skip with --merge' '
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index 07a1617351..1e738df81d 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -12,7 +12,7 @@ Initial setup:
one - two - three - four (conflict-branch)
/
- A - B - C - D - E (master)
+ A - B - C - D - E (primary)
| \
| F - G - H (branch1)
| \
@@ -25,11 +25,15 @@ Initial setup:
where A, B, D and G all touch file1, and one, two, three, four all
touch file "conflict".
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-rebase.sh
test_expect_success 'setup' '
+ git switch -C primary &&
test_commit A file1 &&
test_commit B file1 &&
test_commit C file2 &&
@@ -65,7 +69,7 @@ SHELL=
export SHELL
test_expect_success 'rebase --keep-empty' '
- git checkout -b emptybranch master &&
+ git checkout -b emptybranch primary &&
git commit --allow-empty -m "empty" &&
git rebase --keep-empty -i HEAD~2 &&
git log --oneline >actual &&
@@ -86,7 +90,7 @@ test_expect_success 'rebase -i with empty todo list' '
'
test_expect_success 'rebase -i with the exec command' '
- git checkout master &&
+ git checkout primary &&
(
set_fake_editor &&
FAKE_LINES="1 exec_>touch-one
@@ -103,12 +107,12 @@ test_expect_success 'rebase -i with the exec command' '
test_path_is_file touch-three &&
test_path_is_file "touch-file name with spaces" &&
test_path_is_file touch-after-semicolon &&
- test_cmp_rev master HEAD &&
+ test_cmp_rev primary HEAD &&
rm -f touch-*
'
test_expect_success 'rebase -i with the exec command runs from tree root' '
- git checkout master &&
+ git checkout primary &&
mkdir subdir && (cd subdir &&
set_fake_editor &&
FAKE_LINES="1 exec_>touch-subdir" \
@@ -121,7 +125,7 @@ test_expect_success 'rebase -i with the exec command runs from tree root' '
test_expect_success 'rebase -i with exec allows git commands in subdirs' '
test_when_finished "rm -rf subdir" &&
test_when_finished "git rebase --abort ||:" &&
- git checkout master &&
+ git checkout primary &&
mkdir subdir && (cd subdir &&
set_fake_editor &&
FAKE_LINES="1 x_cd_subdir_&&_git_rev-parse_--is-inside-work-tree" \
@@ -139,13 +143,13 @@ test_expect_success 'rebase -i sets work tree properly' '
'
test_expect_success 'rebase -i with the exec command checks tree cleanness' '
- git checkout master &&
+ git checkout primary &&
(
set_fake_editor &&
test_must_fail env FAKE_LINES="exec_echo_foo_>file1 1" \
git rebase -i HEAD^
) &&
- test_cmp_rev master^ HEAD &&
+ test_cmp_rev primary^ HEAD &&
git reset --hard &&
git rebase --continue
'
@@ -168,7 +172,7 @@ test_expect_success 'rebase -x with newline in command fails' '
'
test_expect_success 'rebase -i with exec of inexistent command' '
- git checkout master &&
+ git checkout primary &&
test_when_finished "git rebase --abort" &&
(
set_fake_editor &&
@@ -259,8 +263,8 @@ test_expect_success 'stop on conflicting pick' '
>>>>>>> $commit (G)
EOF
git tag new-branch1 &&
- test_must_fail git rebase -i master &&
- test "$(git rev-parse HEAD~3)" = "$(git rev-parse master)" &&
+ test_must_fail git rebase -i primary &&
+ test "$(git rev-parse HEAD~3)" = "$(git rev-parse primary)" &&
test_cmp expect .git/rebase-merge/patch &&
test_cmp expect2 file1 &&
test "$(git diff --name-status |
@@ -287,7 +291,7 @@ test_expect_success 'abort' '
test_expect_success 'abort with error when new base cannot be checked out' '
git rm --cached file1 &&
git commit -m "remove file in base" &&
- test_must_fail git rebase -i master > output 2>&1 &&
+ test_must_fail git rebase -i primary > output 2>&1 &&
test_i18ngrep "The following untracked working tree files would be overwritten by checkout:" \
output &&
test_i18ngrep "file1" output &&
@@ -301,7 +305,7 @@ test_expect_success 'retain authorship' '
test_tick &&
GIT_AUTHOR_NAME="Twerp Snog" git commit -m "different author" &&
git tag twerp &&
- git rebase -i --onto master HEAD^ &&
+ git rebase -i --onto primary HEAD^ &&
git show HEAD | grep "^Author: Twerp Snog"
'
@@ -336,10 +340,10 @@ test_expect_success 'squash' '
(
set_fake_editor &&
FAKE_LINES="1 squash 2" EXPECT_HEADER_COUNT=2 \
- git rebase -i --onto master HEAD~2
+ git rebase -i --onto primary HEAD~2
) &&
test B = $(cat file7) &&
- test_cmp_rev HEAD^ master
+ test_cmp_rev HEAD^ primary
'
test_expect_success 'retain authorship when squashing' '
@@ -366,12 +370,12 @@ test_expect_failure REBASE_P 'exchange two commits with -p' '
'
test_expect_success REBASE_P 'preserve merges with -p' '
- git checkout -b to-be-preserved master^ &&
+ git checkout -b to-be-preserved primary^ &&
: > unrelated-file &&
git add unrelated-file &&
test_tick &&
git commit -m "unrelated" &&
- git checkout -b another-branch master &&
+ git checkout -b another-branch primary &&
echo B > file1 &&
test_tick &&
git commit -m J file1 &&
@@ -394,7 +398,7 @@ test_expect_success REBASE_P 'preserve merges with -p' '
git commit -m M file1 &&
git checkout -b to-be-rebased &&
test_tick &&
- git rebase -i -p --onto branch1 master &&
+ git rebase -i -p --onto branch1 primary &&
git update-index --refresh &&
git diff-files --quiet &&
git diff-index --quiet --cached HEAD -- &&
@@ -437,7 +441,7 @@ test_expect_success '--continue tries to commit' '
'
test_expect_success 'verbose flag is heeded, even after --continue' '
- git reset --hard master@{1} &&
+ git reset --hard primary@{1} &&
test_tick &&
test_must_fail git rebase -v -i --onto new-branch1 HEAD^ &&
echo resolved > file1 &&
@@ -802,7 +806,7 @@ test_expect_success 'rebase -i continue with unstaged submodule' '
'
test_expect_success 'avoid unnecessary reset' '
- git checkout master &&
+ git checkout primary &&
git reset --hard &&
test-tool chmtime =123456789 file3 &&
git update-index --refresh &&
@@ -814,14 +818,14 @@ test_expect_success 'avoid unnecessary reset' '
'
test_expect_success 'reword' '
- git checkout -b reword-branch master &&
+ git checkout -b reword-branch primary &&
(
set_fake_editor &&
FAKE_LINES="1 2 3 reword 4" FAKE_COMMIT_MESSAGE="E changed" \
git rebase -i A &&
git show HEAD | grep "E changed" &&
- test $(git rev-parse master) != $(git rev-parse HEAD) &&
- test_cmp_rev master^ HEAD^ &&
+ test $(git rev-parse primary) != $(git rev-parse HEAD) &&
+ test_cmp_rev primary^ HEAD^ &&
FAKE_LINES="1 2 reword 3 4" FAKE_COMMIT_MESSAGE="D changed" \
git rebase -i A &&
git show HEAD^ | grep "D changed" &&
@@ -918,7 +922,7 @@ test_expect_success 'rebase-i history with funny messages' '
'
test_expect_success 'prepare for rebase -i --exec' '
- git checkout master &&
+ git checkout primary &&
git checkout -b execute &&
test_commit one_exec main.txt one_exec &&
test_commit two_exec main.txt two_exec &&
@@ -1027,7 +1031,7 @@ test_expect_success 'rebase -i --exec without <CMD>' '
git reset --hard execute &&
test_must_fail git rebase -i --exec 2>actual &&
test_i18ngrep "requires a value" actual &&
- git checkout master
+ git checkout primary
'
test_expect_success 'rebase -i --root re-order and drop commits' '
@@ -1079,7 +1083,7 @@ test_expect_success 'rebase -i --root fixup root commit' '
test_expect_success 'rebase -i --root reword original root commit' '
test_when_finished "test_might_fail git rebase --abort" &&
- git checkout -b reword-original-root-branch master &&
+ git checkout -b reword-original-root-branch primary &&
(
set_fake_editor &&
FAKE_LINES="reword 1 2" FAKE_COMMIT_MESSAGE="A changed" \
@@ -1091,7 +1095,7 @@ test_expect_success 'rebase -i --root reword original root commit' '
test_expect_success 'rebase -i --root reword new root commit' '
test_when_finished "test_might_fail git rebase --abort" &&
- git checkout -b reword-now-root-branch master &&
+ git checkout -b reword-now-root-branch primary &&
(
set_fake_editor &&
FAKE_LINES="reword 3 1" FAKE_COMMIT_MESSAGE="C changed" \
@@ -1251,7 +1255,7 @@ test_expect_success 'rebase -i error on commits with \ in message' '
'
test_expect_success 'short commit ID setup' '
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout primary" &&
git checkout --orphan collide &&
git rm -rf . &&
(
@@ -1292,7 +1296,7 @@ test_expect_success 'short commit ID collide' '
t3404_collider sha1:ac4f2ee
t3404_collider sha256:16697
EOF
- test_when_finished "reset_rebase && git checkout master" &&
+ test_when_finished "reset_rebase && git checkout primary" &&
git checkout collide &&
colliding_id=$(test_oid t3404_collision) &&
hexsz=$(test_oid hexsz) &&
@@ -1416,11 +1420,11 @@ test_expect_success 'rebase --continue removes CHERRY_PICK_HEAD' '
rebase_setup_and_clean () {
test_when_finished "
- git checkout master &&
+ git checkout primary &&
test_might_fail git branch -D $1 &&
test_might_fail git rebase --abort
" &&
- git checkout -b $1 ${2:-master}
+ git checkout -b $1 ${2:-primary}
}
test_expect_success 'drop' '
@@ -1451,7 +1455,7 @@ test_expect_success 'rebase -i respects rebase.missingCommitsCheck = warn' '
cat >expect <<-EOF &&
Warning: some commits may have been dropped accidentally.
Dropped commits (newer to older):
- - $(git rev-list --pretty=oneline --abbrev-commit -1 master)
+ - $(git rev-list --pretty=oneline --abbrev-commit -1 primary)
To avoid this message, use "drop" to explicitly remove a commit.
EOF
test_config rebase.missingCommitsCheck warn &&
@@ -1469,8 +1473,8 @@ test_expect_success 'rebase -i respects rebase.missingCommitsCheck = error' '
cat >expect <<-EOF &&
Warning: some commits may have been dropped accidentally.
Dropped commits (newer to older):
- - $(git rev-list --pretty=oneline --abbrev-commit -1 master)
- - $(git rev-list --pretty=oneline --abbrev-commit -1 master~2)
+ - $(git rev-list --pretty=oneline --abbrev-commit -1 primary)
+ - $(git rev-list --pretty=oneline --abbrev-commit -1 primary~2)
To avoid this message, use "drop" to explicitly remove a commit.
Use '\''git config rebase.missingCommitsCheck'\'' to change the level of warnings.
@@ -1512,11 +1516,11 @@ test_expect_success 'rebase --edit-todo respects rebase.missingCommitsCheck = ig
test_expect_success 'rebase --edit-todo respects rebase.missingCommitsCheck = warn' '
cat >expect <<-EOF &&
- error: invalid line 1: badcmd $(git rev-list --pretty=oneline --abbrev-commit -1 master~4)
+ error: invalid line 1: badcmd $(git rev-list --pretty=oneline --abbrev-commit -1 primary~4)
Warning: some commits may have been dropped accidentally.
Dropped commits (newer to older):
- - $(git rev-list --pretty=oneline --abbrev-commit -1 master)
- - $(git rev-list --pretty=oneline --abbrev-commit -1 master~4)
+ - $(git rev-list --pretty=oneline --abbrev-commit -1 primary)
+ - $(git rev-list --pretty=oneline --abbrev-commit -1 primary~4)
To avoid this message, use "drop" to explicitly remove a commit.
EOF
head -n4 expect >expect.2 &&
@@ -1546,11 +1550,11 @@ test_expect_success 'rebase --edit-todo respects rebase.missingCommitsCheck = wa
test_expect_success 'rebase --edit-todo respects rebase.missingCommitsCheck = error' '
cat >expect <<-EOF &&
- error: invalid line 1: badcmd $(git rev-list --pretty=oneline --abbrev-commit -1 master~4)
+ error: invalid line 1: badcmd $(git rev-list --pretty=oneline --abbrev-commit -1 primary~4)
Warning: some commits may have been dropped accidentally.
Dropped commits (newer to older):
- - $(git rev-list --pretty=oneline --abbrev-commit -1 master)
- - $(git rev-list --pretty=oneline --abbrev-commit -1 master~4)
+ - $(git rev-list --pretty=oneline --abbrev-commit -1 primary)
+ - $(git rev-list --pretty=oneline --abbrev-commit -1 primary~4)
To avoid this message, use "drop" to explicitly remove a commit.
Use '\''git config rebase.missingCommitsCheck'\'' to change the level of warnings.
@@ -1635,7 +1639,7 @@ test_expect_success 'respects rebase.abbreviateCommands with fixup, squash and e
(
set_cat_todo_editor &&
test_must_fail git rebase -i --exec "git show HEAD" \
- --autosquash master >actual
+ --autosquash primary >actual
) &&
test_cmp expected actual
'
@@ -1646,7 +1650,7 @@ test_expect_success 'static check of bad command' '
set_fake_editor &&
test_must_fail env FAKE_LINES="1 2 3 bad 4 5" \
git rebase -i --root 2>actual &&
- test_i18ngrep "badcmd $(git rev-list --oneline -1 master~1)" \
+ test_i18ngrep "badcmd $(git rev-list --oneline -1 primary~1)" \
actual &&
test_i18ngrep "You can fix this with .git rebase --edit-todo.." \
actual &&
@@ -1797,6 +1801,17 @@ test_expect_success 'todo has correct onto hash' '
test_i18ngrep "^# Rebase ..* onto $onto" actual
'
+test_expect_success 'ORIG_HEAD is updated correctly' '
+ test_when_finished "git checkout primary && git branch -D test-orig-head" &&
+ git checkout -b test-orig-head A &&
+ git commit --allow-empty -m A1 &&
+ git commit --allow-empty -m A2 &&
+ git commit --allow-empty -m A3 &&
+ git commit --allow-empty -m A4 &&
+ git rebase primary &&
+ test_cmp_rev ORIG_HEAD test-orig-head@{1}
+'
+
# This must be the last test in this file
test_expect_success '$EDITOR and friends are unchanged' '
test_editor_unchanged
diff --git a/t/t3405-rebase-malformed.sh b/t/t3405-rebase-malformed.sh
index 860e63e444..2524331861 100755
--- a/t/t3405-rebase-malformed.sh
+++ b/t/t3405-rebase-malformed.sh
@@ -2,6 +2,9 @@
test_description='rebase should handle arbitrary git message'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-rebase.sh
@@ -52,7 +55,7 @@ test_expect_success setup '
git add file3 &&
git commit --allow-empty-message -m "" &&
- git checkout master &&
+ git checkout main &&
echo One >file1 &&
test_tick &&
@@ -62,7 +65,7 @@ test_expect_success setup '
test_expect_success 'rebase commit with multi-line subject' '
- git rebase master multi-line-subject &&
+ git rebase main multi-line-subject &&
git cat-file commit HEAD | sed -e "1,/^\$/d" >F1 &&
test_cmp F0 F1 &&
@@ -70,14 +73,14 @@ test_expect_success 'rebase commit with multi-line subject' '
'
test_expect_success 'rebase commit with diff in message' '
- git rebase master diff-in-message &&
+ git rebase main diff-in-message &&
git cat-file commit HEAD | sed -e "1,/^$/d" >G1 &&
test_cmp G0 G1 &&
test_cmp G G0
'
test_expect_success 'rebase -m commit with empty message' '
- git rebase -m master empty-message-merge
+ git rebase -m main empty-message-merge
'
test_expect_success 'rebase -i commit with empty message' '
diff --git a/t/t3406-rebase-message.sh b/t/t3406-rebase-message.sh
index 927a4f4a4e..c02729d5ea 100755
--- a/t/t3406-rebase-message.sh
+++ b/t/t3406-rebase-message.sh
@@ -2,6 +2,9 @@
test_description='messages from rebase operation'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -18,27 +21,27 @@ test_expect_success 'setup' '
'
test_expect_success 'rebase -m' '
- git rebase -m master >actual &&
+ git rebase -m main >actual &&
test_must_be_empty actual
'
-test_expect_success 'rebase against master twice' '
- git rebase --apply master >out &&
+test_expect_success 'rebase against main twice' '
+ git rebase --apply main >out &&
test_i18ngrep "Current branch topic is up to date" out
'
-test_expect_success 'rebase against master twice with --force' '
- git rebase --force-rebase --apply master >out &&
+test_expect_success 'rebase against main twice with --force' '
+ git rebase --force-rebase --apply main >out &&
test_i18ngrep "Current branch topic is up to date, rebase forced" out
'
-test_expect_success 'rebase against master twice from another branch' '
+test_expect_success 'rebase against main twice from another branch' '
git checkout topic^ &&
- git rebase --apply master topic >out &&
+ git rebase --apply main topic >out &&
test_i18ngrep "Current branch topic is up to date" out
'
-test_expect_success 'rebase fast-forward to master' '
+test_expect_success 'rebase fast-forward to main' '
git checkout topic^ &&
git rebase --apply topic >out &&
test_i18ngrep "Fast-forwarded HEAD to topic" out
@@ -46,22 +49,22 @@ test_expect_success 'rebase fast-forward to master' '
test_expect_success 'rebase --stat' '
git reset --hard start &&
- git rebase --stat master >diffstat.txt &&
- grep "^ fileX | *1 +$" diffstat.txt
+ git rebase --stat main >diffstat.txt &&
+ grep "^ fileX | *1 +$" diffstat.txt
'
test_expect_success 'rebase w/config rebase.stat' '
git reset --hard start &&
- git config rebase.stat true &&
- git rebase master >diffstat.txt &&
- grep "^ fileX | *1 +$" diffstat.txt
+ git config rebase.stat true &&
+ git rebase main >diffstat.txt &&
+ grep "^ fileX | *1 +$" diffstat.txt
'
test_expect_success 'rebase -n overrides config rebase.stat config' '
git reset --hard start &&
- git config rebase.stat true &&
- git rebase -n master >diffstat.txt &&
- ! grep "^ fileX | *1 +$" diffstat.txt
+ git config rebase.stat true &&
+ git rebase -n main >diffstat.txt &&
+ ! grep "^ fileX | *1 +$" diffstat.txt
'
# Output to stderr:
@@ -113,7 +116,7 @@ test_expect_success 'rebase -i onto unrelated history' '
git init unrelated &&
test_commit -C unrelated 1 &&
git -C unrelated remote add -f origin "$PWD" &&
- git -C unrelated branch --set-upstream-to=origin/master &&
+ git -C unrelated branch --set-upstream-to=origin/main &&
git -C unrelated -c core.editor=true rebase -i -v --stat >actual &&
test_i18ngrep "Changes to " actual &&
test_i18ngrep "5 files changed" actual
diff --git a/t/t3407-rebase-abort.sh b/t/t3407-rebase-abort.sh
index 97efea0f56..7c381fbc89 100755
--- a/t/t3407-rebase-abort.sh
+++ b/t/t3407-rebase-abort.sh
@@ -2,6 +2,9 @@
test_description='git rebase --abort tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
### Test that we handle space characters properly
@@ -37,7 +40,7 @@ testrebase() {
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
- test_must_fail git rebase$type master &&
+ test_must_fail git rebase$type main &&
test_path_is_dir "$dotest" &&
git rebase --abort &&
test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) &&
@@ -48,10 +51,10 @@ testrebase() {
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
- test_must_fail git rebase$type master &&
+ test_must_fail git rebase$type main &&
test_path_is_dir "$dotest" &&
test_must_fail git rebase --skip &&
- test $(git rev-parse HEAD) = $(git rev-parse master) &&
+ test $(git rev-parse HEAD) = $(git rev-parse main) &&
git rebase --abort &&
test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) &&
test ! -d "$dotest"
@@ -61,13 +64,13 @@ testrebase() {
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
- test_must_fail git rebase$type master &&
+ test_must_fail git rebase$type main &&
test_path_is_dir "$dotest" &&
echo c > a &&
echo d >> a &&
git add a &&
test_must_fail git rebase --continue &&
- test $(git rev-parse HEAD) != $(git rev-parse master) &&
+ test $(git rev-parse HEAD) != $(git rev-parse main) &&
git rebase --abort &&
test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) &&
test ! -d "$dotest"
@@ -78,7 +81,7 @@ testrebase() {
# Clean up the state from the previous one
git reset --hard pre-rebase &&
git reflog show to-rebase > reflog_before &&
- test_must_fail git rebase$type master &&
+ test_must_fail git rebase$type main &&
git rebase --abort &&
git reflog show to-rebase > reflog_after &&
test_cmp reflog_before reflog_after &&
@@ -89,7 +92,7 @@ testrebase() {
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
- test_must_fail git rebase$type master &&
+ test_must_fail git rebase$type main &&
test_must_fail git rebase -v --abort &&
test_must_fail git rebase --abort -v &&
git rebase --abort
@@ -103,7 +106,7 @@ test_expect_success 'rebase --apply --quit' '
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
- test_must_fail git rebase --apply master &&
+ test_must_fail git rebase --apply main &&
test_path_is_dir .git/rebase-apply &&
head_before=$(git rev-parse HEAD) &&
git rebase --quit &&
@@ -115,7 +118,7 @@ test_expect_success 'rebase --merge --quit' '
cd "$work_dir" &&
# Clean up the state from the previous one
git reset --hard pre-rebase &&
- test_must_fail git rebase --merge master &&
+ test_must_fail git rebase --merge main &&
test_path_is_dir .git/rebase-merge &&
head_before=$(git rev-parse HEAD) &&
git rebase --quit &&
diff --git a/t/t3408-rebase-multi-line.sh b/t/t3408-rebase-multi-line.sh
index d2bd7c17b0..ab0960e6d9 100755
--- a/t/t3408-rebase-multi-line.sh
+++ b/t/t3408-rebase-multi-line.sh
@@ -2,6 +2,9 @@
test_description='rebasing a commit with multi-line first paragraph.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -46,7 +49,7 @@ But otherwise with a sane description." side2 &&
test_expect_success rebase '
git checkout side &&
- git rebase master &&
+ git rebase main &&
git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
git cat-file commit side@{1} | sed -e "1,/^\$/d" >expect &&
test_cmp expect actual
diff --git a/t/t3409-rebase-preserve-merges.sh b/t/t3409-rebase-preserve-merges.sh
index 3b340f1ece..ec8062a66a 100755
--- a/t/t3409-rebase-preserve-merges.sh
+++ b/t/t3409-rebase-preserve-merges.sh
@@ -6,6 +6,9 @@ test_description='git rebase -p should preserve merges
Run "git rebase -p" and check that merges are properly carried along
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
if ! test_have_prereq REBASE_P; then
@@ -18,7 +21,7 @@ export GIT_AUTHOR_EMAIL
# Clone 2 (conflicting merge):
#
-# A1--A2--B3 <-- origin/master
+# A1--A2--B3 <-- origin/main
# \ \
# B1------M <-- topic
# \
@@ -26,7 +29,7 @@ export GIT_AUTHOR_EMAIL
#
# Clone 3 (no-ff merge):
#
-# A1--A2--B3 <-- origin/master
+# A1--A2--B3 <-- origin/main
# \
# B1------M <-- topic
# \ /
@@ -44,7 +47,7 @@ test_expect_success 'setup for merge-preserving rebase' \
echo Second > B &&
git add B &&
git commit -m "Add B1" &&
- git checkout -f master &&
+ git checkout -f main &&
echo Third >> A &&
git commit -a -m "Modify A2" &&
echo Fifth > B &&
@@ -55,10 +58,10 @@ test_expect_success 'setup for merge-preserving rebase' \
(
cd clone2 &&
git checkout -b topic origin/topic &&
- test_must_fail git merge origin/master &&
+ test_must_fail git merge origin/main &&
echo Resolved >B &&
git add B &&
- git commit -m "Merge origin/master into topic"
+ git commit -m "Merge origin/main into topic"
) &&
git clone ./. clone3 &&
diff --git a/t/t3412-rebase-root.sh b/t/t3412-rebase-root.sh
index 21632a984e..fda62c65bd 100755
--- a/t/t3412-rebase-root.sh
+++ b/t/t3412-rebase-root.sh
@@ -4,6 +4,9 @@ test_description='git rebase --root
Tests if git rebase --root --onto <newparent> can rebase the root commit.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
log_with_names () {
@@ -24,7 +27,7 @@ test_expect_success 'prepare repository' '
test_expect_success 'rebase --root fails with too many args' '
git checkout -B fail other &&
- test_must_fail git rebase --onto master --root fail fail
+ test_must_fail git rebase --onto main --root fail fail
'
test_expect_success 'setup pre-rebase hook' '
@@ -44,7 +47,7 @@ EOF
test_expect_success 'rebase --root --onto <newbase>' '
git checkout -b work other &&
- git rebase --root --onto master &&
+ git rebase --root --onto main &&
git log --pretty=tformat:"%s" > rebased &&
test_cmp expect rebased
'
@@ -55,7 +58,7 @@ test_expect_success 'pre-rebase got correct input (1)' '
test_expect_success 'rebase --root --onto <newbase> <branch>' '
git branch work2 other &&
- git rebase --root --onto master work2 &&
+ git rebase --root --onto main work2 &&
git log --pretty=tformat:"%s" > rebased2 &&
test_cmp expect rebased2
'
@@ -66,7 +69,7 @@ test_expect_success 'pre-rebase got correct input (2)' '
test_expect_success 'rebase -i --root --onto <newbase>' '
git checkout -b work3 other &&
- git rebase -i --root --onto master &&
+ git rebase -i --root --onto main &&
git log --pretty=tformat:"%s" > rebased3 &&
test_cmp expect rebased3
'
@@ -77,7 +80,7 @@ test_expect_success 'pre-rebase got correct input (3)' '
test_expect_success 'rebase -i --root --onto <newbase> <branch>' '
git branch work4 other &&
- git rebase -i --root --onto master work4 &&
+ git rebase -i --root --onto main work4 &&
git log --pretty=tformat:"%s" > rebased4 &&
test_cmp expect rebased4
'
@@ -88,7 +91,7 @@ test_expect_success 'pre-rebase got correct input (4)' '
test_expect_success REBASE_P 'rebase -i -p with linear history' '
git checkout -b work5 other &&
- git rebase -i -p --root --onto master &&
+ git rebase -i -p --root --onto main &&
git log --pretty=tformat:"%s" > rebased5 &&
test_cmp expect rebased5
'
@@ -122,7 +125,7 @@ EOF
test_expect_success REBASE_P 'rebase -i -p with merge' '
git checkout -b work6 other &&
- git rebase -i -p --root --onto master &&
+ git rebase -i -p --root --onto main &&
log_with_names work6 > rebased6 &&
test_cmp expect-side rebased6
'
@@ -157,7 +160,7 @@ EOF
test_expect_success REBASE_P 'rebase -i -p with two roots' '
git checkout -b work7 other &&
- git rebase -i -p --root --onto master &&
+ git rebase -i -p --root --onto main &&
log_with_names work7 > rebased7 &&
test_cmp expect-third rebased7
'
@@ -173,14 +176,14 @@ EOF
test_expect_success 'pre-rebase hook stops rebase' '
git checkout -b stops1 other &&
- test_must_fail git rebase --root --onto master &&
+ test_must_fail git rebase --root --onto main &&
test "z$(git symbolic-ref HEAD)" = zrefs/heads/stops1 &&
test 0 = $(git rev-list other...stops1 | wc -l)
'
test_expect_success 'pre-rebase hook stops rebase -i' '
git checkout -b stops2 other &&
- test_must_fail git rebase --root --onto master &&
+ test_must_fail git rebase --root --onto main &&
test "z$(git symbolic-ref HEAD)" = zrefs/heads/stops2 &&
test 0 = $(git rev-list other...stops2 | wc -l)
'
@@ -190,7 +193,7 @@ test_expect_success 'remove pre-rebase hook' '
'
test_expect_success 'set up a conflict' '
- git checkout master &&
+ git checkout main &&
echo conflict > B &&
git add B &&
git commit -m conflict
@@ -198,7 +201,7 @@ test_expect_success 'set up a conflict' '
test_expect_success 'rebase --root with conflict (first part)' '
git checkout -b conflict1 other &&
- test_must_fail git rebase --root --onto master &&
+ test_must_fail git rebase --root --onto main &&
git ls-files -u | grep "B$"
'
@@ -225,7 +228,7 @@ test_expect_success 'rebase --root with conflict (second part)' '
test_expect_success 'rebase -i --root with conflict (first part)' '
git checkout -b conflict2 other &&
- test_must_fail git rebase -i --root --onto master &&
+ test_must_fail git rebase -i --root --onto main &&
git ls-files -u | grep "B$"
'
@@ -263,7 +266,7 @@ EOF
test_expect_success REBASE_P 'rebase -i -p --root with conflict (first part)' '
git checkout -b conflict3 other &&
- test_must_fail git rebase -i -p --root --onto master &&
+ test_must_fail git rebase -i -p --root --onto main &&
git ls-files -u | grep "B$"
'
diff --git a/t/t3413-rebase-hook.sh b/t/t3413-rebase-hook.sh
index b6833e9a5f..b4acb3be5c 100755
--- a/t/t3413-rebase-hook.sh
+++ b/t/t3413-rebase-hook.sh
@@ -2,6 +2,9 @@
test_description='git rebase with its hook(s)'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -18,7 +21,7 @@ test_expect_success setup '
git add git &&
test_tick &&
git commit -m side &&
- git checkout master &&
+ git checkout main &&
git log --pretty=oneline --abbrev-commit --graph --all &&
git branch test side
'
@@ -26,14 +29,14 @@ test_expect_success setup '
test_expect_success 'rebase' '
git checkout test &&
git reset --hard side &&
- git rebase master &&
+ git rebase main &&
test "z$(cat git)" = zworld
'
test_expect_success 'rebase -i' '
git checkout test &&
git reset --hard side &&
- EDITOR=true git rebase -i master &&
+ EDITOR=true git rebase -i main &&
test "z$(cat git)" = zworld
'
@@ -49,53 +52,53 @@ EOF
test_expect_success 'pre-rebase hook gets correct input (1)' '
git checkout test &&
git reset --hard side &&
- git rebase master &&
+ git rebase main &&
test "z$(cat git)" = zworld &&
- test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,
+ test "z$(cat .git/PRE-REBASE-INPUT)" = zmain,
'
test_expect_success 'pre-rebase hook gets correct input (2)' '
git checkout test &&
git reset --hard side &&
- git rebase master test &&
+ git rebase main test &&
test "z$(cat git)" = zworld &&
- test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,test
+ test "z$(cat .git/PRE-REBASE-INPUT)" = zmain,test
'
test_expect_success 'pre-rebase hook gets correct input (3)' '
git checkout test &&
git reset --hard side &&
- git checkout master &&
- git rebase master test &&
+ git checkout main &&
+ git rebase main test &&
test "z$(cat git)" = zworld &&
- test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,test
+ test "z$(cat .git/PRE-REBASE-INPUT)" = zmain,test
'
test_expect_success 'pre-rebase hook gets correct input (4)' '
git checkout test &&
git reset --hard side &&
- EDITOR=true git rebase -i master &&
+ EDITOR=true git rebase -i main &&
test "z$(cat git)" = zworld &&
- test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,
+ test "z$(cat .git/PRE-REBASE-INPUT)" = zmain,
'
test_expect_success 'pre-rebase hook gets correct input (5)' '
git checkout test &&
git reset --hard side &&
- EDITOR=true git rebase -i master test &&
+ EDITOR=true git rebase -i main test &&
test "z$(cat git)" = zworld &&
- test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,test
+ test "z$(cat .git/PRE-REBASE-INPUT)" = zmain,test
'
test_expect_success 'pre-rebase hook gets correct input (6)' '
git checkout test &&
git reset --hard side &&
- git checkout master &&
- EDITOR=true git rebase -i master test &&
+ git checkout main &&
+ EDITOR=true git rebase -i main test &&
test "z$(cat git)" = zworld &&
- test "z$(cat .git/PRE-REBASE-INPUT)" = zmaster,test
+ test "z$(cat .git/PRE-REBASE-INPUT)" = zmain,test
'
test_expect_success 'setup pre-rebase hook that fails' '
@@ -110,7 +113,7 @@ EOF
test_expect_success 'pre-rebase hook stops rebase (1)' '
git checkout test &&
git reset --hard side &&
- test_must_fail git rebase master &&
+ test_must_fail git rebase main &&
test "z$(git symbolic-ref HEAD)" = zrefs/heads/test &&
test 0 = $(git rev-list HEAD...side | wc -l)
'
@@ -118,7 +121,7 @@ test_expect_success 'pre-rebase hook stops rebase (1)' '
test_expect_success 'pre-rebase hook stops rebase (2)' '
git checkout test &&
git reset --hard side &&
- test_must_fail env EDITOR=: git rebase -i master &&
+ test_must_fail env EDITOR=: git rebase -i main &&
test "z$(git symbolic-ref HEAD)" = zrefs/heads/test &&
test 0 = $(git rev-list HEAD...side | wc -l)
'
@@ -126,7 +129,7 @@ test_expect_success 'pre-rebase hook stops rebase (2)' '
test_expect_success 'rebase --no-verify overrides pre-rebase (1)' '
git checkout test &&
git reset --hard side &&
- git rebase --no-verify master &&
+ git rebase --no-verify main &&
test "z$(git symbolic-ref HEAD)" = zrefs/heads/test &&
test "z$(cat git)" = zworld
'
@@ -134,7 +137,7 @@ test_expect_success 'rebase --no-verify overrides pre-rebase (1)' '
test_expect_success 'rebase --no-verify overrides pre-rebase (2)' '
git checkout test &&
git reset --hard side &&
- EDITOR=true git rebase --no-verify -i master &&
+ EDITOR=true git rebase --no-verify -i main &&
test "z$(git symbolic-ref HEAD)" = zrefs/heads/test &&
test "z$(cat git)" = zworld
'
diff --git a/t/t3415-rebase-autosquash.sh b/t/t3415-rebase-autosquash.sh
index 7bab6000dc..e7087befd4 100755
--- a/t/t3415-rebase-autosquash.sh
+++ b/t/t3415-rebase-autosquash.sh
@@ -2,6 +2,9 @@
test_description='auto squash'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-rebase.sh
@@ -407,7 +410,7 @@ test_expect_success 'wrapped original subject' '
test_expect_success 'abort last squash' '
test_when_finished "test_might_fail git rebase --abort" &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
git checkout -b some-squashes &&
git commit --allow-empty -m first &&
diff --git a/t/t3416-rebase-onto-threedots.sh b/t/t3416-rebase-onto-threedots.sh
index 9c2548423b..3716a42e81 100755
--- a/t/t3416-rebase-onto-threedots.sh
+++ b/t/t3416-rebase-onto-threedots.sh
@@ -2,17 +2,20 @@
test_description='git rebase --onto A...B'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY/lib-rebase.sh"
-# Rebase only the tip commit of "topic" on merge base between "master"
-# and "topic". Cannot do this for "side" with "master" because there
+# Rebase only the tip commit of "topic" on merge base between "main"
+# and "topic". Cannot do this for "side" with "main" because there
# is no single merge base.
#
#
# F---G topic G'
# / /
-# A---B---C---D---E master --> A---B---C---D---E
+# A---B---C---D---E main --> A---B---C---D---E
# \ \ /
# \ x
# \ / \
@@ -26,7 +29,7 @@ test_expect_success setup '
git branch topic &&
git checkout side &&
test_commit H &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git merge H &&
git tag D &&
@@ -42,83 +45,83 @@ test_expect_success setup '
test_commit K
'
-test_expect_success 'rebase --onto master...topic' '
+test_expect_success 'rebase --onto main...topic' '
git reset --hard &&
git checkout topic &&
git reset --hard G &&
- git rebase --onto master...topic F &&
+ git rebase --onto main...topic F &&
git rev-parse HEAD^1 >actual &&
git rev-parse C^0 >expect &&
test_cmp expect actual
'
-test_expect_success 'rebase --onto master...' '
+test_expect_success 'rebase --onto main...' '
git reset --hard &&
git checkout topic &&
git reset --hard G &&
- git rebase --onto master... F &&
+ git rebase --onto main... F &&
git rev-parse HEAD^1 >actual &&
git rev-parse C^0 >expect &&
test_cmp expect actual
'
-test_expect_success 'rebase --onto master...side' '
+test_expect_success 'rebase --onto main...side' '
git reset --hard &&
git checkout side &&
git reset --hard K &&
- test_must_fail git rebase --onto master...side J
+ test_must_fail git rebase --onto main...side J
'
-test_expect_success 'rebase -i --onto master...topic' '
+test_expect_success 'rebase -i --onto main...topic' '
git reset --hard &&
git checkout topic &&
git reset --hard G &&
set_fake_editor &&
- EXPECT_COUNT=1 git rebase -i --onto master...topic F &&
+ EXPECT_COUNT=1 git rebase -i --onto main...topic F &&
git rev-parse HEAD^1 >actual &&
git rev-parse C^0 >expect &&
test_cmp expect actual
'
-test_expect_success 'rebase -i --onto master...' '
+test_expect_success 'rebase -i --onto main...' '
git reset --hard &&
git checkout topic &&
git reset --hard G &&
set_fake_editor &&
- EXPECT_COUNT=1 git rebase -i --onto master... F &&
+ EXPECT_COUNT=1 git rebase -i --onto main... F &&
git rev-parse HEAD^1 >actual &&
git rev-parse C^0 >expect &&
test_cmp expect actual
'
-test_expect_success 'rebase -i --onto master...side' '
+test_expect_success 'rebase -i --onto main...side' '
git reset --hard &&
git checkout side &&
git reset --hard K &&
set_fake_editor &&
- test_must_fail git rebase -i --onto master...side J
+ test_must_fail git rebase -i --onto main...side J
'
test_expect_success 'rebase --keep-base --onto incompatible' '
- test_must_fail git rebase --keep-base --onto master...
+ test_must_fail git rebase --keep-base --onto main...
'
test_expect_success 'rebase --keep-base --root incompatible' '
test_must_fail git rebase --keep-base --root
'
-test_expect_success 'rebase --keep-base master from topic' '
+test_expect_success 'rebase --keep-base main from topic' '
git reset --hard &&
git checkout topic &&
git reset --hard G &&
- git rebase --keep-base master &&
+ git rebase --keep-base main &&
git rev-parse C >base.expect &&
- git merge-base master HEAD >base.actual &&
+ git merge-base main HEAD >base.actual &&
test_cmp base.expect base.actual &&
git rev-parse HEAD~2 >actual &&
@@ -126,23 +129,23 @@ test_expect_success 'rebase --keep-base master from topic' '
test_cmp expect actual
'
-test_expect_success 'rebase --keep-base master from side' '
+test_expect_success 'rebase --keep-base main from side' '
git reset --hard &&
git checkout side &&
git reset --hard K &&
- test_must_fail git rebase --keep-base master
+ test_must_fail git rebase --keep-base main
'
-test_expect_success 'rebase -i --keep-base master from topic' '
+test_expect_success 'rebase -i --keep-base main from topic' '
git reset --hard &&
git checkout topic &&
git reset --hard G &&
set_fake_editor &&
- EXPECT_COUNT=2 git rebase -i --keep-base master &&
+ EXPECT_COUNT=2 git rebase -i --keep-base main &&
git rev-parse C >base.expect &&
- git merge-base master HEAD >base.actual &&
+ git merge-base main HEAD >base.actual &&
test_cmp base.expect base.actual &&
git rev-parse HEAD~2 >actual &&
@@ -150,13 +153,13 @@ test_expect_success 'rebase -i --keep-base master from topic' '
test_cmp expect actual
'
-test_expect_success 'rebase -i --keep-base master from side' '
+test_expect_success 'rebase -i --keep-base main from side' '
git reset --hard &&
git checkout side &&
git reset --hard K &&
set_fake_editor &&
- test_must_fail git rebase -i --keep-base master
+ test_must_fail git rebase -i --keep-base main
'
test_done
diff --git a/t/t3418-rebase-continue.sh b/t/t3418-rebase-continue.sh
index 7a2da972fd..0838f4e798 100755
--- a/t/t3418-rebase-continue.sh
+++ b/t/t3418-rebase-continue.sh
@@ -2,6 +2,9 @@
test_description='git rebase --continue tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-rebase.sh
@@ -15,13 +18,13 @@ test_expect_success 'setup' '
git checkout -b topic HEAD^ &&
test_commit "commit-new-file-F2-on-topic-branch" F2 22 &&
- git checkout master
+ git checkout main
'
test_expect_success 'interactive rebase --continue works with touched file' '
rm -fr .git/rebase-* &&
git reset --hard &&
- git checkout master &&
+ git checkout main &&
FAKE_LINES="edit 1" git rebase -i HEAD^ &&
test-tool chmtime =-60 F1 &&
@@ -31,9 +34,9 @@ test_expect_success 'interactive rebase --continue works with touched file' '
test_expect_success 'non-interactive rebase --continue works with touched file' '
rm -fr .git/rebase-* &&
git reset --hard &&
- git checkout master &&
+ git checkout main &&
- test_must_fail git rebase --onto master master topic &&
+ test_must_fail git rebase --onto main main topic &&
echo "Resolved" >F2 &&
git add F2 &&
test-tool chmtime =-60 F1 &&
@@ -61,7 +64,7 @@ test_expect_success 'rebase --continue remembers merge strategy and options' '
chmod +x test-bin/git-merge-funny &&
(
PATH=./test-bin:$PATH &&
- test_must_fail git rebase -s funny -Xopt master topic
+ test_must_fail git rebase -s funny -Xopt main topic
) &&
test -f funny.was.run &&
rm funny.was.run &&
@@ -93,7 +96,7 @@ test_expect_success 'rebase -i --continue handles merge strategy and options' '
chmod +x test-bin/git-merge-funny &&
(
PATH=./test-bin:$PATH &&
- test_must_fail git rebase -i -s funny -Xopt -Xfoo master topic
+ test_must_fail git rebase -i -s funny -Xopt -Xfoo main topic
) &&
test -f funny.was.run &&
rm funny.was.run &&
@@ -188,11 +191,11 @@ test_expect_success '--skip after failed fixup cleans commit message' '
test_expect_success 'setup rerere database' '
rm -fr .git/rebase-* &&
git reset --hard commit-new-file-F3-on-topic-branch &&
- git checkout master &&
+ git checkout main &&
test_commit "commit-new-file-F3" F3 3 &&
test_config rerere.enabled true &&
git update-ref refs/heads/topic commit-new-file-F3-on-topic-branch &&
- test_must_fail git rebase -m master topic &&
+ test_must_fail git rebase -m main topic &&
echo "Resolved" >F2 &&
cp F2 expected-F2 &&
git add F2 &&
@@ -207,7 +210,7 @@ test_expect_success 'setup rerere database' '
prepare () {
rm -fr .git/rebase-* &&
git reset --hard commit-new-file-F3-on-topic-branch &&
- git checkout master &&
+ git checkout main &&
test_config rerere.enabled true
}
@@ -215,7 +218,7 @@ test_rerere_autoupdate () {
action=$1 &&
test_expect_success "rebase $action --continue remembers --rerere-autoupdate" '
prepare &&
- test_must_fail git rebase $action --rerere-autoupdate master topic &&
+ test_must_fail git rebase $action --rerere-autoupdate main topic &&
test_cmp expected-F2 F2 &&
git diff-files --quiet &&
test_must_fail git rebase --continue &&
@@ -227,7 +230,7 @@ test_rerere_autoupdate () {
test_expect_success "rebase $action --continue honors rerere.autoUpdate" '
prepare &&
test_config rerere.autoupdate true &&
- test_must_fail git rebase $action master topic &&
+ test_must_fail git rebase $action main topic &&
test_cmp expected-F2 F2 &&
git diff-files --quiet &&
test_must_fail git rebase --continue &&
@@ -239,7 +242,7 @@ test_rerere_autoupdate () {
test_expect_success "rebase $action --continue remembers --no-rerere-autoupdate" '
prepare &&
test_config rerere.autoupdate true &&
- test_must_fail git rebase $action --no-rerere-autoupdate master topic &&
+ test_must_fail git rebase $action --no-rerere-autoupdate main topic &&
test_cmp expected-F2 F2 &&
test_must_fail git diff-files --quiet &&
git add F2 &&
diff --git a/t/t3419-rebase-patch-id.sh b/t/t3419-rebase-patch-id.sh
index 1f32faa4a4..295040f2fe 100755
--- a/t/t3419-rebase-patch-id.sh
+++ b/t/t3419-rebase-patch-id.sh
@@ -2,6 +2,9 @@
test_description='git rebase - test patch id computation'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
scramble () {
@@ -24,7 +27,7 @@ test_expect_success 'setup' '
test_expect_success 'setup: 500 lines' '
rm -f .gitattributes &&
- git checkout -q -f master &&
+ git checkout -q -f main &&
git reset --hard root &&
test_seq 500 >file &&
git add file &&
@@ -40,7 +43,7 @@ test_expect_success 'setup: 500 lines' '
git add newfile &&
git commit -q -m "add small file" &&
- git cherry-pick master >/dev/null 2>&1
+ git cherry-pick main >/dev/null 2>&1
'
test_expect_success 'setup attributes' '
@@ -48,18 +51,18 @@ test_expect_success 'setup attributes' '
'
test_expect_success 'detect upstream patch' '
- git checkout -q master &&
+ git checkout -q main &&
scramble file &&
git add file &&
git commit -q -m "change big file again" &&
git checkout -q other^{} &&
- git rebase master &&
- git rev-list master...HEAD~ >revs &&
+ git rebase main &&
+ git rev-list main...HEAD~ >revs &&
test_must_be_empty revs
'
test_expect_success 'do not drop patch' '
- git branch -f squashed master &&
+ git branch -f squashed main &&
git checkout -q -f squashed &&
git reset -q --soft HEAD~2 &&
git commit -q -m squashed &&
diff --git a/t/t3420-rebase-autostash.sh b/t/t3420-rebase-autostash.sh
index ca331733fb..4caa014c71 100755
--- a/t/t3420-rebase-autostash.sh
+++ b/t/t3420-rebase-autostash.sh
@@ -4,6 +4,9 @@
#
test_description='git rebase --autostash tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -21,12 +24,12 @@ test_expect_success setup '
git add . &&
test_tick &&
git commit -m "third commit" &&
- git checkout -b unrelated-onto-branch master &&
+ git checkout -b unrelated-onto-branch main &&
echo unrelated >file4 &&
git add . &&
test_tick &&
git commit -m "unrelated commit" &&
- git checkout -b related-onto-branch master &&
+ git checkout -b related-onto-branch main &&
echo conflicting-change >file2 &&
git add . &&
test_tick &&
@@ -305,7 +308,7 @@ test_expect_success 'autostash is saved on editor failure with conflict' '
'
test_expect_success 'autostash with dirty submodules' '
- test_when_finished "git reset --hard && git checkout master" &&
+ test_when_finished "git reset --hard && git checkout main" &&
git checkout -b with-submodule &&
git submodule add ./ sub &&
test_tick &&
@@ -324,7 +327,7 @@ test_expect_success 'branch is left alone when possible' '
test_expect_success 'never change active branch' '
git checkout -b not-the-feature-branch unrelated-onto-branch &&
- test_when_finished "git reset --hard && git checkout master" &&
+ test_when_finished "git reset --hard && git checkout main" &&
echo changed >file0 &&
git rebase --autostash not-the-feature-branch feature-branch &&
test_cmp_rev not-the-feature-branch unrelated-onto-branch
diff --git a/t/t3423-rebase-reword.sh b/t/t3423-rebase-reword.sh
index 6963750794..4859bb8f72 100755
--- a/t/t3423-rebase-reword.sh
+++ b/t/t3423-rebase-reword.sh
@@ -7,7 +7,7 @@ test_description='git rebase interactive with rewording'
. "$TEST_DIRECTORY"/lib-rebase.sh
test_expect_success 'setup' '
- test_commit master file-1 test &&
+ test_commit main file-1 test &&
git checkout -b stuff &&
@@ -22,7 +22,7 @@ test_expect_success 'reword without issues functions as intended' '
set_fake_editor &&
FAKE_LINES="pick 1 reword 2" FAKE_COMMIT_MESSAGE="feature_b_reworded" \
- git rebase -i -v master &&
+ git rebase -i -v main &&
test "$(git log -1 --format=%B)" = "feature_b_reworded" &&
test $(git rev-list --count HEAD) = 3
@@ -35,7 +35,7 @@ test_expect_success 'reword after a conflict preserves commit' '
set_fake_editor &&
test_must_fail env FAKE_LINES="reword 2" \
- git rebase -i -v master &&
+ git rebase -i -v main &&
git checkout --theirs file-2 &&
git add file-2 &&
diff --git a/t/t3427-rebase-subtree.sh b/t/t3427-rebase-subtree.sh
index 2a7d958ea7..e78c7e3796 100755
--- a/t/t3427-rebase-subtree.sh
+++ b/t/t3427-rebase-subtree.sh
@@ -4,6 +4,9 @@ test_description='git rebase tests for -Xsubtree
This test runs git rebase and tests the subtree strategy.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-rebase.sh
@@ -17,9 +20,9 @@ commit_message() {
#
# topic_1 - topic_2 - topic_3
# \
-# README ---------------------- Add subproject master - topic_4 - files_subtree/topic_5
+# README ---------------------- Add subproject main - topic_4 - files_subtree/topic_5
#
-# Where the merge moves the files master[123].t into the subdirectory
+# Where the merge moves the files topic_[123].t into the subdirectory
# files_subtree/ and topic_4 as well as files_subtree/topic_5 add files to that
# directory directly.
#
@@ -28,7 +31,7 @@ commit_message() {
# an empty commit is added on top. The pre-rebase commit history looks like
# this:
#
-# Add subproject master - topic_4 - files_subtree/topic_5 - Empty commit
+# Add subproject main - topic_4 - files_subtree/topic_5 - Empty commit
#
# where the root commit adds three files: topic_1.t, topic_2.t and topic_3.t.
#
@@ -48,11 +51,11 @@ test_expect_success 'setup' '
test_commit -C files topic_3 &&
: perform subtree merge into files_subtree/ &&
- git fetch files refs/heads/master:refs/heads/files-master &&
+ git fetch files refs/heads/main:refs/heads/files-main &&
git merge -s ours --no-commit --allow-unrelated-histories \
- files-master &&
- git read-tree --prefix=files_subtree -u files-master &&
- git commit -m "Add subproject master" &&
+ files-main &&
+ git read-tree --prefix=files_subtree -u files-main &&
+ git commit -m "Add subproject main" &&
: add two extra commits to rebase &&
test_commit -C files_subtree topic_4 &&
@@ -70,7 +73,7 @@ test_expect_success 'setup' '
test_expect_failure REBASE_P 'Rebase -Xsubtree --preserve-merges --onto commit' '
reset_rebase &&
git checkout -b rebase-preserve-merges to-rebase &&
- git rebase -Xsubtree=files_subtree --preserve-merges --onto files-master master &&
+ git rebase -Xsubtree=files_subtree --preserve-merges --onto files-main main &&
verbose test "$(commit_message HEAD~)" = "topic_4" &&
verbose test "$(commit_message HEAD)" = "files_subtree/topic_5"
'
@@ -79,7 +82,7 @@ test_expect_failure REBASE_P 'Rebase -Xsubtree --preserve-merges --onto commit'
test_expect_failure REBASE_P 'Rebase -Xsubtree --keep-empty --preserve-merges --onto commit' '
reset_rebase &&
git checkout -b rebase-keep-empty to-rebase &&
- git rebase -Xsubtree=files_subtree --keep-empty --preserve-merges --onto files-master master &&
+ git rebase -Xsubtree=files_subtree --keep-empty --preserve-merges --onto files-main main &&
verbose test "$(commit_message HEAD~2)" = "topic_4" &&
verbose test "$(commit_message HEAD~)" = "files_subtree/topic_5" &&
verbose test "$(commit_message HEAD)" = "Empty commit"
@@ -88,7 +91,7 @@ test_expect_failure REBASE_P 'Rebase -Xsubtree --keep-empty --preserve-merges --
test_expect_success 'Rebase -Xsubtree --empty=ask --onto commit' '
reset_rebase &&
git checkout -b rebase-onto to-rebase &&
- test_must_fail git rebase -Xsubtree=files_subtree --empty=ask --onto files-master master &&
+ test_must_fail git rebase -Xsubtree=files_subtree --empty=ask --onto files-main main &&
: first pick results in no changes &&
git rebase --skip &&
verbose test "$(commit_message HEAD~2)" = "topic_4" &&
@@ -99,7 +102,7 @@ test_expect_success 'Rebase -Xsubtree --empty=ask --onto commit' '
test_expect_success 'Rebase -Xsubtree --empty=ask --rebase-merges --onto commit' '
reset_rebase &&
git checkout -b rebase-merges-onto to-rebase &&
- test_must_fail git rebase -Xsubtree=files_subtree --empty=ask --rebase-merges --onto files-master --root &&
+ test_must_fail git rebase -Xsubtree=files_subtree --empty=ask --rebase-merges --onto files-main --root &&
: first pick results in no changes &&
git rebase --skip &&
verbose test "$(commit_message HEAD~2)" = "topic_4" &&
diff --git a/t/t3430-rebase-merges.sh b/t/t3430-rebase-merges.sh
index b454f400eb..6748070df5 100755
--- a/t/t3430-rebase-merges.sh
+++ b/t/t3430-rebase-merges.sh
@@ -12,12 +12,15 @@ Initial setup:
-- B -- (first)
/ \
- A - C - D - E - H (master)
+ A - C - D - E - H (main)
\ \ /
\ F - G (second)
\
Conflicting-G
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-rebase.sh
. "$TEST_DIRECTORY"/lib-log-graph.sh
@@ -37,7 +40,7 @@ test_expect_success 'setup' '
git checkout -b first &&
test_commit B &&
b=$(git rev-parse --short HEAD) &&
- git checkout master &&
+ git checkout main &&
test_commit C &&
c=$(git rev-parse --short HEAD) &&
test_commit D &&
@@ -52,7 +55,7 @@ test_expect_success 'setup' '
f=$(git rev-parse --short HEAD) &&
test_commit G &&
g=$(git rev-parse --short HEAD) &&
- git checkout master &&
+ git checkout main &&
git merge --no-commit G &&
test_tick &&
git commit -m H &&
@@ -82,7 +85,7 @@ test_expect_success 'create completely different structure' '
EOF
test_config sequence.editor \""$PWD"/replace-editor.sh\" &&
test_tick &&
- git rebase -i -r A master &&
+ git rebase -i -r A main &&
test_cmp_graph <<-\EOF
* Merge the topic branch '\''onebranch'\''
|\
@@ -183,7 +186,7 @@ test_expect_success 'fast-forward merge -c still rewords' '
'
test_expect_success 'with a branch tip that was cherry-picked already' '
- git checkout -b already-upstream master &&
+ git checkout -b already-upstream main &&
base="$(git rev-parse --verify HEAD)" &&
test_commit A1 &&
@@ -211,7 +214,7 @@ test_expect_success 'with a branch tip that was cherry-picked already' '
'
test_expect_success 'do not rebase cousins unless asked for' '
- git checkout -b cousins master &&
+ git checkout -b cousins main &&
before="$(git rev-parse --verify HEAD)" &&
test_tick &&
git rebase -r HEAD^ &&
@@ -340,7 +343,7 @@ test_expect_success 'a "merge" into a root commit is a fast-forward' '
test_expect_success 'A root commit can be a cousin, treat it that way' '
git checkout --orphan khnum &&
test_commit yama &&
- git checkout -b asherah master &&
+ git checkout -b asherah main &&
test_commit shamkat &&
git merge --allow-unrelated-histories khnum &&
test_tick &&
@@ -367,7 +370,7 @@ test_expect_success 'labels that are object IDs are rewritten' '
git checkout -b third B &&
test_commit I &&
third=$(git rev-parse HEAD) &&
- git checkout -b labels master &&
+ git checkout -b labels main &&
git merge --no-commit third &&
test_tick &&
git commit -m "Merge commit '\''$third'\'' into labels" &&
diff --git a/t/t3431-rebase-fork-point.sh b/t/t3431-rebase-fork-point.sh
index 172562789e..2dab893c75 100755
--- a/t/t3431-rebase-fork-point.sh
+++ b/t/t3431-rebase-fork-point.sh
@@ -5,13 +5,16 @@
test_description='git rebase --fork-point test'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
-# A---B---D---E (master)
+# A---B---D---E (main)
# \
# C*---F---G (side)
#
-# C was formerly part of master but master was rewound to remove C
+# C was formerly part of main but main was rewound to remove C
#
test_expect_success setup '
test_commit A &&
@@ -30,7 +33,7 @@ test_rebase () {
expected="$1" &&
shift &&
test_expect_success "git rebase $*" "
- git checkout master &&
+ git checkout main &&
git reset --hard E &&
git checkout side &&
git reset --hard G &&
@@ -48,26 +51,26 @@ test_rebase 'G F C E D B A' --no-fork-point
test_rebase 'G F C D B A' --no-fork-point --onto D
test_rebase 'G F C B A' --no-fork-point --keep-base
-test_rebase 'G F E D B A' --fork-point refs/heads/master
-test_rebase 'G F E D B A' --fork-point master
+test_rebase 'G F E D B A' --fork-point refs/heads/main
+test_rebase 'G F E D B A' --fork-point main
-test_rebase 'G F D B A' --fork-point --onto D refs/heads/master
-test_rebase 'G F D B A' --fork-point --onto D master
+test_rebase 'G F D B A' --fork-point --onto D refs/heads/main
+test_rebase 'G F D B A' --fork-point --onto D main
-test_rebase 'G F B A' --fork-point --keep-base refs/heads/master
-test_rebase 'G F B A' --fork-point --keep-base master
+test_rebase 'G F B A' --fork-point --keep-base refs/heads/main
+test_rebase 'G F B A' --fork-point --keep-base main
-test_rebase 'G F C E D B A' refs/heads/master
-test_rebase 'G F C E D B A' master
+test_rebase 'G F C E D B A' refs/heads/main
+test_rebase 'G F C E D B A' main
-test_rebase 'G F C D B A' --onto D refs/heads/master
-test_rebase 'G F C D B A' --onto D master
+test_rebase 'G F C D B A' --onto D refs/heads/main
+test_rebase 'G F C D B A' --onto D main
-test_rebase 'G F C B A' --keep-base refs/heads/master
-test_rebase 'G F C B A' --keep-base master
+test_rebase 'G F C B A' --keep-base refs/heads/main
+test_rebase 'G F C B A' --keep-base main
test_expect_success 'git rebase --fork-point with ambigous refname' '
- git checkout master &&
+ git checkout main &&
git checkout -b one &&
git checkout side &&
git tag one &&
diff --git a/t/t3432-rebase-fast-forward.sh b/t/t3432-rebase-fast-forward.sh
index a29eda87e9..5086e14c02 100755
--- a/t/t3432-rebase-fast-forward.sh
+++ b/t/t3432-rebase-fast-forward.sh
@@ -5,6 +5,9 @@
test_description='ensure rebase fast-forwards commits when possible'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -84,19 +87,19 @@ test_rebase_same_head_ () {
changes='no changes'
test_rebase_same_head success noop same success work same
-test_rebase_same_head success noop same success work same master
+test_rebase_same_head success noop same success work same main
test_rebase_same_head success noop same success work diff --onto B B
test_rebase_same_head success noop same success work diff --onto B... B
-test_rebase_same_head success noop same success work same --onto master... master
-test_rebase_same_head success noop same success work same --keep-base master
+test_rebase_same_head success noop same success work same --onto main... main
+test_rebase_same_head success noop same success work same --keep-base main
test_rebase_same_head success noop same success work same --keep-base
test_rebase_same_head success noop same success work same --no-fork-point
test_rebase_same_head success noop same success work same --keep-base --no-fork-point
-test_rebase_same_head success noop same success work same --fork-point master
+test_rebase_same_head success noop same success work same --fork-point main
test_rebase_same_head success noop same success work diff --fork-point --onto B B
test_rebase_same_head success noop same success work diff --fork-point --onto B... B
-test_rebase_same_head success noop same success work same --fork-point --onto master... master
-test_rebase_same_head success noop same success work same --keep-base --keep-base master
+test_rebase_same_head success noop same success work same --fork-point --onto main... main
+test_rebase_same_head success noop same success work same --keep-base --keep-base main
test_expect_success 'add work same to side' '
test_commit E
@@ -104,22 +107,22 @@ test_expect_success 'add work same to side' '
changes='our changes'
test_rebase_same_head success noop same success work same
-test_rebase_same_head success noop same success work same master
+test_rebase_same_head success noop same success work same main
test_rebase_same_head success noop same success work diff --onto B B
test_rebase_same_head success noop same success work diff --onto B... B
-test_rebase_same_head success noop same success work same --onto master... master
-test_rebase_same_head success noop same success work same --keep-base master
+test_rebase_same_head success noop same success work same --onto main... main
+test_rebase_same_head success noop same success work same --keep-base main
test_rebase_same_head success noop same success work same --keep-base
test_rebase_same_head success noop same success work same --no-fork-point
test_rebase_same_head success noop same success work same --keep-base --no-fork-point
-test_rebase_same_head success noop same success work same --fork-point master
+test_rebase_same_head success noop same success work same --fork-point main
test_rebase_same_head success noop same success work diff --fork-point --onto B B
test_rebase_same_head success noop same success work diff --fork-point --onto B... B
-test_rebase_same_head success noop same success work same --fork-point --onto master... master
-test_rebase_same_head success noop same success work same --fork-point --keep-base master
+test_rebase_same_head success noop same success work same --fork-point --onto main... main
+test_rebase_same_head success noop same success work same --fork-point --keep-base main
test_expect_success 'add work same to upstream' '
- git checkout master &&
+ git checkout main &&
test_commit F &&
git checkout side
'
@@ -127,12 +130,12 @@ test_expect_success 'add work same to upstream' '
changes='our and their changes'
test_rebase_same_head success noop same success work diff --onto B B
test_rebase_same_head success noop same success work diff --onto B... B
-test_rebase_same_head success noop same success work diff --onto master... master
-test_rebase_same_head success noop same success work diff --keep-base master
+test_rebase_same_head success noop same success work diff --onto main... main
+test_rebase_same_head success noop same success work diff --keep-base main
test_rebase_same_head success noop same success work diff --keep-base
test_rebase_same_head failure work same success work diff --fork-point --onto B B
test_rebase_same_head failure work same success work diff --fork-point --onto B... B
-test_rebase_same_head success noop same success work diff --fork-point --onto master... master
-test_rebase_same_head success noop same success work diff --fork-point --keep-base master
+test_rebase_same_head success noop same success work diff --fork-point --onto main... main
+test_rebase_same_head success noop same success work diff --fork-point --keep-base main
test_done
diff --git a/t/t3434-rebase-i18n.sh b/t/t3434-rebase-i18n.sh
index c7c835cde9..e6fef696bb 100755
--- a/t/t3434-rebase-i18n.sh
+++ b/t/t3434-rebase-i18n.sh
@@ -7,13 +7,16 @@ test_description='rebase with changing encoding
Initial setup:
-1 - 2 master
+1 - 2 main
\
3 - 4 first
\
5 - 6 second
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
compare_msg () {
@@ -41,7 +44,7 @@ test_expect_success 'rebase --rebase-merges update encoding eucJP to UTF-8' '
git config i18n.commitencoding eucJP &&
git merge -F "$TEST_DIRECTORY/t3434/eucJP.txt" second &&
git config i18n.commitencoding UTF-8 &&
- git rebase --rebase-merges master &&
+ git rebase --rebase-merges main &&
compare_msg eucJP.txt eucJP UTF-8
'
@@ -50,7 +53,7 @@ test_expect_success 'rebase --rebase-merges update encoding eucJP to ISO-2022-JP
git config i18n.commitencoding eucJP &&
git merge -F "$TEST_DIRECTORY/t3434/eucJP.txt" second &&
git config i18n.commitencoding ISO-2022-JP &&
- git rebase --rebase-merges master &&
+ git rebase --rebase-merges main &&
compare_msg eucJP.txt eucJP ISO-2022-JP
'
@@ -66,7 +69,7 @@ test_rebase_continue_update_encode () {
git config i18n.commitencoding $old &&
git commit -F "$TEST_DIRECTORY/t3434/$msgfile" &&
git config i18n.commitencoding $new &&
- test_must_fail git rebase -m master &&
+ test_must_fail git rebase -m main &&
test -f .git/rebase-merge/message &&
git stripspace <.git/rebase-merge/message >two.t &&
git add two.t &&
diff --git a/t/t3435-rebase-gpg-sign.sh b/t/t3435-rebase-gpg-sign.sh
index b47c59c190..ec10766858 100755
--- a/t/t3435-rebase-gpg-sign.sh
+++ b/t/t3435-rebase-gpg-sign.sh
@@ -5,6 +5,9 @@
test_description='test rebase --[no-]gpg-sign'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY/lib-rebase.sh"
. "$TEST_DIRECTORY/lib-gpg.sh"
@@ -46,7 +49,7 @@ test_expect_success 'setup: merge commit' '
test_commit fork-point &&
git switch -c side &&
test_commit three &&
- git switch master &&
+ git switch main &&
git merge --no-ff side &&
git tag merged
'
@@ -64,7 +67,63 @@ test_rebase_gpg_sign false -i --no-gpg-sign --gpg-sign
test_expect_failure 'rebase -p --no-gpg-sign override commit.gpgsign' '
git reset --hard merged &&
git config commit.gpgsign true &&
- git rebase -p --no-gpg-sign --onto=one fork-point master &&
+ git rebase -p --no-gpg-sign --onto=one fork-point main &&
+ test_must_fail git verify-commit HEAD
+'
+
+test_expect_success 'rebase -r, merge strategy, --gpg-sign will sign commit' '
+ git reset --hard merged &&
+ test_unconfig commit.gpgsign &&
+ git rebase -fr --gpg-sign -s resolve --root &&
+ git verify-commit HEAD
+'
+
+test_expect_success 'rebase -r, merge strategy, commit.gpgsign=true will sign commit' '
+ git reset --hard merged &&
+ git config commit.gpgsign true &&
+ git rebase -fr -s resolve --root &&
+ git verify-commit HEAD
+'
+
+test_expect_success 'rebase -r, merge strategy, commit.gpgsign=false --gpg-sign will sign commit' '
+ git reset --hard merged &&
+ git config commit.gpgsign false &&
+ git rebase -fr --gpg-sign -s resolve --root &&
+ git verify-commit HEAD
+'
+
+test_expect_success "rebase -r, merge strategy, commit.gpgsign=true --no-gpg-sign won't sign commit" '
+ git reset --hard merged &&
+ git config commit.gpgsign true &&
+ git rebase -fr --no-gpg-sign -s resolve --root &&
+ test_must_fail git verify-commit HEAD
+'
+
+test_expect_success 'rebase -r --gpg-sign will sign commit' '
+ git reset --hard merged &&
+ test_unconfig commit.gpgsign &&
+ git rebase -fr --gpg-sign --root &&
+ git verify-commit HEAD
+'
+
+test_expect_success 'rebase -r with commit.gpgsign=true will sign commit' '
+ git reset --hard merged &&
+ git config commit.gpgsign true &&
+ git rebase -fr --root &&
+ git verify-commit HEAD
+'
+
+test_expect_success 'rebase -r --gpg-sign with commit.gpgsign=false will sign commit' '
+ git reset --hard merged &&
+ git config commit.gpgsign false &&
+ git rebase -fr --gpg-sign --root &&
+ git verify-commit HEAD
+'
+
+test_expect_success "rebase -r --no-gpg-sign with commit.gpgsign=true won't sign commit" '
+ git reset --hard merged &&
+ git config commit.gpgsign true &&
+ git rebase -fr --no-gpg-sign --root &&
test_must_fail git verify-commit HEAD
'
diff --git a/t/t3436-rebase-more-options.sh b/t/t3436-rebase-more-options.sh
index eaaf4c8d1d..4d106642ba 100755
--- a/t/t3436-rebase-more-options.sh
+++ b/t/t3436-rebase-more-options.sh
@@ -28,7 +28,7 @@ test_expect_success 'setup' '
test_commit commit2 foo foo2 &&
test_commit commit3 foo foo3 &&
- git checkout --orphan master &&
+ git checkout --orphan main &&
rm foo &&
test_write_lines "line 1" " line 2" "line 3" >file &&
git commit -am "add file" &&
diff --git a/t/t3500-cherry.sh b/t/t3500-cherry.sh
index 2b8d9cb38e..0458a58b4b 100755
--- a/t/t3500-cherry.sh
+++ b/t/t3500-cherry.sh
@@ -5,9 +5,12 @@
test_description='git cherry should detect patches integrated upstream
-This test cherry-picks one local change of two into master branch, and
+This test cherry-picks one local change of two into main branch, and
checks that git cherry only returns the second patch in the local branch
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
GIT_AUTHOR_EMAIL=bogus_email_address
@@ -32,7 +35,7 @@ test_expect_success \
test_tick &&
git commit -m "Add C." &&
- git checkout -f master &&
+ git checkout -f main &&
rm -f B C &&
echo Third >> A &&
@@ -40,19 +43,19 @@ test_expect_success \
test_tick &&
git commit -m "Modify A." &&
- expr "$(echo $(git cherry master my-topic-branch) )" : "+ [^ ]* + .*"
+ expr "$(echo $(git cherry main my-topic-branch) )" : "+ [^ ]* + .*"
'
test_expect_success \
'check that cherry with limit returns only the top patch'\
- 'expr "$(echo $(git cherry master my-topic-branch my-topic-branch^1) )" : "+ [^ ]*"
+ 'expr "$(echo $(git cherry main my-topic-branch my-topic-branch^1) )" : "+ [^ ]*"
'
test_expect_success \
'cherry-pick one of the 2 patches, and check cherry recognized one and only one as new' \
'git cherry-pick my-topic-branch^0 &&
- echo $(git cherry master my-topic-branch) &&
- expr "$(echo $(git cherry master my-topic-branch) )" : "+ [^ ]* - .*"
+ echo $(git cherry main my-topic-branch) &&
+ expr "$(echo $(git cherry main my-topic-branch) )" : "+ [^ ]* - .*"
'
test_expect_success 'cherry ignores whitespace' '
diff --git a/t/t3501-revert-cherry-pick.sh b/t/t3501-revert-cherry-pick.sh
index 3669dfb1be..9d100cd188 100755
--- a/t/t3501-revert-cherry-pick.sh
+++ b/t/t3501-revert-cherry-pick.sh
@@ -10,6 +10,9 @@ test_description='test cherry-pick and revert with renames
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -112,7 +115,7 @@ test_expect_success 'cherry-pick on unborn branch' '
test_expect_success 'cherry-pick "-" to pick from previous branch' '
git checkout unborn &&
test_commit to-pick actual content &&
- git checkout master &&
+ git checkout main &&
git cherry-pick - &&
echo content >expect &&
test_cmp expect actual
@@ -132,7 +135,7 @@ test_expect_success 'cherry-pick "-" is meaningless without checkout' '
test_expect_success 'cherry-pick "-" works with arguments' '
git checkout -b side-branch &&
test_commit change actual change &&
- git checkout master &&
+ git checkout main &&
git cherry-pick -s - &&
echo "Signed-off-by: C O Mitter <committer@example.com>" >expect &&
git cat-file commit HEAD | grep ^Signed-off-by: >signoff &&
diff --git a/t/t3502-cherry-pick-merge.sh b/t/t3502-cherry-pick-merge.sh
index 8b635a196d..5495eacfec 100755
--- a/t/t3502-cherry-pick-merge.sh
+++ b/t/t3502-cherry-pick-merge.sh
@@ -8,6 +8,9 @@ test_description='cherry picking and reverting a merge
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -25,7 +28,7 @@ test_expect_success setup '
echo new line >B &&
git commit -m "add line to B" B &&
git tag b &&
- git checkout master &&
+ git checkout main &&
git merge side &&
git tag c
diff --git a/t/t3503-cherry-pick-root.sh b/t/t3503-cherry-pick-root.sh
index e27f39d1e5..95fe4feaee 100755
--- a/t/t3503-cherry-pick-root.sh
+++ b/t/t3503-cherry-pick-root.sh
@@ -2,6 +2,9 @@
test_description='test cherry-picking (and reverting) a root commit'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -30,7 +33,7 @@ test_expect_success setup '
test_expect_success 'cherry-pick a root commit' '
git checkout second^0 &&
- git cherry-pick master &&
+ git cherry-pick main &&
echo first >expect &&
test_cmp expect file1
@@ -38,14 +41,14 @@ test_expect_success 'cherry-pick a root commit' '
test_expect_success 'revert a root commit' '
- git revert master &&
+ git revert main &&
test_path_is_missing file1
'
test_expect_success 'cherry-pick a root commit with an external strategy' '
- git cherry-pick --strategy=resolve master &&
+ git cherry-pick --strategy=resolve main &&
echo first >expect &&
test_cmp expect file1
@@ -53,7 +56,7 @@ test_expect_success 'cherry-pick a root commit with an external strategy' '
test_expect_success 'revert a root commit with an external strategy' '
- git revert --strategy=resolve master &&
+ git revert --strategy=resolve main &&
test_path_is_missing file1
'
@@ -65,7 +68,7 @@ test_expect_success 'cherry-pick two root commits' '
echo third >expect.file3 &&
git checkout second^0 &&
- git cherry-pick master third &&
+ git cherry-pick main third &&
test_cmp expect.file1 file1 &&
test_cmp expect.file2 file2 &&
diff --git a/t/t3504-cherry-pick-rerere.sh b/t/t3504-cherry-pick-rerere.sh
index 80a0d08706..9198535874 100755
--- a/t/t3504-cherry-pick-rerere.sh
+++ b/t/t3504-cherry-pick-rerere.sh
@@ -2,12 +2,15 @@
test_description='cherry-pick should rerere for conflicts'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
test_commit foo &&
- test_commit foo-master foo &&
- test_commit bar-master bar &&
+ test_commit foo-main foo &&
+ test_commit bar-main bar &&
git checkout -b dev foo &&
test_commit foo-dev foo &&
@@ -16,7 +19,7 @@ test_expect_success setup '
'
test_expect_success 'conflicting merge' '
- test_must_fail git merge master
+ test_must_fail git merge main
'
test_expect_success 'fixup' '
@@ -29,7 +32,7 @@ test_expect_success 'fixup' '
'
test_expect_success 'cherry-pick conflict with --rerere-autoupdate' '
- test_must_fail git cherry-pick --rerere-autoupdate foo..bar-master &&
+ test_must_fail git cherry-pick --rerere-autoupdate foo..bar-main &&
test_cmp foo-expect foo &&
git diff-files --quiet &&
test_must_fail git cherry-pick --continue &&
@@ -41,7 +44,7 @@ test_expect_success 'cherry-pick conflict with --rerere-autoupdate' '
test_expect_success 'cherry-pick conflict repsects rerere.autoUpdate' '
test_config rerere.autoUpdate true &&
- test_must_fail git cherry-pick foo..bar-master &&
+ test_must_fail git cherry-pick foo..bar-main &&
test_cmp foo-expect foo &&
git diff-files --quiet &&
test_must_fail git cherry-pick --continue &&
@@ -53,7 +56,7 @@ test_expect_success 'cherry-pick conflict repsects rerere.autoUpdate' '
test_expect_success 'cherry-pick conflict with --no-rerere-autoupdate' '
test_config rerere.autoUpdate true &&
- test_must_fail git cherry-pick --no-rerere-autoupdate foo..bar-master &&
+ test_must_fail git cherry-pick --no-rerere-autoupdate foo..bar-main &&
test_cmp foo-expect foo &&
test_must_fail git diff-files --quiet &&
git add foo &&
@@ -66,7 +69,7 @@ test_expect_success 'cherry-pick conflict with --no-rerere-autoupdate' '
'
test_expect_success 'cherry-pick --continue rejects --rerere-autoupdate' '
- test_must_fail git cherry-pick --rerere-autoupdate foo..bar-master &&
+ test_must_fail git cherry-pick --rerere-autoupdate foo..bar-main &&
test_cmp foo-expect foo &&
git diff-files --quiet &&
test_must_fail git cherry-pick --continue --rerere-autoupdate >actual 2>&1 &&
@@ -79,25 +82,25 @@ test_expect_success 'cherry-pick --continue rejects --rerere-autoupdate' '
'
test_expect_success 'cherry-pick --rerere-autoupdate more than once' '
- test_must_fail git cherry-pick --rerere-autoupdate --rerere-autoupdate foo..bar-master &&
+ test_must_fail git cherry-pick --rerere-autoupdate --rerere-autoupdate foo..bar-main &&
test_cmp foo-expect foo &&
git diff-files --quiet &&
git cherry-pick --abort &&
- test_must_fail git cherry-pick --rerere-autoupdate --no-rerere-autoupdate --rerere-autoupdate foo..bar-master &&
+ test_must_fail git cherry-pick --rerere-autoupdate --no-rerere-autoupdate --rerere-autoupdate foo..bar-main &&
test_cmp foo-expect foo &&
git diff-files --quiet &&
git cherry-pick --abort &&
- test_must_fail git cherry-pick --rerere-autoupdate --no-rerere-autoupdate foo..bar-master &&
+ test_must_fail git cherry-pick --rerere-autoupdate --no-rerere-autoupdate foo..bar-main &&
test_must_fail git diff-files --quiet &&
git cherry-pick --abort
'
test_expect_success 'cherry-pick conflict without rerere' '
test_config rerere.enabled false &&
- test_must_fail git cherry-pick foo-master &&
+ test_must_fail git cherry-pick foo-main &&
grep ===== foo &&
grep foo-dev foo &&
- grep foo-master foo
+ grep foo-main foo
'
test_done
diff --git a/t/t3505-cherry-pick-empty.sh b/t/t3505-cherry-pick-empty.sh
index 5f911bb529..eba3c38d5a 100755
--- a/t/t3505-cherry-pick-empty.sh
+++ b/t/t3505-cherry-pick-empty.sh
@@ -2,6 +2,9 @@
test_description='test cherry-picking an empty commit'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -17,7 +20,7 @@ test_expect_success setup '
test_tick &&
git commit --allow-empty-message -m "" &&
- git checkout master &&
+ git checkout main &&
git checkout -b empty-change-branch &&
test_tick &&
git commit --allow-empty -m "empty"
@@ -25,7 +28,7 @@ test_expect_success setup '
'
test_expect_success 'cherry-pick an empty commit' '
- git checkout master &&
+ git checkout main &&
test_expect_code 1 git cherry-pick empty-change-branch
'
@@ -35,7 +38,7 @@ test_expect_success 'index lockfile was removed' '
test_expect_success 'cherry-pick a commit with an empty message' '
test_when_finished "git reset --hard empty-message-branch~1" &&
- git checkout master &&
+ git checkout main &&
git cherry-pick empty-message-branch
'
@@ -44,12 +47,12 @@ test_expect_success 'index lockfile was removed' '
'
test_expect_success 'cherry-pick a commit with an empty message with --allow-empty-message' '
- git checkout -f master &&
+ git checkout -f main &&
git cherry-pick --allow-empty-message empty-message-branch
'
test_expect_success 'cherry pick an empty non-ff commit without --allow-empty' '
- git checkout master &&
+ git checkout main &&
echo fourth >>file2 &&
git add file2 &&
git commit -m "fourth" &&
@@ -57,22 +60,22 @@ test_expect_success 'cherry pick an empty non-ff commit without --allow-empty' '
'
test_expect_success 'cherry pick an empty non-ff commit with --allow-empty' '
- git checkout master &&
+ git checkout main &&
git cherry-pick --allow-empty empty-change-branch
'
test_expect_success 'cherry pick with --keep-redundant-commits' '
- git checkout master &&
+ git checkout main &&
git cherry-pick --keep-redundant-commits HEAD^
'
test_expect_success 'cherry-pick a commit that becomes no-op (prep)' '
- git checkout master &&
+ git checkout main &&
git branch fork &&
echo foo >file2 &&
git add file2 &&
test_tick &&
- git commit -m "add file2 on master" &&
+ git commit -m "add file2 on main" &&
git checkout fork &&
echo foo >file2 &&
@@ -84,15 +87,15 @@ test_expect_success 'cherry-pick a commit that becomes no-op (prep)' '
test_expect_success 'cherry-pick a no-op without --keep-redundant' '
git reset --hard &&
git checkout fork^0 &&
- test_must_fail git cherry-pick master
+ test_must_fail git cherry-pick main
'
test_expect_success 'cherry-pick a no-op with --keep-redundant' '
git reset --hard &&
git checkout fork^0 &&
- git cherry-pick --keep-redundant-commits master &&
+ git cherry-pick --keep-redundant-commits main &&
git show -s --format=%s >actual &&
- echo "add file2 on master" >expect &&
+ echo "add file2 on main" >expect &&
test_cmp expect actual
'
diff --git a/t/t3506-cherry-pick-ff.sh b/t/t3506-cherry-pick-ff.sh
index 9d5adbc130..7e11bd4a4c 100755
--- a/t/t3506-cherry-pick-ff.sh
+++ b/t/t3506-cherry-pick-ff.sh
@@ -2,6 +2,9 @@
test_description='test cherry-picking with --ff option'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -24,7 +27,7 @@ test_expect_success setup '
'
test_expect_success 'cherry-pick using --ff fast forwards' '
- git checkout master &&
+ git checkout main &&
git reset --hard first &&
test_tick &&
git cherry-pick --ff second &&
@@ -32,7 +35,7 @@ test_expect_success 'cherry-pick using --ff fast forwards' '
'
test_expect_success 'cherry-pick not using --ff does not fast forwards' '
- git checkout master &&
+ git checkout main &&
git reset --hard first &&
test_tick &&
git cherry-pick second &&
@@ -49,7 +52,7 @@ test_expect_success 'cherry-pick not using --ff does not fast forwards' '
# (This has been taken from t3502-cherry-pick-merge.sh)
#
test_expect_success 'merge setup' '
- git checkout master &&
+ git checkout main &&
git reset --hard first &&
echo new line >A &&
git add A &&
@@ -62,7 +65,7 @@ test_expect_success 'merge setup' '
test_tick &&
git commit -m "add line to B" B &&
git tag B &&
- git checkout master &&
+ git checkout main &&
git merge side &&
git tag C &&
git checkout -b new A
diff --git a/t/t3507-cherry-pick-conflict.sh b/t/t3507-cherry-pick-conflict.sh
index a21adcf0e4..5f4564c830 100755
--- a/t/t3507-cherry-pick-conflict.sh
+++ b/t/t3507-cherry-pick-conflict.sh
@@ -9,6 +9,9 @@ test_description='test cherry-pick and revert with conflicts
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
pristine_detach () {
@@ -29,7 +32,7 @@ test_expect_success setup '
test_commit redundant-pick foo c redundant &&
git commit --allow-empty --allow-empty-message &&
git tag empty &&
- git checkout master &&
+ git checkout main &&
git config advice.detachedhead false
'
diff --git a/t/t3508-cherry-pick-many-commits.sh b/t/t3508-cherry-pick-many-commits.sh
index 23070a7b73..ec7a2c9fcf 100755
--- a/t/t3508-cherry-pick-many-commits.sh
+++ b/t/t3508-cherry-pick-many-commits.sh
@@ -2,6 +2,9 @@
test_description='test cherry-picking many commits'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
check_head_differs_from() {
@@ -31,7 +34,7 @@ test_expect_success setup '
'
test_expect_success 'cherry-pick first..fourth works' '
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard first &&
test_tick &&
git cherry-pick first..fourth &&
@@ -45,7 +48,7 @@ test_expect_success 'cherry-pick three one two works' '
test_commit one &&
test_commit two &&
test_commit three &&
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard first &&
git cherry-pick three one two &&
git diff --quiet three &&
@@ -56,28 +59,28 @@ two"
'
test_expect_success 'cherry-pick three one two: fails' '
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard first &&
test_must_fail git cherry-pick three one two:
'
test_expect_success 'output to keep user entertained during multi-pick' '
cat <<-\EOF >expected &&
- [master OBJID] second
+ [main OBJID] second
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
1 file changed, 1 insertion(+)
- [master OBJID] third
+ [main OBJID] third
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:15:13 2005 -0700
1 file changed, 1 insertion(+)
- [master OBJID] fourth
+ [main OBJID] fourth
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:16:13 2005 -0700
1 file changed, 1 insertion(+)
EOF
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard first &&
test_tick &&
git cherry-pick first..fourth >actual &&
@@ -87,7 +90,7 @@ test_expect_success 'output to keep user entertained during multi-pick' '
'
test_expect_success 'cherry-pick --strategy resolve first..fourth works' '
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard first &&
test_tick &&
git cherry-pick --strategy resolve first..fourth &&
@@ -99,23 +102,23 @@ test_expect_success 'cherry-pick --strategy resolve first..fourth works' '
test_expect_success 'output during multi-pick indicates merge strategy' '
cat <<-\EOF >expected &&
Trying simple merge.
- [master OBJID] second
+ [main OBJID] second
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:14:13 2005 -0700
1 file changed, 1 insertion(+)
Trying simple merge.
- [master OBJID] third
+ [main OBJID] third
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:15:13 2005 -0700
1 file changed, 1 insertion(+)
Trying simple merge.
- [master OBJID] fourth
+ [main OBJID] fourth
Author: A U Thor <author@example.com>
Date: Thu Apr 7 15:16:13 2005 -0700
1 file changed, 1 insertion(+)
EOF
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard first &&
test_tick &&
git cherry-pick --strategy resolve first..fourth >actual &&
@@ -124,7 +127,7 @@ test_expect_success 'output during multi-pick indicates merge strategy' '
'
test_expect_success 'cherry-pick --ff first..fourth works' '
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard first &&
test_tick &&
git cherry-pick --ff first..fourth &&
@@ -134,7 +137,7 @@ test_expect_success 'cherry-pick --ff first..fourth works' '
'
test_expect_success 'cherry-pick -n first..fourth works' '
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard first &&
test_tick &&
git cherry-pick -n first..fourth &&
@@ -144,7 +147,7 @@ test_expect_success 'cherry-pick -n first..fourth works' '
'
test_expect_success 'revert first..fourth works' '
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard fourth &&
test_tick &&
git revert first..fourth &&
@@ -154,7 +157,7 @@ test_expect_success 'revert first..fourth works' '
'
test_expect_success 'revert ^first fourth works' '
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard fourth &&
test_tick &&
git revert ^first fourth &&
@@ -164,7 +167,7 @@ test_expect_success 'revert ^first fourth works' '
'
test_expect_success 'revert fourth fourth~1 fourth~2 works' '
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard fourth &&
test_tick &&
git revert fourth fourth~1 fourth~2 &&
@@ -174,7 +177,7 @@ test_expect_success 'revert fourth fourth~1 fourth~2 works' '
'
test_expect_success 'cherry-pick -3 fourth works' '
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard first &&
test_tick &&
git cherry-pick -3 fourth &&
@@ -184,7 +187,7 @@ test_expect_success 'cherry-pick -3 fourth works' '
'
test_expect_success 'cherry-pick --stdin works' '
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard first &&
test_tick &&
git rev-list --reverse first..fourth | git cherry-pick --stdin &&
diff --git a/t/t3509-cherry-pick-merge-df.sh b/t/t3509-cherry-pick-merge-df.sh
index 1e5b3948df..f4159246e1 100755
--- a/t/t3509-cherry-pick-merge-df.sh
+++ b/t/t3509-cherry-pick-merge-df.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='Test cherry-pick with directory/file conflicts'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'Initialize repository' '
@@ -28,7 +31,7 @@ test_expect_success 'Setup rename across paths each below D/F conflicts' '
test_expect_success 'Cherry-pick succeeds with rename across D/F conflicts' '
git reset --hard &&
- git checkout master^0 &&
+ git checkout main^0 &&
git cherry-pick branch
'
diff --git a/t/t3512-cherry-pick-submodule.sh b/t/t3512-cherry-pick-submodule.sh
index 6ece1d8573..822f2d4bfb 100755
--- a/t/t3512-cherry-pick-submodule.sh
+++ b/t/t3512-cherry-pick-submodule.sh
@@ -2,6 +2,9 @@
test_description='cherry-pick can handle submodules'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-submodule-update.sh
@@ -35,7 +38,7 @@ test_expect_success 'unrelated submodule/file conflict is ignored' '
git add a_file &&
git commit -m "modify a file" &&
- git checkout master &&
+ git checkout main &&
git submodule add ../sub sub &&
git submodule update sub &&
diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh
index efec8d13b6..dff1228669 100755
--- a/t/t3600-rm.sh
+++ b/t/t3600-rm.sh
@@ -5,6 +5,9 @@
test_description='Test of the various options to git rm.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# Setup some files to be removed, some with funny characters
@@ -483,16 +486,16 @@ test_expect_success 'setup submodule conflict' '
echo 1 >nitfol &&
git add nitfol &&
git commit -m "added nitfol 1" &&
- git checkout -b branch2 master &&
+ git checkout -b branch2 main &&
echo 2 >nitfol &&
git add nitfol &&
git commit -m "added nitfol 2" &&
- git checkout -b conflict1 master &&
+ git checkout -b conflict1 main &&
git -C submod fetch &&
git -C submod checkout branch1 &&
git add submod &&
git commit -m "submod 1" &&
- git checkout -b conflict2 master &&
+ git checkout -b conflict2 main &&
git -C submod checkout branch2 &&
git add submod &&
git commit -m "submod 2"
@@ -604,7 +607,7 @@ test_expect_success 'rm of a conflicted unpopulated submodule succeeds' '
'
test_expect_success 'rm of a populated submodule with a .git directory migrates git dir' '
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard &&
git submodule update &&
(
@@ -717,7 +720,7 @@ test_expect_success 'checking out a commit after submodule removal needs manual
git checkout HEAD^ &&
git submodule update &&
git checkout -q HEAD^ &&
- git checkout -q master 2>actual &&
+ git checkout -q main 2>actual &&
test_i18ngrep "^warning: unable to rmdir '\''submod'\'':" actual &&
git status -s submod >actual &&
echo "?? submod/" >expected &&
diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh
index ca04fac417..b2f90997db 100755
--- a/t/t3701-add-interactive.sh
+++ b/t/t3701-add-interactive.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='add -i basic tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-terminal.sh
@@ -549,8 +552,8 @@ test_expect_success 'patch mode ignores unmerged entries' '
test_commit non-conflict &&
git checkout -b side &&
test_commit side conflict.t &&
- git checkout master &&
- test_commit master conflict.t &&
+ git checkout main &&
+ test_commit main conflict.t &&
test_must_fail git merge side &&
echo changed >non-conflict.t &&
echo y | git add -p >output &&
@@ -589,6 +592,90 @@ test_expect_success 'diffs can be colorized' '
grep "$(printf "\\033")" output
'
+test_expect_success 'colors can be overridden' '
+ git reset --hard &&
+ test_when_finished "git rm -f color-test" &&
+ test_write_lines context old more-context >color-test &&
+ git add color-test &&
+ test_write_lines context new more-context another-one >color-test &&
+
+ echo trigger an error message >input &&
+ force_color git \
+ -c color.interactive.error=blue \
+ add -i 2>err.raw <input &&
+ test_decode_color <err.raw >err &&
+ grep "<BLUE>Huh (trigger)?<RESET>" err &&
+
+ test_write_lines help quit >input &&
+ force_color git \
+ -c color.interactive.header=red \
+ -c color.interactive.help=green \
+ -c color.interactive.prompt=yellow \
+ add -i >actual.raw <input &&
+ test_decode_color <actual.raw >actual &&
+ cat >expect <<-\EOF &&
+ <RED> staged unstaged path<RESET>
+ 1: +3/-0 +2/-1 color-test
+
+ <RED>*** Commands ***<RESET>
+ 1: <YELLOW>s<RESET>tatus 2: <YELLOW>u<RESET>pdate 3: <YELLOW>r<RESET>evert 4: <YELLOW>a<RESET>dd untracked
+ 5: <YELLOW>p<RESET>atch 6: <YELLOW>d<RESET>iff 7: <YELLOW>q<RESET>uit 8: <YELLOW>h<RESET>elp
+ <YELLOW>What now<RESET>> <GREEN>status - show paths with changes<RESET>
+ <GREEN>update - add working tree state to the staged set of changes<RESET>
+ <GREEN>revert - revert staged set of changes back to the HEAD version<RESET>
+ <GREEN>patch - pick hunks and update selectively<RESET>
+ <GREEN>diff - view diff between HEAD and index<RESET>
+ <GREEN>add untracked - add contents of untracked files to the staged set of changes<RESET>
+ <RED>*** Commands ***<RESET>
+ 1: <YELLOW>s<RESET>tatus 2: <YELLOW>u<RESET>pdate 3: <YELLOW>r<RESET>evert 4: <YELLOW>a<RESET>dd untracked
+ 5: <YELLOW>p<RESET>atch 6: <YELLOW>d<RESET>iff 7: <YELLOW>q<RESET>uit 8: <YELLOW>h<RESET>elp
+ <YELLOW>What now<RESET>> Bye.
+ EOF
+ test_cmp expect actual &&
+
+ : exercise recolor_hunk by editing and then look at the hunk again &&
+ test_write_lines s e K q >input &&
+ force_color git \
+ -c color.interactive.prompt=yellow \
+ -c color.diff.meta=italic \
+ -c color.diff.frag=magenta \
+ -c color.diff.context=cyan \
+ -c color.diff.old=bold \
+ -c color.diff.new=blue \
+ -c core.editor=touch \
+ add -p >actual.raw <input &&
+ test_decode_color <actual.raw >actual.decoded &&
+ sed "s/index [0-9a-f]*\\.\\.[0-9a-f]* 100644/<INDEX-LINE>/" <actual.decoded >actual &&
+ cat >expect <<-\EOF &&
+ <ITALIC>diff --git a/color-test b/color-test<RESET>
+ <ITALIC><INDEX-LINE><RESET>
+ <ITALIC>--- a/color-test<RESET>
+ <ITALIC>+++ b/color-test<RESET>
+ <MAGENTA>@@ -1,3 +1,4 @@<RESET>
+ <CYAN> context<RESET>
+ <BOLD>-old<RESET>
+ <BLUE>+<RESET><BLUE>new<RESET>
+ <CYAN> more-context<RESET>
+ <BLUE>+<RESET><BLUE>another-one<RESET>
+ <YELLOW>(1/1) Stage this hunk [y,n,q,a,d,s,e,?]? <RESET><BOLD>Split into 2 hunks.<RESET>
+ <MAGENTA>@@ -1,3 +1,3 @@<RESET>
+ <CYAN> context<RESET>
+ <BOLD>-old<RESET>
+ <BLUE>+<RESET><BLUE>new<RESET>
+ <CYAN> more-context<RESET>
+ <YELLOW>(1/2) Stage this hunk [y,n,q,a,d,j,J,g,/,e,?]? <RESET><MAGENTA>@@ -3 +3,2 @@<RESET>
+ <CYAN> more-context<RESET>
+ <BLUE>+<RESET><BLUE>another-one<RESET>
+ <YELLOW>(2/2) Stage this hunk [y,n,q,a,d,K,g,/,e,?]? <RESET><MAGENTA>@@ -1,3 +1,3 @@<RESET>
+ <CYAN> context<RESET>
+ <BOLD>-old<RESET>
+ <BLUE>+new<RESET>
+ <CYAN> more-context<RESET>
+ <YELLOW>(1/2) Stage this hunk [y,n,q,a,d,j,J,g,/,e,?]? <RESET>
+ EOF
+ test_cmp expect actual
+'
+
test_expect_success 'colorized diffs respect diff.wsErrorHighlight' '
git reset --hard &&
@@ -765,6 +852,12 @@ test_expect_success 'setup different kinds of dirty submodules' '
cat >expected <<-\EOF &&
dirty-both-ways
dirty-head
+ EOF
+ test_cmp expected actual &&
+ git -C for-submodules diff-files --name-only --ignore-submodules=none >actual &&
+ cat >expected <<-\EOF &&
+ dirty-both-ways
+ dirty-head
dirty-otherwise
EOF
test_cmp expected actual &&
diff --git a/t/t3800-mktag.sh b/t/t3800-mktag.sh
index d696aa4e52..86bfeb271e 100755
--- a/t/t3800-mktag.sh
+++ b/t/t3800-mktag.sh
@@ -12,10 +12,29 @@ test_description='git mktag: tag object verify test'
# given in the expect.pat file.
check_verify_failure () {
- expect="$2"
+ test_expect_success "$1" "
+ test_must_fail env GIT_TEST_GETTEXT_POISON=false \
+ git mktag <tag.sig 2>message &&
+ grep '$2' message &&
+ if test '$3' != '--no-strict'
+ then
+ test_must_fail env GIT_TEST_GETTEXT_POISON=false \
+ git mktag --no-strict <tag.sig 2>message.no-strict &&
+ grep '$2' message.no-strict
+ fi
+ "
+}
+
+test_expect_mktag_success() {
test_expect_success "$1" '
- ( test_must_fail git mktag <tag.sig 2>message ) &&
- grep "$expect" message
+ git hash-object -t tag -w --stdin <tag.sig >expected &&
+ git fsck --strict &&
+
+ git mktag <tag.sig >hash &&
+ test_cmp expected hash &&
+ test_when_finished "git update-ref -d refs/tags/mytag $(cat hash)" &&
+ git update-ref refs/tags/mytag $(cat hash) $(test_oid zero) &&
+ git fsck --strict
'
}
@@ -23,10 +42,24 @@ check_verify_failure () {
# first create a commit, so we have a valid object/type
# for the tag.
test_expect_success 'setup' '
- echo Hello >A &&
- git update-index --add A &&
- git commit -m "Initial commit" &&
- head=$(git rev-parse --verify HEAD)
+ test_commit A &&
+ test_commit B &&
+ head=$(git rev-parse --verify HEAD) &&
+ head_parent=$(git rev-parse --verify HEAD~) &&
+ tree=$(git rev-parse HEAD^{tree}) &&
+ blob=$(git rev-parse --verify HEAD:B.t)
+'
+
+test_expect_success 'basic usage' '
+ cat >tag.sig <<-EOF &&
+ object $head
+ type commit
+ tag mytag
+ tagger T A Gger <tagger@example.com> 1206478233 -0500
+ EOF
+ git mktag <tag.sig &&
+ git mktag --end-of-options <tag.sig &&
+ test_expect_code 129 git mktag --unknown-option
'
############################################################
@@ -37,33 +70,33 @@ too short for a tag
EOF
check_verify_failure 'Tag object length check' \
- '^error: .*size wrong.*$'
+ '^error:.* missingObject:' 'strict'
############################################################
# 2. object line label check
cat >tag.sig <<EOF
-xxxxxx 139e9b33986b1c2670fff52c5067603117b3e895
+xxxxxx $head
type tag
tag mytag
tagger . <> 0 +0000
EOF
-check_verify_failure '"object" line label check' '^error: char0: .*"object "$'
+check_verify_failure '"object" line label check' '^error:.* missingObject:'
############################################################
-# 3. object line SHA1 check
+# 3. object line hash check
cat >tag.sig <<EOF
-object zz9e9b33986b1c2670fff52c5067603117b3e895
+object $(echo $head | tr 0-9a-f z)
type tag
tag mytag
tagger . <> 0 +0000
EOF
-check_verify_failure '"object" line SHA1 check' '^error: char7: .*SHA1 hash$'
+check_verify_failure '"object" line check' '^error:.* badObjectSha1:'
############################################################
# 4. type line label check
@@ -76,7 +109,7 @@ tagger . <> 0 +0000
EOF
-check_verify_failure '"type" line label check' '^error: char.*: .*"\\ntype "$'
+check_verify_failure '"type" line label check' '^error:.* missingTypeEntry:'
############################################################
# 5. type line eol check
@@ -84,7 +117,7 @@ check_verify_failure '"type" line label check' '^error: char.*: .*"\\ntype "$'
echo "object $head" >tag.sig
printf "type tagsssssssssssssssssssssssssssssss" >>tag.sig
-check_verify_failure '"type" line eol check' '^error: char.*: .*"\\n"$'
+check_verify_failure '"type" line eol check' '^error:.* unterminatedHeader:'
############################################################
# 6. tag line label check #1
@@ -98,7 +131,7 @@ tagger . <> 0 +0000
EOF
check_verify_failure '"tag" line label check #1' \
- '^error: char.*: no "tag " found$'
+ '^error:.* missingTagEntry:'
############################################################
# 7. tag line label check #2
@@ -110,7 +143,7 @@ tag
EOF
check_verify_failure '"tag" line label check #2' \
- '^error: char.*: no "tag " found$'
+ '^error:.* badType:'
############################################################
# 8. type line type-name length check
@@ -122,21 +155,83 @@ tag mytag
EOF
check_verify_failure '"type" line type-name length check' \
- '^error: char.*: type too long$'
+ '^error:.* badType:'
############################################################
-# 9. verify object (SHA1/type) check
+# 9. verify object (hash/type) check
cat >tag.sig <<EOF
object $(test_oid deadbeef)
+type tag
+tag mytag
+tagger . <> 0 +0000
+
+EOF
+
+check_verify_failure 'verify object (hash/type) check -- correct type, nonexisting object' \
+ '^fatal: could not read tagged object'
+
+cat >tag.sig <<EOF
+object $head
type tagggg
tag mytag
tagger . <> 0 +0000
EOF
-check_verify_failure 'verify object (SHA1/type) check' \
- '^error: char7: could not verify object.*$'
+check_verify_failure 'verify object (hash/type) check -- made-up type, valid object' \
+ '^error:.* badType:'
+
+cat >tag.sig <<EOF
+object $(test_oid deadbeef)
+type tagggg
+tag mytag
+tagger . <> 0 +0000
+
+EOF
+
+check_verify_failure 'verify object (hash/type) check -- made-up type, nonexisting object' \
+ '^error:.* badType:'
+
+cat >tag.sig <<EOF
+object $head
+type tree
+tag mytag
+tagger . <> 0 +0000
+
+EOF
+
+check_verify_failure 'verify object (hash/type) check -- mismatched type, valid object' \
+ '^fatal: object.*tagged as.*tree.*but is.*commit'
+
+############################################################
+# 9.5. verify object (hash/type) check -- replacement
+
+test_expect_success 'setup replacement of commit -> commit and tree -> blob' '
+ git replace $head_parent $head &&
+ git replace -f $tree $blob
+'
+
+cat >tag.sig <<EOF
+object $head_parent
+type commit
+tag mytag
+tagger . <> 0 +0000
+
+EOF
+
+test_expect_mktag_success 'tag to a commit replaced by another commit'
+
+cat >tag.sig <<EOF
+object $tree
+type tree
+tag mytag
+tagger . <> 0 +0000
+
+EOF
+
+check_verify_failure 'verify object (hash/type) check -- mismatched type, valid object' \
+ '^fatal: object.*tagged as.*tree.*but is.*blob'
############################################################
# 10. verify tag-name check
@@ -150,7 +245,7 @@ tagger . <> 0 +0000
EOF
check_verify_failure 'verify tag-name check' \
- '^error: char.*: could not verify tag name$'
+ '^error:.* badTagName:' '--no-strict'
############################################################
# 11. tagger line label check #1
@@ -164,7 +259,7 @@ This is filler
EOF
check_verify_failure '"tagger" line label check #1' \
- '^error: char.*: could not find "tagger "$'
+ '^error:.* missingTaggerEntry:' '--no-strict'
############################################################
# 12. tagger line label check #2
@@ -179,10 +274,10 @@ This is filler
EOF
check_verify_failure '"tagger" line label check #2' \
- '^error: char.*: could not find "tagger "$'
+ '^error:.* missingTaggerEntry:' '--no-strict'
############################################################
-# 13. disallow missing tag author name
+# 13. allow missing tag author name like fsck
cat >tag.sig <<EOF
object $head
@@ -193,8 +288,7 @@ tagger <> 0 +0000
This is filler
EOF
-check_verify_failure 'disallow missing tag author name' \
- '^error: char.*: missing tagger name$'
+test_expect_mktag_success 'allow missing tag author name'
############################################################
# 14. disallow missing tag author name
@@ -209,7 +303,7 @@ tagger T A Gger <
EOF
check_verify_failure 'disallow malformed tagger' \
- '^error: char.*: malformed tagger field$'
+ '^error:.* badEmail:' '--no-strict'
############################################################
# 15. allow empty tag email
@@ -222,12 +316,10 @@ tagger T A Gger <> 0 +0000
EOF
-test_expect_success \
- 'allow empty tag email' \
- 'git mktag <tag.sig >.git/refs/tags/mytag 2>message'
+test_expect_mktag_success 'allow empty tag email'
############################################################
-# 16. disallow spaces in tag email
+# 16. allow spaces in tag email like fsck
cat >tag.sig <<EOF
object $head
@@ -237,8 +329,7 @@ tagger T A Gger <tag ger@example.com> 0 +0000
EOF
-check_verify_failure 'disallow spaces in tag email' \
- '^error: char.*: malformed tagger field$'
+test_expect_mktag_success 'allow spaces in tag email like fsck'
############################################################
# 17. disallow missing tag timestamp
@@ -252,7 +343,7 @@ tagger T A Gger <tagger@example.com>__
EOF
check_verify_failure 'disallow missing tag timestamp' \
- '^error: char.*: missing tag timestamp$'
+ '^error:.* badDate:'
############################################################
# 18. detect invalid tag timestamp1
@@ -266,7 +357,7 @@ tagger T A Gger <tagger@example.com> Tue Mar 25 15:47:44 2008
EOF
check_verify_failure 'detect invalid tag timestamp1' \
- '^error: char.*: missing tag timestamp$'
+ '^error:.* badDate:'
############################################################
# 19. detect invalid tag timestamp2
@@ -280,7 +371,7 @@ tagger T A Gger <tagger@example.com> 2008-03-31T12:20:15-0500
EOF
check_verify_failure 'detect invalid tag timestamp2' \
- '^error: char.*: malformed tag timestamp$'
+ '^error:.* badDate:'
############################################################
# 20. detect invalid tag timezone1
@@ -294,7 +385,7 @@ tagger T A Gger <tagger@example.com> 1206478233 GMT
EOF
check_verify_failure 'detect invalid tag timezone1' \
- '^error: char.*: malformed tag timezone$'
+ '^error:.* badTimezone:'
############################################################
# 21. detect invalid tag timezone2
@@ -308,10 +399,10 @@ tagger T A Gger <tagger@example.com> 1206478233 + 30
EOF
check_verify_failure 'detect invalid tag timezone2' \
- '^error: char.*: malformed tag timezone$'
+ '^error:.* badTimezone:'
############################################################
-# 22. detect invalid tag timezone3
+# 22. allow invalid tag timezone3 (the maximum is -1200/+1400)
cat >tag.sig <<EOF
object $head
@@ -321,8 +412,7 @@ tagger T A Gger <tagger@example.com> 1206478233 -1430
EOF
-check_verify_failure 'detect invalid tag timezone3' \
- '^error: char.*: malformed tag timezone$'
+test_expect_mktag_success 'allow invalid tag timezone'
############################################################
# 23. detect invalid header entry
@@ -337,10 +427,41 @@ this line should not be here
EOF
check_verify_failure 'detect invalid header entry' \
- '^error: char.*: trailing garbage in tag header$'
+ '^error:.* extraHeaderEntry:' '--no-strict'
-############################################################
-# 24. create valid tag
+test_expect_success 'invalid header entry config & fsck' '
+ test_must_fail git mktag <tag.sig &&
+ git mktag --no-strict <tag.sig &&
+
+ test_must_fail git -c fsck.extraHeaderEntry=error mktag <tag.sig &&
+ test_must_fail git -c fsck.extraHeaderEntry=error mktag --no-strict <tag.sig &&
+
+ test_must_fail git -c fsck.extraHeaderEntry=warn mktag <tag.sig &&
+ git -c fsck.extraHeaderEntry=warn mktag --no-strict <tag.sig &&
+
+ git -c fsck.extraHeaderEntry=ignore mktag <tag.sig &&
+ git -c fsck.extraHeaderEntry=ignore mktag --no-strict <tag.sig &&
+
+ git fsck &&
+ env GIT_TEST_GETTEXT_POISON=false \
+ git -c fsck.extraHeaderEntry=warn fsck 2>err &&
+ grep "warning .*extraHeaderEntry:" err &&
+ test_must_fail env GIT_TEST_GETTEXT_POISON=false \
+ git -c fsck.extraHeaderEntry=error 2>err fsck &&
+ grep "error .* extraHeaderEntry:" err
+'
+
+cat >tag.sig <<EOF
+object $head
+type commit
+tag mytag
+tagger T A Gger <tagger@example.com> 1206478233 -0500
+
+
+this line comes after an extra newline
+EOF
+
+test_expect_mktag_success 'allow extra newlines at start of body'
cat >tag.sig <<EOF
object $head
@@ -350,16 +471,27 @@ tagger T A Gger <tagger@example.com> 1206478233 -0500
EOF
-test_expect_success \
- 'create valid tag' \
- 'git mktag <tag.sig >.git/refs/tags/mytag 2>message'
+test_expect_mktag_success 'allow a blank line before an empty body (1)'
+
+cat >tag.sig <<EOF
+object $head
+type commit
+tag mytag
+tagger T A Gger <tagger@example.com> 1206478233 -0500
+EOF
+
+test_expect_mktag_success 'allow no blank line before an empty body (2)'
############################################################
-# 25. check mytag
+# 24. create valid tag
-test_expect_success \
- 'check mytag' \
- 'git tag -l | grep mytag'
+cat >tag.sig <<EOF
+object $head
+type commit
+tag mytag
+tagger T A Gger <tagger@example.com> 1206478233 -0500
+EOF
+test_expect_mktag_success 'create valid tag object'
test_done
diff --git a/t/t3901-i18n-patch.sh b/t/t3901-i18n-patch.sh
index 923eb01f0e..4f16a735d9 100755
--- a/t/t3901-i18n-patch.sh
+++ b/t/t3901-i18n-patch.sh
@@ -5,6 +5,9 @@
test_description='i18n settings and format-patch | am pipe'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
check_encoding () {
@@ -45,7 +48,7 @@ test_expect_success setup '
# the first commit on the side branch is UTF-8
test_tick &&
- git checkout -b side master^ &&
+ git checkout -b side main^ &&
echo Another file >yours &&
git add yours &&
git commit -s -m "Second on side" &&
@@ -69,7 +72,7 @@ test_expect_success setup '
test_expect_success 'format-patch output (ISO-8859-1)' '
git config i18n.logoutputencoding ISO8859-1 &&
- git format-patch --stdout master..HEAD^ >out-l1 &&
+ git format-patch --stdout main..HEAD^ >out-l1 &&
git format-patch --stdout HEAD^ >out-l2 &&
grep "^Content-Type: text/plain; charset=ISO8859-1" out-l1 &&
grep "^From: =?ISO8859-1?q?=C1=E9=ED=20=F3=FA?=" out-l1 &&
@@ -80,7 +83,7 @@ test_expect_success 'format-patch output (ISO-8859-1)' '
test_expect_success 'format-patch output (UTF-8)' '
git config i18n.logoutputencoding UTF-8 &&
- git format-patch --stdout master..HEAD^ >out-u1 &&
+ git format-patch --stdout main..HEAD^ >out-u1 &&
git format-patch --stdout HEAD^ >out-u2 &&
grep "^Content-Type: text/plain; charset=UTF-8" out-u1 &&
grep "^From: =?UTF-8?q?=C3=81=C3=A9=C3=AD=20=C3=B3=C3=BA?=" out-u1 &&
@@ -102,7 +105,7 @@ test_expect_success 'rebase (U/U)' '
# we want UTF-8 encoded name.
. "$TEST_DIRECTORY"/t3901/utf8.txt &&
git checkout -b test &&
- git rebase master &&
+ git rebase main &&
check_encoding 2
'
@@ -113,7 +116,7 @@ test_expect_success 'rebase (U/L)' '
. "$TEST_DIRECTORY"/t3901/utf8.txt &&
git reset --hard side &&
- git rebase master &&
+ git rebase main &&
check_encoding 2
'
@@ -125,7 +128,7 @@ test_expect_success !MINGW 'rebase (L/L)' '
. "$TEST_DIRECTORY"/t3901/8859-1.txt &&
git reset --hard side &&
- git rebase master &&
+ git rebase main &&
check_encoding 2 8859
'
@@ -138,7 +141,7 @@ test_expect_success !MINGW 'rebase (L/U)' '
. "$TEST_DIRECTORY"/t3901/8859-1.txt &&
git reset --hard side &&
- git rebase master &&
+ git rebase main &&
check_encoding 2 8859
'
@@ -150,7 +153,7 @@ test_expect_success 'cherry-pick(U/U)' '
git config i18n.logoutputencoding UTF-8 &&
. "$TEST_DIRECTORY"/t3901/utf8.txt &&
- git reset --hard master &&
+ git reset --hard main &&
git cherry-pick side^ &&
git cherry-pick side &&
git revert HEAD &&
@@ -165,7 +168,7 @@ test_expect_success !MINGW 'cherry-pick(L/L)' '
git config i18n.logoutputencoding ISO8859-1 &&
. "$TEST_DIRECTORY"/t3901/8859-1.txt &&
- git reset --hard master &&
+ git reset --hard main &&
git cherry-pick side^ &&
git cherry-pick side &&
git revert HEAD &&
@@ -180,7 +183,7 @@ test_expect_success 'cherry-pick(U/L)' '
git config i18n.logoutputencoding ISO8859-1 &&
. "$TEST_DIRECTORY"/t3901/utf8.txt &&
- git reset --hard master &&
+ git reset --hard main &&
git cherry-pick side^ &&
git cherry-pick side &&
git revert HEAD &&
@@ -196,7 +199,7 @@ test_expect_success !MINGW 'cherry-pick(L/U)' '
git config i18n.logoutputencoding UTF-8 &&
. "$TEST_DIRECTORY"/t3901/8859-1.txt &&
- git reset --hard master &&
+ git reset --hard main &&
git cherry-pick side^ &&
git cherry-pick side &&
git revert HEAD &&
@@ -210,7 +213,7 @@ test_expect_success 'rebase --merge (U/U)' '
. "$TEST_DIRECTORY"/t3901/utf8.txt &&
git reset --hard side &&
- git rebase --merge master &&
+ git rebase --merge main &&
check_encoding 2
'
@@ -221,7 +224,7 @@ test_expect_success 'rebase --merge (U/L)' '
. "$TEST_DIRECTORY"/t3901/utf8.txt &&
git reset --hard side &&
- git rebase --merge master &&
+ git rebase --merge main &&
check_encoding 2
'
@@ -233,7 +236,7 @@ test_expect_success 'rebase --merge (L/L)' '
. "$TEST_DIRECTORY"/t3901/8859-1.txt &&
git reset --hard side &&
- git rebase --merge master &&
+ git rebase --merge main &&
check_encoding 2 8859
'
@@ -246,7 +249,7 @@ test_expect_success 'rebase --merge (L/U)' '
. "$TEST_DIRECTORY"/t3901/8859-1.txt &&
git reset --hard side &&
- git rebase --merge master &&
+ git rebase --merge main &&
check_encoding 2 8859
'
@@ -256,7 +259,7 @@ test_expect_success 'am (U/U)' '
git config i18n.commitencoding UTF-8 &&
. "$TEST_DIRECTORY"/t3901/utf8.txt &&
- git reset --hard master &&
+ git reset --hard main &&
git am out-u1 out-u2 &&
check_encoding 2
@@ -267,7 +270,7 @@ test_expect_success !MINGW 'am (L/L)' '
git config i18n.commitencoding ISO8859-1 &&
. "$TEST_DIRECTORY"/t3901/8859-1.txt &&
- git reset --hard master &&
+ git reset --hard main &&
git am out-l1 out-l2 &&
check_encoding 2 8859
@@ -277,7 +280,7 @@ test_expect_success 'am (U/L)' '
# Apply ISO-8859-1 patches with UTF-8 commitencoding
git config i18n.commitencoding UTF-8 &&
. "$TEST_DIRECTORY"/t3901/utf8.txt &&
- git reset --hard master &&
+ git reset --hard main &&
# am specifies --utf8 by default.
git am out-l1 out-l2 &&
@@ -290,7 +293,7 @@ test_expect_success 'am --no-utf8 (U/L)' '
git config i18n.commitencoding UTF-8 &&
. "$TEST_DIRECTORY"/t3901/utf8.txt &&
- git reset --hard master &&
+ git reset --hard main &&
git am --no-utf8 out-l1 out-l2 2>err &&
# commit-tree will warn that the commit message does not contain valid UTF-8
@@ -305,7 +308,7 @@ test_expect_success !MINGW 'am (L/U)' '
git config i18n.commitencoding ISO8859-1 &&
. "$TEST_DIRECTORY"/t3901/8859-1.txt &&
- git reset --hard master &&
+ git reset --hard main &&
# mailinfo will re-code the commit message to the charset specified by
# i18n.commitencoding
git am out-u1 out-u2 &&
diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
index 9f7ca98967..84b039e573 100755
--- a/t/t3903-stash.sh
+++ b/t/t3903-stash.sh
@@ -5,6 +5,9 @@
test_description='Test git stash'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
diff_cmp () {
@@ -220,14 +223,14 @@ test_expect_success 'stash branch' '
git commit file -m second &&
git stash branch stashbranch &&
test refs/heads/stashbranch = $(git symbolic-ref HEAD) &&
- test $(git rev-parse HEAD) = $(git rev-parse master^) &&
+ test $(git rev-parse HEAD) = $(git rev-parse main^) &&
git diff --cached >output &&
diff_cmp expect output &&
git diff >output &&
diff_cmp expect1 output &&
git add file &&
git commit -m alternate\ second &&
- git diff master..stashbranch >output &&
+ git diff main..stashbranch >output &&
diff_cmp output expect2 &&
test 0 = $(git stash list | wc -l)
'
@@ -520,7 +523,7 @@ test_expect_success 'stash branch - no stashes on stack, stash-like argument' '
STASH_ID=$(git stash create) &&
git reset --hard &&
git stash branch stash-branch ${STASH_ID} &&
- test_when_finished "git reset --hard HEAD && git checkout master &&
+ test_when_finished "git reset --hard HEAD && git checkout main &&
git branch -D stash-branch" &&
test $(git ls-files --modified | wc -l) -eq 1
'
@@ -536,7 +539,7 @@ test_expect_success 'stash branch - stashes on stack, stash-like argument' '
STASH_ID=$(git stash create) &&
git reset --hard &&
git stash branch stash-branch ${STASH_ID} &&
- test_when_finished "git reset --hard HEAD && git checkout master &&
+ test_when_finished "git reset --hard HEAD && git checkout main &&
git branch -D stash-branch" &&
test $(git ls-files --modified | wc -l) -eq 1
'
@@ -738,7 +741,7 @@ test_expect_success 'valid ref of the form "n", n < N' '
git stash &&
git stash show 0 &&
git stash branch tmp 0 &&
- git checkout master &&
+ git checkout main &&
git stash &&
git stash apply 0 &&
git reset --hard &&
@@ -755,7 +758,7 @@ test_expect_success 'branch: do not drop the stash if the branch exists' '
git commit -m initial &&
echo bar >file &&
git stash &&
- test_must_fail git stash branch master stash@{0} &&
+ test_must_fail git stash branch main stash@{0} &&
git rev-parse stash@{0} --
'
@@ -768,7 +771,7 @@ test_expect_success 'branch: should not drop the stash if the apply fails' '
echo bar >file &&
git stash &&
echo baz >file &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
test_must_fail git stash branch new_branch stash@{0} &&
git rev-parse stash@{0} --
'
@@ -902,7 +905,7 @@ test_expect_success 'push -m shows right message' '
>foo &&
git add foo &&
git stash push -m "test message" &&
- echo "stash@{0}: On master: test message" >expect &&
+ echo "stash@{0}: On main: test message" >expect &&
git stash list -1 >actual &&
test_cmp expect actual
'
@@ -911,7 +914,7 @@ test_expect_success 'push -m also works without space' '
>foo &&
git add foo &&
git stash push -m"unspaced test message" &&
- echo "stash@{0}: On master: unspaced test message" >expect &&
+ echo "stash@{0}: On main: unspaced test message" >expect &&
git stash list -1 >actual &&
test_cmp expect actual
'
@@ -968,7 +971,7 @@ test_expect_success 'push -mfoo uses right message' '
>foo &&
git add foo &&
git stash push -m"test mfoo" &&
- echo "stash@{0}: On master: test mfoo" >expect &&
+ echo "stash@{0}: On main: test mfoo" >expect &&
git stash list -1 >actual &&
test_cmp expect actual
'
@@ -977,7 +980,7 @@ test_expect_success 'push --message foo is synonym for -mfoo' '
>foo &&
git add foo &&
git stash push --message "test message foo" &&
- echo "stash@{0}: On master: test message foo" >expect &&
+ echo "stash@{0}: On main: test message foo" >expect &&
git stash list -1 >actual &&
test_cmp expect actual
'
@@ -986,7 +989,7 @@ test_expect_success 'push --message=foo is synonym for -mfoo' '
>foo &&
git add foo &&
git stash push --message="test message=foo" &&
- echo "stash@{0}: On master: test message=foo" >expect &&
+ echo "stash@{0}: On main: test message=foo" >expect &&
git stash list -1 >actual &&
test_cmp expect actual
'
@@ -995,7 +998,7 @@ test_expect_success 'push -m shows right message' '
>foo &&
git add foo &&
git stash push -m "test m foo" &&
- echo "stash@{0}: On master: test m foo" >expect &&
+ echo "stash@{0}: On main: test m foo" >expect &&
git stash list -1 >actual &&
test_cmp expect actual
'
@@ -1004,7 +1007,7 @@ test_expect_success 'create stores correct message' '
>foo &&
git add foo &&
STASH_ID=$(git stash create "create test message") &&
- echo "On master: create test message" >expect &&
+ echo "On main: create test message" >expect &&
git show --pretty=%s -s ${STASH_ID} >actual &&
test_cmp expect actual
'
@@ -1013,13 +1016,13 @@ test_expect_success 'create with multiple arguments for the message' '
>foo &&
git add foo &&
STASH_ID=$(git stash create test untracked) &&
- echo "On master: test untracked" >expect &&
+ echo "On main: test untracked" >expect &&
git show --pretty=%s -s ${STASH_ID} >actual &&
test_cmp expect actual
'
test_expect_success 'create in a detached state' '
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
git checkout HEAD~1 &&
>foo &&
git add foo &&
diff --git a/t/t3910-mac-os-precompose.sh b/t/t3910-mac-os-precompose.sh
index 54ce19e353..a0b9208ce8 100755
--- a/t/t3910-mac-os-precompose.sh
+++ b/t/t3910-mac-os-precompose.sh
@@ -5,6 +5,9 @@
test_description='utf-8 decomposed (nfd) converted to precomposed (nfc)'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
if ! test_have_prereq UTF8_NFD_TO_NFC
@@ -151,7 +154,7 @@ test_expect_success "git checkout link nfd" '
git checkout l.$Odiarnfd
'
test_expect_success "setup case mac2" '
- git checkout master &&
+ git checkout main &&
git reset --hard &&
git checkout -b mac_os_2
'
@@ -163,7 +166,7 @@ test_expect_success "commit file d2.Adiarnfd/f.Adiarnfd" '
git commit -m "add d2.$Adiarnfd/f.$Adiarnfd" -- d2.$Adiarnfd/f.$Adiarnfd
'
test_expect_success "setup for long decomposed filename" '
- git checkout master &&
+ git checkout main &&
git reset --hard &&
git checkout -b mac_os_long_nfd_fn
'
@@ -173,7 +176,7 @@ test_expect_success "Add long decomposed filename" '
git commit -m "Long filename"
'
test_expect_success "setup for long precomposed filename" '
- git checkout master &&
+ git checkout main &&
git reset --hard &&
git checkout -b mac_os_long_nfc_fn
'
diff --git a/t/t3920-crlf-messages.sh b/t/t3920-crlf-messages.sh
new file mode 100755
index 0000000000..70ddce3a2e
--- /dev/null
+++ b/t/t3920-crlf-messages.sh
@@ -0,0 +1,126 @@
+#!/bin/sh
+
+test_description='Test ref-filter and pretty APIs for commit and tag messages using CRLF'
+. ./test-lib.sh
+
+LIB_CRLF_BRANCHES=""
+
+create_crlf_ref () {
+ branch="$1" &&
+ cat >.crlf-orig-$branch.txt &&
+ cat .crlf-orig-$branch.txt | append_cr >.crlf-message-$branch.txt &&
+ grep 'Subject' .crlf-orig-$branch.txt | tr '\n' ' ' | sed 's/[ ]*$//' | tr -d '\n' >.crlf-subject-$branch.txt &&
+ grep 'Body' .crlf-message-$branch.txt >.crlf-body-$branch.txt || true &&
+ LIB_CRLF_BRANCHES="${LIB_CRLF_BRANCHES} ${branch}" &&
+ test_tick &&
+ hash=$(git commit-tree HEAD^{tree} -p HEAD -F .crlf-message-${branch}.txt) &&
+ git branch ${branch} ${hash} &&
+ git tag tag-${branch} ${branch} -F .crlf-message-${branch}.txt --cleanup=verbatim
+}
+
+create_crlf_refs () {
+ create_crlf_ref crlf <<-\EOF &&
+ Subject first line
+
+ Body first line
+ Body second line
+ EOF
+ create_crlf_ref crlf-empty-lines-after-subject <<-\EOF &&
+ Subject first line
+
+
+ Body first line
+ Body second line
+ EOF
+ create_crlf_ref crlf-two-line-subject <<-\EOF &&
+ Subject first line
+ Subject second line
+
+ Body first line
+ Body second line
+ EOF
+ create_crlf_ref crlf-two-line-subject-no-body <<-\EOF &&
+ Subject first line
+ Subject second line
+ EOF
+ create_crlf_ref crlf-two-line-subject-no-body-trailing-newline <<-\EOF
+ Subject first line
+ Subject second line
+
+ EOF
+}
+
+test_crlf_subject_body_and_contents() {
+ command_and_args="$@" &&
+ command=$1 &&
+ if test ${command} = "branch" || test ${command} = "for-each-ref" || test ${command} = "tag"
+ then
+ atoms="(contents:subject) (contents:body) (contents)"
+ elif test ${command} = "log" || test ${command} = "show"
+ then
+ atoms="s b B"
+ fi &&
+ files="subject body message" &&
+ while test -n "${atoms}"
+ do
+ set ${atoms} && atom=$1 && shift && atoms="$*" &&
+ set ${files} && file=$1 && shift && files="$*" &&
+ test_expect_success "${command}: --format='%${atom}' works with messages using CRLF" "
+ rm -f expect &&
+ for ref in ${LIB_CRLF_BRANCHES}
+ do
+ cat .crlf-${file}-\"\${ref}\".txt >>expect &&
+ printf \"\n\" >>expect
+ done &&
+ git $command_and_args --format=\"%${atom}\" >actual &&
+ test_cmp expect actual
+ "
+ done
+}
+
+
+test_expect_success 'Setup refs with commit and tag messages using CRLF' '
+ test_commit inital &&
+ create_crlf_refs
+'
+
+test_expect_success 'branch: --verbose works with messages using CRLF' '
+ rm -f expect &&
+ for branch in $LIB_CRLF_BRANCHES
+ do
+ printf " " >>expect &&
+ cat .crlf-subject-${branch}.txt >>expect &&
+ printf "\n" >>expect
+ done &&
+ git branch -v >tmp &&
+ # Remove first two columns, and the line for the currently checked out branch
+ current=$(git branch --show-current) &&
+ grep -v $current <tmp | awk "{\$1=\$2=\"\"}1" >actual &&
+ test_cmp expect actual
+'
+
+test_crlf_subject_body_and_contents branch --list crlf*
+
+test_crlf_subject_body_and_contents tag --list tag-crlf*
+
+test_crlf_subject_body_and_contents for-each-ref refs/heads/crlf*
+
+test_expect_success 'log: --oneline works with messages using CRLF' '
+ for branch in $LIB_CRLF_BRANCHES
+ do
+ cat .crlf-subject-${branch}.txt >expect &&
+ printf "\n" >>expect &&
+ git log --oneline -1 ${branch} >tmp-branch &&
+ git log --oneline -1 tag-${branch} >tmp-tag &&
+ cut -d" " -f2- <tmp-branch >actual-branch &&
+ cut -d" " -f2- <tmp-tag >actual-tag &&
+ test_cmp expect actual-branch &&
+ test_cmp expect actual-tag || return 1
+ done
+'
+
+test_crlf_subject_body_and_contents log --all --reverse --grep Subject
+
+test_crlf_subject_body_and_contents show $LIB_CRLF_BRANCHES
+
+test_done
diff --git a/t/t4013-diff-various.sh b/t/t4013-diff-various.sh
index fa82b5a8ee..ce6aa3914f 100755
--- a/t/t4013-diff-various.sh
+++ b/t/t4013-diff-various.sh
@@ -5,7 +5,11 @@
test_description='Various diff formatting options'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
+. "$TEST_DIRECTORY"/diff-lib.sh
test_expect_success setup '
@@ -342,6 +346,7 @@ log -SF master --max-count=2
log -GF master
log -GF -p master
log -GF -p --pickaxe-all master
+log -IA -IB -I1 -I2 -p master
log --decorate --all
log --decorate=full --all
@@ -482,4 +487,43 @@ test_expect_success 'diff-tree --stdin with log formatting' '
test_cmp expect actual
'
+test_expect_success 'diff -I<regex>: setup' '
+ git checkout master &&
+ test_seq 50 >file0 &&
+ git commit -m "Set up -I<regex> test file" file0 &&
+ test_seq 50 | sed -e "s/13/ten and three/" -e "/7\$/d" >file0 &&
+ echo >>file0
+'
+test_expect_success 'diff -I<regex>' '
+ git diff --ignore-blank-lines -I"ten.*e" -I"^[124-9]" >actual &&
+ cat >expect <<-\EOF &&
+ diff --git a/file0 b/file0
+ --- a/file0
+ +++ b/file0
+ @@ -34,7 +31,6 @@
+ 34
+ 35
+ 36
+ -37
+ 38
+ 39
+ 40
+ EOF
+ compare_diff_patch expect actual
+'
+
+test_expect_success 'diff -I<regex> --stat' '
+ git diff --stat --ignore-blank-lines -I"ten.*e" -I"^[124-9]" >actual &&
+ cat >expect <<-\EOF &&
+ file0 | 1 -
+ 1 file changed, 1 deletion(-)
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success 'diff -I<regex>: detect malformed regex' '
+ test_expect_code 129 git diff --ignore-matching-lines="^[124-9" 2>error &&
+ test_i18ngrep "invalid regex given to -I: " error
+'
+
test_done
diff --git a/t/t4013/diff.log_-IA_-IB_-I1_-I2_-p_master b/t/t4013/diff.log_-IA_-IB_-I1_-I2_-p_master
new file mode 100644
index 0000000000..929f35a05b
--- /dev/null
+++ b/t/t4013/diff.log_-IA_-IB_-I1_-I2_-p_master
@@ -0,0 +1,99 @@
+$ git log -IA -IB -I1 -I2 -p master
+commit 59d314ad6f356dd08601a4cd5e530381da3e3c64
+Merge: 9a6d494 c7a2ab9
+Author: A U Thor <author@example.com>
+Date: Mon Jun 26 00:04:00 2006 +0000
+
+ Merge branch 'side'
+
+commit c7a2ab9e8eac7b117442a607d5a9b3950ae34d5a
+Author: A U Thor <author@example.com>
+Date: Mon Jun 26 00:03:00 2006 +0000
+
+ Side
+
+diff --git a/file0 b/file0
+index 01e79c3..f4615da 100644
+--- a/file0
++++ b/file0
+@@ -1,3 +1,6 @@
+ 1
+ 2
+ 3
++A
++B
++C
+diff --git a/file3 b/file3
+new file mode 100644
+index 0000000..7289e35
+
+commit 9a6d4949b6b76956d9d5e26f2791ec2ceff5fdc0
+Author: A U Thor <author@example.com>
+Date: Mon Jun 26 00:02:00 2006 +0000
+
+ Third
+
+diff --git a/dir/sub b/dir/sub
+index 8422d40..cead32e 100644
+--- a/dir/sub
++++ b/dir/sub
+@@ -2,3 +2,5 @@ A
+ B
+ C
+ D
++E
++F
+diff --git a/file1 b/file1
+new file mode 100644
+index 0000000..b1e6722
+--- /dev/null
++++ b/file1
+@@ -0,0 +1,3 @@
++A
++B
++C
+
+commit 1bde4ae5f36c8d9abe3a0fce0c6aab3c4a12fe44
+Author: A U Thor <author@example.com>
+Date: Mon Jun 26 00:01:00 2006 +0000
+
+ Second
+
+ This is the second commit.
+
+diff --git a/dir/sub b/dir/sub
+index 35d242b..8422d40 100644
+--- a/dir/sub
++++ b/dir/sub
+@@ -1,2 +1,4 @@
+ A
+ B
++C
++D
+diff --git a/file0 b/file0
+index 01e79c3..b414108 100644
+--- a/file0
++++ b/file0
+@@ -1,3 +1,6 @@
+ 1
+ 2
+ 3
++4
++5
++6
+diff --git a/file2 b/file2
+deleted file mode 100644
+index 01e79c3..0000000
+--- a/file2
++++ /dev/null
+@@ -1,3 +0,0 @@
+-1
+-2
+-3
+
+commit 444ac553ac7612cc88969031b02b3767fb8a353a
+Author: A U Thor <author@example.com>
+Date: Mon Jun 26 00:00:00 2006 +0000
+
+ Initial
+$
diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
index 294e76c860..66630c8413 100755
--- a/t/t4014-format-patch.sh
+++ b/t/t4014-format-patch.sh
@@ -5,6 +5,9 @@
test_description='various format-patch tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-terminal.sh
@@ -32,11 +35,11 @@ test_expect_success setup '
test_tick &&
git commit -m "Side changes #3 with \\n backslash-n in it." &&
- git checkout master &&
+ git checkout main &&
git diff-tree -p C2 >patch &&
git apply --index <patch &&
test_tick &&
- git commit -m "Master accepts moral equivalent of #2" &&
+ git commit -m "Main accepts moral equivalent of #2" &&
git checkout side &&
git checkout -b patchid &&
@@ -56,39 +59,39 @@ test_expect_success setup '
test_tick &&
git commit -m "patchid 3" &&
- git checkout master
+ git checkout main
'
test_expect_success 'format-patch --ignore-if-in-upstream' '
- git format-patch --stdout master..side >patch0 &&
+ git format-patch --stdout main..side >patch0 &&
grep "^From " patch0 >from0 &&
test_line_count = 3 from0
'
test_expect_success 'format-patch --ignore-if-in-upstream' '
git format-patch --stdout \
- --ignore-if-in-upstream master..side >patch1 &&
+ --ignore-if-in-upstream main..side >patch1 &&
grep "^From " patch1 >from1 &&
test_line_count = 2 from1
'
test_expect_success 'format-patch --ignore-if-in-upstream handles tags' '
git tag -a v1 -m tag side &&
- git tag -a v2 -m tag master &&
+ git tag -a v2 -m tag main &&
git format-patch --stdout --ignore-if-in-upstream v2..v1 >patch1 &&
grep "^From " patch1 >from1 &&
test_line_count = 2 from1
'
test_expect_success "format-patch doesn't consider merge commits" '
- git checkout -b feature master &&
+ git checkout -b feature main &&
echo "Another line" >>file &&
test_tick &&
git commit -am "Feature branch change #1" &&
echo "Yet another line" >>file &&
test_tick &&
git commit -am "Feature branch change #2" &&
- git checkout -b merger master &&
+ git checkout -b merger main &&
test_tick &&
git merge --no-ff feature &&
git format-patch -3 --stdout >patch &&
@@ -97,16 +100,16 @@ test_expect_success "format-patch doesn't consider merge commits" '
'
test_expect_success 'format-patch result applies' '
- git checkout -b rebuild-0 master &&
+ git checkout -b rebuild-0 main &&
git am -3 patch0 &&
- git rev-list master.. >list &&
+ git rev-list main.. >list &&
test_line_count = 2 list
'
test_expect_success 'format-patch --ignore-if-in-upstream result applies' '
- git checkout -b rebuild-1 master &&
+ git checkout -b rebuild-1 main &&
git am -3 patch1 &&
- git rev-list master.. >list &&
+ git rev-list main.. >list &&
test_line_count = 2 list
'
@@ -130,7 +133,7 @@ test_expect_success 'extra headers' '
" &&
git config --add format.headers "Cc: S E Cipient <scipient@example.com>
" &&
- git format-patch --stdout master..side >patch2 &&
+ git format-patch --stdout main..side >patch2 &&
sed -e "/^\$/q" patch2 >hdrs2 &&
grep "^To: R E Cipient <rcipient@example.com>\$" hdrs2 &&
grep "^Cc: S E Cipient <scipient@example.com>\$" hdrs2
@@ -139,7 +142,7 @@ test_expect_success 'extra headers' '
test_expect_success 'extra headers without newlines' '
git config --replace-all format.headers "To: R E Cipient <rcipient@example.com>" &&
git config --add format.headers "Cc: S E Cipient <scipient@example.com>" &&
- git format-patch --stdout master..side >patch3 &&
+ git format-patch --stdout main..side >patch3 &&
sed -e "/^\$/q" patch3 >hdrs3 &&
grep "^To: R E Cipient <rcipient@example.com>\$" hdrs3 &&
grep "^Cc: S E Cipient <scipient@example.com>\$" hdrs3
@@ -148,7 +151,7 @@ test_expect_success 'extra headers without newlines' '
test_expect_success 'extra headers with multiple To:s' '
git config --replace-all format.headers "To: R E Cipient <rcipient@example.com>" &&
git config --add format.headers "To: S E Cipient <scipient@example.com>" &&
- git format-patch --stdout master..side >patch4 &&
+ git format-patch --stdout main..side >patch4 &&
sed -e "/^\$/q" patch4 >hdrs4 &&
grep "^To: R E Cipient <rcipient@example.com>,\$" hdrs4 &&
grep "^ *S E Cipient <scipient@example.com>\$" hdrs4
@@ -156,7 +159,7 @@ test_expect_success 'extra headers with multiple To:s' '
test_expect_success 'additional command line cc (ascii)' '
git config --replace-all format.headers "Cc: R E Cipient <rcipient@example.com>" &&
- git format-patch --cc="S E Cipient <scipient@example.com>" --stdout master..side >patch5 &&
+ git format-patch --cc="S E Cipient <scipient@example.com>" --stdout main..side >patch5 &&
sed -e "/^\$/q" patch5 >hdrs5 &&
grep "^Cc: R E Cipient <rcipient@example.com>,\$" hdrs5 &&
grep "^ *S E Cipient <scipient@example.com>\$" hdrs5
@@ -164,7 +167,7 @@ test_expect_success 'additional command line cc (ascii)' '
test_expect_failure 'additional command line cc (rfc822)' '
git config --replace-all format.headers "Cc: R E Cipient <rcipient@example.com>" &&
- git format-patch --cc="S. E. Cipient <scipient@example.com>" --stdout master..side >patch5 &&
+ git format-patch --cc="S. E. Cipient <scipient@example.com>" --stdout main..side >patch5 &&
sed -e "/^\$/q" patch5 >hdrs5 &&
grep "^Cc: R E Cipient <rcipient@example.com>,\$" hdrs5 &&
grep "^ *\"S. E. Cipient\" <scipient@example.com>\$" hdrs5
@@ -172,14 +175,14 @@ test_expect_failure 'additional command line cc (rfc822)' '
test_expect_success 'command line headers' '
git config --unset-all format.headers &&
- git format-patch --add-header="Cc: R E Cipient <rcipient@example.com>" --stdout master..side >patch6 &&
+ git format-patch --add-header="Cc: R E Cipient <rcipient@example.com>" --stdout main..side >patch6 &&
sed -e "/^\$/q" patch6 >hdrs6 &&
grep "^Cc: R E Cipient <rcipient@example.com>\$" hdrs6
'
test_expect_success 'configuration headers and command line headers' '
git config --replace-all format.headers "Cc: R E Cipient <rcipient@example.com>" &&
- git format-patch --add-header="Cc: S E Cipient <scipient@example.com>" --stdout master..side >patch7 &&
+ git format-patch --add-header="Cc: S E Cipient <scipient@example.com>" --stdout main..side >patch7 &&
sed -e "/^\$/q" patch7 >hdrs7 &&
grep "^Cc: R E Cipient <rcipient@example.com>,\$" hdrs7 &&
grep "^ *S E Cipient <scipient@example.com>\$" hdrs7
@@ -187,40 +190,40 @@ test_expect_success 'configuration headers and command line headers' '
test_expect_success 'command line To: header (ascii)' '
git config --unset-all format.headers &&
- git format-patch --to="R E Cipient <rcipient@example.com>" --stdout master..side >patch8 &&
+ git format-patch --to="R E Cipient <rcipient@example.com>" --stdout main..side >patch8 &&
sed -e "/^\$/q" patch8 >hdrs8 &&
grep "^To: R E Cipient <rcipient@example.com>\$" hdrs8
'
test_expect_failure 'command line To: header (rfc822)' '
- git format-patch --to="R. E. Cipient <rcipient@example.com>" --stdout master..side >patch8 &&
+ git format-patch --to="R. E. Cipient <rcipient@example.com>" --stdout main..side >patch8 &&
sed -e "/^\$/q" patch8 >hdrs8 &&
grep "^To: \"R. E. Cipient\" <rcipient@example.com>\$" hdrs8
'
test_expect_failure 'command line To: header (rfc2047)' '
- git format-patch --to="R Ä Cipient <rcipient@example.com>" --stdout master..side >patch8 &&
+ git format-patch --to="R Ä Cipient <rcipient@example.com>" --stdout main..side >patch8 &&
sed -e "/^\$/q" patch8 >hdrs8 &&
grep "^To: =?UTF-8?q?R=20=C3=84=20Cipient?= <rcipient@example.com>\$" hdrs8
'
test_expect_success 'configuration To: header (ascii)' '
git config format.to "R E Cipient <rcipient@example.com>" &&
- git format-patch --stdout master..side >patch9 &&
+ git format-patch --stdout main..side >patch9 &&
sed -e "/^\$/q" patch9 >hdrs9 &&
grep "^To: R E Cipient <rcipient@example.com>\$" hdrs9
'
test_expect_failure 'configuration To: header (rfc822)' '
git config format.to "R. E. Cipient <rcipient@example.com>" &&
- git format-patch --stdout master..side >patch9 &&
+ git format-patch --stdout main..side >patch9 &&
sed -e "/^\$/q" patch9 >hdrs9 &&
grep "^To: \"R. E. Cipient\" <rcipient@example.com>\$" hdrs9
'
test_expect_failure 'configuration To: header (rfc2047)' '
git config format.to "R Ä Cipient <rcipient@example.com>" &&
- git format-patch --stdout master..side >patch9 &&
+ git format-patch --stdout main..side >patch9 &&
sed -e "/^\$/q" patch9 >hdrs9 &&
grep "^To: =?UTF-8?q?R=20=C3=84=20Cipient?= <rcipient@example.com>\$" hdrs9
'
@@ -234,35 +237,35 @@ check_patch () {
}
test_expect_success 'format.from=false' '
- git -c format.from=false format-patch --stdout master..side >patch &&
+ git -c format.from=false format-patch --stdout main..side >patch &&
sed -e "/^\$/q" patch >hdrs &&
check_patch patch &&
! grep "^From: C O Mitter <committer@example.com>\$" hdrs
'
test_expect_success 'format.from=true' '
- git -c format.from=true format-patch --stdout master..side >patch &&
+ git -c format.from=true format-patch --stdout main..side >patch &&
sed -e "/^\$/q" patch >hdrs &&
check_patch hdrs &&
grep "^From: C O Mitter <committer@example.com>\$" hdrs
'
test_expect_success 'format.from with address' '
- git -c format.from="F R Om <from@example.com>" format-patch --stdout master..side >patch &&
+ git -c format.from="F R Om <from@example.com>" format-patch --stdout main..side >patch &&
sed -e "/^\$/q" patch >hdrs &&
check_patch hdrs &&
grep "^From: F R Om <from@example.com>\$" hdrs
'
test_expect_success '--no-from overrides format.from' '
- git -c format.from="F R Om <from@example.com>" format-patch --no-from --stdout master..side >patch &&
+ git -c format.from="F R Om <from@example.com>" format-patch --no-from --stdout main..side >patch &&
sed -e "/^\$/q" patch >hdrs &&
check_patch hdrs &&
! grep "^From: F R Om <from@example.com>\$" hdrs
'
test_expect_success '--from overrides format.from' '
- git -c format.from="F R Om <from@example.com>" format-patch --from --stdout master..side >patch &&
+ git -c format.from="F R Om <from@example.com>" format-patch --from --stdout main..side >patch &&
sed -e "/^\$/q" patch >hdrs &&
check_patch hdrs &&
! grep "^From: F R Om <from@example.com>\$" hdrs
@@ -271,7 +274,7 @@ test_expect_success '--from overrides format.from' '
test_expect_success '--no-to overrides config.to' '
git config --replace-all format.to \
"R E Cipient <rcipient@example.com>" &&
- git format-patch --no-to --stdout master..side >patch10 &&
+ git format-patch --no-to --stdout main..side >patch10 &&
sed -e "/^\$/q" patch10 >hdrs10 &&
check_patch hdrs10 &&
! grep "^To: R E Cipient <rcipient@example.com>\$" hdrs10
@@ -281,7 +284,7 @@ test_expect_success '--no-to and --to replaces config.to' '
git config --replace-all format.to \
"Someone <someone@out.there>" &&
git format-patch --no-to --to="Someone Else <else@out.there>" \
- --stdout master..side >patch11 &&
+ --stdout main..side >patch11 &&
sed -e "/^\$/q" patch11 >hdrs11 &&
check_patch hdrs11 &&
! grep "^To: Someone <someone@out.there>\$" hdrs11 &&
@@ -291,7 +294,7 @@ test_expect_success '--no-to and --to replaces config.to' '
test_expect_success '--no-cc overrides config.cc' '
git config --replace-all format.cc \
"C E Cipient <rcipient@example.com>" &&
- git format-patch --no-cc --stdout master..side >patch12 &&
+ git format-patch --no-cc --stdout main..side >patch12 &&
sed -e "/^\$/q" patch12 >hdrs12 &&
check_patch hdrs12 &&
! grep "^Cc: C E Cipient <rcipient@example.com>\$" hdrs12
@@ -300,7 +303,7 @@ test_expect_success '--no-cc overrides config.cc' '
test_expect_success '--no-add-header overrides config.headers' '
git config --replace-all format.headers \
"Header1: B E Cipient <rcipient@example.com>" &&
- git format-patch --no-add-header --stdout master..side >patch13 &&
+ git format-patch --no-add-header --stdout main..side >patch13 &&
sed -e "/^\$/q" patch13 >hdrs13 &&
check_patch hdrs13 &&
! grep "^Header1: B E Cipient <rcipient@example.com>\$" hdrs13
@@ -309,13 +312,67 @@ test_expect_success '--no-add-header overrides config.headers' '
test_expect_success 'multiple files' '
rm -rf patches/ &&
git checkout side &&
- git format-patch -o patches/ master &&
+ git format-patch -o patches/ main &&
ls patches/0001-Side-changes-1.patch patches/0002-Side-changes-2.patch patches/0003-Side-changes-3-with-n-backslash-n-in-it.patch
'
+test_expect_success 'filename length limit' '
+ test_when_finished "rm -f 000*" &&
+ rm -rf 000[1-9]-*.patch &&
+ for len in 15 25 35
+ do
+ git format-patch --filename-max-length=$len -3 side &&
+ max=$(
+ for patch in 000[1-9]-*.patch
+ do
+ echo "$patch" | wc -c
+ done |
+ sort -nr |
+ head -n 1
+ ) &&
+ test $max -le $len || return 1
+ done
+'
+
+test_expect_success 'filename length limit from config' '
+ test_when_finished "rm -f 000*" &&
+ rm -rf 000[1-9]-*.patch &&
+ for len in 15 25 35
+ do
+ git -c format.filenameMaxLength=$len format-patch -3 side &&
+ max=$(
+ for patch in 000[1-9]-*.patch
+ do
+ echo "$patch" | wc -c
+ done |
+ sort -nr |
+ head -n 1
+ ) &&
+ test $max -le $len || return 1
+ done
+'
+
+test_expect_success 'filename limit applies only to basename' '
+ test_when_finished "rm -rf patches/" &&
+ rm -rf patches/ &&
+ for len in 15 25 35
+ do
+ git format-patch -o patches --filename-max-length=$len -3 side &&
+ max=$(
+ for patch in patches/000[1-9]-*.patch
+ do
+ echo "${patch#patches/}" | wc -c
+ done |
+ sort -nr |
+ head -n 1
+ ) &&
+ test $max -le $len || return 1
+ done
+'
+
test_expect_success 'reroll count' '
rm -fr patches &&
- git format-patch -o patches --cover-letter --reroll-count 4 master..side >list &&
+ git format-patch -o patches --cover-letter --reroll-count 4 main..side >list &&
! grep -v "^patches/v4-000[0-3]-" list &&
sed -n -e "/^Subject: /p" $(cat list) >subjects &&
! grep -v "^Subject: \[PATCH v4 [0-3]/3\] " subjects
@@ -323,7 +380,7 @@ test_expect_success 'reroll count' '
test_expect_success 'reroll count (-v)' '
rm -fr patches &&
- git format-patch -o patches --cover-letter -v4 master..side >list &&
+ git format-patch -o patches --cover-letter -v4 main..side >list &&
! grep -v "^patches/v4-000[0-3]-" list &&
sed -n -e "/^Subject: /p" $(cat list) >subjects &&
! grep -v "^Subject: \[PATCH v4 [0-3]/3\] " subjects
@@ -359,7 +416,7 @@ EOF
test_expect_success 'no threading' '
git checkout side &&
- check_threading expect.no-threading master
+ check_threading expect.no-threading main
'
cat >expect.thread <<EOF
@@ -376,7 +433,7 @@ References: <0>
EOF
test_expect_success 'thread' '
- check_threading expect.thread --thread master
+ check_threading expect.thread --thread main
'
cat >expect.in-reply-to <<EOF
@@ -396,7 +453,7 @@ EOF
test_expect_success 'thread in-reply-to' '
check_threading expect.in-reply-to --in-reply-to="<test.message>" \
- --thread master
+ --thread main
'
cat >expect.cover-letter <<EOF
@@ -417,7 +474,7 @@ References: <0>
EOF
test_expect_success 'thread cover-letter' '
- check_threading expect.cover-letter --cover-letter --thread master
+ check_threading expect.cover-letter --cover-letter --thread main
'
cat >expect.cl-irt <<EOF
@@ -444,12 +501,12 @@ EOF
test_expect_success 'thread cover-letter in-reply-to' '
check_threading expect.cl-irt --cover-letter \
- --in-reply-to="<test.message>" --thread master
+ --in-reply-to="<test.message>" --thread main
'
test_expect_success 'thread explicit shallow' '
check_threading expect.cl-irt --cover-letter \
- --in-reply-to="<test.message>" --thread=shallow master
+ --in-reply-to="<test.message>" --thread=shallow main
'
cat >expect.deep <<EOF
@@ -467,7 +524,7 @@ References: <0>
EOF
test_expect_success 'thread deep' '
- check_threading expect.deep --thread=deep master
+ check_threading expect.deep --thread=deep main
'
cat >expect.deep-irt <<EOF
@@ -490,7 +547,7 @@ EOF
test_expect_success 'thread deep in-reply-to' '
check_threading expect.deep-irt --thread=deep \
- --in-reply-to="<test.message>" master
+ --in-reply-to="<test.message>" main
'
cat >expect.deep-cl <<EOF
@@ -514,7 +571,7 @@ References: <0>
EOF
test_expect_success 'thread deep cover-letter' '
- check_threading expect.deep-cl --cover-letter --thread=deep master
+ check_threading expect.deep-cl --cover-letter --thread=deep main
'
cat >expect.deep-cl-irt <<EOF
@@ -544,27 +601,27 @@ EOF
test_expect_success 'thread deep cover-letter in-reply-to' '
check_threading expect.deep-cl-irt --cover-letter \
- --in-reply-to="<test.message>" --thread=deep master
+ --in-reply-to="<test.message>" --thread=deep main
'
test_expect_success 'thread via config' '
test_config format.thread true &&
- check_threading expect.thread master
+ check_threading expect.thread main
'
test_expect_success 'thread deep via config' '
test_config format.thread deep &&
- check_threading expect.deep master
+ check_threading expect.deep main
'
test_expect_success 'thread config + override' '
test_config format.thread deep &&
- check_threading expect.thread --thread master
+ check_threading expect.thread --thread main
'
test_expect_success 'thread config + --no-thread' '
test_config format.thread deep &&
- check_threading expect.no-threading --no-thread master
+ check_threading expect.no-threading --no-thread main
'
test_expect_success 'excessive subject' '
@@ -577,7 +634,7 @@ test_expect_success 'excessive subject' '
after=$(git rev-parse --short $after) &&
git update-index file &&
git commit -m "This is an excessively long subject line for a message due to the habit some projects have of not having a short, one-line subject at the start of the commit message, but rather sticking a whole paragraph right at the start as the only thing in the commit message. It had better not become the filename for the patch." &&
- git format-patch -o patches/ master..side &&
+ git format-patch -o patches/ main..side &&
ls patches/0004-This-is-an-excessively-long-subject-line-for-a-messa.patch
'
@@ -839,13 +896,13 @@ test_expect_success 'options no longer allowed for format-patch' '
'
test_expect_success 'format-patch --numstat should produce a patch' '
- git format-patch --numstat --stdout master..side >output &&
+ git format-patch --numstat --stdout main..side >output &&
grep "^diff --git a/" output >diff &&
test_line_count = 5 diff
'
test_expect_success 'format-patch -- <path>' '
- git format-patch master..side -- file 2>error &&
+ git format-patch main..side -- file 2>error &&
! grep "Use .--" error
'
@@ -1619,9 +1676,9 @@ test_expect_success 'cover letter with invalid --cover-from-description and conf
test_config branch.rebuild-1.description "config subject
body" &&
- test_must_fail git format-patch --cover-letter --cover-from-description garbage master &&
+ test_must_fail git format-patch --cover-letter --cover-from-description garbage main &&
test_config format.coverFromDescription garbage &&
- test_must_fail git format-patch --cover-letter master
+ test_must_fail git format-patch --cover-letter main
'
test_expect_success 'cover letter with format.coverFromDescription = default' '
@@ -1630,7 +1687,7 @@ test_expect_success 'cover letter with format.coverFromDescription = default' '
body" &&
test_config format.coverFromDescription default &&
git checkout rebuild-1 &&
- git format-patch --stdout --cover-letter master >actual &&
+ git format-patch --stdout --cover-letter main >actual &&
grep "^Subject: \[PATCH 0/2\] \*\*\* SUBJECT HERE \*\*\*$" actual &&
! grep "^\*\*\* BLURB HERE \*\*\*$" actual &&
grep "^config subject$" actual &&
@@ -1642,7 +1699,7 @@ test_expect_success 'cover letter with --cover-from-description default' '
body" &&
git checkout rebuild-1 &&
- git format-patch --stdout --cover-letter --cover-from-description default master >actual &&
+ git format-patch --stdout --cover-letter --cover-from-description default main >actual &&
grep "^Subject: \[PATCH 0/2\] \*\*\* SUBJECT HERE \*\*\*$" actual &&
! grep "^\*\*\* BLURB HERE \*\*\*$" actual &&
grep "^config subject$" actual &&
@@ -1655,7 +1712,7 @@ test_expect_success 'cover letter with format.coverFromDescription = none' '
body" &&
test_config format.coverFromDescription none &&
git checkout rebuild-1 &&
- git format-patch --stdout --cover-letter master >actual &&
+ git format-patch --stdout --cover-letter main >actual &&
grep "^Subject: \[PATCH 0/2\] \*\*\* SUBJECT HERE \*\*\*$" actual &&
grep "^\*\*\* BLURB HERE \*\*\*$" actual &&
! grep "^config subject$" actual &&
@@ -1667,7 +1724,7 @@ test_expect_success 'cover letter with --cover-from-description none' '
body" &&
git checkout rebuild-1 &&
- git format-patch --stdout --cover-letter --cover-from-description none master >actual &&
+ git format-patch --stdout --cover-letter --cover-from-description none main >actual &&
grep "^Subject: \[PATCH 0/2\] \*\*\* SUBJECT HERE \*\*\*$" actual &&
grep "^\*\*\* BLURB HERE \*\*\*$" actual &&
! grep "^config subject$" actual &&
@@ -1680,7 +1737,7 @@ test_expect_success 'cover letter with format.coverFromDescription = message' '
body" &&
test_config format.coverFromDescription message &&
git checkout rebuild-1 &&
- git format-patch --stdout --cover-letter master >actual &&
+ git format-patch --stdout --cover-letter main >actual &&
grep "^Subject: \[PATCH 0/2\] \*\*\* SUBJECT HERE \*\*\*$" actual &&
! grep "^\*\*\* BLURB HERE \*\*\*$" actual &&
grep "^config subject$" actual &&
@@ -1692,7 +1749,7 @@ test_expect_success 'cover letter with --cover-from-description message' '
body" &&
git checkout rebuild-1 &&
- git format-patch --stdout --cover-letter --cover-from-description message master >actual &&
+ git format-patch --stdout --cover-letter --cover-from-description message main >actual &&
grep "^Subject: \[PATCH 0/2\] \*\*\* SUBJECT HERE \*\*\*$" actual &&
! grep "^\*\*\* BLURB HERE \*\*\*$" actual &&
grep "^config subject$" actual &&
@@ -1705,7 +1762,7 @@ test_expect_success 'cover letter with format.coverFromDescription = subject' '
body" &&
test_config format.coverFromDescription subject &&
git checkout rebuild-1 &&
- git format-patch --stdout --cover-letter master >actual &&
+ git format-patch --stdout --cover-letter main >actual &&
grep "^Subject: \[PATCH 0/2\] config subject$" actual &&
! grep "^\*\*\* BLURB HERE \*\*\*$" actual &&
! grep "^config subject$" actual &&
@@ -1717,7 +1774,7 @@ test_expect_success 'cover letter with --cover-from-description subject' '
body" &&
git checkout rebuild-1 &&
- git format-patch --stdout --cover-letter --cover-from-description subject master >actual &&
+ git format-patch --stdout --cover-letter --cover-from-description subject main >actual &&
grep "^Subject: \[PATCH 0/2\] config subject$" actual &&
! grep "^\*\*\* BLURB HERE \*\*\*$" actual &&
! grep "^config subject$" actual &&
@@ -1730,7 +1787,7 @@ test_expect_success 'cover letter with format.coverFromDescription = auto (short
body" &&
test_config format.coverFromDescription auto &&
git checkout rebuild-1 &&
- git format-patch --stdout --cover-letter master >actual &&
+ git format-patch --stdout --cover-letter main >actual &&
grep "^Subject: \[PATCH 0/2\] config subject$" actual &&
! grep "^\*\*\* BLURB HERE \*\*\*$" actual &&
! grep "^config subject$" actual &&
@@ -1742,7 +1799,7 @@ test_expect_success 'cover letter with --cover-from-description auto (short subj
body" &&
git checkout rebuild-1 &&
- git format-patch --stdout --cover-letter --cover-from-description auto master >actual &&
+ git format-patch --stdout --cover-letter --cover-from-description auto main >actual &&
grep "^Subject: \[PATCH 0/2\] config subject$" actual &&
! grep "^\*\*\* BLURB HERE \*\*\*$" actual &&
! grep "^config subject$" actual &&
@@ -1755,7 +1812,7 @@ test_expect_success 'cover letter with format.coverFromDescription = auto (long
body" &&
test_config format.coverFromDescription auto &&
git checkout rebuild-1 &&
- git format-patch --stdout --cover-letter master >actual &&
+ git format-patch --stdout --cover-letter main >actual &&
grep "^Subject: \[PATCH 0/2\] \*\*\* SUBJECT HERE \*\*\*$" actual &&
! grep "^\*\*\* BLURB HERE \*\*\*$" actual &&
grep "^this is a really long first line and it is over 100 characters long which is the threshold for long subjects$" actual &&
@@ -1767,7 +1824,7 @@ test_expect_success 'cover letter with --cover-from-description auto (long subje
body" &&
git checkout rebuild-1 &&
- git format-patch --stdout --cover-letter --cover-from-description auto master >actual &&
+ git format-patch --stdout --cover-letter --cover-from-description auto main >actual &&
grep "^Subject: \[PATCH 0/2\] \*\*\* SUBJECT HERE \*\*\*$" actual &&
! grep "^\*\*\* BLURB HERE \*\*\*$" actual &&
grep "^this is a really long first line and it is over 100 characters long which is the threshold for long subjects$" actual &&
@@ -1780,7 +1837,7 @@ test_expect_success 'cover letter with command-line --cover-from-description ove
body" &&
test_config format.coverFromDescription none &&
git checkout rebuild-1 &&
- git format-patch --stdout --cover-letter --cover-from-description subject master >actual &&
+ git format-patch --stdout --cover-letter --cover-from-description subject main >actual &&
grep "^Subject: \[PATCH 0/2\] config subject$" actual &&
! grep "^\*\*\* BLURB HERE \*\*\*$" actual &&
! grep "^config subject$" actual &&
@@ -1790,7 +1847,7 @@ body" &&
test_expect_success 'cover letter using branch description (1)' '
git checkout rebuild-1 &&
test_config branch.rebuild-1.description hello &&
- git format-patch --stdout --cover-letter master >actual &&
+ git format-patch --stdout --cover-letter main >actual &&
grep hello actual
'
@@ -1804,14 +1861,14 @@ test_expect_success 'cover letter using branch description (2)' '
test_expect_success 'cover letter using branch description (3)' '
git checkout rebuild-1 &&
test_config branch.rebuild-1.description hello &&
- git format-patch --stdout --cover-letter ^master rebuild-1 >actual &&
+ git format-patch --stdout --cover-letter ^main rebuild-1 >actual &&
grep hello actual
'
test_expect_success 'cover letter using branch description (4)' '
git checkout rebuild-1 &&
test_config branch.rebuild-1.description hello &&
- git format-patch --stdout --cover-letter master.. >actual &&
+ git format-patch --stdout --cover-letter main.. >actual &&
grep hello actual
'
@@ -1878,8 +1935,8 @@ test_expect_success 'From line has expected format' '
test_expect_success 'format-patch -o with no leading directories' '
rm -fr patches &&
- git format-patch -o patches master..side &&
- count=$(git rev-list --count master..side) &&
+ git format-patch -o patches main..side &&
+ count=$(git rev-list --count main..side) &&
ls patches >list &&
test_line_count = $count list
'
@@ -1887,16 +1944,16 @@ test_expect_success 'format-patch -o with no leading directories' '
test_expect_success 'format-patch -o with leading existing directories' '
rm -rf existing-dir &&
mkdir existing-dir &&
- git format-patch -o existing-dir/patches master..side &&
- count=$(git rev-list --count master..side) &&
+ git format-patch -o existing-dir/patches main..side &&
+ count=$(git rev-list --count main..side) &&
ls existing-dir/patches >list &&
test_line_count = $count list
'
test_expect_success 'format-patch -o with leading non-existing directories' '
rm -rf non-existing-dir &&
- git format-patch -o non-existing-dir/patches master..side &&
- count=$(git rev-list --count master..side) &&
+ git format-patch -o non-existing-dir/patches main..side &&
+ count=$(git rev-list --count main..side) &&
test_path_is_dir non-existing-dir &&
ls non-existing-dir/patches >list &&
test_line_count = $count list
@@ -1905,8 +1962,8 @@ test_expect_success 'format-patch -o with leading non-existing directories' '
test_expect_success 'format-patch format.outputDirectory option' '
test_config format.outputDirectory patches &&
rm -fr patches &&
- git format-patch master..side &&
- count=$(git rev-list --count master..side) &&
+ git format-patch main..side &&
+ count=$(git rev-list --count main..side) &&
ls patches >list &&
test_line_count = $count list
'
@@ -1914,11 +1971,44 @@ test_expect_success 'format-patch format.outputDirectory option' '
test_expect_success 'format-patch -o overrides format.outputDirectory' '
test_config format.outputDirectory patches &&
rm -fr patches patchset &&
- git format-patch master..side -o patchset &&
+ git format-patch main..side -o patchset &&
test_path_is_missing patches &&
test_path_is_dir patchset
'
+test_expect_success 'format-patch forbids multiple outputs' '
+ rm -fr outfile outdir &&
+ test_must_fail \
+ git format-patch --stdout --output-directory=outdir &&
+ test_must_fail \
+ git format-patch --stdout --output=outfile &&
+ test_must_fail \
+ git format-patch --output=outfile --output-directory=outdir
+'
+
+test_expect_success 'configured outdir does not conflict with output options' '
+ rm -fr outfile outdir &&
+ test_config format.outputDirectory outdir &&
+ git format-patch --stdout &&
+ test_path_is_missing outdir &&
+ git format-patch --output=outfile &&
+ test_path_is_missing outdir
+'
+
+test_expect_success 'format-patch --output' '
+ rm -fr outfile &&
+ git format-patch -3 --stdout HEAD >expect &&
+ git format-patch -3 --output=outfile HEAD &&
+ test_cmp expect outfile
+'
+
+test_expect_success 'format-patch --cover-letter --output' '
+ rm -fr outfile &&
+ git format-patch --cover-letter -3 --stdout HEAD >expect &&
+ git format-patch --cover-letter -3 --output=outfile HEAD &&
+ test_cmp expect outfile
+'
+
test_expect_success 'format-patch --base' '
git checkout patchid &&
@@ -1978,14 +2068,14 @@ test_expect_success 'format-patch --base errors out when base commit is not ance
# ------------W
#
# If "format-patch Z..X" is given, P and Z can not be specified as the base commit
- git checkout -b topic1 master &&
+ git checkout -b topic1 main &&
git rev-parse HEAD >commit-id-base &&
test_commit P &&
git rev-parse HEAD >commit-id-P &&
test_commit Z &&
git rev-parse HEAD >commit-id-Z &&
test_commit Y &&
- git checkout -b topic2 master &&
+ git checkout -b topic2 main &&
test_commit W &&
git merge topic1 &&
test_commit X &&
@@ -1998,7 +2088,7 @@ test_expect_success 'format-patch --base errors out when base commit is not ance
'
test_expect_success 'format-patch --base=auto' '
- git checkout -b upstream master &&
+ git checkout -b upstream main &&
git checkout -b local upstream &&
git branch --set-upstream-to=upstream &&
test_commit N1 &&
@@ -2019,11 +2109,11 @@ test_expect_success 'format-patch errors out when history involves criss-cross'
# \ / \
# C---M2---E
#
- git checkout master &&
+ git checkout main &&
test_commit A &&
- git checkout -b xb master &&
+ git checkout -b xb main &&
test_commit B &&
- git checkout -b xc master &&
+ git checkout -b xc main &&
test_commit C &&
git checkout -b xbc xb -- &&
git merge xc &&
@@ -2143,7 +2233,7 @@ test_expect_success 'format-patch --pretty=mboxrd' '
'
test_expect_success 'interdiff: setup' '
- git checkout -b boop master &&
+ git checkout -b boop main &&
test_commit fnorp blorp &&
test_commit fleep blorp
'
diff --git a/t/t4015-diff-whitespace.sh b/t/t4015-diff-whitespace.sh
index 8bdaa0a693..8c574221b2 100755
--- a/t/t4015-diff-whitespace.sh
+++ b/t/t4015-diff-whitespace.sh
@@ -567,6 +567,30 @@ test_expect_success '--check and --quiet are not exclusive' '
git diff --check --quiet
'
+test_expect_success '-w and --exit-code interact sensibly' '
+ test_when_finished "git checkout x" &&
+ {
+ test_seq 15 &&
+ echo " 16"
+ } >x &&
+ test_must_fail git diff --exit-code &&
+ git diff -w >actual &&
+ test_must_be_empty actual &&
+ git diff -w --exit-code
+'
+
+test_expect_success '-I and --exit-code interact sensibly' '
+ test_when_finished "git checkout x" &&
+ {
+ test_seq 15 &&
+ echo " 16"
+ } >x &&
+ test_must_fail git diff --exit-code &&
+ git diff -I. >actual &&
+ test_must_be_empty actual &&
+ git diff -I. --exit-code
+'
+
test_expect_success 'check staged with no whitespace errors' '
echo "foo();" >x &&
git add x &&
@@ -877,13 +901,13 @@ test_expect_success 'rename empty' '
test_expect_success 'combined diff with autocrlf conversion' '
git reset --hard &&
- echo >x hello &&
- git commit -m "one side" x &&
+ test_commit "one side" x hello one-side &&
git checkout HEAD^ &&
echo >x goodbye &&
git commit -m "the other side" x &&
git config core.autocrlf true &&
- test_must_fail git merge master &&
+ test_must_fail git merge one-side >actual &&
+ test_i18ngrep "Automatic merge failed" actual &&
git diff >actual.raw &&
sed -e "1,/^@@@/d" actual.raw >actual &&
diff --git a/t/t4017-diff-retval.sh b/t/t4017-diff-retval.sh
index 95a7ca7070..ed461f481e 100755
--- a/t/t4017-diff-retval.sh
+++ b/t/t4017-diff-retval.sh
@@ -2,6 +2,9 @@
test_description='Return value of diffs'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -111,7 +114,7 @@ test_expect_success 'check detects leftover conflict markers' '
git checkout HEAD^ &&
echo binary >>b &&
git commit -m "side" b &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
git add b &&
test_expect_code 2 git --no-pager diff --cached --check >test.out &&
test 3 = $(grep "conflict marker" test.out | wc -l) &&
diff --git a/t/t4018-diff-funcname.sh b/t/t4018-diff-funcname.sh
index 9d07797579..9675bc17db 100755
--- a/t/t4018-diff-funcname.sh
+++ b/t/t4018-diff-funcname.sh
@@ -27,6 +27,7 @@ test_expect_success 'setup' '
diffpatterns="
ada
+ bash
bibtex
cpp
csharp
diff --git a/t/t4018/bash-arithmetic-function b/t/t4018/bash-arithmetic-function
new file mode 100644
index 0000000000..c0b276cb50
--- /dev/null
+++ b/t/t4018/bash-arithmetic-function
@@ -0,0 +1,4 @@
+RIGHT() ((
+
+ ChangeMe = "$x" + "$y"
+))
diff --git a/t/t4018/bash-bashism-style-compact b/t/t4018/bash-bashism-style-compact
new file mode 100644
index 0000000000..1ca3126f61
--- /dev/null
+++ b/t/t4018/bash-bashism-style-compact
@@ -0,0 +1,6 @@
+function RIGHT {
+ function InvalidSyntax{
+ :
+ echo 'ChangeMe'
+ }
+}
diff --git a/t/t4018/bash-bashism-style-function b/t/t4018/bash-bashism-style-function
new file mode 100644
index 0000000000..f1de4fa831
--- /dev/null
+++ b/t/t4018/bash-bashism-style-function
@@ -0,0 +1,4 @@
+function RIGHT {
+ :
+ echo 'ChangeMe'
+}
diff --git a/t/t4018/bash-bashism-style-whitespace b/t/t4018/bash-bashism-style-whitespace
new file mode 100644
index 0000000000..ade85dd3a5
--- /dev/null
+++ b/t/t4018/bash-bashism-style-whitespace
@@ -0,0 +1,4 @@
+ function RIGHT ( ) {
+
+ ChangeMe
+ }
diff --git a/t/t4018/bash-conditional-function b/t/t4018/bash-conditional-function
new file mode 100644
index 0000000000..c5949e829b
--- /dev/null
+++ b/t/t4018/bash-conditional-function
@@ -0,0 +1,4 @@
+RIGHT() [[ \
+
+ "$a" > "$ChangeMe"
+]]
diff --git a/t/t4018/bash-missing-parentheses b/t/t4018/bash-missing-parentheses
new file mode 100644
index 0000000000..8c8a05dd7a
--- /dev/null
+++ b/t/t4018/bash-missing-parentheses
@@ -0,0 +1,6 @@
+function RIGHT {
+ functionInvalidSyntax {
+ :
+ echo 'ChangeMe'
+ }
+}
diff --git a/t/t4018/bash-mixed-style-compact b/t/t4018/bash-mixed-style-compact
new file mode 100644
index 0000000000..d9364cba67
--- /dev/null
+++ b/t/t4018/bash-mixed-style-compact
@@ -0,0 +1,4 @@
+function RIGHT(){
+ :
+ echo 'ChangeMe'
+}
diff --git a/t/t4018/bash-mixed-style-function b/t/t4018/bash-mixed-style-function
new file mode 100644
index 0000000000..555f9b2466
--- /dev/null
+++ b/t/t4018/bash-mixed-style-function
@@ -0,0 +1,4 @@
+function RIGHT() {
+
+ ChangeMe
+}
diff --git a/t/t4018/bash-nested-functions b/t/t4018/bash-nested-functions
new file mode 100644
index 0000000000..2c9237ead4
--- /dev/null
+++ b/t/t4018/bash-nested-functions
@@ -0,0 +1,6 @@
+outer() {
+ RIGHT() {
+ :
+ echo 'ChangeMe'
+ }
+}
diff --git a/t/t4018/bash-other-characters b/t/t4018/bash-other-characters
new file mode 100644
index 0000000000..a3f390d525
--- /dev/null
+++ b/t/t4018/bash-other-characters
@@ -0,0 +1,4 @@
+_RIGHT_0n() {
+
+ ChangeMe
+}
diff --git a/t/t4018/bash-posix-style-compact b/t/t4018/bash-posix-style-compact
new file mode 100644
index 0000000000..045bd2029b
--- /dev/null
+++ b/t/t4018/bash-posix-style-compact
@@ -0,0 +1,4 @@
+RIGHT(){
+
+ ChangeMe
+}
diff --git a/t/t4018/bash-posix-style-function b/t/t4018/bash-posix-style-function
new file mode 100644
index 0000000000..a4d144856e
--- /dev/null
+++ b/t/t4018/bash-posix-style-function
@@ -0,0 +1,4 @@
+RIGHT() {
+
+ ChangeMe
+}
diff --git a/t/t4018/bash-posix-style-whitespace b/t/t4018/bash-posix-style-whitespace
new file mode 100644
index 0000000000..4d984f0aa4
--- /dev/null
+++ b/t/t4018/bash-posix-style-whitespace
@@ -0,0 +1,4 @@
+ RIGHT ( ) {
+
+ ChangeMe
+ }
diff --git a/t/t4018/bash-subshell-function b/t/t4018/bash-subshell-function
new file mode 100644
index 0000000000..80baa09484
--- /dev/null
+++ b/t/t4018/bash-subshell-function
@@ -0,0 +1,4 @@
+RIGHT() (
+
+ ChangeMe=2
+)
diff --git a/t/t4018/bash-trailing-comment b/t/t4018/bash-trailing-comment
new file mode 100644
index 0000000000..f1edbeda31
--- /dev/null
+++ b/t/t4018/bash-trailing-comment
@@ -0,0 +1,4 @@
+RIGHT() { # Comment
+
+ ChangeMe
+}
diff --git a/t/t4027-diff-submodule.sh b/t/t4027-diff-submodule.sh
index d7145ccca4..894a11b224 100755
--- a/t/t4027-diff-submodule.sh
+++ b/t/t4027-diff-submodule.sh
@@ -93,6 +93,14 @@ test_expect_success 'git diff HEAD with dirty submodule (untracked)' '
) &&
git diff HEAD >actual &&
sed -e "1,/^@@/d" actual >actual.body &&
+ expect_from_to >expect.body $subtip $subprev &&
+ test_cmp expect.body actual.body
+'
+
+test_expect_success 'git diff HEAD with dirty submodule (untracked) (none ignored)' '
+ test_config diff.ignoreSubmodules none &&
+ git diff HEAD >actual &&
+ sed -e "1,/^@@/d" actual >actual.body &&
expect_from_to >expect.body $subtip $subprev-dirty &&
test_cmp expect.body actual.body
'
@@ -168,13 +176,13 @@ test_expect_success 'git diff HEAD with dirty submodule (untracked, refs match)'
git clean -qfdx &&
>cruft
) &&
- git diff HEAD >actual &&
+ git diff --ignore-submodules=none HEAD >actual &&
sed -e "1,/^@@/d" actual >actual.body &&
expect_from_to >expect.body $subprev $subprev-dirty &&
test_cmp expect.body actual.body &&
git diff --ignore-submodules=all HEAD >actual2 &&
test_must_be_empty actual2 &&
- git diff --ignore-submodules=untracked HEAD >actual3 &&
+ git diff HEAD >actual3 &&
test_must_be_empty actual3 &&
git diff --ignore-submodules=dirty HEAD >actual4 &&
test_must_be_empty actual4
diff --git a/t/t4038-diff-combined.sh b/t/t4038-diff-combined.sh
index 94680836ce..09ad491a59 100755
--- a/t/t4038-diff-combined.sh
+++ b/t/t4038-diff-combined.sh
@@ -2,6 +2,9 @@
test_description='combined diff'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/diff-lib.sh
@@ -115,7 +118,7 @@ test_expect_success 'check --cc --raw with forty trees' '
'
test_expect_success 'setup combined ignore spaces' '
- git checkout master &&
+ git checkout main &&
>test &&
git add test &&
git commit -m initial &&
@@ -143,7 +146,7 @@ test_expect_success 'setup combined ignore spaces' '
EOF
git commit -m "test other space changes" -a &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
tr -d Q <<-\EOF >test &&
eol spaces Q
space change
@@ -404,7 +407,7 @@ test_expect_success 'combine diff missing delete bug' '
test_expect_success 'combine diff gets tree sorting right' '
# create a directory and a file that sort differently in trees
# versus byte-wise (implied "/" sorts after ".")
- git checkout -f master &&
+ git checkout -f main &&
mkdir foo &&
echo base >foo/one &&
echo base >foo/two &&
@@ -414,9 +417,9 @@ test_expect_success 'combine diff gets tree sorting right' '
# one side modifies a file in the directory, along with the root
# file...
- echo master >foo/one &&
- echo master >foo.ext &&
- git commit -a -m master &&
+ echo main >foo/one &&
+ echo main >foo.ext &&
+ git commit -a -m main &&
# the other side modifies the other file in the directory
git checkout -b other HEAD^ &&
@@ -426,7 +429,7 @@ test_expect_success 'combine diff gets tree sorting right' '
# And now we merge. The files in the subdirectory will resolve cleanly,
# meaning that a combined diff will not find them interesting. But it
# will find the tree itself interesting, because it had to be merged.
- git checkout master &&
+ git checkout main &&
git merge other &&
printf "MM\tfoo\n" >expect &&
diff --git a/t/t4041-diff-submodule-option.sh b/t/t4041-diff-submodule-option.sh
index f852136585..0c1502d4b0 100755
--- a/t/t4041-diff-submodule-option.sh
+++ b/t/t4041-diff-submodule-option.sh
@@ -9,6 +9,9 @@ test_description='Support for verbose submodule differences in git diff
This test tries to verify the sanity of the --submodule option of git diff.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# Tested non-UTF-8 encoding
@@ -262,7 +265,7 @@ test_expect_success 'submodule is up to date' '
test_expect_success 'submodule contains untracked content' '
echo new > sm1/new-file &&
- git diff-index -p --submodule=log HEAD >actual &&
+ git diff-index -p --ignore-submodules=none --submodule=log HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 contains untracked content
EOF
@@ -270,7 +273,7 @@ test_expect_success 'submodule contains untracked content' '
'
test_expect_success 'submodule contains untracked content (untracked ignored)' '
- git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
+ git diff-index -p --submodule=log HEAD >actual &&
test_must_be_empty actual
'
@@ -286,7 +289,7 @@ test_expect_success 'submodule contains untracked content (all ignored)' '
test_expect_success 'submodule contains untracked and modified content' '
echo new > sm1/foo6 &&
- git diff-index -p --submodule=log HEAD >actual &&
+ git diff-index -p --ignore-submodules=none --submodule=log HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 contains untracked content
Submodule sm1 contains modified content
@@ -296,7 +299,7 @@ test_expect_success 'submodule contains untracked and modified content' '
test_expect_success 'submodule contains untracked and modified content (untracked ignored)' '
echo new > sm1/foo6 &&
- git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
+ git diff-index -p --submodule=log HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 contains modified content
EOF
@@ -337,7 +340,7 @@ test_expect_success 'submodule is modified' '
test_expect_success 'modified submodule contains untracked content' '
echo new > sm1/new-file &&
- git diff-index -p --submodule=log HEAD >actual &&
+ git diff-index -p --ignore-submodules=none --submodule=log HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 contains untracked content
Submodule sm1 $head6..$head8:
@@ -347,7 +350,7 @@ test_expect_success 'modified submodule contains untracked content' '
'
test_expect_success 'modified submodule contains untracked content (untracked ignored)' '
- git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
+ git diff-index -p --submodule=log HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 $head6..$head8:
> change
@@ -371,7 +374,7 @@ test_expect_success 'modified submodule contains untracked content (all ignored)
test_expect_success 'modified submodule contains untracked and modified content' '
echo modification >> sm1/foo6 &&
- git diff-index -p --submodule=log HEAD >actual &&
+ git diff-index -p --ignore-submodules=none --submodule=log HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 contains untracked content
Submodule sm1 contains modified content
@@ -383,7 +386,7 @@ test_expect_success 'modified submodule contains untracked and modified content'
test_expect_success 'modified submodule contains untracked and modified content (untracked ignored)' '
echo modification >> sm1/foo6 &&
- git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
+ git diff-index -p --submodule=log HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 contains modified content
Submodule sm1 $head6..$head8:
@@ -538,7 +541,7 @@ test_expect_success 'diff --submodule with objects referenced by alternates' '
(cd super &&
(cd sub &&
git fetch &&
- git checkout origin/master
+ git checkout origin/main
) &&
git diff --submodule > ../actual
) &&
diff --git a/t/t4048-diff-combined-binary.sh b/t/t4048-diff-combined-binary.sh
index 7f9ad9fa3d..0260cf64f5 100755
--- a/t/t4048-diff-combined-binary.sh
+++ b/t/t4048-diff-combined-binary.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='combined and merge diff handle binary files and textconv'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup binary merge conflict' '
@@ -14,7 +17,7 @@ test_expect_success 'setup binary merge conflict' '
echo threeQ3 | q_to_nul >binary &&
git commit -a -m three &&
three=$(git rev-parse --short HEAD:binary) &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
echo resolvedQhooray | q_to_nul >binary &&
git commit -a -m resolved &&
res=$(git rev-parse --short HEAD:binary)
@@ -62,14 +65,14 @@ test_expect_success 'diff --cc indicates binary-ness' '
'
test_expect_success 'setup non-binary with binary attribute' '
- git checkout master &&
+ git checkout main &&
test_commit one text &&
test_commit two text &&
two=$(git rev-parse --short HEAD:text) &&
git checkout -b branch-text HEAD^ &&
test_commit three text &&
three=$(git rev-parse --short HEAD:text) &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
test_commit resolved text &&
res=$(git rev-parse --short HEAD:text) &&
echo text -diff >.gitattributes
@@ -206,11 +209,11 @@ index $three,$two..0000000
+THREE
++=======
+ TWO
-++>>>>>>> MASTER
+++>>>>>>> MAIN
EOF
test_expect_success 'diff --cc respects textconv on worktree file' '
git reset --hard HEAD^ &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
git diff >actual &&
test_cmp expect actual
'
diff --git a/t/t4052-stat-output.sh b/t/t4052-stat-output.sh
index 28c053849a..9eba436211 100755
--- a/t/t4052-stat-output.sh
+++ b/t/t4052-stat-output.sh
@@ -5,6 +5,9 @@
test_description='test --stat output of various commands'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-terminal.sh
@@ -353,7 +356,7 @@ cat >expect <<'EOF'
EOF
test_expect_success 'merge --stat respects COLUMNS (big change)' '
git checkout -b branch HEAD^^ &&
- COLUMNS=100 git merge --stat --no-ff master^ >output &&
+ COLUMNS=100 git merge --stat --no-ff main^ >output &&
grep " | " output >actual &&
test_cmp expect actual
'
@@ -362,7 +365,7 @@ cat >expect <<'EOF'
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 +++++++++++++++++++++++++++++++++++++++
EOF
test_expect_success 'merge --stat respects COLUMNS (long filename)' '
- COLUMNS=100 git merge --stat --no-ff master >output &&
+ COLUMNS=100 git merge --stat --no-ff main >output &&
grep " | " output >actual &&
test_cmp expect actual
'
diff --git a/t/t4056-diff-order.sh b/t/t4056-diff-order.sh
index 43dd474a12..63ea7144bb 100755
--- a/t/t4056-diff-order.sh
+++ b/t/t4056-diff-order.sh
@@ -2,6 +2,9 @@
test_description='diff order'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
create_files () {
@@ -106,7 +109,7 @@ done
test_expect_success 'setup for testing combine-diff order' '
git checkout -b tmp HEAD~ &&
create_files 3 &&
- git checkout master &&
+ git checkout main &&
git merge --no-commit -s ours tmp &&
create_files 5
'
diff --git a/t/t4057-diff-combined-paths.sh b/t/t4057-diff-combined-paths.sh
index 0b78573733..7e5b74f72e 100755
--- a/t/t4057-diff-combined-paths.sh
+++ b/t/t4057-diff-combined-paths.sh
@@ -2,6 +2,9 @@
test_description='combined diff show only paths that are different to all parents'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# verify that diffc.expect matches output of
@@ -24,9 +27,9 @@ test_expect_success 'trivial merge - combine-diff empty' '
echo $i/2 >>$i.txt
done &&
git commit -a -m "side 2-9" &&
- git checkout master &&
+ git checkout main &&
echo 1/2 >1.txt &&
- git commit -a -m "master 1" &&
+ git commit -a -m "main 1" &&
git merge side &&
>diffc.expect &&
diffc_verify
@@ -41,19 +44,19 @@ test_expect_success 'only one truly conflicting path' '
done &&
echo "4side" >>4.txt &&
git commit -a -m "side 2-9 +4" &&
- git checkout master &&
+ git checkout main &&
for i in $(test_seq 1 9)
do
echo $i/3 >>$i.txt
done &&
- echo "4master" >>4.txt &&
- git commit -a -m "master 1-9 +4" &&
+ echo "4main" >>4.txt &&
+ git commit -a -m "main 1-9 +4" &&
test_must_fail git merge side &&
cat <<-\EOF >4.txt &&
4
4/2
4/3
- 4master
+ 4main
4side
EOF
git add 4.txt &&
@@ -69,12 +72,12 @@ test_expect_success 'merge introduces new file' '
echo $i/4 >>$i.txt
done &&
git commit -a -m "side 5-9" &&
- git checkout master &&
+ git checkout main &&
for i in $(test_seq 1 3)
do
echo $i/4 >>$i.txt
done &&
- git commit -a -m "master 1-3 +4hello" &&
+ git commit -a -m "main 1-3 +4hello" &&
git merge side &&
echo "Hello World" >4hello.txt &&
git add 4hello.txt &&
@@ -90,12 +93,12 @@ test_expect_success 'merge removed a file' '
echo $i/5 >>$i.txt
done &&
git commit -a -m "side 5-9" &&
- git checkout master &&
+ git checkout main &&
for i in $(test_seq 1 3)
do
echo $i/4 >>$i.txt
done &&
- git commit -a -m "master 1-3" &&
+ git commit -a -m "main 1-3" &&
git merge side &&
git rm 4.txt &&
git commit --amend &&
diff --git a/t/t4058-diff-duplicates.sh b/t/t4058-diff-duplicates.sh
index c24ee175ef..54614b814d 100755
--- a/t/t4058-diff-duplicates.sh
+++ b/t/t4058-diff-duplicates.sh
@@ -1,5 +1,14 @@
#!/bin/sh
+# NOTICE:
+# This testsuite does a number of diffs and checks that the output match.
+# However, it is a "garbage in, garbage out" situation; the trees have
+# duplicate entries for individual paths, and it results in diffs that do
+# not make much sense. As such, it is not clear that the diffs are
+# "correct". The primary purpose of these tests was to verify that
+# diff-tree does not segfault, but there is perhaps some value in ensuring
+# that the diff output isn't wildly unreasonable.
+
test_description='test tree diff when trees have duplicate entries'
. ./test-lib.sh
@@ -57,7 +66,16 @@ test_expect_success 'create trees with duplicate entries' '
git tag two $outer_two
'
-test_expect_success 'diff-tree between trees' '
+test_expect_success 'create tree without duplicate entries' '
+ blob_one=$(echo one | git hash-object -w --stdin) &&
+ outer_three=$(make_tree \
+ 100644 renamed $blob_one
+ ) &&
+ git tag three $outer_three
+'
+
+test_expect_success 'diff-tree between duplicate trees' '
+ # See NOTICE at top of file
{
printf ":000000 100644 $ZERO_OID $blob_two A\touter/inner\n" &&
printf ":000000 100644 $ZERO_OID $blob_two A\touter/inner\n" &&
@@ -71,9 +89,101 @@ test_expect_success 'diff-tree between trees' '
'
test_expect_success 'diff-tree with renames' '
- # same expectation as above, since we disable rename detection
+ # See NOTICE at top of file.
git diff-tree -M -r --no-abbrev one two >actual &&
+ test_must_be_empty actual
+'
+
+test_expect_success 'diff-tree FROM duplicate tree' '
+ # See NOTICE at top of file.
+ {
+ printf ":100644 000000 $blob_one $ZERO_OID D\touter/inner\n" &&
+ printf ":100644 000000 $blob_two $ZERO_OID D\touter/inner\n" &&
+ printf ":100644 000000 $blob_two $ZERO_OID D\touter/inner\n" &&
+ printf ":100644 000000 $blob_two $ZERO_OID D\touter/inner\n" &&
+ printf ":000000 100644 $ZERO_OID $blob_one A\trenamed\n"
+ } >expect &&
+ git diff-tree -r --no-abbrev one three >actual &&
test_cmp expect actual
'
+test_expect_success 'diff-tree FROM duplicate tree, with renames' '
+ # See NOTICE at top of file.
+ {
+ printf ":100644 000000 $blob_two $ZERO_OID D\touter/inner\n" &&
+ printf ":100644 000000 $blob_two $ZERO_OID D\touter/inner\n" &&
+ printf ":100644 000000 $blob_two $ZERO_OID D\touter/inner\n" &&
+ printf ":100644 100644 $blob_one $blob_one R100\touter/inner\trenamed\n"
+ } >expect &&
+ git diff-tree -M -r --no-abbrev one three >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'create a few commits' '
+ git commit-tree -m "Duplicate Entries" two^{tree} >commit_id &&
+ git branch base $(cat commit_id) &&
+
+ git commit-tree -p $(cat commit_id) -m "Just one" three^{tree} >up &&
+ git branch update $(cat up) &&
+
+ git commit-tree -p $(cat up) -m "Back to weird" two^{tree} >final &&
+ git branch final $(cat final) &&
+
+ rm commit_id up final
+'
+
+test_expect_failure 'git read-tree does not segfault' '
+ test_when_finished rm .git/index.lock &&
+ test_might_fail git read-tree --reset base
+'
+
+test_expect_failure 'reset --hard does not segfault' '
+ test_when_finished rm .git/index.lock &&
+ git checkout base &&
+ test_might_fail git reset --hard
+'
+
+test_expect_failure 'git diff HEAD does not segfault' '
+ git checkout base &&
+ GIT_TEST_CHECK_CACHE_TREE=false &&
+ git reset --hard &&
+ test_might_fail git diff HEAD
+'
+
+test_expect_failure 'can switch to another branch when status is empty' '
+ git clean -ffdqx &&
+ git status --porcelain -uno >actual &&
+ test_must_be_empty actual &&
+ git checkout update
+'
+
+test_expect_success 'forcibly switch to another branch, verify status empty' '
+ git checkout -f update &&
+ git status --porcelain -uno >actual &&
+ test_must_be_empty actual
+'
+
+test_expect_success 'fast-forward from non-duplicate entries to duplicate' '
+ git merge final
+'
+
+test_expect_failure 'clean status, switch branches, status still clean' '
+ git status --porcelain -uno >actual &&
+ test_must_be_empty actual &&
+ git checkout base &&
+ git status --porcelain -uno >actual &&
+ test_must_be_empty actual
+'
+
+test_expect_success 'switch to base branch and force status to be clean' '
+ git checkout base &&
+ GIT_TEST_CHECK_CACHE_TREE=false git reset --hard &&
+ git status --porcelain -uno >actual &&
+ test_must_be_empty actual
+'
+
+test_expect_failure 'fast-forward from duplicate entries to non-duplicate' '
+ git merge update
+'
+
test_done
diff --git a/t/t4060-diff-submodule-option-diff-format.sh b/t/t4060-diff-submodule-option-diff-format.sh
index fc8229c726..dc7b242697 100755
--- a/t/t4060-diff-submodule-option-diff-format.sh
+++ b/t/t4060-diff-submodule-option-diff-format.sh
@@ -409,7 +409,7 @@ test_expect_success 'submodule is up to date' '
test_expect_success 'submodule contains untracked content' '
echo new > sm1/new-file &&
- git diff-index -p --submodule=diff HEAD >actual &&
+ git diff-index -p --ignore-submodules=none --submodule=diff HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 contains untracked content
EOF
@@ -417,7 +417,7 @@ test_expect_success 'submodule contains untracked content' '
'
test_expect_success 'submodule contains untracked content (untracked ignored)' '
- git diff-index -p --ignore-submodules=untracked --submodule=diff HEAD >actual &&
+ git diff-index -p --submodule=diff HEAD >actual &&
test_must_be_empty actual
'
@@ -433,7 +433,7 @@ test_expect_success 'submodule contains untracked content (all ignored)' '
test_expect_success 'submodule contains untracked and modified content' '
echo new > sm1/foo6 &&
- git diff-index -p --submodule=diff HEAD >actual &&
+ git diff-index -p --ignore-submodules=none --submodule=diff HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 contains untracked content
Submodule sm1 contains modified content
@@ -451,7 +451,7 @@ test_expect_success 'submodule contains untracked and modified content' '
# NOT OK
test_expect_success 'submodule contains untracked and modified content (untracked ignored)' '
echo new > sm1/foo6 &&
- git diff-index -p --ignore-submodules=untracked --submodule=diff HEAD >actual &&
+ git diff-index -p --submodule=diff HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 contains modified content
diff --git a/sm1/foo6 b/sm1/foo6
@@ -512,7 +512,7 @@ test_expect_success 'submodule is modified' '
test_expect_success 'modified submodule contains untracked content' '
echo new > sm1/new-file &&
- git diff-index -p --submodule=diff HEAD >actual &&
+ git diff-index -p --ignore-submodules=none --submodule=diff HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 contains untracked content
Submodule sm1 $head7..$head8:
@@ -528,7 +528,7 @@ test_expect_success 'modified submodule contains untracked content' '
'
test_expect_success 'modified submodule contains untracked content (untracked ignored)' '
- git diff-index -p --ignore-submodules=untracked --submodule=diff HEAD >actual &&
+ git diff-index -p --submodule=diff HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 $head7..$head8:
diff --git a/sm1/foo6 b/sm1/foo6
@@ -564,7 +564,7 @@ test_expect_success 'modified submodule contains untracked content (all ignored)
test_expect_success 'modified submodule contains untracked and modified content' '
echo modification >> sm1/foo6 &&
- git diff-index -p --submodule=diff HEAD >actual &&
+ git diff-index -p --ignore-submodules=none --submodule=diff HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 contains untracked content
Submodule sm1 contains modified content
@@ -583,7 +583,7 @@ test_expect_success 'modified submodule contains untracked and modified content'
test_expect_success 'modified submodule contains untracked and modified content (untracked ignored)' '
echo modification >> sm1/foo6 &&
- git diff-index -p --ignore-submodules=untracked --submodule=diff HEAD >actual &&
+ git diff-index -p --submodule=diff HEAD >actual &&
cat >expected <<-EOF &&
Submodule sm1 contains modified content
Submodule sm1 $head7..$head8:
diff --git a/t/t4061-diff-indent.sh b/t/t4061-diff-indent.sh
index 0f7a6d97a8..bcf7493740 100755
--- a/t/t4061-diff-indent.sh
+++ b/t/t4061-diff-indent.sh
@@ -3,6 +3,9 @@
test_description='Test diff indent heuristic.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/diff-lib.sh
@@ -266,7 +269,7 @@ test_expect_success 'diff-index: nice spaces with --indent-heuristic' '
git reset --soft HEAD~ &&
git diff-index --indent-heuristic -p old -- spaces.txt >out-diff-index-compacted &&
compare_diff spaces-compacted-expect out-diff-index-compacted &&
- git checkout -f master
+ git checkout -f main
'
test_expect_success 'diff-index: nice spaces with diff.indentHeuristic=true' '
@@ -274,7 +277,7 @@ test_expect_success 'diff-index: nice spaces with diff.indentHeuristic=true' '
git reset --soft HEAD~ &&
git -c diff.indentHeuristic=true diff-index -p old -- spaces.txt >out-diff-index-compacted2 &&
compare_diff spaces-compacted-expect out-diff-index-compacted2 &&
- git checkout -f master
+ git checkout -f main
'
test_expect_success 'diff-index: ugly spaces with --no-indent-heuristic' '
@@ -282,7 +285,7 @@ test_expect_success 'diff-index: ugly spaces with --no-indent-heuristic' '
git reset --soft HEAD~ &&
git diff-index --no-indent-heuristic -p old -- spaces.txt >out-diff-index &&
compare_diff spaces-expect out-diff-index &&
- git checkout -f master
+ git checkout -f main
'
test_expect_success 'diff-index: ugly spaces with diff.indentHeuristic=false' '
@@ -290,7 +293,7 @@ test_expect_success 'diff-index: ugly spaces with diff.indentHeuristic=false' '
git reset --soft HEAD~ &&
git -c diff.indentHeuristic=false diff-index -p old -- spaces.txt >out-diff-index2 &&
compare_diff spaces-expect out-diff-index2 &&
- git checkout -f master
+ git checkout -f main
'
test_expect_success 'diff-index: --indent-heuristic overrides config' '
@@ -298,7 +301,7 @@ test_expect_success 'diff-index: --indent-heuristic overrides config' '
git reset --soft HEAD~ &&
git -c diff.indentHeuristic=false diff-index --indent-heuristic -p old -- spaces.txt >out-diff-index-compacted3 &&
compare_diff spaces-compacted-expect out-diff-index-compacted3 &&
- git checkout -f master
+ git checkout -f main
'
test_expect_success 'diff-index: --no-indent-heuristic overrides config' '
@@ -306,7 +309,7 @@ test_expect_success 'diff-index: --no-indent-heuristic overrides config' '
git reset --soft HEAD~ &&
git -c diff.indentHeuristic=true diff-index --no-indent-heuristic -p old -- spaces.txt >out-diff-index3 &&
compare_diff spaces-expect out-diff-index3 &&
- git checkout -f master
+ git checkout -f main
'
# --- diff-files tests ----------------------------------------------------
@@ -317,7 +320,7 @@ test_expect_success 'diff-files: nice spaces with --indent-heuristic' '
git diff-files --indent-heuristic -p spaces.txt >out-diff-files-raw &&
grep -v index out-diff-files-raw >out-diff-files-compacted &&
compare_diff spaces-compacted-expect out-diff-files-compacted &&
- git checkout -f master
+ git checkout -f main
'
test_expect_success 'diff-files: nice spaces with diff.indentHeuristic=true' '
@@ -326,7 +329,7 @@ test_expect_success 'diff-files: nice spaces with diff.indentHeuristic=true' '
git -c diff.indentHeuristic=true diff-files -p spaces.txt >out-diff-files-raw2 &&
grep -v index out-diff-files-raw2 >out-diff-files-compacted2 &&
compare_diff spaces-compacted-expect out-diff-files-compacted2 &&
- git checkout -f master
+ git checkout -f main
'
test_expect_success 'diff-files: ugly spaces with --no-indent-heuristic' '
@@ -335,7 +338,7 @@ test_expect_success 'diff-files: ugly spaces with --no-indent-heuristic' '
git diff-files --no-indent-heuristic -p spaces.txt >out-diff-files-raw &&
grep -v index out-diff-files-raw >out-diff-files &&
compare_diff spaces-expect out-diff-files &&
- git checkout -f master
+ git checkout -f main
'
test_expect_success 'diff-files: ugly spaces with diff.indentHeuristic=false' '
@@ -344,7 +347,7 @@ test_expect_success 'diff-files: ugly spaces with diff.indentHeuristic=false' '
git -c diff.indentHeuristic=false diff-files -p spaces.txt >out-diff-files-raw2 &&
grep -v index out-diff-files-raw2 >out-diff-files &&
compare_diff spaces-expect out-diff-files &&
- git checkout -f master
+ git checkout -f main
'
test_expect_success 'diff-files: --indent-heuristic overrides config' '
@@ -353,7 +356,7 @@ test_expect_success 'diff-files: --indent-heuristic overrides config' '
git -c diff.indentHeuristic=false diff-files --indent-heuristic -p spaces.txt >out-diff-files-raw3 &&
grep -v index out-diff-files-raw3 >out-diff-files-compacted &&
compare_diff spaces-compacted-expect out-diff-files-compacted &&
- git checkout -f master
+ git checkout -f main
'
test_expect_success 'diff-files: --no-indent-heuristic overrides config' '
@@ -362,7 +365,7 @@ test_expect_success 'diff-files: --no-indent-heuristic overrides config' '
git -c diff.indentHeuristic=true diff-files --no-indent-heuristic -p spaces.txt >out-diff-files-raw4 &&
grep -v index out-diff-files-raw4 >out-diff-files &&
compare_diff spaces-expect out-diff-files &&
- git checkout -f master
+ git checkout -f main
'
test_done
diff --git a/t/t4066-diff-emit-delay.sh b/t/t4066-diff-emit-delay.sh
index 6331f63b12..a1de63b77f 100755
--- a/t/t4066-diff-emit-delay.sh
+++ b/t/t4066-diff-emit-delay.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='test combined/stat/moved interaction'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# This test covers a weird 3-way interaction between "--cc -p", which will run
@@ -13,7 +16,7 @@ test_expect_success 'set up history with a merge' '
test_commit B &&
git checkout -b side HEAD^ &&
test_commit C &&
- git merge -m M master &&
+ git merge -m M main &&
test_commit D
'
diff --git a/t/t4068-diff-symmetric-merge-base.sh b/t/t4068-diff-symmetric-merge-base.sh
new file mode 100755
index 0000000000..2d650d8f10
--- /dev/null
+++ b/t/t4068-diff-symmetric-merge-base.sh
@@ -0,0 +1,196 @@
+#!/bin/sh
+
+test_description='behavior of diff with symmetric-diff setups and --merge-base'
+
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
+. ./test-lib.sh
+
+# build these situations:
+# - normal merge with one merge base (br1...b2r);
+# - criss-cross merge ie 2 merge bases (br1...main);
+# - disjoint subgraph (orphan branch, br3...main).
+#
+# B---E <-- main
+# / \ /
+# A X
+# \ / \
+# C---D--G <-- br1
+# \ /
+# ---F <-- br2
+#
+# H <-- br3
+#
+# We put files into a few commits so that we can verify the
+# output as well.
+
+test_expect_success setup '
+ git commit --allow-empty -m A &&
+ echo b >b &&
+ git add b &&
+ git commit -m B &&
+ git checkout -b br1 HEAD^ &&
+ echo c >c &&
+ git add c &&
+ git commit -m C &&
+ git tag commit-C &&
+ git merge -m D main &&
+ git tag commit-D &&
+ git checkout main &&
+ git merge -m E commit-C &&
+ git checkout -b br2 commit-C &&
+ echo f >f &&
+ git add f &&
+ git commit -m F &&
+ git checkout br1 &&
+ git merge -m G br2 &&
+ git checkout --orphan br3 &&
+ git commit -m H
+'
+
+test_expect_success 'diff with one merge base' '
+ git diff commit-D...br1 >tmp &&
+ tail -n 1 tmp >actual &&
+ echo +f >expect &&
+ test_cmp expect actual
+'
+
+# The output (in tmp) can have +b or +c depending
+# on which merge base (commit B or C) is picked.
+# It should have one of those two, which comes out
+# to seven lines.
+test_expect_success 'diff with two merge bases' '
+ git diff br1...main >tmp 2>err &&
+ test_line_count = 7 tmp &&
+ test_line_count = 1 err
+'
+
+test_expect_success 'diff with no merge bases' '
+ test_must_fail git diff br2...br3 2>err &&
+ test_i18ngrep "fatal: br2...br3: no merge base" err
+'
+
+test_expect_success 'diff with too many symmetric differences' '
+ test_must_fail git diff br1...main br2...br3 2>err &&
+ test_i18ngrep "usage" err
+'
+
+test_expect_success 'diff with symmetric difference and extraneous arg' '
+ test_must_fail git diff main br1...main 2>err &&
+ test_i18ngrep "usage" err
+'
+
+test_expect_success 'diff with two ranges' '
+ test_must_fail git diff main br1..main br2..br3 2>err &&
+ test_i18ngrep "usage" err
+'
+
+test_expect_success 'diff with ranges and extra arg' '
+ test_must_fail git diff main br1..main commit-D 2>err &&
+ test_i18ngrep "usage" err
+'
+
+test_expect_success 'diff --merge-base with no commits' '
+ test_must_fail git diff --merge-base
+'
+
+test_expect_success 'diff --merge-base with three commits' '
+ test_must_fail git diff --merge-base br1 br2 main 2>err &&
+ test_i18ngrep "usage" err
+'
+
+for cmd in diff-index diff
+do
+ test_expect_success "$cmd --merge-base with one commit" '
+ git checkout main &&
+ git $cmd commit-C >expect &&
+ git $cmd --merge-base br2 >actual &&
+ test_cmp expect actual
+ '
+
+ test_expect_success "$cmd --merge-base with one commit and unstaged changes" '
+ git checkout main &&
+ test_when_finished git reset --hard &&
+ echo unstaged >>c &&
+ git $cmd commit-C >expect &&
+ git $cmd --merge-base br2 >actual &&
+ test_cmp expect actual
+ '
+
+ test_expect_success "$cmd --merge-base with one commit and staged and unstaged changes" '
+ git checkout main &&
+ test_when_finished git reset --hard &&
+ echo staged >>c &&
+ git add c &&
+ echo unstaged >>c &&
+ git $cmd commit-C >expect &&
+ git $cmd --merge-base br2 >actual &&
+ test_cmp expect actual
+ '
+
+ test_expect_success "$cmd --merge-base --cached with one commit and staged and unstaged changes" '
+ git checkout main &&
+ test_when_finished git reset --hard &&
+ echo staged >>c &&
+ git add c &&
+ echo unstaged >>c &&
+ git $cmd --cached commit-C >expect &&
+ git $cmd --cached --merge-base br2 >actual &&
+ test_cmp expect actual
+ '
+
+ test_expect_success "$cmd --merge-base with non-commit" '
+ git checkout main &&
+ test_must_fail git $cmd --merge-base main^{tree} 2>err &&
+ test_i18ngrep "fatal: --merge-base only works with commits" err
+ '
+
+ test_expect_success "$cmd --merge-base with no merge bases and one commit" '
+ git checkout main &&
+ test_must_fail git $cmd --merge-base br3 2>err &&
+ test_i18ngrep "fatal: no merge base found" err
+ '
+
+ test_expect_success "$cmd --merge-base with multiple merge bases and one commit" '
+ git checkout main &&
+ test_must_fail git $cmd --merge-base br1 2>err &&
+ test_i18ngrep "fatal: multiple merge bases found" err
+ '
+done
+
+for cmd in diff-tree diff
+do
+ test_expect_success "$cmd --merge-base with two commits" '
+ git $cmd commit-C main >expect &&
+ git $cmd --merge-base br2 main >actual &&
+ test_cmp expect actual
+ '
+
+ test_expect_success "$cmd --merge-base commit and non-commit" '
+ test_must_fail git $cmd --merge-base br2 main^{tree} 2>err &&
+ test_i18ngrep "fatal: --merge-base only works with commits" err
+ '
+
+ test_expect_success "$cmd --merge-base with no merge bases and two commits" '
+ test_must_fail git $cmd --merge-base br2 br3 2>err &&
+ test_i18ngrep "fatal: no merge base found" err
+ '
+
+ test_expect_success "$cmd --merge-base with multiple merge bases and two commits" '
+ test_must_fail git $cmd --merge-base main br1 2>err &&
+ test_i18ngrep "fatal: multiple merge bases found" err
+ '
+done
+
+test_expect_success 'diff-tree --merge-base with one commit' '
+ test_must_fail git diff-tree --merge-base main 2>err &&
+ test_i18ngrep "fatal: --merge-base only works with two commits" err
+'
+
+test_expect_success 'diff --merge-base with range' '
+ test_must_fail git diff --merge-base br2..br3 2>err &&
+ test_i18ngrep "fatal: --merge-base does not work with ranges" err
+'
+
+test_done
diff --git a/t/t4068-diff-symmetric.sh b/t/t4068-diff-symmetric.sh
deleted file mode 100755
index 31d17a5af0..0000000000
--- a/t/t4068-diff-symmetric.sh
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/sh
-
-test_description='behavior of diff with symmetric-diff setups'
-
-. ./test-lib.sh
-
-# build these situations:
-# - normal merge with one merge base (br1...b2r);
-# - criss-cross merge ie 2 merge bases (br1...master);
-# - disjoint subgraph (orphan branch, br3...master).
-#
-# B---E <-- master
-# / \ /
-# A X
-# \ / \
-# C---D--G <-- br1
-# \ /
-# ---F <-- br2
-#
-# H <-- br3
-#
-# We put files into a few commits so that we can verify the
-# output as well.
-
-test_expect_success setup '
- git commit --allow-empty -m A &&
- echo b >b &&
- git add b &&
- git commit -m B &&
- git checkout -b br1 HEAD^ &&
- echo c >c &&
- git add c &&
- git commit -m C &&
- git tag commit-C &&
- git merge -m D master &&
- git tag commit-D &&
- git checkout master &&
- git merge -m E commit-C &&
- git checkout -b br2 commit-C &&
- echo f >f &&
- git add f &&
- git commit -m F &&
- git checkout br1 &&
- git merge -m G br2 &&
- git checkout --orphan br3 &&
- git commit -m H
-'
-
-test_expect_success 'diff with one merge base' '
- git diff commit-D...br1 >tmp &&
- tail -n 1 tmp >actual &&
- echo +f >expect &&
- test_cmp expect actual
-'
-
-# The output (in tmp) can have +b or +c depending
-# on which merge base (commit B or C) is picked.
-# It should have one of those two, which comes out
-# to seven lines.
-test_expect_success 'diff with two merge bases' '
- git diff br1...master >tmp 2>err &&
- test_line_count = 7 tmp &&
- test_line_count = 1 err
-'
-
-test_expect_success 'diff with no merge bases' '
- test_must_fail git diff br2...br3 >tmp 2>err &&
- test_i18ngrep "fatal: br2...br3: no merge base" err
-'
-
-test_expect_success 'diff with too many symmetric differences' '
- test_must_fail git diff br1...master br2...br3 >tmp 2>err &&
- test_i18ngrep "usage" err
-'
-
-test_expect_success 'diff with symmetric difference and extraneous arg' '
- test_must_fail git diff master br1...master >tmp 2>err &&
- test_i18ngrep "usage" err
-'
-
-test_expect_success 'diff with two ranges' '
- test_must_fail git diff master br1..master br2..br3 >tmp 2>err &&
- test_i18ngrep "usage" err
-'
-
-test_expect_success 'diff with ranges and extra arg' '
- test_must_fail git diff master br1..master commit-D >tmp 2>err &&
- test_i18ngrep "usage" err
-'
-
-test_done
diff --git a/t/t4103-apply-binary.sh b/t/t4103-apply-binary.sh
index 1b420e3b5f..fad6d3f542 100755
--- a/t/t4103-apply-binary.sh
+++ b/t/t4103-apply-binary.sh
@@ -6,6 +6,9 @@
test_description='git apply handling binary patches
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -31,64 +34,64 @@ test_expect_success 'setup' '
git update-index --add --remove file1 file2 file3 file4 &&
git commit -m "Second Version" &&
- git diff-tree -p master binary >B.diff &&
- git diff-tree -p -C master binary >C.diff &&
+ git diff-tree -p main binary >B.diff &&
+ git diff-tree -p -C main binary >C.diff &&
- git diff-tree -p --binary master binary >BF.diff &&
- git diff-tree -p --binary -C master binary >CF.diff &&
+ git diff-tree -p --binary main binary >BF.diff &&
+ git diff-tree -p --binary -C main binary >CF.diff &&
- git diff-tree -p --full-index master binary >B-index.diff &&
- git diff-tree -p -C --full-index master binary >C-index.diff &&
+ git diff-tree -p --full-index main binary >B-index.diff &&
+ git diff-tree -p -C --full-index main binary >C-index.diff &&
- git diff-tree -p --binary --no-prefix master binary -- file3 >B0.diff &&
+ git diff-tree -p --binary --no-prefix main binary -- file3 >B0.diff &&
git init other-repo &&
(
cd other-repo &&
- git fetch .. master &&
+ git fetch .. main &&
git reset --hard FETCH_HEAD
)
'
test_expect_success 'stat binary diff -- should not fail.' \
- 'git checkout master &&
+ 'git checkout main &&
git apply --stat --summary B.diff'
test_expect_success 'stat binary -p0 diff -- should not fail.' '
- git checkout master &&
+ git checkout main &&
git apply --stat -p0 B0.diff
'
test_expect_success 'stat binary diff (copy) -- should not fail.' \
- 'git checkout master &&
+ 'git checkout main &&
git apply --stat --summary C.diff'
test_expect_success 'check binary diff -- should fail.' \
- 'git checkout master &&
+ 'git checkout main &&
test_must_fail git apply --check B.diff'
test_expect_success 'check binary diff (copy) -- should fail.' \
- 'git checkout master &&
+ 'git checkout main &&
test_must_fail git apply --check C.diff'
test_expect_success \
'check incomplete binary diff with replacement -- should fail.' '
- git checkout master &&
+ git checkout main &&
test_must_fail git apply --check --allow-binary-replacement B.diff
'
test_expect_success \
'check incomplete binary diff with replacement (copy) -- should fail.' '
- git checkout master &&
+ git checkout main &&
test_must_fail git apply --check --allow-binary-replacement C.diff
'
test_expect_success 'check binary diff with replacement.' \
- 'git checkout master &&
+ 'git checkout main &&
git apply --check --allow-binary-replacement BF.diff'
test_expect_success 'check binary diff with replacement (copy).' \
- 'git checkout master &&
+ 'git checkout main &&
git apply --check --allow-binary-replacement CF.diff'
# Now we start applying them.
@@ -96,7 +99,7 @@ test_expect_success 'check binary diff with replacement (copy).' \
do_reset () {
rm -f file? &&
git reset --hard &&
- git checkout -f master
+ git checkout -f main
}
test_expect_success 'apply binary diff -- should fail.' \
diff --git a/t/t4108-apply-threeway.sh b/t/t4108-apply-threeway.sh
index d7349ced6b..d62db3fbe1 100755
--- a/t/t4108-apply-threeway.sh
+++ b/t/t4108-apply-threeway.sh
@@ -2,6 +2,9 @@
test_description='git apply --3way'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
print_sanitized_conflicted_diff () {
@@ -24,14 +27,14 @@ test_expect_success setup '
test_tick &&
test_write_lines 1 two 3 4 5 six 7 >one &&
test_write_lines 1 two 3 4 5 6 7 >two &&
- git commit -a -m master &&
+ git commit -a -m main &&
git checkout side &&
test_write_lines 1 2 3 4 five 6 7 >one &&
test_write_lines 1 2 3 4 five 6 7 >two &&
git commit -a -m side &&
- git checkout master
+ git checkout main
'
test_expect_success 'apply without --3way' '
@@ -39,7 +42,7 @@ test_expect_success 'apply without --3way' '
# should fail to apply
git reset --hard &&
- git checkout master^0 &&
+ git checkout main^0 &&
test_must_fail git apply --index P.diff &&
# should leave things intact
git diff-files --exit-code &&
@@ -52,14 +55,14 @@ test_apply_with_3way () {
# The corresponding conflicted merge
git reset --hard &&
- git checkout master^0 &&
+ git checkout main^0 &&
test_must_fail git merge --no-commit side &&
git ls-files -s >expect.ls &&
print_sanitized_conflicted_diff >expect.diff &&
# should fail to apply
git reset --hard &&
- git checkout master^0 &&
+ git checkout main^0 &&
test_must_fail git apply --index --3way P.diff &&
git ls-files -s >actual.ls &&
print_sanitized_conflicted_diff >actual.diff &&
@@ -86,7 +89,7 @@ test_expect_success 'apply with --3way with rerere enabled' '
# The corresponding conflicted merge
git reset --hard &&
- git checkout master^0 &&
+ git checkout main^0 &&
test_must_fail git merge --no-commit side &&
# Manually resolve and record the resolution
@@ -96,7 +99,7 @@ test_expect_success 'apply with --3way with rerere enabled' '
# should fail to apply
git reset --hard &&
- git checkout master^0 &&
+ git checkout main^0 &&
test_must_fail git apply --index --3way P.diff &&
# but rerere should have replayed the recorded resolution
diff --git a/t/t4114-apply-typechange.sh b/t/t4114-apply-typechange.sh
index ebadbc347f..da3e64f811 100755
--- a/t/t4114-apply-typechange.sh
+++ b/t/t4114-apply-typechange.sh
@@ -88,6 +88,13 @@ test_expect_success 'symlink becomes file' '
'
test_debug 'cat patch'
+test_expect_success 'symlink becomes file, in reverse' '
+ git checkout -f foo-symlinked-to-bar &&
+ git diff-tree -p HEAD foo-back-to-file > patch &&
+ git checkout foo-back-to-file &&
+ git apply -R --index < patch
+ '
+
test_expect_success 'binary file becomes symlink' '
git checkout -f foo-becomes-binary &&
git diff-tree -p --binary HEAD foo-symlinked-to-bar > patch &&
diff --git a/t/t4121-apply-diffs.sh b/t/t4121-apply-diffs.sh
index 66368effd5..b45454aaf4 100755
--- a/t/t4121-apply-diffs.sh
+++ b/t/t4121-apply-diffs.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='git apply for contextually independent diffs'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
echo '1
@@ -23,7 +26,7 @@ test_expect_success 'setup' \
git commit -a -q -m 2 &&
echo 9 >>file &&
git commit -a -q -m 3 &&
- git checkout master'
+ git checkout main'
test_expect_success \
'check if contextually independent diffs for the same file apply' \
diff --git a/t/t4122-apply-symlink-inside.sh b/t/t4122-apply-symlink-inside.sh
index 4acb3f336e..aa52de401b 100755
--- a/t/t4122-apply-symlink-inside.sh
+++ b/t/t4122-apply-symlink-inside.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='apply to deeper directory without getting fooled with symlink'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -35,11 +38,11 @@ test_expect_success apply '
test_expect_success 'check result' '
- git diff --exit-code master &&
- git diff --exit-code --cached master &&
+ git diff --exit-code main &&
+ git diff --exit-code --cached main &&
test_tick &&
git commit -m replay &&
- T1=$(git rev-parse "master^{tree}") &&
+ T1=$(git rev-parse "main^{tree}") &&
T2=$(git rev-parse "HEAD^{tree}") &&
test "z$T1" = "z$T2"
diff --git a/t/t4127-apply-same-fn.sh b/t/t4127-apply-same-fn.sh
index 972946c174..305b7e649e 100755
--- a/t/t4127-apply-same-fn.sh
+++ b/t/t4127-apply-same-fn.sh
@@ -32,6 +32,10 @@ test_expect_success 'apply same filename with independent changes' '
test_expect_success 'apply same filename with overlapping changes' '
git reset --hard &&
+
+ # Store same_fn so that we can check apply -R in next test
+ cp same_fn same_fn1 &&
+
modify "s/^d/z/" same_fn &&
git diff > patch0 &&
git add same_fn &&
@@ -43,6 +47,11 @@ test_expect_success 'apply same filename with overlapping changes' '
test_cmp same_fn same_fn2
'
+test_expect_success 'apply same filename with overlapping changes, in reverse' '
+ git apply -R patch0 &&
+ test_cmp same_fn same_fn1
+'
+
test_expect_success 'apply same new filename after rename' '
git reset --hard &&
git mv same_fn new_fn &&
diff --git a/t/t4129-apply-samemode.sh b/t/t4129-apply-samemode.sh
index 5cdd76dfa7..576632f868 100755
--- a/t/t4129-apply-samemode.sh
+++ b/t/t4129-apply-samemode.sh
@@ -73,4 +73,30 @@ test_expect_success FILEMODE 'bogus mode is rejected' '
test_i18ngrep "invalid mode" err
'
+test_expect_success POSIXPERM 'do not use core.sharedRepository for working tree files' '
+ git reset --hard &&
+ test_config core.sharedRepository 0666 &&
+ (
+ # Remove a default ACL if possible.
+ (setfacl -k . 2>/dev/null || true) &&
+ umask 0077 &&
+
+ # Test both files (f1) and leading dirs (d)
+ mkdir d &&
+ touch f1 d/f2 &&
+ git add f1 d/f2 &&
+ git diff --staged >patch-f1-and-f2.txt &&
+
+ rm -rf d f1 &&
+ git apply patch-f1-and-f2.txt &&
+
+ echo "-rw-------" >f1_mode.expected &&
+ echo "drwx------" >d_mode.expected &&
+ test_modebits f1 >f1_mode.actual &&
+ test_modebits d >d_mode.actual &&
+ test_cmp f1_mode.expected f1_mode.actual &&
+ test_cmp d_mode.expected d_mode.actual
+ )
+'
+
test_done
diff --git a/t/t4150-am.sh b/t/t4150-am.sh
index 3ecbef6f8e..99987515dc 100755
--- a/t/t4150-am.sh
+++ b/t/t4150-am.sh
@@ -2,6 +2,9 @@
test_description='git am running'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup: messages' '
@@ -179,8 +182,8 @@ test_expect_success setup '
test_tick &&
git commit -m "added another file" &&
- git format-patch --stdout master >lorem-move.patch &&
- git format-patch --no-prefix --stdout master >lorem-zero.patch &&
+ git format-patch --stdout main >lorem-move.patch &&
+ git format-patch --no-prefix --stdout main >lorem-zero.patch &&
git checkout -b rename &&
git mv file renamed &&
@@ -453,11 +456,11 @@ test_expect_success 'am changes committer and keeps author' '
git checkout first &&
git am patch2 &&
test_path_is_missing .git/rebase-apply &&
- test "$(git rev-parse master^^)" = "$(git rev-parse HEAD^^)" &&
- git diff --exit-code master..HEAD &&
- git diff --exit-code master^..HEAD^ &&
- compare author master HEAD &&
- compare author master^ HEAD^ &&
+ test "$(git rev-parse main^^)" = "$(git rev-parse HEAD^^)" &&
+ git diff --exit-code main..HEAD &&
+ git diff --exit-code main^..HEAD^ &&
+ compare author main HEAD &&
+ compare author main^ HEAD^ &&
test "$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" = \
"$(git log -1 --pretty=format:"%cn <%ce>" HEAD)"
'
@@ -759,7 +762,7 @@ test_expect_success 'am takes patches from a Pine mailbox' '
git checkout first &&
cat pine patch1 | git am &&
test_path_is_missing .git/rebase-apply &&
- git diff --exit-code master^..HEAD
+ git diff --exit-code main^..HEAD
'
test_expect_success 'am fails on mail without patch' '
@@ -1112,21 +1115,21 @@ test_expect_success 'am and .gitattibutes' '
test_commit sixth &&
git checkout test &&
- git format-patch --stdout master..HEAD >patches &&
- git reset --hard master &&
+ git format-patch --stdout main..HEAD >patches &&
+ git reset --hard main &&
git am patches &&
grep "smudged" a.txt &&
git checkout removal &&
git reset --hard &&
- git format-patch --stdout master..HEAD >patches &&
- git reset --hard master &&
+ git format-patch --stdout main..HEAD >patches &&
+ git reset --hard main &&
git am patches &&
grep "clean" a.txt &&
git checkout conflict &&
git reset --hard &&
- git format-patch --stdout master..HEAD >patches &&
+ git format-patch --stdout main..HEAD >patches &&
git reset --hard fourth &&
test_must_fail git am -3 patches &&
grep "<<<<<<<<<<" a.txt
diff --git a/t/t4200-rerere.sh b/t/t4200-rerere.sh
index b12b43e9e9..9f8c76dffb 100755
--- a/t/t4200-rerere.sh
+++ b/t/t4200-rerere.sh
@@ -8,7 +8,7 @@ test_description='git rerere
! [fifth] version1
! [first] first
! [fourth] version1
- ! [master] initial
+ ! [main] initial
! [second] prefer first over second
! [third] version2
------
@@ -19,9 +19,12 @@ test_description='git rerere
- [second] prefer first over second
+ + [first] first
+ [second^] second
-++++++ [master] initial
+++++++ [main] initial
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -57,7 +60,7 @@ test_expect_success 'setup' '
test_tick &&
git commit -q -a -m first &&
- git checkout -b second master &&
+ git checkout -b second main &&
git show first:a1 |
sed -e "s/To die, t/To die! T/" -e "s/Some title/Some Title/" >a1 &&
echo "* END *" >>a1 &&
@@ -168,7 +171,7 @@ test_expect_success 'first postimage wins' '
oldmtimepost=$(test-tool chmtime --get -60 $rr/postimage) &&
- git checkout -b third master &&
+ git checkout -b third main &&
git show second^:a1 | sed "s/To die: t/To die! T/" >a1 &&
git commit -q -a -m third &&
@@ -580,13 +583,13 @@ test_expect_success 'multiple identical conflicts' '
test_expect_success 'rerere with unexpected conflict markers does not crash' '
git reset --hard &&
- git checkout -b branch-1 master &&
+ git checkout -b branch-1 main &&
echo "bar" >test &&
git add test &&
git commit -q -m two &&
git reset --hard &&
- git checkout -b branch-2 master &&
+ git checkout -b branch-2 main &&
echo "foo" >test &&
git add test &&
git commit -q -a -m one &&
@@ -601,7 +604,7 @@ test_expect_success 'rerere with unexpected conflict markers does not crash' '
test_expect_success 'rerere with inner conflict markers' '
git reset --hard &&
- git checkout -b A master &&
+ git checkout -b A main &&
echo "bar" >test &&
git add test &&
git commit -q -m two &&
@@ -610,7 +613,7 @@ test_expect_success 'rerere with inner conflict markers' '
git commit -q -m three &&
git reset --hard &&
- git checkout -b B master &&
+ git checkout -b B main &&
echo "foo" >test &&
git add test &&
git commit -q -a -m one &&
@@ -651,11 +654,11 @@ test_expect_success 'setup simple stage 1 handling' '
git add original &&
git commit -m original &&
- git checkout -b A master &&
+ git checkout -b A main &&
git mv original A &&
git commit -m "rename to A" &&
- git checkout -b B master &&
+ git checkout -b B main &&
git mv original B &&
git commit -m "rename to B"
)
diff --git a/t/t4201-shortlog.sh b/t/t4201-shortlog.sh
index 3d5c4a2086..3095b1b2ff 100755
--- a/t/t4201-shortlog.sh
+++ b/t/t4201-shortlog.sh
@@ -6,6 +6,9 @@
test_description='git shortlog
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -191,7 +194,7 @@ test_expect_success 'shortlog with revision pseudo options' '
'
test_expect_success 'shortlog with --output=<file>' '
- git shortlog --output=shortlog -1 master >output &&
+ git shortlog --output=shortlog -1 main >output &&
test_must_be_empty output &&
test_line_count = 3 shortlog
'
diff --git a/t/t4202-log.sh b/t/t4202-log.sh
index 56d34ed465..350cfa3593 100755
--- a/t/t4202-log.sh
+++ b/t/t4202-log.sh
@@ -2,6 +2,9 @@
test_description='git log'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY/lib-gpg.sh"
. "$TEST_DIRECTORY/lib-terminal.sh"
@@ -478,7 +481,7 @@ test_expect_success 'set up merge history' '
git checkout -b side HEAD~4 &&
test_commit side-1 1 1 &&
test_commit side-2 2 2 &&
- git checkout master &&
+ git checkout main &&
git merge side
'
@@ -541,17 +544,17 @@ test_expect_success 'log --graph with merge with log.graphColors' '
'
test_expect_success 'log --raw --graph -m with merge' '
- git log --raw --graph --oneline -m master | head -n 500 >actual &&
+ git log --raw --graph --oneline -m main | head -n 500 >actual &&
grep "initial" actual
'
test_expect_success 'diff-tree --graph' '
- git diff-tree --graph master^ | head -n 500 >actual &&
+ git diff-tree --graph main^ | head -n 500 >actual &&
grep "one" actual
'
cat > expect <<\EOF
-* commit master
+* commit main
|\ Merge: A B
| | Author: A U Thor <author@example.com>
| |
@@ -567,22 +570,22 @@ cat > expect <<\EOF
| |
| | side-1
| |
-* | commit master~1
+* | commit main~1
| | Author: A U Thor <author@example.com>
| |
| | Second
| |
-* | commit master~2
+* | commit main~2
| | Author: A U Thor <author@example.com>
| |
| | sixth
| |
-* | commit master~3
+* | commit main~3
| | Author: A U Thor <author@example.com>
| |
| | fifth
| |
-* | commit master~4
+* | commit main~4
|/ Author: A U Thor <author@example.com>
|
| fourth
@@ -613,19 +616,19 @@ test_expect_success 'log --graph with full output' '
test_expect_success 'set up more tangled history' '
git checkout -b tangle HEAD~6 &&
test_commit tangle-a tangle-a a &&
- git merge master~3 &&
+ git merge main~3 &&
git merge side~1 &&
- git checkout master &&
+ git checkout main &&
git merge tangle &&
git checkout -b reach &&
test_commit reach &&
- git checkout master &&
+ git checkout main &&
git checkout -b octopus-a &&
test_commit octopus-a &&
- git checkout master &&
+ git checkout main &&
git checkout -b octopus-b &&
test_commit octopus-b &&
- git checkout master &&
+ git checkout main &&
test_commit seventh &&
git merge octopus-a octopus-b &&
git merge reach
@@ -650,7 +653,7 @@ cat > expect <<\EOF
|\
| * Merge branch 'side' (early part) into tangle
| |\
-| * \ Merge branch 'master' (early part) into tangle
+| * \ Merge branch 'main' (early part) into tangle
| |\ \
| * | | tangle-a
* | | | Merge branch 'side'
@@ -794,7 +797,7 @@ test_expect_success 'multiple decorate-refs' '
test_expect_success 'decorate-refs-exclude with glob' '
cat >expect.decorate <<-\EOF &&
- Merge-tag-reach (HEAD -> master)
+ Merge-tag-reach (HEAD -> main)
Merge-tags-octopus-a-and-octopus-b
seventh (tag: seventh)
octopus-b (tag: octopus-b)
@@ -811,7 +814,7 @@ test_expect_success 'decorate-refs-exclude with glob' '
test_expect_success 'decorate-refs-exclude without globs' '
cat >expect.decorate <<-\EOF &&
- Merge-tag-reach (HEAD -> master)
+ Merge-tag-reach (HEAD -> main)
Merge-tags-octopus-a-and-octopus-b
seventh (tag: seventh)
octopus-b (tag: octopus-b, octopus-b)
@@ -828,7 +831,7 @@ test_expect_success 'decorate-refs-exclude without globs' '
test_expect_success 'multiple decorate-refs-exclude' '
cat >expect.decorate <<-\EOF &&
- Merge-tag-reach (HEAD -> master)
+ Merge-tag-reach (HEAD -> main)
Merge-tags-octopus-a-and-octopus-b
seventh (tag: seventh)
octopus-b (tag: octopus-b)
@@ -851,7 +854,7 @@ test_expect_success 'multiple decorate-refs-exclude' '
test_expect_success 'decorate-refs and decorate-refs-exclude' '
cat >expect.no-decorate <<-\EOF &&
- Merge-tag-reach (master)
+ Merge-tag-reach (main)
Merge-tags-octopus-a-and-octopus-b
seventh
octopus-b
@@ -866,7 +869,7 @@ test_expect_success 'decorate-refs and decorate-refs-exclude' '
test_expect_success 'deocrate-refs and log.excludeDecoration' '
cat >expect.decorate <<-\EOF &&
- Merge-tag-reach (master)
+ Merge-tag-reach (main)
Merge-tags-octopus-a-and-octopus-b
seventh
octopus-b (octopus-b)
@@ -881,7 +884,7 @@ test_expect_success 'deocrate-refs and log.excludeDecoration' '
test_expect_success 'decorate-refs-exclude and simplify-by-decoration' '
cat >expect.decorate <<-\EOF &&
- Merge-tag-reach (HEAD -> master)
+ Merge-tag-reach (HEAD -> main)
reach (tag: reach, reach)
seventh (tag: seventh)
Merge-branch-tangle
@@ -1080,7 +1083,7 @@ cat >expect <<\EOF
| |\ \ Merge: MERGE_PARENTS
| | | | Author: A U Thor <author@example.com>
| | | |
-| | | | Merge branch 'master' (early part) into tangle
+| | | | Merge branch 'main' (early part) into tangle
| | | |
| * | | commit COMMIT_OBJECT_NAME
| | | | Author: A U Thor <author@example.com>
@@ -1355,7 +1358,7 @@ cat >expect <<\EOF
*** | |\ \ Merge: MERGE_PARENTS
*** | | | | Author: A U Thor <author@example.com>
*** | | | |
-*** | | | | Merge branch 'master' (early part) into tangle
+*** | | | | Merge branch 'main' (early part) into tangle
*** | | | |
*** | * | | commit COMMIT_OBJECT_NAME
*** | | | | Author: A U Thor <author@example.com>
@@ -1588,24 +1591,24 @@ test_expect_success 'dotdot is a parent directory' '
'
test_expect_success GPG 'setup signed branch' '
- test_when_finished "git reset --hard && git checkout master" &&
- git checkout -b signed master &&
+ test_when_finished "git reset --hard && git checkout main" &&
+ git checkout -b signed main &&
echo foo >foo &&
git add foo &&
git commit -S -m signed_commit
'
test_expect_success GPG 'setup signed branch with subkey' '
- test_when_finished "git reset --hard && git checkout master" &&
- git checkout -b signed-subkey master &&
+ test_when_finished "git reset --hard && git checkout main" &&
+ git checkout -b signed-subkey main &&
echo foo >foo &&
git add foo &&
git commit -SB7227189 -m signed_commit
'
test_expect_success GPGSM 'setup signed branch x509' '
- test_when_finished "git reset --hard && git checkout master" &&
- git checkout -b signed-x509 master &&
+ test_when_finished "git reset --hard && git checkout main" &&
+ git checkout -b signed-x509 main &&
echo foo >foo &&
git add foo &&
test_config gpg.format x509 &&
@@ -1638,12 +1641,12 @@ test_expect_success GPGSM 'log --graph --show-signature x509' '
'
test_expect_success GPG 'log --graph --show-signature for merged tag' '
- test_when_finished "git reset --hard && git checkout master" &&
- git checkout -b plain master &&
+ test_when_finished "git reset --hard && git checkout main" &&
+ git checkout -b plain main &&
echo aaa >bar &&
git add bar &&
git commit -m bar_commit &&
- git checkout -b tagged master &&
+ git checkout -b tagged main &&
echo bbb >baz &&
git add baz &&
git commit -m baz_commit &&
@@ -1657,12 +1660,12 @@ test_expect_success GPG 'log --graph --show-signature for merged tag' '
'
test_expect_success GPG 'log --graph --show-signature for merged tag in shallow clone' '
- test_when_finished "git reset --hard && git checkout master" &&
- git checkout -b plain-shallow master &&
+ test_when_finished "git reset --hard && git checkout main" &&
+ git checkout -b plain-shallow main &&
echo aaa >bar &&
git add bar &&
git commit -m bar_commit &&
- git checkout --detach master &&
+ git checkout --detach main &&
echo bbb >baz &&
git add baz &&
git commit -m baz_commit &&
@@ -1677,12 +1680,12 @@ test_expect_success GPG 'log --graph --show-signature for merged tag in shallow
'
test_expect_success GPG 'log --graph --show-signature for merged tag with missing key' '
- test_when_finished "git reset --hard && git checkout master" &&
- git checkout -b plain-nokey master &&
+ test_when_finished "git reset --hard && git checkout main" &&
+ git checkout -b plain-nokey main &&
echo aaa >bar &&
git add bar &&
git commit -m bar_commit &&
- git checkout -b tagged-nokey master &&
+ git checkout -b tagged-nokey main &&
echo bbb >baz &&
git add baz &&
git commit -m baz_commit &&
@@ -1696,12 +1699,12 @@ test_expect_success GPG 'log --graph --show-signature for merged tag with missin
'
test_expect_success GPG 'log --graph --show-signature for merged tag with bad signature' '
- test_when_finished "git reset --hard && git checkout master" &&
- git checkout -b plain-bad master &&
+ test_when_finished "git reset --hard && git checkout main" &&
+ git checkout -b plain-bad main &&
echo aaa >bar &&
git add bar &&
git commit -m bar_commit &&
- git checkout -b tagged-bad master &&
+ git checkout -b tagged-bad main &&
echo bbb >baz &&
git add baz &&
git commit -m baz_commit &&
@@ -1718,12 +1721,12 @@ test_expect_success GPG 'log --graph --show-signature for merged tag with bad si
'
test_expect_success GPG 'log --show-signature for merged tag with GPG failure' '
- test_when_finished "git reset --hard && git checkout master" &&
- git checkout -b plain-fail master &&
+ test_when_finished "git reset --hard && git checkout main" &&
+ git checkout -b plain-fail main &&
echo aaa >bar &&
git add bar &&
git commit -m bar_commit &&
- git checkout -b tagged-fail master &&
+ git checkout -b tagged-fail main &&
echo bbb >baz &&
git add baz &&
git commit -m baz_commit &&
@@ -1737,14 +1740,14 @@ test_expect_success GPG 'log --show-signature for merged tag with GPG failure' '
'
test_expect_success GPGSM 'log --graph --show-signature for merged tag x509' '
- test_when_finished "git reset --hard && git checkout master" &&
+ test_when_finished "git reset --hard && git checkout main" &&
test_config gpg.format x509 &&
test_config user.signingkey $GIT_COMMITTER_EMAIL &&
- git checkout -b plain-x509 master &&
+ git checkout -b plain-x509 main &&
echo aaa >bar &&
git add bar &&
git commit -m bar_commit &&
- git checkout -b tagged-x509 master &&
+ git checkout -b tagged-x509 main &&
echo bbb >baz &&
git add baz &&
git commit -m baz_commit &&
@@ -1758,14 +1761,14 @@ test_expect_success GPGSM 'log --graph --show-signature for merged tag x509' '
'
test_expect_success GPGSM 'log --graph --show-signature for merged tag x509 missing key' '
- test_when_finished "git reset --hard && git checkout master" &&
+ test_when_finished "git reset --hard && git checkout main" &&
test_config gpg.format x509 &&
test_config user.signingkey $GIT_COMMITTER_EMAIL &&
- git checkout -b plain-x509-nokey master &&
+ git checkout -b plain-x509-nokey main &&
echo aaa >bar &&
git add bar &&
git commit -m bar_commit &&
- git checkout -b tagged-x509-nokey master &&
+ git checkout -b tagged-x509-nokey main &&
echo bbb >baz &&
git add baz &&
git commit -m baz_commit &&
@@ -1778,14 +1781,14 @@ test_expect_success GPGSM 'log --graph --show-signature for merged tag x509 miss
'
test_expect_success GPGSM 'log --graph --show-signature for merged tag x509 bad signature' '
- test_when_finished "git reset --hard && git checkout master" &&
+ test_when_finished "git reset --hard && git checkout main" &&
test_config gpg.format x509 &&
test_config user.signingkey $GIT_COMMITTER_EMAIL &&
- git checkout -b plain-x509-bad master &&
+ git checkout -b plain-x509-bad main &&
echo aaa >bar &&
git add bar &&
git commit -m bar_commit &&
- git checkout -b tagged-x509-bad master &&
+ git checkout -b tagged-x509-bad main &&
echo bbb >baz &&
git add baz &&
git commit -m baz_commit &&
@@ -1835,7 +1838,7 @@ test_expect_success 'log diagnoses bogus HEAD' '
git init empty &&
test_must_fail git -C empty log 2>stderr &&
test_i18ngrep does.not.have.any.commits stderr &&
- echo 1234abcd >empty/.git/refs/heads/master &&
+ echo 1234abcd >empty/.git/refs/heads/main &&
test_must_fail git -C empty log 2>stderr &&
test_i18ngrep broken stderr &&
echo "ref: refs/heads/invalid.lock" >empty/.git/HEAD &&
diff --git a/t/t4203-mailmap.sh b/t/t4203-mailmap.sh
index 586c3a86b1..621f9962d5 100755
--- a/t/t4203-mailmap.sh
+++ b/t/t4203-mailmap.sh
@@ -2,30 +2,14 @@
test_description='.mailmap configurations'
-. ./test-lib.sh
-
-fuzz_blame () {
- sed "
- s/$_x05[0-9a-f][0-9a-f][0-9a-f]/OBJID/g
- s/$_x05[0-9a-f][0-9a-f]/OBJI/g
- s/[-0-9]\{10\} [:0-9]\{8\} [-+][0-9]\{4\}/DATE/g
- " "$@"
-}
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
-test_expect_success setup '
- cat >contacts <<- EOF &&
- $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>
- nick1 <bugs@company.xx>
- EOF
+. ./test-lib.sh
- echo one >one &&
- git add one &&
- test_tick &&
- git commit -m initial &&
- echo two >>one &&
- git add one &&
- test_tick &&
- git commit --author "nick1 <bugs@company.xx>" -m second
+test_expect_success 'setup commits and contacts file' '
+ test_commit initial one one &&
+ test_commit --author "nick1 <bugs@company.xx>" --append second one two
'
test_expect_success 'check-mailmap no arguments' '
@@ -33,7 +17,7 @@ test_expect_success 'check-mailmap no arguments' '
'
test_expect_success 'check-mailmap arguments' '
- cat >expect <<- EOF &&
+ cat >expect <<-EOF &&
$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>
nick1 <bugs@company.xx>
EOF
@@ -44,172 +28,256 @@ test_expect_success 'check-mailmap arguments' '
'
test_expect_success 'check-mailmap --stdin' '
- cat >expect <<- EOF &&
+ cat >expect <<-EOF &&
$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>
nick1 <bugs@company.xx>
EOF
- git check-mailmap --stdin <contacts >actual &&
+ git check-mailmap --stdin <expect >actual &&
test_cmp expect actual
'
-test_expect_success 'check-mailmap --stdin arguments' '
+test_expect_success 'check-mailmap --stdin arguments: no mapping' '
+ test_when_finished "rm contacts" &&
+ cat >contacts <<-EOF &&
+ $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>
+ nick1 <bugs@company.xx>
+ EOF
cat >expect <<-\EOF &&
Internal Guy <bugs@company.xy>
EOF
- cat <contacts >>expect &&
+ cat contacts >>expect &&
+
git check-mailmap --stdin "Internal Guy <bugs@company.xy>" \
<contacts >actual &&
test_cmp expect actual
'
+test_expect_success 'check-mailmap --stdin arguments: mapping' '
+ test_when_finished "rm .mailmap" &&
+ cat >.mailmap <<-EOF &&
+ New Name <$GIT_AUTHOR_EMAIL>
+ EOF
+ cat >stdin <<-EOF &&
+ Old Name <$GIT_AUTHOR_EMAIL>
+ EOF
+
+ cp .mailmap expect &&
+ git check-mailmap --stdin <stdin >actual &&
+ test_cmp expect actual &&
+
+ cat .mailmap >>expect &&
+ git check-mailmap --stdin "Another Old Name <$GIT_AUTHOR_EMAIL>" \
+ <stdin >actual &&
+ test_cmp expect actual
+'
+
test_expect_success 'check-mailmap bogus contact' '
test_must_fail git check-mailmap bogus
'
-cat >expect << EOF
-$GIT_AUTHOR_NAME (1):
- initial
+test_expect_success 'check-mailmap bogus contact --stdin' '
+ test_must_fail git check-mailmap --stdin bogus </dev/null
+'
-nick1 (1):
- second
+test_expect_success 'No mailmap' '
+ cat >expect <<-EOF &&
+ $GIT_AUTHOR_NAME (1):
+ initial
-EOF
+ nick1 (1):
+ second
-test_expect_success 'No mailmap' '
+ EOF
git shortlog HEAD >actual &&
test_cmp expect actual
'
-cat >expect <<\EOF
-Repo Guy (1):
- initial
+test_expect_success 'setup default .mailmap' '
+ cat >default.map <<-EOF
+ Repo Guy <$GIT_AUTHOR_EMAIL>
+ EOF
+'
-nick1 (1):
- second
+test_expect_success 'test default .mailmap' '
+ test_when_finished "rm .mailmap" &&
+ cp default.map .mailmap &&
-EOF
+ cat >expect <<-\EOF &&
+ Repo Guy (1):
+ initial
-test_expect_success 'default .mailmap' '
- echo "Repo Guy <$GIT_AUTHOR_EMAIL>" > .mailmap &&
+ nick1 (1):
+ second
+
+ EOF
git shortlog HEAD >actual &&
test_cmp expect actual
'
-# Using a mailmap file in a subdirectory of the repo here, but
-# could just as well have been a file outside of the repository
-cat >expect <<\EOF
-Internal Guy (1):
- second
+test_expect_success 'mailmap.file set' '
+ test_when_finished "rm .mailmap" &&
+ cp default.map .mailmap &&
-Repo Guy (1):
- initial
+ test_config mailmap.file internal.map &&
+ cat >internal.map <<-\EOF &&
+ Internal Guy <bugs@company.xx>
+ EOF
-EOF
-test_expect_success 'mailmap.file set' '
- mkdir -p internal_mailmap &&
- echo "Internal Guy <bugs@company.xx>" > internal_mailmap/.mailmap &&
- git config mailmap.file internal_mailmap/.mailmap &&
+ cat >expect <<-\EOF &&
+ Internal Guy (1):
+ second
+
+ Repo Guy (1):
+ initial
+
+ EOF
git shortlog HEAD >actual &&
- test_cmp expect actual
+ test_cmp expect actual &&
+
+ # The internal_mailmap/.mailmap file is an a subdirectory, but
+ # as shown here it can also be outside the repository
+ test_when_finished "rm -rf sub-repo" &&
+ git clone . sub-repo &&
+ (
+ cd sub-repo &&
+ cp ../.mailmap . &&
+ git config mailmap.file ../internal.map &&
+ git shortlog HEAD >actual &&
+ test_cmp ../expect actual
+ )
'
-cat >expect <<\EOF
-External Guy (1):
- initial
+test_expect_success 'mailmap.file override' '
+ test_config mailmap.file internal.map &&
+ cat >internal.map <<-EOF &&
+ Internal Guy <bugs@company.xx>
+ External Guy <$GIT_AUTHOR_EMAIL>
+ EOF
-Internal Guy (1):
- second
+ cat >expect <<-\EOF &&
+ External Guy (1):
+ initial
-EOF
-test_expect_success 'mailmap.file override' '
- echo "External Guy <$GIT_AUTHOR_EMAIL>" >> internal_mailmap/.mailmap &&
- git config mailmap.file internal_mailmap/.mailmap &&
+ Internal Guy (1):
+ second
+
+ EOF
git shortlog HEAD >actual &&
test_cmp expect actual
'
-cat >expect <<\EOF
-Repo Guy (1):
- initial
+test_expect_success 'mailmap.file non-existent' '
+ test_when_finished "rm .mailmap" &&
+ cp default.map .mailmap &&
-nick1 (1):
- second
+ cat >expect <<-\EOF &&
+ Repo Guy (1):
+ initial
-EOF
+ nick1 (1):
+ second
-test_expect_success 'mailmap.file non-existent' '
- rm internal_mailmap/.mailmap &&
- rmdir internal_mailmap &&
+ EOF
git shortlog HEAD >actual &&
test_cmp expect actual
'
-cat >expect <<\EOF
-Internal Guy (1):
- second
+test_expect_success 'name entry after email entry' '
+ test_when_finished "rm .mailmap" &&
+ cp default.map .mailmap &&
+
+ test_config mailmap.file internal.map &&
+ cat >internal.map <<-\EOF &&
+ <bugs@company.xy> <bugs@company.xx>
+ Internal Guy <bugs@company.xx>
+ EOF
-Repo Guy (1):
- initial
+ cat >expect <<-\EOF &&
+ Internal Guy (1):
+ second
-EOF
+ Repo Guy (1):
+ initial
+
+ EOF
-test_expect_success 'name entry after email entry' '
- mkdir -p internal_mailmap &&
- echo "<bugs@company.xy> <bugs@company.xx>" >internal_mailmap/.mailmap &&
- echo "Internal Guy <bugs@company.xx>" >>internal_mailmap/.mailmap &&
git shortlog HEAD >actual &&
test_cmp expect actual
'
-cat >expect <<\EOF
-Internal Guy (1):
- second
+test_expect_success 'name entry after email entry, case-insensitive' '
+ test_when_finished "rm .mailmap" &&
+ cp default.map .mailmap &&
+
+ test_config mailmap.file internal.map &&
+ cat >internal.map <<-\EOF &&
+ <bugs@company.xy> <bugs@company.xx>
+ Internal Guy <BUGS@Company.xx>
+ EOF
-Repo Guy (1):
- initial
+ cat >expect <<-\EOF &&
+ Internal Guy (1):
+ second
-EOF
+ Repo Guy (1):
+ initial
-test_expect_success 'name entry after email entry, case-insensitive' '
- mkdir -p internal_mailmap &&
- echo "<bugs@company.xy> <bugs@company.xx>" >internal_mailmap/.mailmap &&
- echo "Internal Guy <BUGS@Company.xx>" >>internal_mailmap/.mailmap &&
+ EOF
+ git shortlog HEAD >actual &&
+ test_cmp expect actual &&
+
+ cat >internal.map <<-\EOF &&
+ NiCk <BuGs@CoMpAnY.Xy> NICK1 <BUGS@COMPANY.XX>
+ EOF
+
+ cat >expect <<-\EOF &&
+ NiCk (1):
+ second
+
+ Repo Guy (1):
+ initial
+
+ EOF
git shortlog HEAD >actual &&
test_cmp expect actual
'
-cat >expect << EOF
-$GIT_AUTHOR_NAME (1):
- initial
+test_expect_success 'No mailmap files, but configured' '
+ cat >expect <<-EOF &&
+ $GIT_AUTHOR_NAME (1):
+ initial
-nick1 (1):
- second
+ nick1 (1):
+ second
-EOF
-test_expect_success 'No mailmap files, but configured' '
- rm -f .mailmap internal_mailmap/.mailmap &&
+ EOF
git shortlog HEAD >actual &&
test_cmp expect actual
'
test_expect_success 'setup mailmap blob tests' '
git checkout -b map &&
- test_when_finished "git checkout master" &&
- cat >just-bugs <<- EOF &&
+ test_when_finished "git checkout main" &&
+ cat >just-bugs <<-\EOF &&
Blob Guy <bugs@company.xx>
EOF
- cat >both <<- EOF &&
+ cat >both <<-EOF &&
Blob Guy <$GIT_AUTHOR_EMAIL>
Blob Guy <bugs@company.xx>
EOF
printf "Tricky Guy <$GIT_AUTHOR_EMAIL>" >no-newline &&
git add just-bugs both no-newline &&
git commit -m "my mailmaps" &&
- echo "Repo Guy <$GIT_AUTHOR_EMAIL>" >.mailmap &&
- echo "Internal Guy <$GIT_AUTHOR_EMAIL>" >internal.map
+
+ cat >internal.map <<-EOF
+ Internal Guy <$GIT_AUTHOR_EMAIL>
+ EOF
'
test_expect_success 'mailmap.blob set' '
+ test_when_finished "rm .mailmap" &&
+ cp default.map .mailmap &&
+
cat >expect <<-\EOF &&
Blob Guy (1):
second
@@ -223,6 +291,9 @@ test_expect_success 'mailmap.blob set' '
'
test_expect_success 'mailmap.blob overrides .mailmap' '
+ test_when_finished "rm .mailmap" &&
+ cp default.map .mailmap &&
+
cat >expect <<-\EOF &&
Blob Guy (2):
initial
@@ -249,7 +320,28 @@ test_expect_success 'mailmap.file overrides mailmap.blob' '
test_cmp expect actual
'
+test_expect_success 'mailmap.file can be missing' '
+ test_when_finished "rm .mailmap" &&
+ cp default.map .mailmap &&
+
+ test_config mailmap.file nonexistent &&
+ cat >expect <<-\EOF &&
+ Repo Guy (1):
+ initial
+
+ nick1 (1):
+ second
+
+ EOF
+ git shortlog HEAD >actual 2>err &&
+ test_must_be_empty err &&
+ test_cmp expect actual
+'
+
test_expect_success 'mailmap.blob can be missing' '
+ test_when_finished "rm .mailmap" &&
+ cp default.map .mailmap &&
+
cat >expect <<-\EOF &&
Repo Guy (1):
initial
@@ -258,7 +350,17 @@ test_expect_success 'mailmap.blob can be missing' '
second
EOF
- git -c mailmap.blob=map:nonexistent shortlog HEAD >actual &&
+ git -c mailmap.blob=map:nonexistent shortlog HEAD >actual 2>err &&
+ test_must_be_empty err &&
+ test_cmp expect actual
+'
+
+test_expect_success 'mailmap.blob might be the wrong type' '
+ test_when_finished "rm .mailmap" &&
+ cp default.map .mailmap &&
+
+ git -c mailmap.blob=HEAD: shortlog HEAD >actual 2>err &&
+ test_i18ngrep "mailmap is not a blob" err &&
test_cmp expect actual
'
@@ -267,11 +369,15 @@ test_expect_success 'mailmap.blob defaults to off in non-bare repo' '
(
cd non-bare &&
test_commit one .mailmap "Fake Name <$GIT_AUTHOR_EMAIL>" &&
- echo " 1 Fake Name" >expect &&
+ cat >expect <<-\EOF &&
+ 1 Fake Name
+ EOF
git shortlog -ns HEAD >actual &&
test_cmp expect actual &&
rm .mailmap &&
- echo " 1 $GIT_AUTHOR_NAME" >expect &&
+ cat >expect <<-EOF &&
+ 1 $GIT_AUTHOR_NAME
+ EOF
git shortlog -ns HEAD >actual &&
test_cmp expect actual
)
@@ -281,7 +387,9 @@ test_expect_success 'mailmap.blob defaults to HEAD:.mailmap in bare repo' '
git clone --bare non-bare bare &&
(
cd bare &&
- echo " 1 Fake Name" >expect &&
+ cat >expect <<-\EOF &&
+ 1 Fake Name
+ EOF
git shortlog -ns HEAD >actual &&
test_cmp expect actual
)
@@ -300,178 +408,260 @@ test_expect_success 'mailmap.blob can handle blobs without trailing newline' '
test_cmp expect actual
'
-test_expect_success 'cleanup after mailmap.blob tests' '
- rm -f .mailmap
-'
-
test_expect_success 'single-character name' '
- echo " 1 A <$GIT_AUTHOR_EMAIL>" >expect &&
- echo " 1 nick1 <bugs@company.xx>" >>expect &&
- echo "A <$GIT_AUTHOR_EMAIL>" >.mailmap &&
test_when_finished "rm .mailmap" &&
+ cat >.mailmap <<-EOF &&
+ A <$GIT_AUTHOR_EMAIL>
+ EOF
+
+ cat >expect <<-EOF &&
+ 1 A <$GIT_AUTHOR_EMAIL>
+ 1 nick1 <bugs@company.xx>
+ EOF
git shortlog -es HEAD >actual &&
test_cmp expect actual
'
test_expect_success 'preserve canonical email case' '
- echo " 1 $GIT_AUTHOR_NAME <AUTHOR@example.com>" >expect &&
- echo " 1 nick1 <bugs@company.xx>" >>expect &&
- echo "<AUTHOR@example.com> <$GIT_AUTHOR_EMAIL>" >.mailmap &&
test_when_finished "rm .mailmap" &&
+ cat >.mailmap <<-EOF &&
+ <AUTHOR@example.com> <$GIT_AUTHOR_EMAIL>
+ EOF
+
+ cat >expect <<-EOF &&
+ 1 $GIT_AUTHOR_NAME <AUTHOR@example.com>
+ 1 nick1 <bugs@company.xx>
+ EOF
git shortlog -es HEAD >actual &&
test_cmp expect actual
'
-# Extended mailmap configurations should give us the following output for shortlog
-cat >expect << EOF
-$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> (1):
- initial
+test_expect_success 'gitmailmap(5) example output: setup' '
+ test_create_repo doc &&
+ test_commit -C doc --author "Joe Developer <joe@example.com>" A &&
+ test_commit -C doc --author "Joe R. Developer <joe@example.com>" B &&
+ test_commit -C doc --author "Jane Doe <jane@example.com>" C &&
+ test_commit -C doc --author "Jane Doe <jane@laptop.(none)>" D &&
+ test_commit -C doc --author "Jane D. <jane@desktop.(none)>" E
+'
+
+test_expect_success 'gitmailmap(5) example output: example #1' '
+ test_config -C doc mailmap.file ../doc.map &&
+ cat >doc.map <<-\EOF &&
+ Joe R. Developer <joe@example.com>
+ Jane Doe <jane@example.com>
+ Jane Doe <jane@desktop.(none)>
+ EOF
+
+ cat >expect <<-\EOF &&
+ Author Joe Developer <joe@example.com> maps to Joe R. Developer <joe@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author Joe R. Developer <joe@example.com> maps to Joe R. Developer <joe@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author Jane Doe <jane@example.com> maps to Jane Doe <jane@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
-CTO <cto@company.xx> (1):
- seventh
+ Author Jane Doe <jane@laptop.(none)> maps to Jane Doe <jane@laptop.(none)>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
-Other Author <other@author.xx> (2):
- third
- fourth
+ Author Jane D <jane@desktop.(none)> maps to Jane Doe <jane@desktop.(none)>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+ EOF
+ git -C doc log --reverse --pretty=format:"Author %an <%ae> maps to %aN <%aE>%nCommitter %cn <%ce> maps to %cN <%cE>%n" >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'gitmailmap(5) example output: example #2' '
+ test_config -C doc mailmap.file ../doc.map &&
+ cat >doc.map <<-\EOF &&
+ Joe R. Developer <joe@example.com>
+ Jane Doe <jane@example.com> <jane@laptop.(none)>
+ Jane Doe <jane@example.com> <jane@desktop.(none)>
+ EOF
+
+ cat >expect <<-\EOF &&
+ Author Joe Developer <joe@example.com> maps to Joe R. Developer <joe@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
-Santa Claus <santa.claus@northpole.xx> (2):
- fifth
- sixth
+ Author Joe R. Developer <joe@example.com> maps to Joe R. Developer <joe@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
-Some Dude <some@dude.xx> (1):
- second
+ Author Jane Doe <jane@example.com> maps to Jane Doe <jane@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author Jane Doe <jane@laptop.(none)> maps to Jane Doe <jane@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author Jane D <jane@desktop.(none)> maps to Jane Doe <jane@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+ EOF
+ git -C doc log --reverse --pretty=format:"Author %an <%ae> maps to %aN <%aE>%nCommitter %cn <%ce> maps to %cN <%cE>%n" >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'gitmailmap(5) example output: example #3' '
+ test_config -C doc mailmap.file ../doc.map &&
+ cat >>doc.map <<-\EOF &&
+ Joe R. Developer <joe@example.com> Joe <bugs@example.com>
+ Jane Doe <jane@example.com> Jane <bugs@example.com>
+ EOF
+
+ test_commit -C doc --author "Joe <bugs@example.com>" F &&
+ test_commit -C doc --author "Jane <bugs@example.com>" G &&
+
+ cat >>expect <<-\EOF &&
+
+ Author Joe <bugs@example.com> maps to Joe R. Developer <joe@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author Jane <bugs@example.com> maps to Jane Doe <jane@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+ EOF
+ git -C doc log --reverse --pretty=format:"Author %an <%ae> maps to %aN <%aE>%nCommitter %cn <%ce> maps to %cN <%cE>%n" >actual &&
+ test_cmp expect actual
+'
-EOF
test_expect_success 'Shortlog output (complex mapping)' '
- echo three >>one &&
- git add one &&
- test_tick &&
- git commit --author "nick2 <bugs@company.xx>" -m third &&
-
- echo four >>one &&
- git add one &&
- test_tick &&
- git commit --author "nick2 <nick2@company.xx>" -m fourth &&
-
- echo five >>one &&
- git add one &&
- test_tick &&
- git commit --author "santa <me@company.xx>" -m fifth &&
-
- echo six >>one &&
- git add one &&
- test_tick &&
- git commit --author "claus <me@company.xx>" -m sixth &&
-
- echo seven >>one &&
- git add one &&
- test_tick &&
- git commit --author "CTO <cto@coompany.xx>" -m seventh &&
-
- mkdir -p internal_mailmap &&
- echo "Committed <$GIT_COMMITTER_EMAIL>" > internal_mailmap/.mailmap &&
- echo "<cto@company.xx> <cto@coompany.xx>" >> internal_mailmap/.mailmap &&
- echo "Some Dude <some@dude.xx> nick1 <bugs@company.xx>" >> internal_mailmap/.mailmap &&
- echo "Other Author <other@author.xx> nick2 <bugs@company.xx>" >> internal_mailmap/.mailmap &&
- echo "Other Author <other@author.xx> <nick2@company.xx>" >> internal_mailmap/.mailmap &&
- echo "Santa Claus <santa.claus@northpole.xx> <me@company.xx>" >> internal_mailmap/.mailmap &&
- echo "Santa Claus <santa.claus@northpole.xx> <me@company.xx>" >> internal_mailmap/.mailmap &&
+ test_config mailmap.file complex.map &&
+ cat >complex.map <<-EOF &&
+ Committed <$GIT_COMMITTER_EMAIL>
+ <cto@company.xx> <cto@coompany.xx>
+ Some Dude <some@dude.xx> nick1 <bugs@company.xx>
+ Other Author <other@author.xx> nick2 <bugs@company.xx>
+ Other Author <other@author.xx> <nick2@company.xx>
+ Santa Claus <santa.claus@northpole.xx> <me@company.xx>
+ EOF
+
+ test_commit --author "nick2 <bugs@company.xx>" --append third one three &&
+ test_commit --author "nick2 <nick2@company.xx>" --append fourth one four &&
+ test_commit --author "santa <me@company.xx>" --append fifth one five &&
+ test_commit --author "claus <me@company.xx>" --append sixth one six &&
+ test_commit --author "CTO <cto@coompany.xx>" --append seventh one seven &&
+
+ cat >expect <<-EOF &&
+ $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> (1):
+ initial
+
+ CTO <cto@company.xx> (1):
+ seventh
+
+ Other Author <other@author.xx> (2):
+ third
+ fourth
+
+ Santa Claus <santa.claus@northpole.xx> (2):
+ fifth
+ sixth
+
+ Some Dude <some@dude.xx> (1):
+ second
+
+ EOF
git shortlog -e HEAD >actual &&
test_cmp expect actual
'
-# git log with --pretty format which uses the name and email mailmap placemarkers
-cat >expect << EOF
-Author CTO <cto@coompany.xx> maps to CTO <cto@company.xx>
-Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
+test_expect_success 'Log output (complex mapping)' '
+ test_config mailmap.file complex.map &&
-Author claus <me@company.xx> maps to Santa Claus <santa.claus@northpole.xx>
-Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
+ cat >expect <<-EOF &&
+ Author CTO <cto@coompany.xx> maps to CTO <cto@company.xx>
+ Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
-Author santa <me@company.xx> maps to Santa Claus <santa.claus@northpole.xx>
-Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
+ Author claus <me@company.xx> maps to Santa Claus <santa.claus@northpole.xx>
+ Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
-Author nick2 <nick2@company.xx> maps to Other Author <other@author.xx>
-Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
+ Author santa <me@company.xx> maps to Santa Claus <santa.claus@northpole.xx>
+ Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
-Author nick2 <bugs@company.xx> maps to Other Author <other@author.xx>
-Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
+ Author nick2 <nick2@company.xx> maps to Other Author <other@author.xx>
+ Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
-Author nick1 <bugs@company.xx> maps to Some Dude <some@dude.xx>
-Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
+ Author nick2 <bugs@company.xx> maps to Other Author <other@author.xx>
+ Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
-Author $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> maps to $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>
-Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
-EOF
+ Author nick1 <bugs@company.xx> maps to Some Dude <some@dude.xx>
+ Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
+
+ Author $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> maps to $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>
+ Committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> maps to Committed <$GIT_COMMITTER_EMAIL>
+ EOF
-test_expect_success 'Log output (complex mapping)' '
git log --pretty=format:"Author %an <%ae> maps to %aN <%aE>%nCommitter %cn <%ce> maps to %cN <%cE>%n" >actual &&
test_cmp expect actual
'
-cat >expect << EOF
-Author email cto@coompany.xx has local-part cto
-Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
+test_expect_success 'Log output (local-part email address)' '
+ cat >expect <<-EOF &&
+ Author email cto@coompany.xx has local-part cto
+ Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
-Author email me@company.xx has local-part me
-Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
+ Author email me@company.xx has local-part me
+ Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
-Author email me@company.xx has local-part me
-Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
+ Author email me@company.xx has local-part me
+ Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
-Author email nick2@company.xx has local-part nick2
-Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
+ Author email nick2@company.xx has local-part nick2
+ Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
-Author email bugs@company.xx has local-part bugs
-Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
+ Author email bugs@company.xx has local-part bugs
+ Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
-Author email bugs@company.xx has local-part bugs
-Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
+ Author email bugs@company.xx has local-part bugs
+ Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
-Author email author@example.com has local-part author
-Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
-EOF
+ Author email author@example.com has local-part author
+ Committer email $GIT_COMMITTER_EMAIL has local-part $TEST_COMMITTER_LOCALNAME
+ EOF
-test_expect_success 'Log output (local-part email address)' '
git log --pretty=format:"Author email %ae has local-part %al%nCommitter email %ce has local-part %cl%n" >actual &&
test_cmp expect actual
'
-cat >expect << EOF
-Author: CTO <cto@company.xx>
-Author: Santa Claus <santa.claus@northpole.xx>
-Author: Santa Claus <santa.claus@northpole.xx>
-Author: Other Author <other@author.xx>
-Author: Other Author <other@author.xx>
-Author: Some Dude <some@dude.xx>
-Author: $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>
-EOF
-
test_expect_success 'Log output with --use-mailmap' '
- git log --use-mailmap | grep Author >actual &&
+ test_config mailmap.file complex.map &&
+
+ cat >expect <<-EOF &&
+ Author: CTO <cto@company.xx>
+ Author: Santa Claus <santa.claus@northpole.xx>
+ Author: Santa Claus <santa.claus@northpole.xx>
+ Author: Other Author <other@author.xx>
+ Author: Other Author <other@author.xx>
+ Author: Some Dude <some@dude.xx>
+ Author: $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>
+ EOF
+
+ git log --use-mailmap >log &&
+ grep Author log >actual &&
test_cmp expect actual
'
-cat >expect << EOF
-Author: CTO <cto@company.xx>
-Author: Santa Claus <santa.claus@northpole.xx>
-Author: Santa Claus <santa.claus@northpole.xx>
-Author: Other Author <other@author.xx>
-Author: Other Author <other@author.xx>
-Author: Some Dude <some@dude.xx>
-Author: $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>
-EOF
-
test_expect_success 'Log output with log.mailmap' '
- git -c log.mailmap=True log | grep Author >actual &&
+ test_config mailmap.file complex.map &&
+
+ cat >expect <<-EOF &&
+ Author: CTO <cto@company.xx>
+ Author: Santa Claus <santa.claus@northpole.xx>
+ Author: Santa Claus <santa.claus@northpole.xx>
+ Author: Other Author <other@author.xx>
+ Author: Other Author <other@author.xx>
+ Author: Some Dude <some@dude.xx>
+ Author: $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>
+ EOF
+
+ git -c log.mailmap=True log >log &&
+ grep Author log >actual &&
test_cmp expect actual
'
test_expect_success 'log.mailmap=false disables mailmap' '
- cat >expect <<- EOF &&
+ cat >expect <<-EOF &&
Author: CTO <cto@coompany.xx>
Author: claus <me@company.xx>
Author: santa <me@company.xx>
@@ -480,12 +670,13 @@ test_expect_success 'log.mailmap=false disables mailmap' '
Author: nick1 <bugs@company.xx>
Author: $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>
EOF
- git -c log.mailmap=False log | grep Author > actual &&
+ git -c log.mailmap=false log >log &&
+ grep Author log >actual &&
test_cmp expect actual
'
test_expect_success '--no-use-mailmap disables mailmap' '
- cat >expect <<- EOF &&
+ cat >expect <<-EOF &&
Author: CTO <cto@coompany.xx>
Author: claus <me@company.xx>
Author: santa <me@company.xx>
@@ -494,64 +685,208 @@ test_expect_success '--no-use-mailmap disables mailmap' '
Author: nick1 <bugs@company.xx>
Author: $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>
EOF
- git log --no-use-mailmap | grep Author > actual &&
+ git log --no-use-mailmap >log &&
+ grep Author log >actual &&
test_cmp expect actual
'
-cat >expect <<\EOF
-Author: Santa Claus <santa.claus@northpole.xx>
-Author: Santa Claus <santa.claus@northpole.xx>
-EOF
-
test_expect_success 'Grep author with --use-mailmap' '
- git log --use-mailmap --author Santa | grep Author >actual &&
+ test_config mailmap.file complex.map &&
+
+ cat >expect <<-\EOF &&
+ Author: Santa Claus <santa.claus@northpole.xx>
+ Author: Santa Claus <santa.claus@northpole.xx>
+ EOF
+ git log --use-mailmap --author Santa >log &&
+ grep Author log >actual &&
test_cmp expect actual
'
-cat >expect <<\EOF
-Author: Santa Claus <santa.claus@northpole.xx>
-Author: Santa Claus <santa.claus@northpole.xx>
-EOF
test_expect_success 'Grep author with log.mailmap' '
- git -c log.mailmap=True log --author Santa | grep Author >actual &&
+ test_config mailmap.file complex.map &&
+
+ cat >expect <<-\EOF &&
+ Author: Santa Claus <santa.claus@northpole.xx>
+ Author: Santa Claus <santa.claus@northpole.xx>
+ EOF
+
+ git -c log.mailmap=True log --author Santa >log &&
+ grep Author log >actual &&
test_cmp expect actual
'
test_expect_success 'log.mailmap is true by default these days' '
- git log --author Santa | grep Author >actual &&
+ test_config mailmap.file complex.map &&
+ git log --author Santa >log &&
+ grep Author log >actual &&
test_cmp expect actual
'
test_expect_success 'Only grep replaced author with --use-mailmap' '
+ test_config mailmap.file complex.map &&
git log --use-mailmap --author "<cto@coompany.xx>" >actual &&
test_must_be_empty actual
'
-# git blame
-cat >expect <<EOF
-^OBJI ($GIT_AUTHOR_NAME DATE 1) one
-OBJID (Some Dude DATE 2) two
-OBJID (Other Author DATE 3) three
-OBJID (Other Author DATE 4) four
-OBJID (Santa Claus DATE 5) five
-OBJID (Santa Claus DATE 6) six
-OBJID (CTO DATE 7) seven
-EOF
-test_expect_success 'Blame output (complex mapping)' '
- git blame one >actual &&
- fuzz_blame actual >actual.fuzz &&
+test_expect_success 'Blame --porcelain output (complex mapping)' '
+ test_config mailmap.file complex.map &&
+
+ cat >expect <<-EOF &&
+ 1 1 1
+ A U Thor
+ 2 2 1
+ Some Dude
+ 3 3 1
+ Other Author
+ 4 4 1
+ Other Author
+ 5 5 1
+ Santa Claus
+ 6 6 1
+ Santa Claus
+ 7 7 1
+ CTO
+ EOF
+
+ git blame --porcelain one >actual.blame &&
+
+ NUM="[0-9][0-9]*" &&
+ sed -n <actual.blame >actual.fuzz \
+ -e "s/^author //p" \
+ -e "s/^$OID_REGEX \\($NUM $NUM $NUM\\)$/\\1/p" &&
test_cmp expect actual.fuzz
'
-cat >expect <<\EOF
-Some Dude <some@dude.xx>
-EOF
+test_expect_success 'Blame output (complex mapping)' '
+ git -c mailmap.file=complex.map blame one >a &&
+ git blame one >b &&
+ test_file_not_empty a &&
+ ! cmp a b
+'
test_expect_success 'commit --author honors mailmap' '
+ test_config mailmap.file complex.map &&
+
+ cat >expect <<-\EOF &&
+ Some Dude <some@dude.xx>
+ EOF
+
test_must_fail git commit --author "nick" --allow-empty -meight &&
git commit --author "Some Dude" --allow-empty -meight &&
git show --pretty=format:"%an <%ae>%n" >actual &&
test_cmp expect actual
'
+test_expect_success 'comment syntax: setup' '
+ test_create_repo comm &&
+ test_commit -C comm --author "A <a@example.com>" A &&
+ test_commit -C comm --author "B <b@example.com>" B &&
+ test_commit -C comm --author "C <#@example.com>" C &&
+ test_commit -C comm --author "D <d@e#ample.com>" D &&
+
+ test_config -C comm mailmap.file ../doc.map &&
+ cat >>doc.map <<-\EOF &&
+ # Ah <a@example.com>
+
+ ; Bee <b@example.com>
+ Cee <cee@example.com> <#@example.com>
+ Dee <dee@example.com> <d@e#ample.com>
+ EOF
+
+ cat >expect <<-\EOF &&
+ Author A <a@example.com> maps to A <a@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author B <b@example.com> maps to ; Bee <b@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author C <#@example.com> maps to Cee <cee@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author D <d@e#ample.com> maps to Dee <dee@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+ EOF
+ git -C comm log --reverse --pretty=format:"Author %an <%ae> maps to %aN <%aE>%nCommitter %cn <%ce> maps to %cN <%cE>%n" >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'whitespace syntax: setup' '
+ test_create_repo space &&
+ test_commit -C space --author "A <a@example.com>" A &&
+ test_commit -C space --author "B <b@example.com>" B &&
+ test_commit -C space --author " C <c@example.com>" C &&
+ test_commit -C space --author " D <d@example.com>" D &&
+ test_commit -C space --author "E E <e@example.com>" E &&
+ test_commit -C space --author "F F <f@example.com>" F &&
+ test_commit -C space --author "G G <g@example.com>" G &&
+ test_commit -C space --author "H H <h@example.com>" H &&
+
+ test_config -C space mailmap.file ../space.map &&
+ cat >>space.map <<-\EOF &&
+ Ah <ah@example.com> < a@example.com >
+ Bee <bee@example.com > < b@example.com >
+ Cee <cee@example.com> C <c@example.com>
+ dee <dee@example.com> D <d@example.com>
+ eee <eee@example.com> E E <e@example.com>
+ eff <eff@example.com> F F <f@example.com>
+ gee <gee@example.com> G G <g@example.com>
+ aitch <aitch@example.com> H H <h@example.com>
+ EOF
+
+ cat >expect <<-\EOF &&
+ Author A <a@example.com> maps to A <a@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author B <b@example.com> maps to B <b@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author C <c@example.com> maps to Cee <cee@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author D <d@example.com> maps to dee <dee@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author E E <e@example.com> maps to eee <eee@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author F F <f@example.com> maps to eff <eff@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author G G <g@example.com> maps to gee <gee@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author H H <h@example.com> maps to H H <h@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+ EOF
+ git -C space log --reverse --pretty=format:"Author %an <%ae> maps to %aN <%aE>%nCommitter %cn <%ce> maps to %cN <%cE>%n" >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'empty syntax: setup' '
+ test_create_repo empty &&
+ test_commit -C empty --author "A <>" A &&
+ test_commit -C empty --author "B <b@example.com>" B &&
+ test_commit -C empty --author "C <c@example.com>" C &&
+
+ test_config -C empty mailmap.file ../empty.map &&
+ cat >>empty.map <<-\EOF &&
+ Ah <ah@example.com> <>
+ Bee <bee@example.com> <>
+ Cee <> <c@example.com>
+ EOF
+
+ cat >expect <<-\EOF &&
+ Author A <> maps to Bee <bee@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author B <b@example.com> maps to B <b@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+
+ Author C <c@example.com> maps to C <c@example.com>
+ Committer C O Mitter <committer@example.com> maps to C O Mitter <committer@example.com>
+ EOF
+ git -C empty log --reverse --pretty=format:"Author %an <%ae> maps to %aN <%aE>%nCommitter %cn <%ce> maps to %cN <%cE>%n" >actual &&
+ test_cmp expect actual
+'
+
test_done
diff --git a/t/t4204-patch-id.sh b/t/t4204-patch-id.sh
index 8ff8bd84c7..f120857c20 100755
--- a/t/t4204-patch-id.sh
+++ b/t/t4204-patch-id.sh
@@ -2,6 +2,9 @@
test_description='git patch-id'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -13,9 +16,9 @@ test_expect_success 'setup' '
test_write_lines $as b >foo &&
test_write_lines $as b >bar &&
git commit -a -m first &&
- git checkout -b same master &&
+ git checkout -b same main &&
git commit --amend -m same-msg &&
- git checkout -b notsame master &&
+ git checkout -b notsame main &&
echo c >foo &&
echo c >bar &&
git commit --amend -a -m notsame-msg &&
@@ -46,31 +49,31 @@ get_patch_id () {
}
test_expect_success 'patch-id detects equality' '
- get_patch_id master &&
+ get_patch_id main &&
get_patch_id same &&
- test_cmp patch-id_master patch-id_same
+ test_cmp patch-id_main patch-id_same
'
test_expect_success 'patch-id detects inequality' '
- get_patch_id master &&
+ get_patch_id main &&
get_patch_id notsame &&
- ! test_cmp patch-id_master patch-id_notsame
+ ! test_cmp patch-id_main patch-id_notsame
'
test_expect_success 'patch-id supports git-format-patch output' '
- get_patch_id master &&
+ get_patch_id main &&
git checkout same &&
git format-patch -1 --stdout | calc_patch_id same &&
- test_cmp patch-id_master patch-id_same &&
+ test_cmp patch-id_main patch-id_same &&
set $(git format-patch -1 --stdout | git patch-id) &&
test "$2" = $(git rev-parse HEAD)
'
test_expect_success 'whitespace is irrelevant in footer' '
- get_patch_id master &&
+ get_patch_id main &&
git checkout same &&
git format-patch -1 --stdout | sed "s/ \$//" | calc_patch_id same &&
- test_cmp patch-id_master patch-id_same
+ test_cmp patch-id_main patch-id_same
'
cmp_patch_id () {
@@ -88,7 +91,7 @@ test_patch_id_file_order () {
shift
name="order-${1}-$relevant"
shift
- get_top_diff "master" | calc_patch_id "$name" "$@" &&
+ get_top_diff "main" | calc_patch_id "$name" "$@" &&
git checkout same &&
git format-patch -1 --stdout -O foo-then-bar |
calc_patch_id "ordered-$name" "$@" &&
@@ -137,10 +140,10 @@ test_expect_success '--stable overrides patchid.stable = false' '
'
test_expect_success 'patch-id supports git-format-patch MIME output' '
- get_patch_id master &&
+ get_patch_id main &&
git checkout same &&
git format-patch -1 --attach --stdout | calc_patch_id same &&
- test_cmp patch-id_master patch-id_same
+ test_cmp patch-id_main patch-id_same
'
test_expect_success 'patch-id respects config from subdir' '
diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
index 204c149d5a..749bc1431a 100755
--- a/t/t4205-log-pretty-formats.sh
+++ b/t/t4205-log-pretty-formats.sh
@@ -605,6 +605,12 @@ test_expect_success 'pretty format %(trailers) shows trailers' '
test_cmp expect actual
'
+test_expect_success 'pretty format %(trailers:) enables no options' '
+ git log --no-walk --pretty="%(trailers:)" >actual &&
+ # "expect" the same as the test above
+ test_cmp expect actual
+'
+
test_expect_success '%(trailers:only) shows only "key: value" trailers' '
git log --no-walk --pretty="%(trailers:only)" >actual &&
{
@@ -709,19 +715,101 @@ test_expect_success '%(trailers:key) without value is error' '
test_cmp expect actual
'
+test_expect_success '%(trailers:keyonly) shows only keys' '
+ git log --no-walk --pretty="format:%(trailers:keyonly)" >actual &&
+ test_write_lines \
+ "Signed-off-by" \
+ "Acked-by" \
+ "[ v2 updated patch description ]" \
+ "Signed-off-by" >expect &&
+ test_cmp expect actual
+'
+
+test_expect_success '%(trailers:key=foo,keyonly) shows only key' '
+ git log --no-walk --pretty="format:%(trailers:key=Acked-by,keyonly)" >actual &&
+ echo "Acked-by" >expect &&
+ test_cmp expect actual
+'
+
test_expect_success '%(trailers:key=foo,valueonly) shows only value' '
git log --no-walk --pretty="format:%(trailers:key=Acked-by,valueonly)" >actual &&
echo "A U Thor <author@example.com>" >expect &&
test_cmp expect actual
'
+test_expect_success '%(trailers:valueonly) shows only values' '
+ git log --no-walk --pretty="format:%(trailers:valueonly)" >actual &&
+ test_write_lines \
+ "A U Thor <author@example.com>" \
+ "A U Thor <author@example.com>" \
+ "[ v2 updated patch description ]" \
+ "A U Thor" \
+ " <author@example.com>" >expect &&
+ test_cmp expect actual
+'
+
+test_expect_success '%(trailers:key=foo,keyonly,valueonly) shows nothing' '
+ git log --no-walk --pretty="format:%(trailers:key=Acked-by,keyonly,valueonly)" >actual &&
+ echo >expect &&
+ test_cmp expect actual
+'
+
test_expect_success 'pretty format %(trailers:separator) changes separator' '
+ git log --no-walk --pretty=format:"X%(trailers:separator=%x00)X" >actual &&
+ (
+ printf "XSigned-off-by: A U Thor <author@example.com>\0" &&
+ printf "Acked-by: A U Thor <author@example.com>\0" &&
+ printf "[ v2 updated patch description ]\0" &&
+ printf "Signed-off-by: A U Thor\n <author@example.com>X"
+ ) >expect &&
+ test_cmp expect actual
+'
+
+test_expect_success 'pretty format %(trailers:separator=X,unfold) changes separator' '
git log --no-walk --pretty=format:"X%(trailers:separator=%x00,unfold)X" >actual &&
- printf "XSigned-off-by: A U Thor <author@example.com>\0Acked-by: A U Thor <author@example.com>\0[ v2 updated patch description ]\0Signed-off-by: A U Thor <author@example.com>X" >expect &&
+ (
+ printf "XSigned-off-by: A U Thor <author@example.com>\0" &&
+ printf "Acked-by: A U Thor <author@example.com>\0" &&
+ printf "[ v2 updated patch description ]\0" &&
+ printf "Signed-off-by: A U Thor <author@example.com>X"
+ ) >expect &&
+ test_cmp expect actual
+'
+
+test_expect_success 'pretty format %(trailers:key_value_separator) changes key-value separator' '
+ git log --no-walk --pretty=format:"X%(trailers:key_value_separator=%x00)X" >actual &&
+ (
+ printf "XSigned-off-by\0A U Thor <author@example.com>\n" &&
+ printf "Acked-by\0A U Thor <author@example.com>\n" &&
+ printf "[ v2 updated patch description ]\n" &&
+ printf "Signed-off-by\0A U Thor\n <author@example.com>\nX"
+ ) >expect &&
+ test_cmp expect actual
+'
+
+test_expect_success 'pretty format %(trailers:key_value_separator,unfold) changes key-value separator' '
+ git log --no-walk --pretty=format:"X%(trailers:key_value_separator=%x00,unfold)X" >actual &&
+ (
+ printf "XSigned-off-by\0A U Thor <author@example.com>\n" &&
+ printf "Acked-by\0A U Thor <author@example.com>\n" &&
+ printf "[ v2 updated patch description ]\n" &&
+ printf "Signed-off-by\0A U Thor <author@example.com>\nX"
+ ) >expect &&
+ test_cmp expect actual
+'
+
+test_expect_success 'pretty format %(trailers:separator,key_value_separator) changes both separators' '
+ git log --no-walk --pretty=format:"%(trailers:separator=%x00,key_value_separator=%x00%x00,unfold)" >actual &&
+ (
+ printf "Signed-off-by\0\0A U Thor <author@example.com>\0" &&
+ printf "Acked-by\0\0A U Thor <author@example.com>\0" &&
+ printf "[ v2 updated patch description ]\0" &&
+ printf "Signed-off-by\0\0A U Thor <author@example.com>"
+ ) >expect &&
test_cmp expect actual
'
-test_expect_success 'pretty format %(trailers) combining separator/key/valueonly' '
+test_expect_success 'pretty format %(trailers) combining separator/key/keyonly/valueonly' '
git commit --allow-empty -F - <<-\EOF &&
Important fix
@@ -748,6 +836,13 @@ test_expect_success 'pretty format %(trailers) combining separator/key/valueonly
"Does not close any tickets" \
"Another fix #567, #890" \
"Important fix #1234" >expect &&
+ test_cmp expect actual &&
+
+ git log --pretty="%s% (trailers:separator=%x2c%x20,key=Closes,keyonly)" HEAD~3.. >actual &&
+ test_write_lines \
+ "Does not close any tickets" \
+ "Another fix Closes, Closes" \
+ "Important fix Closes" >expect &&
test_cmp expect actual
'
diff --git a/t/t4207-log-decoration-colors.sh b/t/t4207-log-decoration-colors.sh
index 60f040cab8..b870942498 100755
--- a/t/t4207-log-decoration-colors.sh
+++ b/t/t4207-log-decoration-colors.sh
@@ -5,6 +5,9 @@
test_description='Test for "git log --decorate" colors'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -40,13 +43,13 @@ test_expect_success setup '
cat >expected <<EOF
${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_reset}${c_HEAD}HEAD ->\
- ${c_reset}${c_branch}master${c_reset}${c_commit},\
+ ${c_reset}${c_branch}main${c_reset}${c_commit},\
${c_reset}${c_tag}tag: v1.0${c_reset}${c_commit},\
${c_reset}${c_tag}tag: B${c_reset}${c_commit})${c_reset} B
${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_reset}${c_tag}tag: A1${c_reset}${c_commit},\
- ${c_reset}${c_remoteBranch}other/master${c_reset}${c_commit})${c_reset} A1
+ ${c_reset}${c_remoteBranch}other/main${c_reset}${c_commit})${c_reset} A1
${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_reset}${c_stash}refs/stash${c_reset}${c_commit})${c_reset}\
- On master: Changes to A.t
+ On main: Changes to A.t
${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_reset}${c_tag}tag: A${c_reset}${c_commit})${c_reset} A
EOF
diff --git a/t/t4208-log-magic-pathspec.sh b/t/t4208-log-magic-pathspec.sh
index 6cdbe4747a..5e10136e9a 100755
--- a/t/t4208-log-magic-pathspec.sh
+++ b/t/t4208-log-magic-pathspec.sh
@@ -2,6 +2,9 @@
test_description='magic pathspec tests using git-log'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -26,7 +29,7 @@ test_expect_success '"git log :/a -- " should not be ambiguous' '
'
test_expect_success '"git log :/detached -- " should find a commit only in HEAD' '
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
git checkout --detach &&
# Must manually call `test_tick` instead of using `test_commit`,
# because the latter additionally creates a tag, which would make
@@ -119,7 +122,7 @@ test_expect_success 'command line pathspec parsing for "git log"' '
git checkout HEAD^ &&
echo 2 >a &&
git commit -a -m "update a to 2" &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
git add a &&
git log --merge -- a
'
diff --git a/t/t4211-line-log.sh b/t/t4211-line-log.sh
index 2d1d7b5d19..560127cc07 100755
--- a/t/t4211-line-log.sh
+++ b/t/t4211-line-log.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='test log -L'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup (import history)' '
@@ -8,6 +11,28 @@ test_expect_success 'setup (import history)' '
git reset --hard
'
+test_expect_success 'basic command line parsing' '
+ # This may fail due to "no such path a.c in commit", or
+ # "-L is incompatible with pathspec", depending on the
+ # order the error is checked. Either is acceptable.
+ test_must_fail git log -L1,1:a.c -- a.c &&
+
+ # -L requires there is no pathspec
+ test_must_fail git log -L1,1:b.c -- b.c 2>error &&
+ test_i18ngrep "cannot be used with pathspec" error &&
+
+ # This would fail because --follow wants a single path, but
+ # we may fail due to incompatibility between -L/--follow in
+ # the future. Either is acceptable.
+ test_must_fail git log -L1,1:b.c --follow &&
+ test_must_fail git log --follow -L1,1:b.c &&
+
+ # This would fail because -L wants no pathspec, but
+ # we may fail due to incompatibility between -L/--follow in
+ # the future. Either is acceptable.
+ test_must_fail git log --follow -L1,1:b.c -- b.c
+'
+
canned_test_1 () {
test_expect_$1 "$2" "
git log $2 >actual &&
diff --git a/t/t4211/history.export b/t/t4211/history.export
index f9f41e211e..006972a1f2 100644
--- a/t/t4211/history.export
+++ b/t/t4211/history.export
@@ -316,7 +316,7 @@ long f(long x)
return s;
}
-commit refs/heads/master
+commit refs/heads/main
mark :19
author Thomas Rast <trast@student.ethz.ch> 1362045024 +0100
committer Thomas Rast <trast@student.ethz.ch> 1362045024 +0100
diff --git a/t/t4214-log-graph-octopus.sh b/t/t4214-log-graph-octopus.sh
index a080325098..f70c46bbbf 100755
--- a/t/t4214-log-graph-octopus.sh
+++ b/t/t4214-log-graph-octopus.sh
@@ -2,6 +2,9 @@
test_description='git log --graph of skewed left octopus merge.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-log-graph.sh
@@ -17,7 +20,7 @@ test_cmp_colored_graph () {
test_expect_success 'set up merge history' '
test_commit initial &&
for i in 1 2 3 4 ; do
- git checkout master -b $i || return $?
+ git checkout main -b $i || return $?
# Make tag name different from branch name, to avoid
# ambiguity error when calling checkout.
test_commit $i $i $i tag$i || return $?
diff --git a/t/t4216-log-bloom.sh b/t/t4216-log-bloom.sh
index d11040ce41..0f16c4b9d5 100755
--- a/t/t4216-log-bloom.sh
+++ b/t/t4216-log-bloom.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='git log for a path with Bloom filters'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
GIT_TEST_COMMIT_GRAPH=0
@@ -21,7 +24,7 @@ test_expect_success 'setup test - repo, commits, commit graph, log outputs' '
test_commit c10 file_to_be_deleted &&
git checkout -b side HEAD~4 &&
test_commit side-1 file4 &&
- git checkout master &&
+ git checkout main &&
git merge side &&
test_commit c11 file5 &&
mv file5 file5_renamed &&
@@ -94,7 +97,7 @@ do
"--topo-order" \
"--date-order" \
"--author-date-order" \
- "--ancestry-path side..master"
+ "--ancestry-path side..main"
do
test_expect_success "git log option: $option for path: $path" '
test_bloom_filters_used "$option -- $path" &&
diff --git a/t/t4253-am-keep-cr-dos.sh b/t/t4253-am-keep-cr-dos.sh
index 6e1b73ec3a..0ee69d2a0c 100755
--- a/t/t4253-am-keep-cr-dos.sh
+++ b/t/t4253-am-keep-cr-dos.sh
@@ -6,6 +6,9 @@
test_description='git-am mbox with dos line ending.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# Three patches which will be added as files with dos line ending.
@@ -43,7 +46,7 @@ test_expect_success 'setup repository with dos files' '
test_expect_success 'am with dos files without --keep-cr' '
git checkout -b dosfiles initial &&
- git format-patch -k initial..master &&
+ git format-patch -k initial..main &&
test_must_fail git am -k -3 000*.patch &&
git am --abort &&
rm -rf .git/rebase-apply 000*.patch
@@ -51,23 +54,23 @@ test_expect_success 'am with dos files without --keep-cr' '
test_expect_success 'am with dos files with --keep-cr' '
git checkout -b dosfiles-keep-cr initial &&
- git format-patch -k --stdout initial..master >output &&
+ git format-patch -k --stdout initial..main >output &&
git am --keep-cr -k -3 output &&
- git diff --exit-code master
+ git diff --exit-code main
'
test_expect_success 'am with dos files config am.keepcr' '
git config am.keepcr 1 &&
git checkout -b dosfiles-conf-keepcr initial &&
- git format-patch -k --stdout initial..master >output &&
+ git format-patch -k --stdout initial..main >output &&
git am -k -3 output &&
- git diff --exit-code master
+ git diff --exit-code main
'
test_expect_success 'am with dos files config am.keepcr overridden by --no-keep-cr' '
git config am.keepcr 1 &&
git checkout -b dosfiles-conf-keepcr-override initial &&
- git format-patch -k initial..master &&
+ git format-patch -k initial..main &&
test_must_fail git am -k -3 --no-keep-cr 000*.patch &&
git am --abort &&
rm -rf .git/rebase-apply 000*.patch
@@ -75,14 +78,14 @@ test_expect_success 'am with dos files config am.keepcr overridden by --no-keep-
test_expect_success 'am with dos files with --keep-cr continue' '
git checkout -b dosfiles-keep-cr-continue initial &&
- git format-patch -k initial..master &&
+ git format-patch -k initial..main &&
append_cr <file1a >file &&
git commit -m "different patch" file &&
test_must_fail git am --keep-cr -k -3 000*.patch &&
append_cr <file2 >file &&
git add file &&
git am -3 --resolved &&
- git diff --exit-code master
+ git diff --exit-code main
'
test_expect_success 'am with unix files config am.keepcr overridden by --no-keep-cr' '
@@ -90,9 +93,9 @@ test_expect_success 'am with unix files config am.keepcr overridden by --no-keep
git checkout -b unixfiles-conf-keepcr-override initial &&
cp -f file1 file &&
git commit -m "line ending to unix" file &&
- git format-patch -k initial..master &&
+ git format-patch -k initial..main &&
git am -k -3 --no-keep-cr 000*.patch &&
- git diff --exit-code -w master
+ git diff --exit-code -w main
'
test_done
diff --git a/t/t4257-am-interactive.sh b/t/t4257-am-interactive.sh
index 5344bd248a..aed8f4de3d 100755
--- a/t/t4257-am-interactive.sh
+++ b/t/t4257-am-interactive.sh
@@ -10,7 +10,7 @@ test_expect_success 'set up patches to apply' '
git format-patch --stdout -2 >mbox &&
git reset --hard unrelated &&
- test_commit conflict-master file master base
+ test_commit conflict-main file main base
'
# Sanity check our setup.
diff --git a/t/t5150-request-pull.sh b/t/t5150-request-pull.sh
index c1811ea0f4..db4e15fd59 100755
--- a/t/t5150-request-pull.sh
+++ b/t/t5150-request-pull.sh
@@ -2,6 +2,9 @@
test_description='Test workflows involving pull request.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
if ! test_have_prereq PERL
@@ -31,13 +34,13 @@ test_expect_success 'setup' '
test_tick &&
git commit -m "\"Thirty days\", a reminder of month lengths" &&
git tag -m "version 1" -a initial &&
- git push --tags origin master
+ git push --tags origin main
) &&
(
cd local &&
git remote add upstream "$trash_url/upstream.git" &&
git fetch upstream &&
- git pull upstream master &&
+ git pull upstream main &&
cat <<-\EOT >>mnemonic.txt &&
Of twyecescore-eightt is but eine,
And all the remnante be thrycescore-eine.
@@ -59,7 +62,7 @@ test_expect_success 'setup' '
git commit -a -m "Adapt to use modern, simpler English
But keep the old version, too, in case some people prefer it." &&
- git checkout master
+ git checkout main
)
'
@@ -129,7 +132,7 @@ test_expect_success 'pull request when forgot to push' '
(
cd local &&
git checkout initial &&
- git merge --ff-only master &&
+ git merge --ff-only main &&
test_must_fail git request-pull initial "$downstream_url" \
2>../err
) &&
@@ -145,9 +148,9 @@ test_expect_success 'pull request after push' '
(
cd local &&
git checkout initial &&
- git merge --ff-only master &&
- git push origin master:for-upstream &&
- git request-pull initial origin master:for-upstream >../request
+ git merge --ff-only main &&
+ git push origin main:for-upstream &&
+ git request-pull initial origin main:for-upstream >../request
) &&
sed -nf read-request.sed <request >digest &&
{
@@ -172,9 +175,9 @@ test_expect_success 'request asks HEAD to be pulled' '
(
cd local &&
git checkout initial &&
- git merge --ff-only master &&
- git push --tags origin master simplify &&
- git push origin master:for-upstream &&
+ git merge --ff-only main &&
+ git push --tags origin main simplify &&
+ git push origin main:for-upstream &&
git request-pull initial "$downstream_url" >../request
) &&
sed -nf read-request.sed <request >digest &&
@@ -215,7 +218,7 @@ test_expect_success 'pull request format' '
(
cd local &&
git checkout initial &&
- git merge --ff-only master &&
+ git merge --ff-only main &&
git push origin tags/full &&
git request-pull initial "$downstream_url" tags/full >../request
) &&
@@ -243,9 +246,9 @@ test_expect_success 'request-pull ignores OPTIONS_KEEPDASHDASH poison' '
OPTIONS_KEEPDASHDASH=Yes &&
export OPTIONS_KEEPDASHDASH &&
git checkout initial &&
- git merge --ff-only master &&
- git push origin master:for-upstream &&
- git request-pull -- initial "$downstream_url" master:for-upstream >../request
+ git merge --ff-only main &&
+ git push origin main:for-upstream &&
+ git request-pull -- initial "$downstream_url" main:for-upstream >../request
)
'
@@ -257,7 +260,7 @@ test_expect_success 'request-pull quotes regex metacharacters properly' '
(
cd local &&
git checkout initial &&
- git merge --ff-only master &&
+ git merge --ff-only main &&
git tag -mrelease v2.0 &&
git push origin refs/tags/v2.0:refs/tags/v2-0 &&
test_must_fail git request-pull initial "$downstream_url" tags/v2.0 \
@@ -275,7 +278,7 @@ test_expect_success 'pull request with mismatched object' '
(
cd local &&
git checkout initial &&
- git merge --ff-only master &&
+ git merge --ff-only main &&
git push origin HEAD:refs/tags/full &&
test_must_fail git request-pull initial "$downstream_url" tags/full \
2>../err
@@ -292,7 +295,7 @@ test_expect_success 'pull request with stale object' '
(
cd local &&
git checkout initial &&
- git merge --ff-only master &&
+ git merge --ff-only main &&
git push origin refs/tags/full &&
git tag -f -m"Thirty-one days" full &&
test_must_fail git request-pull initial "$downstream_url" tags/full \
diff --git a/t/t5304-prune.sh b/t/t5304-prune.sh
index df60f18fb8..b447ce56a9 100755
--- a/t/t5304-prune.sh
+++ b/t/t5304-prune.sh
@@ -4,6 +4,9 @@
#
test_description='prune'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
day=$((60*60*24))
@@ -119,7 +122,7 @@ test_expect_success 'prune: do not prune detached HEAD with no reflog' '
test_expect_success 'prune: prune former HEAD after checking out branch' '
head_oid=$(git rev-parse HEAD) &&
- git checkout --quiet master &&
+ git checkout --quiet main &&
git prune -v >prune_actual &&
grep "$head_oid" prune_actual
diff --git a/t/t5305-include-tag.sh b/t/t5305-include-tag.sh
index a5eca210b8..44bd9ef45f 100755
--- a/t/t5305-include-tag.sh
+++ b/t/t5305-include-tag.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='git pack-object --include-tag'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
TRASH=$(pwd)
@@ -111,7 +114,7 @@ test_expect_success 'check unpacked result (have all objects)' '
test_expect_success 'single-branch clone can transfer tag' '
rm -rf clone.git &&
- git clone --no-local --single-branch -b master . clone.git &&
+ git clone --no-local --single-branch -b main . clone.git &&
git -C clone.git fsck
'
diff --git a/t/t5310-pack-bitmaps.sh b/t/t5310-pack-bitmaps.sh
index 8318781d2b..5ba7603109 100755
--- a/t/t5310-pack-bitmaps.sh
+++ b/t/t5310-pack-bitmaps.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='exercise basic bitmap functionality'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
objpath () {
@@ -20,84 +23,172 @@ has_any () {
grep -Ff "$1" "$2"
}
+# To ensure the logic for "maximal commits" is exercised, make
+# the repository a bit more complicated.
+#
+# other second
+# * *
+# (99 commits) (99 commits)
+# * *
+# |\ /|
+# | * octo-other octo-second * |
+# |/|\_________ ____________/|\|
+# | \ \/ __________/ |
+# | | ________/\ / |
+# * |/ * merge-right *
+# | _|__________/ \____________ |
+# |/ | \|
+# (l1) * * merge-left * (r1)
+# | / \________________________ |
+# |/ \|
+# (l2) * * (r2)
+# \___________________________ |
+# \|
+# * (base)
+#
+# We only push bits down the first-parent history, which
+# makes some of these commits unimportant!
+#
+# The important part for the maximal commit algorithm is how
+# the bitmasks are extended. Assuming starting bit positions
+# for second (bit 0) and other (bit 1), the bitmasks at the
+# end should be:
+#
+# second: 1 (maximal, selected)
+# other: 01 (maximal, selected)
+# (base): 11 (maximal)
+#
+# This complicated history was important for a previous
+# version of the walk that guarantees never walking a
+# commit multiple times. That goal might be important
+# again, so preserve this complicated case. For now, this
+# test will guarantee that the bitmaps are computed
+# correctly, even with the repeat calculations.
+
test_expect_success 'setup repo with moderate-sized history' '
- test_commit_bulk --id=file 100 &&
+ test_commit_bulk --id=file 10 &&
+ git branch -M second &&
git checkout -b other HEAD~5 &&
test_commit_bulk --id=side 10 &&
- git checkout master &&
- bitmaptip=$(git rev-parse master) &&
+
+ # add complicated history setup, including merges and
+ # ambiguous merge-bases
+
+ git checkout -b merge-left other~2 &&
+ git merge second~2 -m "merge-left" &&
+
+ git checkout -b merge-right second~1 &&
+ git merge other~1 -m "merge-right" &&
+
+ git checkout -b octo-second second &&
+ git merge merge-left merge-right -m "octopus-second" &&
+
+ git checkout -b octo-other other &&
+ git merge merge-left merge-right -m "octopus-other" &&
+
+ git checkout other &&
+ git merge octo-other -m "pull octopus" &&
+
+ git checkout second &&
+ git merge octo-second -m "pull octopus" &&
+
+ # Remove these branches so they are not selected
+ # as bitmap tips
+ git branch -D merge-left &&
+ git branch -D merge-right &&
+ git branch -D octo-other &&
+ git branch -D octo-second &&
+
+ # add padding to make these merges less interesting
+ # and avoid having them selected for bitmaps
+ test_commit_bulk --id=file 100 &&
+ git checkout other &&
+ test_commit_bulk --id=side 100 &&
+ git checkout second &&
+
+ bitmaptip=$(git rev-parse second) &&
blob=$(echo tagged-blob | git hash-object -w --stdin) &&
git tag tagged-blob $blob &&
git config repack.writebitmaps true
'
test_expect_success 'full repack creates bitmaps' '
- git repack -ad &&
+ GIT_TRACE2_EVENT_NESTING=4 GIT_TRACE2_EVENT="$(pwd)/trace" \
+ git repack -ad &&
ls .git/objects/pack/ | grep bitmap >output &&
- test_line_count = 1 output
+ test_line_count = 1 output &&
+ grep "\"key\":\"num_selected_commits\",\"value\":\"106\"" trace &&
+ grep "\"key\":\"num_maximal_commits\",\"value\":\"107\"" trace
'
test_expect_success 'rev-list --test-bitmap verifies bitmaps' '
git rev-list --test-bitmap HEAD
'
-rev_list_tests() {
- state=$1
-
- test_expect_success "counting commits via bitmap ($state)" '
- git rev-list --count HEAD >expect &&
- git rev-list --use-bitmap-index --count HEAD >actual &&
+rev_list_tests_head () {
+ test_expect_success "counting commits via bitmap ($state, $branch)" '
+ git rev-list --count $branch >expect &&
+ git rev-list --use-bitmap-index --count $branch >actual &&
test_cmp expect actual
'
- test_expect_success "counting partial commits via bitmap ($state)" '
- git rev-list --count HEAD~5..HEAD >expect &&
- git rev-list --use-bitmap-index --count HEAD~5..HEAD >actual &&
+ test_expect_success "counting partial commits via bitmap ($state, $branch)" '
+ git rev-list --count $branch~5..$branch >expect &&
+ git rev-list --use-bitmap-index --count $branch~5..$branch >actual &&
test_cmp expect actual
'
- test_expect_success "counting commits with limit ($state)" '
- git rev-list --count -n 1 HEAD >expect &&
- git rev-list --use-bitmap-index --count -n 1 HEAD >actual &&
+ test_expect_success "counting commits with limit ($state, $branch)" '
+ git rev-list --count -n 1 $branch >expect &&
+ git rev-list --use-bitmap-index --count -n 1 $branch >actual &&
test_cmp expect actual
'
- test_expect_success "counting non-linear history ($state)" '
- git rev-list --count other...master >expect &&
- git rev-list --use-bitmap-index --count other...master >actual &&
+ test_expect_success "counting non-linear history ($state, $branch)" '
+ git rev-list --count other...second >expect &&
+ git rev-list --use-bitmap-index --count other...second >actual &&
test_cmp expect actual
'
- test_expect_success "counting commits with limiting ($state)" '
- git rev-list --count HEAD -- 1.t >expect &&
- git rev-list --use-bitmap-index --count HEAD -- 1.t >actual &&
+ test_expect_success "counting commits with limiting ($state, $branch)" '
+ git rev-list --count $branch -- 1.t >expect &&
+ git rev-list --use-bitmap-index --count $branch -- 1.t >actual &&
test_cmp expect actual
'
- test_expect_success "counting objects via bitmap ($state)" '
- git rev-list --count --objects HEAD >expect &&
- git rev-list --use-bitmap-index --count --objects HEAD >actual &&
+ test_expect_success "counting objects via bitmap ($state, $branch)" '
+ git rev-list --count --objects $branch >expect &&
+ git rev-list --use-bitmap-index --count --objects $branch >actual &&
test_cmp expect actual
'
- test_expect_success "enumerate commits ($state)" '
- git rev-list --use-bitmap-index HEAD >actual &&
- git rev-list HEAD >expect &&
+ test_expect_success "enumerate commits ($state, $branch)" '
+ git rev-list --use-bitmap-index $branch >actual &&
+ git rev-list $branch >expect &&
test_bitmap_traversal --no-confirm-bitmaps expect actual
'
- test_expect_success "enumerate --objects ($state)" '
- git rev-list --objects --use-bitmap-index HEAD >actual &&
- git rev-list --objects HEAD >expect &&
+ test_expect_success "enumerate --objects ($state, $branch)" '
+ git rev-list --objects --use-bitmap-index $branch >actual &&
+ git rev-list --objects $branch >expect &&
test_bitmap_traversal expect actual
'
- test_expect_success "bitmap --objects handles non-commit objects ($state)" '
- git rev-list --objects --use-bitmap-index HEAD tagged-blob >actual &&
+ test_expect_success "bitmap --objects handles non-commit objects ($state, $branch)" '
+ git rev-list --objects --use-bitmap-index $branch tagged-blob >actual &&
grep $blob actual
'
}
+rev_list_tests () {
+ state=$1
+
+ for branch in "second" "other"
+ do
+ rev_list_tests_head
+ done
+}
+
rev_list_tests 'full bitmap'
test_expect_success 'clone from bitmapped repository' '
@@ -128,7 +219,7 @@ test_expect_success 'setup further non-bitmapped commits' '
rev_list_tests 'partial bitmap'
test_expect_success 'fetch (partial bitmap)' '
- git --git-dir=clone.git fetch origin master:master &&
+ git --git-dir=clone.git fetch origin second:second &&
git rev-parse HEAD >expect &&
git --git-dir=clone.git rev-parse HEAD >actual &&
test_cmp expect actual
@@ -230,7 +321,7 @@ test_expect_success 'full repack, reusing previous bitmaps' '
'
test_expect_success 'fetch (full bitmap)' '
- git --git-dir=clone.git fetch origin master:master &&
+ git --git-dir=clone.git fetch origin second:second &&
git rev-parse HEAD >expect &&
git --git-dir=clone.git rev-parse HEAD >actual &&
test_cmp expect actual
@@ -277,7 +368,7 @@ test_expect_success 'pack with missing parent' '
git pack-objects --stdout --revs <revs >/dev/null
'
-test_expect_success JGIT 'we can read jgit bitmaps' '
+test_expect_success JGIT,SHA1 'we can read jgit bitmaps' '
git clone --bare . compat-jgit.git &&
(
cd compat-jgit.git &&
@@ -287,7 +378,7 @@ test_expect_success JGIT 'we can read jgit bitmaps' '
)
'
-test_expect_success JGIT 'jgit can read our bitmaps' '
+test_expect_success JGIT,SHA1 'jgit can read our bitmaps' '
git clone --bare . compat-us.git &&
(
cd compat-us.git &&
@@ -343,7 +434,20 @@ test_expect_success 'pack reuse respects --incremental' '
test_must_be_empty actual
'
-test_expect_success 'truncated bitmap fails gracefully' '
+test_expect_success 'truncated bitmap fails gracefully (ewah)' '
+ test_config pack.writebitmaphashcache false &&
+ git repack -ad &&
+ git rev-list --use-bitmap-index --count --all >expect &&
+ bitmap=$(ls .git/objects/pack/*.bitmap) &&
+ test_when_finished "rm -f $bitmap" &&
+ test_copy_bytes 256 <$bitmap >$bitmap.tmp &&
+ mv -f $bitmap.tmp $bitmap &&
+ git rev-list --use-bitmap-index --count --all >actual 2>stderr &&
+ test_cmp expect actual &&
+ test_i18ngrep corrupt.ewah.bitmap stderr
+'
+
+test_expect_success 'truncated bitmap fails gracefully (cache)' '
git repack -ad &&
git rev-list --use-bitmap-index --count --all >expect &&
bitmap=$(ls .git/objects/pack/*.bitmap) &&
@@ -352,7 +456,7 @@ test_expect_success 'truncated bitmap fails gracefully' '
mv -f $bitmap.tmp $bitmap &&
git rev-list --use-bitmap-index --count --all >actual 2>stderr &&
test_cmp expect actual &&
- test_i18ngrep corrupt stderr
+ test_i18ngrep corrupted.bitmap.index stderr
'
# have_delta <obj> <expected_base>
diff --git a/t/t5312-prune-corruption.sh b/t/t5312-prune-corruption.sh
index da9d59940d..11423b3cb2 100755
--- a/t/t5312-prune-corruption.sh
+++ b/t/t5312-prune-corruption.sh
@@ -8,6 +8,9 @@ bail out or to proceed using it as a reachable tip, but it is _not_
OK to proceed as if it did not exist. Otherwise we might silently
delete objects that cannot be recovered.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'disable reflogs' '
@@ -16,7 +19,7 @@ test_expect_success 'disable reflogs' '
'
test_expect_success 'create history reachable only from a bogus-named ref' '
- test_tick && git commit --allow-empty -m master &&
+ test_tick && git commit --allow-empty -m main &&
base=$(git rev-parse HEAD) &&
test_tick && git commit --allow-empty -m bogus &&
bogus=$(git rev-parse HEAD) &&
@@ -51,7 +54,7 @@ test_expect_success 'clean up bogus ref' '
'
# We create two new objects here, "one" and "two". Our
-# master branch points to "two", which is deleted,
+# main branch points to "two", which is deleted,
# corrupting the repository. But we'd like to make sure
# that the otherwise unreachable "one" is not pruned
# (since it is the user's best bet for recovering
@@ -81,7 +84,7 @@ test_expect_success 'pruning with a corrupted tip does not drop history' '
test_expect_success 'pack-refs does not silently delete broken loose ref' '
git pack-refs --all --prune &&
echo $missing >expect &&
- git rev-parse refs/heads/master >actual &&
+ git rev-parse refs/heads/main >actual &&
test_cmp expect actual
'
@@ -89,25 +92,25 @@ test_expect_success 'pack-refs does not silently delete broken loose ref' '
# actually pack it, as it is perfectly reasonable to
# skip processing a broken ref
test_expect_success 'create packed-refs file with broken ref' '
- rm -f .git/refs/heads/master &&
+ rm -f .git/refs/heads/main &&
cat >.git/packed-refs <<-EOF &&
- $missing refs/heads/master
+ $missing refs/heads/main
$recoverable refs/heads/other
EOF
echo $missing >expect &&
- git rev-parse refs/heads/master >actual &&
+ git rev-parse refs/heads/main >actual &&
test_cmp expect actual
'
test_expect_success 'pack-refs does not silently delete broken packed ref' '
git pack-refs --all --prune &&
- git rev-parse refs/heads/master >actual &&
+ git rev-parse refs/heads/main >actual &&
test_cmp expect actual
'
test_expect_success 'pack-refs does not drop broken refs during deletion' '
git update-ref -d refs/heads/other &&
- git rev-parse refs/heads/master >actual &&
+ git rev-parse refs/heads/main >actual &&
test_cmp expect actual
'
diff --git a/t/t5315-pack-objects-compression.sh b/t/t5315-pack-objects-compression.sh
index df970d7584..8bacd96275 100755
--- a/t/t5315-pack-objects-compression.sh
+++ b/t/t5315-pack-objects-compression.sh
@@ -4,12 +4,6 @@ test_description='pack-object compression configuration'
. ./test-lib.sh
-# This should be moved to test-lib.sh together with the
-# copy in t0021 after both topics have graduated to 'master'.
-file_size () {
- test-tool path-utils file-size "$1"
-}
-
test_expect_success setup '
printf "%2000000s" X |
git hash-object -w --stdin >object-name &&
@@ -24,7 +18,7 @@ do
test_expect_success "pack-objects with $config" '
test_when_finished "rm -f pack-*.*" &&
git $config pack-objects pack <object-name &&
- sz=$(file_size pack-*.pack) &&
+ sz=$(test_file_size pack-*.pack) &&
case "$expect" in
small) test "$sz" -le 100000 ;;
large) test "$sz" -ge 100000 ;;
diff --git a/t/t5317-pack-objects-filter-objects.sh b/t/t5317-pack-objects-filter-objects.sh
index dc0446574b..13ed3eb136 100755
--- a/t/t5317-pack-objects-filter-objects.sh
+++ b/t/t5317-pack-objects-filter-objects.sh
@@ -2,6 +2,9 @@
test_description='git pack-objects using object filtering'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# Test blob:none filter.
@@ -382,7 +385,7 @@ test_expect_success 'verify sparse:oid=oid-ish' '
awk -f print_2.awk ls_files_result |
sort >expected &&
- git -C r4 pack-objects --revs --stdout --filter=sparse:oid=master:pattern >filter.pack <<-EOF &&
+ git -C r4 pack-objects --revs --stdout --filter=sparse:oid=main:pattern >filter.pack <<-EOF &&
HEAD
EOF
git -C r4 index-pack ../filter.pack &&
diff --git a/t/t5319-multi-pack-index.sh b/t/t5319-multi-pack-index.sh
index ace469c95c..297de502a9 100755
--- a/t/t5319-multi-pack-index.sh
+++ b/t/t5319-multi-pack-index.sh
@@ -138,7 +138,7 @@ test_expect_success 'write midx with one v2 pack' '
compare_results_with_midx "one v2 pack"
-test_expect_success 'corrupt idx not opened' '
+test_expect_success 'corrupt idx reports errors' '
idx=$(test-tool read-midx $objdir | grep "\.idx\$") &&
mv $objdir/pack/$idx backup-$idx &&
test_when_finished "mv backup-\$idx \$objdir/pack/\$idx" &&
@@ -149,7 +149,7 @@ test_expect_success 'corrupt idx not opened' '
test_copy_bytes 1064 <backup-$idx >$objdir/pack/$idx &&
git -c core.multiPackIndex=true rev-list --objects --all 2>err &&
- test_must_be_empty err
+ grep "index unavailable" err
'
test_expect_success 'add more objects' '
@@ -755,4 +755,30 @@ test_expect_success 'repack --batch-size=<large> repacks everything' '
)
'
+test_expect_success 'load reverse index when missing .idx, .pack' '
+ git init repo &&
+ test_when_finished "rm -fr repo" &&
+ (
+ cd repo &&
+
+ git config core.multiPackIndex true &&
+
+ test_commit base &&
+ git repack -ad &&
+ git multi-pack-index write &&
+
+ git rev-parse HEAD >tip &&
+ pack=$(ls .git/objects/pack/pack-*.pack) &&
+ idx=$(ls .git/objects/pack/pack-*.idx) &&
+
+ mv $idx $idx.bak &&
+ git cat-file --batch-check="%(objectsize:disk)" <tip &&
+
+ mv $idx.bak $idx &&
+
+ mv $pack $pack.bak &&
+ git cat-file --batch-check="%(objectsize:disk)" <tip
+ )
+'
+
test_done
diff --git a/t/t5322-pack-objects-sparse.sh b/t/t5322-pack-objects-sparse.sh
index a581eaf529..61cb907a90 100755
--- a/t/t5322-pack-objects-sparse.sh
+++ b/t/t5322-pack-objects-sparse.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='pack-objects object selection using sparse algorithm'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup repo' '
@@ -18,7 +21,7 @@ test_expect_success 'setup repo' '
git commit -m "Initialized trees" &&
for i in $(test_seq 1 3)
do
- git checkout -b topic$i master &&
+ git checkout -b topic$i main &&
echo change-$i >f$i/f$i/data.txt &&
git commit -a -m "Changed f$i/f$i/data.txt"
done &&
diff --git a/t/t5323-pack-redundant.sh b/t/t5323-pack-redundant.sh
index 6b4d1ca353..8b01793845 100755
--- a/t/t5323-pack-redundant.sh
+++ b/t/t5323-pack-redundant.sh
@@ -6,7 +6,7 @@
test_description='Test git pack-redundant
In order to test git-pack-redundant, we will create a number of objects and
-packs in the repository `master.git`. The relationship between packs (P1-P8)
+packs in the repository `main.git`. The relationship between packs (P1-P8)
and objects (T, A-R) is showed in the following chart. Objects of a pack will
be marked with letter x, while objects of redundant packs will be marked with
exclamation point, and redundant pack itself will be marked with asterisk.
@@ -25,7 +25,7 @@ exclamation point, and redundant pack itself will be marked with asterisk.
ALL | x x x x x x x x x x x x x x x x x x x
Another repository `shared.git` has unique objects (X-Z), while other objects
-(marked with letter s) are shared through alt-odb (of `master.git`). The
+(marked with letter s) are shared through alt-odb (of `main.git`). The
relationship between packs and objects is as follows:
| T A B C D E F G H I J K L M N O P Q R X Y Z
@@ -36,9 +36,11 @@ relationship between packs and objects is as follows:
. ./test-lib.sh
-master_repo=master.git
+main_repo=main.git
shared_repo=shared.git
+git_pack_redundant='git pack-redundant --i-still-use-this'
+
# Create commits in <repo> and assign each commit's oid to shell variables
# given in the arguments (A, B, and C). E.g.:
#
@@ -69,7 +71,7 @@ create_commits_in () {
shift ||
return 1
done &&
- git -C "$repo" update-ref refs/heads/master $oid
+ git -C "$repo" update-ref refs/heads/main $oid
}
# Create pack in <repo> and assign pack id to variable given in the 2nd argument
@@ -107,9 +109,20 @@ format_packfiles () {
sort
}
-test_expect_success 'setup master repo' '
- git init --bare "$master_repo" &&
- create_commits_in "$master_repo" A B C D E F G H I J K L M N O P Q R
+test_expect_success 'setup main repo' '
+ git init --bare "$main_repo" &&
+ create_commits_in "$main_repo" A B C D E F G H I J K L M N O P Q R
+'
+
+test_expect_success 'master: pack-redundant works with no packfile' '
+ (
+ cd "$master_repo" &&
+ cat >expect <<-EOF &&
+ fatal: Zero packs found!
+ EOF
+ test_must_fail $git_pack_redundant --all >actual 2>&1 &&
+ test_cmp expect actual
+ )
'
#############################################################################
@@ -118,14 +131,12 @@ test_expect_success 'setup master repo' '
# | T A B C D E F G H I J K L M N O P Q R
# ----+--------------------------------------
# P1 | x x x x x x x x
-# P2 | x x x x x x x
-# P3 | x x x x x x
# ----+--------------------------------------
-# ALL | x x x x x x x x x x x x x x x
+# ALL | x x x x x x x x
#
#############################################################################
-test_expect_success 'master: no redundant for pack 1, 2, 3' '
- create_pack_in "$master_repo" P1 <<-EOF &&
+test_expect_success 'main: pack-redundant works with one packfile' '
+ create_pack_in "$main_repo" P1 <<-EOF &&
$T
$A
$B
@@ -135,7 +146,27 @@ test_expect_success 'master: no redundant for pack 1, 2, 3' '
$F
$R
EOF
- create_pack_in "$master_repo" P2 <<-EOF &&
+ (
+ cd "$main_repo" &&
+ $git_pack_redundant --all >out &&
+ test_must_be_empty out
+ )
+'
+
+#############################################################################
+# Chart of packs and objects for this test case
+#
+# | T A B C D E F G H I J K L M N O P Q R
+# ----+--------------------------------------
+# P1 | x x x x x x x x
+# P2 | x x x x x x x
+# P3 | x x x x x x
+# ----+--------------------------------------
+# ALL | x x x x x x x x x x x x x x x
+#
+#############################################################################
+test_expect_success 'main: no redundant for pack 1, 2, 3' '
+ create_pack_in "$main_repo" P2 <<-EOF &&
$B
$C
$D
@@ -144,7 +175,7 @@ test_expect_success 'master: no redundant for pack 1, 2, 3' '
$H
$I
EOF
- create_pack_in "$master_repo" P3 <<-EOF &&
+ create_pack_in "$main_repo" P3 <<-EOF &&
$F
$I
$J
@@ -153,8 +184,8 @@ test_expect_success 'master: no redundant for pack 1, 2, 3' '
$M
EOF
(
- cd "$master_repo" &&
- git pack-redundant --all >out &&
+ cd "$main_repo" &&
+ $git_pack_redundant --all >out &&
test_must_be_empty out
)
'
@@ -173,26 +204,26 @@ test_expect_success 'master: no redundant for pack 1, 2, 3' '
# ALL | x x x x x x x x x x x x x x x x x x
#
#############################################################################
-test_expect_success 'master: one of pack-2/pack-3 is redundant' '
- create_pack_in "$master_repo" P4 <<-EOF &&
+test_expect_success 'main: one of pack-2/pack-3 is redundant' '
+ create_pack_in "$main_repo" P4 <<-EOF &&
$J
$K
$L
$M
$P
EOF
- create_pack_in "$master_repo" P5 <<-EOF &&
+ create_pack_in "$main_repo" P5 <<-EOF &&
$G
$H
$N
$O
EOF
(
- cd "$master_repo" &&
+ cd "$main_repo" &&
cat >expect <<-EOF &&
P3:$P3
EOF
- git pack-redundant --all >out &&
+ $git_pack_redundant --all >out &&
format_packfiles <out >actual &&
test_cmp expect actual
)
@@ -214,24 +245,24 @@ test_expect_success 'master: one of pack-2/pack-3 is redundant' '
# ALL | x x x x x x x x x x x x x x x x x x x
#
#############################################################################
-test_expect_success 'master: pack 2, 4, and 6 are redundant' '
- create_pack_in "$master_repo" P6 <<-EOF &&
+test_expect_success 'main: pack 2, 4, and 6 are redundant' '
+ create_pack_in "$main_repo" P6 <<-EOF &&
$N
$O
$Q
EOF
- create_pack_in "$master_repo" P7 <<-EOF &&
+ create_pack_in "$main_repo" P7 <<-EOF &&
$P
$Q
EOF
(
- cd "$master_repo" &&
+ cd "$main_repo" &&
cat >expect <<-EOF &&
P2:$P2
P4:$P4
P6:$P6
EOF
- git pack-redundant --all >out &&
+ $git_pack_redundant --all >out &&
format_packfiles <out >actual &&
test_cmp expect actual
)
@@ -254,57 +285,57 @@ test_expect_success 'master: pack 2, 4, and 6 are redundant' '
# ALL | x x x x x x x x x x x x x x x x x x x
#
#############################################################################
-test_expect_success 'master: pack-8 (subset of pack-1) is also redundant' '
- create_pack_in "$master_repo" P8 <<-EOF &&
+test_expect_success 'main: pack-8 (subset of pack-1) is also redundant' '
+ create_pack_in "$main_repo" P8 <<-EOF &&
$A
EOF
(
- cd "$master_repo" &&
+ cd "$main_repo" &&
cat >expect <<-EOF &&
P2:$P2
P4:$P4
P6:$P6
P8:$P8
EOF
- git pack-redundant --all >out &&
+ $git_pack_redundant --all >out &&
format_packfiles <out >actual &&
test_cmp expect actual
)
'
-test_expect_success 'master: clean loose objects' '
+test_expect_success 'main: clean loose objects' '
(
- cd "$master_repo" &&
+ cd "$main_repo" &&
git prune-packed &&
find objects -type f | sed -e "/objects\/pack\//d" >out &&
test_must_be_empty out
)
'
-test_expect_success 'master: remove redundant packs and pass fsck' '
+test_expect_success 'main: remove redundant packs and pass fsck' '
(
- cd "$master_repo" &&
- git pack-redundant --all | xargs rm &&
+ cd "$main_repo" &&
+ $git_pack_redundant --all | xargs rm &&
git fsck &&
- git pack-redundant --all >out &&
+ $git_pack_redundant --all >out &&
test_must_be_empty out
)
'
# The following test cases will execute inside `shared.git`, instead of
-# inside `master.git`.
+# inside `main.git`.
test_expect_success 'setup shared.git' '
- git clone --mirror "$master_repo" "$shared_repo" &&
+ git clone --mirror "$main_repo" "$shared_repo" &&
(
cd "$shared_repo" &&
- printf "../../$master_repo/objects\n" >objects/info/alternates
+ printf "../../$main_repo/objects\n" >objects/info/alternates
)
'
test_expect_success 'shared: all packs are redundant, but no output without --alt-odb' '
(
cd "$shared_repo" &&
- git pack-redundant --all >out &&
+ $git_pack_redundant --all >out &&
test_must_be_empty out
)
'
@@ -312,7 +343,7 @@ test_expect_success 'shared: all packs are redundant, but no output without --al
#############################################################################
# Chart of packs and objects for this test case
#
-# ================ master.git ===============
+# ================= main.git ================
# | T A B C D E F G H I J K L M N O P Q R <----------+
# ----+-------------------------------------- |
# P1 | x x x x x x x x |
@@ -343,7 +374,7 @@ test_expect_success 'shared: show redundant packs in stderr for verbose mode' '
P5:$P5
P7:$P7
EOF
- git pack-redundant --all --verbose >out 2>out.err &&
+ $git_pack_redundant --all --verbose >out 2>out.err &&
test_must_be_empty out &&
grep "pack$" out.err | format_packfiles >actual &&
test_cmp expect actual
@@ -356,9 +387,9 @@ test_expect_success 'shared: remove redundant packs, no packs left' '
cat >expect <<-EOF &&
fatal: Zero packs found!
EOF
- git pack-redundant --all --alt-odb | xargs rm &&
+ $git_pack_redundant --all --alt-odb | xargs rm &&
git fsck &&
- test_must_fail git pack-redundant --all --alt-odb >actual 2>&1 &&
+ test_must_fail $git_pack_redundant --all --alt-odb >actual 2>&1 &&
test_cmp expect actual
)
'
@@ -386,7 +417,7 @@ test_expect_success 'shared: create new objects and packs' '
test_expect_success 'shared: no redundant without --alt-odb' '
(
cd "$shared_repo" &&
- git pack-redundant --all >out &&
+ $git_pack_redundant --all >out &&
test_must_be_empty out
)
'
@@ -394,7 +425,7 @@ test_expect_success 'shared: no redundant without --alt-odb' '
#############################################################################
# Chart of packs and objects for this test case
#
-# ================ master.git ===============
+# ================= main.git ================
# | T A B C D E F G H I J K L M N O P Q R <----------------+
# ----+-------------------------------------- |
# P1 | x x x x x x x x |
@@ -417,7 +448,7 @@ test_expect_success 'shared: no redundant without --alt-odb' '
test_expect_success 'shared: one pack is redundant with --alt-odb' '
(
cd "$shared_repo" &&
- git pack-redundant --all --alt-odb >out &&
+ $git_pack_redundant --all --alt-odb >out &&
format_packfiles <out >actual &&
test_line_count = 1 actual
)
@@ -426,7 +457,7 @@ test_expect_success 'shared: one pack is redundant with --alt-odb' '
#############################################################################
# Chart of packs and objects for this test case
#
-# ================ master.git ===============
+# ================= main.git ================
# | T A B C D E F G H I J K L M N O P Q R <----------------+
# ----+-------------------------------------- |
# P1 | x x x x x x x x |
@@ -454,7 +485,7 @@ test_expect_success 'shared: ignore unique objects and all two packs are redunda
Px1:$Px1
Px2:$Px2
EOF
- git pack-redundant --all --alt-odb >out <<-EOF &&
+ $git_pack_redundant --all --alt-odb >out <<-EOF &&
$X
$Y
$Z
diff --git a/t/t5324-split-commit-graph.sh b/t/t5324-split-commit-graph.sh
index c334ee9155..4d3842b83b 100755
--- a/t/t5324-split-commit-graph.sh
+++ b/t/t5324-split-commit-graph.sh
@@ -440,4 +440,17 @@ test_expect_success '--split=replace with partial Bloom data' '
verify_chain_files_exist $graphdir
'
+test_expect_success 'prevent regression for duplicate commits across layers' '
+ git init dup &&
+ git -C dup commit --allow-empty -m one &&
+ git -C dup -c core.commitGraph=false commit-graph write --split=no-merge --reachable 2>err &&
+ test_i18ngrep "attempting to write a commit-graph" err &&
+ git -C dup commit-graph write --split=no-merge --reachable &&
+ git -C dup commit --allow-empty -m two &&
+ git -C dup commit-graph write --split=no-merge --reachable &&
+ git -C dup commit --allow-empty -m three &&
+ git -C dup commit-graph write --split --reachable &&
+ git -C dup commit-graph verify
+'
+
test_done
diff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh
index b84618c925..3f81f16e13 100755
--- a/t/t5400-send-pack.sh
+++ b/t/t5400-send-pack.sh
@@ -6,6 +6,9 @@
test_description='See why rewinding head breaks send-pack
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
cnt=64
@@ -21,14 +24,15 @@ test_expect_success setup '
i=0 &&
while test $i -le $cnt
do
- i=$(($i+1)) &&
- test_tick &&
- echo "Commit #$i" >mozart/is/pink &&
- git update-index --add mozart/is/pink &&
- tree=$(git write-tree) &&
- commit=$(echo "Commit #$i" | git commit-tree $tree -p $parent) &&
- git update-ref refs/tags/commit$i $commit &&
- parent=$commit || return 1
+ i=$(($i+1)) &&
+ test_tick &&
+ echo "Commit #$i" >mozart/is/pink &&
+ git update-index --add mozart/is/pink &&
+ tree=$(git write-tree) &&
+ commit=$(echo "Commit #$i" |
+ git commit-tree $tree -p $parent) &&
+ git update-ref refs/tags/commit$i $commit &&
+ parent=$commit || return 1
done &&
git update-ref HEAD "$commit" &&
git clone ./. victim &&
@@ -38,14 +42,14 @@ test_expect_success setup '
i=0 &&
while test $i -le $cnt
do
- i=$(($i+1)) &&
- test_tick &&
- echo "Rebase #$i" >mozart/is/pink &&
- git update-index --add mozart/is/pink &&
- tree=$(git write-tree) &&
- commit=$(echo "Rebase #$i" | git commit-tree $tree -p $parent) &&
- git update-ref refs/tags/rebase$i $commit &&
- parent=$commit || return 1
+ i=$(($i+1)) &&
+ test_tick &&
+ echo "Rebase #$i" >mozart/is/pink &&
+ git update-index --add mozart/is/pink &&
+ tree=$(git write-tree) &&
+ commit=$(echo "Rebase #$i" | git commit-tree $tree -p $parent) &&
+ git update-ref refs/tags/rebase$i $commit &&
+ parent=$commit || return 1
done &&
git update-ref HEAD "$commit" &&
echo Rebase &&
@@ -57,40 +61,40 @@ test_expect_success 'pack the source repository' '
'
test_expect_success 'pack the destination repository' '
- (
- cd victim &&
- git repack -a -d &&
- git prune
- )
+ (
+ cd victim &&
+ git repack -a -d &&
+ git prune
+ )
'
test_expect_success 'refuse pushing rewound head without --force' '
- pushed_head=$(git rev-parse --verify master) &&
- victim_orig=$(cd victim && git rev-parse --verify master) &&
- test_must_fail git send-pack ./victim master &&
- victim_head=$(cd victim && git rev-parse --verify master) &&
+ pushed_head=$(git rev-parse --verify main) &&
+ victim_orig=$(cd victim && git rev-parse --verify main) &&
+ test_must_fail git send-pack ./victim main &&
+ victim_head=$(cd victim && git rev-parse --verify main) &&
test "$victim_head" = "$victim_orig" &&
# this should update
- git send-pack --force ./victim master &&
- victim_head=$(cd victim && git rev-parse --verify master) &&
+ git send-pack --force ./victim main &&
+ victim_head=$(cd victim && git rev-parse --verify main) &&
test "$victim_head" = "$pushed_head"
'
test_expect_success 'push can be used to delete a ref' '
- ( cd victim && git branch extra master ) &&
- git send-pack ./victim :extra master &&
+ ( cd victim && git branch extra main ) &&
+ git send-pack ./victim :extra main &&
( cd victim &&
test_must_fail git rev-parse --verify extra )
'
test_expect_success 'refuse deleting push with denyDeletes' '
(
- cd victim &&
- test_might_fail git branch -D extra &&
- git config receive.denyDeletes true &&
- git branch extra master
+ cd victim &&
+ test_might_fail git branch -D extra &&
+ git config receive.denyDeletes true &&
+ git branch extra main
) &&
- test_must_fail git send-pack ./victim :extra master
+ test_must_fail git send-pack ./victim :extra main
'
test_expect_success 'cannot override denyDeletes with git -c send-pack' '
@@ -98,10 +102,10 @@ test_expect_success 'cannot override denyDeletes with git -c send-pack' '
cd victim &&
test_might_fail git branch -D extra &&
git config receive.denyDeletes true &&
- git branch extra master
+ git branch extra main
) &&
test_must_fail git -c receive.denyDeletes=false \
- send-pack ./victim :extra master
+ send-pack ./victim :extra main
'
test_expect_success 'override denyDeletes with git -c receive-pack' '
@@ -109,22 +113,22 @@ test_expect_success 'override denyDeletes with git -c receive-pack' '
cd victim &&
test_might_fail git branch -D extra &&
git config receive.denyDeletes true &&
- git branch extra master
+ git branch extra main
) &&
git send-pack \
--receive-pack="git -c receive.denyDeletes=false receive-pack" \
- ./victim :extra master
+ ./victim :extra main
'
test_expect_success 'denyNonFastforwards trumps --force' '
(
- cd victim &&
- test_might_fail git branch -D extra &&
- git config receive.denyNonFastforwards true
+ cd victim &&
+ test_might_fail git branch -D extra &&
+ git config receive.denyNonFastforwards true
) &&
- victim_orig=$(cd victim && git rev-parse --verify master) &&
- test_must_fail git send-pack --force ./victim master^:master &&
- victim_head=$(cd victim && git rev-parse --verify master) &&
+ victim_orig=$(cd victim && git rev-parse --verify main) &&
+ test_must_fail git send-pack --force ./victim main^:main &&
+ victim_head=$(cd victim && git rev-parse --verify main) &&
test "$victim_orig" = "$victim_head"
'
@@ -143,16 +147,16 @@ test_expect_success 'send-pack --all sends all branches' '
test_expect_success 'push --all excludes remote-tracking hierarchy' '
mkdir parent &&
(
- cd parent &&
- git init && : >file && git add file && git commit -m add
+ cd parent &&
+ git init && : >file && git add file && git commit -m add
) &&
git clone parent child &&
(
- cd child && git push --all
+ cd child && git push --all
) &&
(
- cd parent &&
- test -z "$(git for-each-ref refs/remotes/origin)"
+ cd parent &&
+ test -z "$(git for-each-ref refs/remotes/origin)"
)
'
@@ -160,33 +164,33 @@ test_expect_success 'receive-pack runs auto-gc in remote repo' '
rm -rf parent child &&
git init parent &&
(
- # Setup a repo with 2 packs
- cd parent &&
- echo "Some text" >file.txt &&
- git add . &&
- git commit -m "Initial commit" &&
- git repack -adl &&
- echo "Some more text" >>file.txt &&
- git commit -a -m "Second commit" &&
- git repack
+ # Setup a repo with 2 packs
+ cd parent &&
+ echo "Some text" >file.txt &&
+ git add . &&
+ git commit -m "Initial commit" &&
+ git repack -adl &&
+ echo "Some more text" >>file.txt &&
+ git commit -a -m "Second commit" &&
+ git repack
) &&
cp -R parent child &&
(
- # Set the child to auto-pack if more than one pack exists
- cd child &&
- git config gc.autopacklimit 1 &&
- git config gc.autodetach false &&
- git branch test_auto_gc &&
- # And create a file that follows the temporary object naming
- # convention for the auto-gc to remove
- : >.git/objects/tmp_test_object &&
- test-tool chmtime =-1209601 .git/objects/tmp_test_object
+ # Set the child to auto-pack if more than one pack exists
+ cd child &&
+ git config gc.autopacklimit 1 &&
+ git config gc.autodetach false &&
+ git branch test_auto_gc &&
+ # And create a file that follows the temporary object naming
+ # convention for the auto-gc to remove
+ : >.git/objects/tmp_test_object &&
+ test-tool chmtime =-1209601 .git/objects/tmp_test_object
) &&
(
- cd parent &&
- echo "Even more text" >>file.txt &&
- git commit -a -m "Third commit" &&
- git send-pack ../child HEAD:refs/heads/test_auto_gc
+ cd parent &&
+ echo "Even more text" >>file.txt &&
+ git commit -a -m "Third commit" &&
+ git send-pack ../child HEAD:refs/heads/test_auto_gc
) &&
test ! -e child/.git/objects/tmp_test_object
'
@@ -195,63 +199,63 @@ rewound_push_setup() {
rm -rf parent child &&
mkdir parent &&
(
- cd parent &&
- git init &&
- echo one >file && git add file && git commit -m one &&
- git config receive.denyCurrentBranch warn &&
- echo two >file && git commit -a -m two
+ cd parent &&
+ git init &&
+ echo one >file && git add file && git commit -m one &&
+ git config receive.denyCurrentBranch warn &&
+ echo two >file && git commit -a -m two
) &&
git clone parent child &&
(
- cd child && git reset --hard HEAD^
+ cd child && git reset --hard HEAD^
)
}
test_expect_success 'pushing explicit refspecs respects forcing' '
rewound_push_setup &&
- parent_orig=$(cd parent && git rev-parse --verify master) &&
+ parent_orig=$(cd parent && git rev-parse --verify main) &&
(
- cd child &&
- test_must_fail git send-pack ../parent \
- refs/heads/master:refs/heads/master
+ cd child &&
+ test_must_fail git send-pack ../parent \
+ refs/heads/main:refs/heads/main
) &&
- parent_head=$(cd parent && git rev-parse --verify master) &&
+ parent_head=$(cd parent && git rev-parse --verify main) &&
test "$parent_orig" = "$parent_head" &&
(
- cd child &&
- git send-pack ../parent \
- +refs/heads/master:refs/heads/master
+ cd child &&
+ git send-pack ../parent \
+ +refs/heads/main:refs/heads/main
) &&
- parent_head=$(cd parent && git rev-parse --verify master) &&
- child_head=$(cd child && git rev-parse --verify master) &&
+ parent_head=$(cd parent && git rev-parse --verify main) &&
+ child_head=$(cd child && git rev-parse --verify main) &&
test "$parent_head" = "$child_head"
'
test_expect_success 'pushing wildcard refspecs respects forcing' '
rewound_push_setup &&
- parent_orig=$(cd parent && git rev-parse --verify master) &&
+ parent_orig=$(cd parent && git rev-parse --verify main) &&
(
- cd child &&
- test_must_fail git send-pack ../parent \
- "refs/heads/*:refs/heads/*"
+ cd child &&
+ test_must_fail git send-pack ../parent \
+ "refs/heads/*:refs/heads/*"
) &&
- parent_head=$(cd parent && git rev-parse --verify master) &&
+ parent_head=$(cd parent && git rev-parse --verify main) &&
test "$parent_orig" = "$parent_head" &&
(
- cd child &&
- git send-pack ../parent \
- "+refs/heads/*:refs/heads/*"
+ cd child &&
+ git send-pack ../parent \
+ "+refs/heads/*:refs/heads/*"
) &&
- parent_head=$(cd parent && git rev-parse --verify master) &&
- child_head=$(cd child && git rev-parse --verify master) &&
+ parent_head=$(cd parent && git rev-parse --verify main) &&
+ child_head=$(cd child && git rev-parse --verify main) &&
test "$parent_head" = "$child_head"
'
test_expect_success 'deny pushing to delete current branch' '
rewound_push_setup &&
(
- cd child &&
- test_must_fail git send-pack ../parent :refs/heads/master 2>errs
+ cd child &&
+ test_must_fail git send-pack ../parent :refs/heads/main 2>errs
)
'
@@ -282,14 +286,14 @@ test_expect_success 'receive-pack de-dupes .have lines' '
local=$(git -C fork rev-parse HEAD) &&
shared=$(git -C shared rev-parse only-shared) &&
cat >expect <<-EOF &&
- $local refs/heads/master
+ $local refs/heads/main
$local refs/remotes/origin/HEAD
- $local refs/remotes/origin/master
+ $local refs/remotes/origin/main
$shared .have
EOF
GIT_TRACE_PACKET=$(pwd)/trace GIT_TEST_PROTOCOL_VERSION=0 \
- git push \
+ git push \
--receive-pack="unset GIT_TRACE_PACKET; git-receive-pack" \
fork HEAD:foo &&
extract_ref_advertisement <trace >refs &&
diff --git a/t/t5401-update-hooks.sh b/t/t5401-update-hooks.sh
index 956d69f5b1..6012cc8172 100755
--- a/t/t5401-update-hooks.sh
+++ b/t/t5401-update-hooks.sh
@@ -15,11 +15,11 @@ test_expect_success setup '
git update-index a &&
tree1=$(git write-tree) &&
commit1=$(echo modify | git commit-tree $tree1 -p $commit0) &&
- git update-ref refs/heads/master $commit0 &&
+ git update-ref refs/heads/main $commit0 &&
git update-ref refs/heads/tofail $commit1 &&
git clone --bare ./. victim.git &&
GIT_DIR=victim.git git update-ref refs/heads/tofail $commit1 &&
- git update-ref refs/heads/master $commit1 &&
+ git update-ref refs/heads/main $commit1 &&
git update-ref refs/heads/tofail $commit0
'
@@ -38,7 +38,7 @@ echo "$@" >>$GIT_DIR/update.args
read x; printf %s "$x" >$GIT_DIR/update.stdin
echo STDOUT update $1
echo STDERR update $1 >&2
-test "$1" = refs/heads/master || exit
+test "$1" = refs/heads/main || exit
EOF
chmod u+x victim.git/hooks/update
@@ -62,11 +62,11 @@ chmod u+x victim.git/hooks/post-update
test_expect_success push '
test_must_fail git send-pack --force ./victim.git \
- master tofail >send.out 2>send.err
+ main tofail >send.out 2>send.err
'
test_expect_success 'updated as expected' '
- test $(GIT_DIR=victim.git git rev-parse master) = $commit1 &&
+ test $(GIT_DIR=victim.git git rev-parse main) = $commit1 &&
test $(GIT_DIR=victim.git git rev-parse tofail) = $commit1
'
@@ -82,24 +82,24 @@ test_expect_success 'hooks ran' '
'
test_expect_success 'pre-receive hook input' '
- (echo $commit0 $commit1 refs/heads/master &&
+ (echo $commit0 $commit1 refs/heads/main &&
echo $commit1 $commit0 refs/heads/tofail
) | test_cmp - victim.git/pre-receive.stdin
'
test_expect_success 'update hook arguments' '
- (echo refs/heads/master $commit0 $commit1 &&
+ (echo refs/heads/main $commit0 $commit1 &&
echo refs/heads/tofail $commit1 $commit0
) | test_cmp - victim.git/update.args
'
test_expect_success 'post-receive hook input' '
- echo $commit0 $commit1 refs/heads/master |
+ echo $commit0 $commit1 refs/heads/main |
test_cmp - victim.git/post-receive.stdin
'
test_expect_success 'post-update hook arguments' '
- echo refs/heads/master |
+ echo refs/heads/main |
test_cmp - victim.git/post-update.args
'
@@ -120,8 +120,8 @@ test_expect_success 'send-pack produced no output' '
cat <<EOF >expect
remote: STDOUT pre-receive
remote: STDERR pre-receive
-remote: STDOUT update refs/heads/master
-remote: STDERR update refs/heads/master
+remote: STDOUT update refs/heads/main
+remote: STDERR update refs/heads/main
remote: STDOUT update refs/heads/tofail
remote: STDERR update refs/heads/tofail
remote: error: hook declined to update refs/heads/tofail
@@ -143,7 +143,7 @@ test_expect_success 'pre-receive hook that forgets to read its input' '
for v in $(test_seq 100 999)
do
- git branch branch_$v master || return
+ git branch branch_$v main || return
done &&
git push ./victim.git "+refs/heads/*:refs/heads/*"
'
diff --git a/t/t5402-post-merge-hook.sh b/t/t5402-post-merge-hook.sh
index 6eb2ffd6ec..3e5e19c719 100755
--- a/t/t5402-post-merge-hook.sh
+++ b/t/t5402-post-merge-hook.sh
@@ -4,6 +4,9 @@
#
test_description='Test the post-merge hook.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -15,7 +18,7 @@ test_expect_success setup '
git update-index a &&
tree1=$(git write-tree) &&
commit1=$(echo modify | git commit-tree $tree1 -p $commit0) &&
- git update-ref refs/heads/master $commit0 &&
+ git update-ref refs/heads/main $commit0 &&
git clone ./. clone1 &&
GIT_DIR=clone1/.git git update-index --add a &&
git clone ./. clone2 &&
@@ -23,34 +26,34 @@ test_expect_success setup '
'
for clone in 1 2; do
- cat >clone${clone}/.git/hooks/post-merge <<'EOF'
+ cat >clone${clone}/.git/hooks/post-merge <<'EOF'
#!/bin/sh
echo $@ >> $GIT_DIR/post-merge.args
EOF
- chmod u+x clone${clone}/.git/hooks/post-merge
+ chmod u+x clone${clone}/.git/hooks/post-merge
done
test_expect_success 'post-merge does not run for up-to-date ' '
- GIT_DIR=clone1/.git git merge $commit0 &&
+ GIT_DIR=clone1/.git git merge $commit0 &&
! test -f clone1/.git/post-merge.args
'
test_expect_success 'post-merge runs as expected ' '
- GIT_DIR=clone1/.git git merge $commit1 &&
+ GIT_DIR=clone1/.git git merge $commit1 &&
test -e clone1/.git/post-merge.args
'
test_expect_success 'post-merge from normal merge receives the right argument ' '
- grep 0 clone1/.git/post-merge.args
+ grep 0 clone1/.git/post-merge.args
'
test_expect_success 'post-merge from squash merge runs as expected ' '
- GIT_DIR=clone2/.git git merge --squash $commit1 &&
+ GIT_DIR=clone2/.git git merge --squash $commit1 &&
test -e clone2/.git/post-merge.args
'
test_expect_success 'post-merge from squash merge receives the right argument ' '
- grep 1 clone2/.git/post-merge.args
+ grep 1 clone2/.git/post-merge.args
'
test_done
diff --git a/t/t5403-post-checkout-hook.sh b/t/t5403-post-checkout-hook.sh
index a39b3b5c78..1ec9e23be7 100755
--- a/t/t5403-post-checkout-hook.sh
+++ b/t/t5403-post-checkout-hook.sh
@@ -4,6 +4,9 @@
#
test_description='Test the post-checkout hook.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -20,7 +23,7 @@ test_expect_success setup '
test_expect_success 'post-checkout receives the right arguments with HEAD unchanged ' '
test_when_finished "rm -f .git/post-checkout.args" &&
- git checkout master &&
+ git checkout main &&
read old new flag <.git/post-checkout.args &&
test $old = $new && test $flag = 1
'
@@ -41,14 +44,14 @@ test_expect_success 'post-checkout receives the right args with HEAD changed ' '
test_expect_success 'post-checkout receives the right args when not switching branches ' '
test_when_finished "rm -f .git/post-checkout.args" &&
- git checkout master -- three.t &&
+ git checkout main -- three.t &&
read old new flag <.git/post-checkout.args &&
test $old = $new && test $flag = 0
'
test_expect_success 'post-checkout is triggered on rebase' '
test_when_finished "rm -f .git/post-checkout.args" &&
- git checkout -b rebase-test master &&
+ git checkout -b rebase-test main &&
rm -f .git/post-checkout.args &&
git rebase rebase-on-me &&
read old new flag <.git/post-checkout.args &&
diff --git a/t/t5404-tracking-branches.sh b/t/t5404-tracking-branches.sh
index 2762f420bc..cc07889667 100755
--- a/t/t5404-tracking-branches.sh
+++ b/t/t5404-tracking-branches.sh
@@ -2,6 +2,9 @@
test_description='tracking branch update checks for git push'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -30,9 +33,9 @@ test_expect_success 'prepare pushable branches' '
git checkout -b b2 origin/b2 &&
echo aa-b2 >>file &&
git commit -a -m aa-b2 &&
- git checkout master &&
- echo aa-master >>file &&
- git commit -a -m aa-master
+ git checkout main &&
+ echo aa-main >>file &&
+ git commit -a -m aa-main
'
test_expect_success 'mixed-success push returns error' '
@@ -40,7 +43,7 @@ test_expect_success 'mixed-success push returns error' '
'
test_expect_success 'check tracking branches updated correctly after push' '
- test "$(git rev-parse origin/master)" = "$(git rev-parse master)"
+ test "$(git rev-parse origin/main)" = "$(git rev-parse main)"
'
test_expect_success 'check tracking branches not updated for failed refs' '
diff --git a/t/t5405-send-pack-rewind.sh b/t/t5405-send-pack-rewind.sh
index 235fb7686a..11f03239a0 100755
--- a/t/t5405-send-pack-rewind.sh
+++ b/t/t5405-send-pack-rewind.sh
@@ -2,6 +2,9 @@
test_description='forced push to replace commit we do not have'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -13,7 +16,7 @@ test_expect_success setup '
mkdir another && (
cd another &&
git init &&
- git fetch --update-head-ok .. master:master
+ git fetch --update-head-ok .. main:main
) &&
>file2 && git add file2 && test_tick &&
@@ -25,7 +28,7 @@ test_expect_success 'non forced push should die not segfault' '
(
cd another &&
- test_must_fail git push .. master:master
+ test_must_fail git push .. main:main
)
'
@@ -34,7 +37,7 @@ test_expect_success 'forced push should succeed' '
(
cd another &&
- git push .. +master:master
+ git push .. +main:main
)
'
diff --git a/t/t5407-post-rewrite-hook.sh b/t/t5407-post-rewrite-hook.sh
index 80750a817e..5bb23cc3a4 100755
--- a/t/t5407-post-rewrite-hook.sh
+++ b/t/t5407-post-rewrite-hook.sh
@@ -4,6 +4,9 @@
#
test_description='Test the post-rewrite hook.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -14,7 +17,7 @@ test_expect_success 'setup' '
git checkout A^0 &&
test_commit E bar E &&
test_commit F foo F &&
- git checkout master
+ git checkout main
'
mkdir .git/hooks
diff --git a/t/t5410-receive-pack-alternates.sh b/t/t5410-receive-pack-alternates.sh
index f00d0da860..0b28e4e452 100755
--- a/t/t5410-receive-pack-alternates.sh
+++ b/t/t5410-receive-pack-alternates.sh
@@ -2,14 +2,17 @@
test_description='git receive-pack with alternate ref filtering'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
test_commit base &&
git clone -s --bare . fork &&
- git checkout -b public/branch master &&
+ git checkout -b public/branch main &&
test_commit public &&
- git checkout -b private/branch master &&
+ git checkout -b private/branch main &&
test_commit private
'
diff --git a/t/t5411-proc-receive-hook.sh b/t/t5411-proc-receive-hook.sh
index 746487286f..98b0e81208 100755
--- a/t/t5411-proc-receive-hook.sh
+++ b/t/t5411-proc-receive-hook.sh
@@ -5,13 +5,16 @@
test_description='Test proc-receive hook'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/t5411/common-functions.sh
setup_upstream_and_workbench () {
- # Refs of upstream : master(A)
- # Refs of workbench: master(A) tags/v123
+ # Refs of upstream : main(A)
+ # Refs of workbench: main(A) tags/v123
test_expect_success "setup upstream and workbench" '
rm -rf upstream.git &&
rm -rf workbench &&
@@ -25,10 +28,10 @@ setup_upstream_and_workbench () {
git config core.abbrev 7 &&
git tag -m "v123" v123 $A &&
git remote add origin ../upstream.git &&
- git push origin master &&
- git update-ref refs/heads/master $A $B &&
+ git push origin main &&
+ git update-ref refs/heads/main $A $B &&
git -C ../upstream.git update-ref \
- refs/heads/master $A $B
+ refs/heads/main $A $B
) &&
TAG=$(git -C workbench rev-parse v123) &&
@@ -99,8 +102,8 @@ start_httpd
# Re-initialize the upstream repository and local workbench.
setup_upstream_and_workbench
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "setup for HTTP protocol" '
git -C upstream.git config http.receivepack true &&
upstream="$HTTPD_DOCUMENT_ROOT_PATH/upstream.git" &&
diff --git a/t/t5411/common-functions.sh b/t/t5411/common-functions.sh
index 6580bebd8e..344d13f61a 100644
--- a/t/t5411/common-functions.sh
+++ b/t/t5411/common-functions.sh
@@ -28,7 +28,7 @@ create_commits_in () {
shift ||
return 1
done &&
- git -C "$repo" update-ref refs/heads/master $oid
+ git -C "$repo" update-ref refs/heads/main $oid
}
# Format the output of git-push, git-show-ref and other commands to make a
@@ -42,7 +42,7 @@ create_commits_in () {
make_user_friendly_and_stable_output () {
sed \
-e "s/ *\$//" \
- -e "s/ */ /g" \
+ -e "s/ */ /g" \
-e "s/'/\"/g" \
-e "s/ / /g" \
-e "s/$A/<COMMIT-A>/g" \
@@ -54,3 +54,8 @@ make_user_friendly_and_stable_output () {
-e "s#To $URL_PREFIX/upstream.git#To <URL/of/upstream.git>#" \
-e "/^error: / d"
}
+
+filter_out_user_friendly_and_stable_output () {
+ make_user_friendly_and_stable_output |
+ sed -n ${1+"$@"}
+}
diff --git a/t/t5411/once-0010-report-status-v1.sh b/t/t5411/once-0010-report-status-v1.sh
index dc2cf4a522..cb431a9c91 100644
--- a/t/t5411/once-0010-report-status-v1.sh
+++ b/t/t5411/once-0010-report-status-v1.sh
@@ -6,12 +6,12 @@ test_expect_success "setup proc-receive hook" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic1" \
+ -r "ok refs/for/main/topic1" \
-r "option fall-through" \
- -r "ok refs/for/master/topic2" \
+ -r "ok refs/for/main/topic2" \
-r "option refname refs/for/changes/23/123/1" \
-r "option new-oid $A" \
- -r "ok refs/for/master/topic2" \
+ -r "ok refs/for/main/topic2" \
-r "option refname refs/for/changes/24/124/2" \
-r "option old-oid $B" \
-r "option new-oid $A" \
@@ -20,26 +20,26 @@ test_expect_success "setup proc-receive hook" '
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : (B) refs/for/master/topic1(A) foo(A) refs/for/next/topic(A) refs/for/master/topic2(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : (B) refs/for/main/topic1(A) foo(A) refs/for/next/topic(A) refs/for/main/topic2(A)
test_expect_success "proc-receive: report status v1" '
{
if test -z "$GIT_DEFAULT_HASH" || test "$GIT_DEFAULT_HASH" = "sha1"
then
- printf "%s %s refs/heads/master\0report-status\n" \
+ printf "%s %s refs/heads/main\0report-status\n" \
$A $B | packetize
else
- printf "%s %s refs/heads/master\0report-status object-format=$GIT_DEFAULT_HASH\n" \
+ printf "%s %s refs/heads/main\0report-status object-format=$GIT_DEFAULT_HASH\n" \
$A $B | packetize
fi &&
- printf "%s %s refs/for/master/topic1\n" \
+ printf "%s %s refs/for/main/topic1\n" \
$ZERO_OID $A | packetize &&
printf "%s %s refs/heads/foo\n" \
$ZERO_OID $A | packetize &&
printf "%s %s refs/for/next/topic\n" \
$ZERO_OID $A | packetize &&
- printf "%s %s refs/for/master/topic2\n" \
+ printf "%s %s refs/for/main/topic2\n" \
$ZERO_OID $A | packetize &&
printf 0000 &&
printf "" | git -C "$upstream" pack-objects --stdout
@@ -48,35 +48,35 @@ test_expect_success "proc-receive: report status v1" '
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
# pre-receive hook
- pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
- pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic1
+ pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
+ pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic1
pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/foo
pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
- pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic2
+ pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic2
# proc-receive hook
- proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic1
+ proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic1
proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
- proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic2
- proc-receive> ok refs/for/master/topic1
+ proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic2
+ proc-receive> ok refs/for/main/topic1
proc-receive> option fall-through
- proc-receive> ok refs/for/master/topic2
+ proc-receive> ok refs/for/main/topic2
proc-receive> option refname refs/for/changes/23/123/1
proc-receive> option new-oid <COMMIT-A>
- proc-receive> ok refs/for/master/topic2
+ proc-receive> ok refs/for/main/topic2
proc-receive> option refname refs/for/changes/24/124/2
proc-receive> option old-oid <COMMIT-B>
proc-receive> option new-oid <COMMIT-A>
proc-receive> option forced-update
proc-receive> ng refs/for/next/topic target branch not exist
000eunpack ok
- 0019ok refs/heads/master
- 001eok refs/for/master/topic1
+ 0017ok refs/heads/main
+ 001cok refs/for/main/topic1
0016ok refs/heads/foo
0033ng refs/for/next/topic target branch not exist
- 001eok refs/for/master/topic2
+ 001cok refs/for/main/topic2
0000# post-receive hook
- post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
- post-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic1
+ post-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
+ post-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic1
post-receive< <ZERO-OID> <COMMIT-A> refs/heads/foo
post-receive< <ZERO-OID> <COMMIT-A> refs/for/changes/23/123/1
post-receive< <COMMIT-B> <COMMIT-A> refs/for/changes/24/124/2
@@ -86,9 +86,9 @@ test_expect_success "proc-receive: report status v1" '
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/for/master/topic1
+ <COMMIT-A> refs/for/main/topic1
<COMMIT-A> refs/heads/foo
- <COMMIT-B> refs/heads/master
+ <COMMIT-B> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0000-standard-git-push.sh b/t/t5411/test-0000-standard-git-push.sh
index e206587348..47b058af7e 100644
--- a/t/t5411/test-0000-standard-git-push.sh
+++ b/t/t5411/test-0000-standard-git-push.sh
@@ -1,70 +1,69 @@
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git-push : master(B) next(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git-push : main(B) next(A)
test_expect_success "git-push ($PROTOCOL)" '
git -C workbench push origin \
- $B:refs/heads/master \
+ $B:refs/heads/main \
HEAD:refs/heads/next \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
remote: # post-receive hook
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
To <URL/of/upstream.git>
- <OID-A>..<OID-B> <COMMIT-B> -> master
+ <OID-A>..<OID-B> <COMMIT-B> -> main
* [new branch] HEAD -> next
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-B> refs/heads/master
+ <COMMIT-B> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
'
-# Refs of upstream : master(B) next(A)
-# Refs of workbench: master(A) tags/v123
-# git-push --atomic: master(A) next(B)
+# Refs of upstream : main(B) next(A)
+# Refs of workbench: main(A) tags/v123
+# git-push --atomic: main(A) next(B)
test_expect_success "git-push --atomic ($PROTOCOL)" '
test_must_fail git -C workbench push --atomic origin \
- master \
+ main \
$B:refs/heads/next \
>out 2>&1 &&
- make_user_friendly_and_stable_output <out |
- sed -n \
- -e "/^To / { s/ */ /g; p; }" \
- -e "/^ ! / { s/ */ /g; p; }" \
- >actual &&
+ filter_out_user_friendly_and_stable_output \
+ -e "/^To / { p; }" \
+ -e "/^ ! / { p; }" \
+ <out >actual &&
cat >expect <<-EOF &&
To <URL/of/upstream.git>
- ! [rejected] master -> master (non-fast-forward)
+ ! [rejected] main -> main (non-fast-forward)
! [rejected] <COMMIT-B> -> next (atomic push failed)
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-B> refs/heads/master
+ <COMMIT-B> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
'
-# Refs of upstream : master(B) next(A)
-# Refs of workbench: master(A) tags/v123
-# git-push : master(A) next(B)
+# Refs of upstream : main(B) next(A)
+# Refs of workbench: main(A) tags/v123
+# git-push : main(A) next(B)
test_expect_success "non-fast-forward git-push ($PROTOCOL)" '
test_must_fail git \
-C workbench \
-c advice.pushUpdateRejected=false \
push origin \
- master \
+ main \
$B:refs/heads/next \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
@@ -75,48 +74,48 @@ test_expect_success "non-fast-forward git-push ($PROTOCOL)" '
remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/next
To <URL/of/upstream.git>
<OID-A>..<OID-B> <COMMIT-B> -> next
- ! [rejected] master -> master (non-fast-forward)
+ ! [rejected] main -> main (non-fast-forward)
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-B> refs/heads/master
+ <COMMIT-B> refs/heads/main
<COMMIT-B> refs/heads/next
EOF
test_cmp expect actual
'
-# Refs of upstream : master(B) next(B)
-# Refs of workbench: master(A) tags/v123
-# git-push -f : master(A) NULL tags/v123 refs/review/master/topic(A) a/b/c(A)
+# Refs of upstream : main(B) next(B)
+# Refs of workbench: main(A) tags/v123
+# git-push -f : main(A) NULL tags/v123 refs/review/main/topic(A) a/b/c(A)
test_expect_success "git-push -f ($PROTOCOL)" '
git -C workbench push -f origin \
refs/tags/v123 \
:refs/heads/next \
- master \
- master:refs/review/master/topic \
+ main \
+ main:refs/review/main/topic \
HEAD:refs/heads/a/b/c \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
+ remote: pre-receive< <COMMIT-B> <COMMIT-A> refs/heads/main
remote: pre-receive< <COMMIT-B> <ZERO-OID> refs/heads/next
remote: pre-receive< <ZERO-OID> <TAG-v123> refs/tags/v123
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/review/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/review/main/topic
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/a/b/c
remote: # post-receive hook
- remote: post-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
+ remote: post-receive< <COMMIT-B> <COMMIT-A> refs/heads/main
remote: post-receive< <COMMIT-B> <ZERO-OID> refs/heads/next
remote: post-receive< <ZERO-OID> <TAG-v123> refs/tags/v123
- remote: post-receive< <ZERO-OID> <COMMIT-A> refs/review/master/topic
+ remote: post-receive< <ZERO-OID> <COMMIT-A> refs/review/main/topic
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/a/b/c
To <URL/of/upstream.git>
- + <OID-B>...<OID-A> master -> master (forced update)
+ + <OID-B>...<OID-A> main -> main (forced update)
- [deleted] next
* [new tag] v123 -> v123
- * [new reference] master -> refs/review/master/topic
+ * [new reference] main -> refs/review/main/topic
* [new branch] HEAD -> a/b/c
EOF
test_cmp expect actual &&
@@ -124,19 +123,19 @@ test_expect_success "git-push -f ($PROTOCOL)" '
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
<COMMIT-A> refs/heads/a/b/c
- <COMMIT-A> refs/heads/master
- <COMMIT-A> refs/review/master/topic
+ <COMMIT-A> refs/heads/main
+ <COMMIT-A> refs/review/main/topic
<TAG-v123> refs/tags/v123
EOF
test_cmp expect actual
'
-# Refs of upstream : master(A) tags/v123 refs/review/master/topic(A) a/b/c(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A) tags/v123 refs/review/main/topic(A) a/b/c(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL)" '
(
cd "$upstream" &&
- git update-ref -d refs/review/master/topic &&
+ git update-ref -d refs/review/main/topic &&
git update-ref -d refs/tags/v123 &&
git update-ref -d refs/heads/a/b/c
)
diff --git a/t/t5411/test-0001-standard-git-push--porcelain.sh b/t/t5411/test-0001-standard-git-push--porcelain.sh
index 48f6fcc846..bbead12bbb 100644
--- a/t/t5411/test-0001-standard-git-push--porcelain.sh
+++ b/t/t5411/test-0001-standard-git-push--porcelain.sh
@@ -1,21 +1,21 @@
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git-push : master(B) next(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git-push : main(B) next(A)
test_expect_success "git-push ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain origin \
- $B:refs/heads/master \
+ $B:refs/heads/main \
HEAD:refs/heads/next \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
remote: # post-receive hook
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
To <URL/of/upstream.git>
- <COMMIT-B>:refs/heads/master <OID-A>..<OID-B>
+ <COMMIT-B>:refs/heads/main <OID-A>..<OID-B>
* HEAD:refs/heads/next [new branch]
Done
EOF
@@ -23,50 +23,49 @@ test_expect_success "git-push ($PROTOCOL/porcelain)" '
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-B> refs/heads/master
+ <COMMIT-B> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
'
-# Refs of upstream : master(B) next(A)
-# Refs of workbench: master(A) tags/v123
-# git-push --atomic: master(A) next(B)
+# Refs of upstream : main(B) next(A)
+# Refs of workbench: main(A) tags/v123
+# git-push --atomic: main(A) next(B)
test_expect_success "git-push --atomic ($PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --atomic --porcelain origin \
- master \
+ main \
$B:refs/heads/next \
>out 2>&1 &&
- make_user_friendly_and_stable_output <out |
- sed -n \
- -e "s/^# GETTEXT POISON #//" \
- -e "/^To / { s/ */ /g; p; }" \
- -e "/^! / { s/ */ /g; p; }" \
- >actual &&
+ filter_out_user_friendly_and_stable_output \
+ -e "s/^# GETTEXT POISON #//" \
+ -e "/^To / { p; }" \
+ -e "/^! / { p; }" \
+ <out >actual &&
cat >expect <<-EOF &&
To <URL/of/upstream.git>
- ! refs/heads/master:refs/heads/master [rejected] (non-fast-forward)
- ! <COMMIT-B>:refs/heads/next [rejected] (atomic push failed)
+ ! refs/heads/main:refs/heads/main [rejected] (non-fast-forward)
+ ! <COMMIT-B>:refs/heads/next [rejected] (atomic push failed)
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-B> refs/heads/master
+ <COMMIT-B> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
'
-# Refs of upstream : master(B) next(A)
-# Refs of workbench: master(A) tags/v123
-# git-push : master(A) next(B)
+# Refs of upstream : main(B) next(A)
+# Refs of workbench: main(A) tags/v123
+# git-push : main(A) next(B)
test_expect_success "non-fast-forward git-push ($PROTOCOL/porcelain)" '
test_must_fail git \
-C workbench \
-c advice.pushUpdateRejected=false \
push --porcelain origin \
- master \
+ main \
$B:refs/heads/next \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
@@ -77,49 +76,49 @@ test_expect_success "non-fast-forward git-push ($PROTOCOL/porcelain)" '
remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/next
To <URL/of/upstream.git>
<COMMIT-B>:refs/heads/next <OID-A>..<OID-B>
- ! refs/heads/master:refs/heads/master [rejected] (non-fast-forward)
+ ! refs/heads/main:refs/heads/main [rejected] (non-fast-forward)
Done
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-B> refs/heads/master
+ <COMMIT-B> refs/heads/main
<COMMIT-B> refs/heads/next
EOF
test_cmp expect actual
'
-# Refs of upstream : master(B) next(B)
-# Refs of workbench: master(A) tags/v123
-# git-push -f : master(A) NULL tags/v123 refs/review/master/topic(A) a/b/c(A)
+# Refs of upstream : main(B) next(B)
+# Refs of workbench: main(A) tags/v123
+# git-push -f : main(A) NULL tags/v123 refs/review/main/topic(A) a/b/c(A)
test_expect_success "git-push -f ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain -f origin \
refs/tags/v123 \
:refs/heads/next \
- master \
- master:refs/review/master/topic \
+ main \
+ main:refs/review/main/topic \
HEAD:refs/heads/a/b/c \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
+ remote: pre-receive< <COMMIT-B> <COMMIT-A> refs/heads/main
remote: pre-receive< <COMMIT-B> <ZERO-OID> refs/heads/next
remote: pre-receive< <ZERO-OID> <TAG-v123> refs/tags/v123
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/review/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/review/main/topic
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/a/b/c
remote: # post-receive hook
- remote: post-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
+ remote: post-receive< <COMMIT-B> <COMMIT-A> refs/heads/main
remote: post-receive< <COMMIT-B> <ZERO-OID> refs/heads/next
remote: post-receive< <ZERO-OID> <TAG-v123> refs/tags/v123
- remote: post-receive< <ZERO-OID> <COMMIT-A> refs/review/master/topic
+ remote: post-receive< <ZERO-OID> <COMMIT-A> refs/review/main/topic
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/a/b/c
To <URL/of/upstream.git>
- + refs/heads/master:refs/heads/master <OID-B>...<OID-A> (forced update)
+ + refs/heads/main:refs/heads/main <OID-B>...<OID-A> (forced update)
- :refs/heads/next [deleted]
* refs/tags/v123:refs/tags/v123 [new tag]
- * refs/heads/master:refs/review/master/topic [new reference]
+ * refs/heads/main:refs/review/main/topic [new reference]
* HEAD:refs/heads/a/b/c [new branch]
Done
EOF
@@ -128,19 +127,19 @@ test_expect_success "git-push -f ($PROTOCOL/porcelain)" '
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
<COMMIT-A> refs/heads/a/b/c
- <COMMIT-A> refs/heads/master
- <COMMIT-A> refs/review/master/topic
+ <COMMIT-A> refs/heads/main
+ <COMMIT-A> refs/review/main/topic
<TAG-v123> refs/tags/v123
EOF
test_cmp expect actual
'
-# Refs of upstream : master(A) tags/v123 refs/review/master/topic(A) a/b/c(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A) tags/v123 refs/review/main/topic(A) a/b/c(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL/porcelain)" '
(
cd "$upstream" &&
- git update-ref -d refs/review/master/topic &&
+ git update-ref -d refs/review/main/topic &&
git update-ref -d refs/tags/v123 &&
git update-ref -d refs/heads/a/b/c
)
diff --git a/t/t5411/test-0002-pre-receive-declined.sh b/t/t5411/test-0002-pre-receive-declined.sh
index c246f7e68e..e7d113a158 100644
--- a/t/t5411/test-0002-pre-receive-declined.sh
+++ b/t/t5411/test-0002-pre-receive-declined.sh
@@ -5,25 +5,25 @@ test_expect_success "setup pre-receive hook ($PROTOCOL)" '
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git-push : master(B) next(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git-push : main(B) next(A)
test_expect_success "git-push is declined ($PROTOCOL)" '
test_must_fail git -C workbench push origin \
- $B:refs/heads/master \
+ $B:refs/heads/main \
HEAD:refs/heads/next \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
To <URL/of/upstream.git>
- ! [remote rejected] <COMMIT-B> -> master (pre-receive hook declined)
+ ! [remote rejected] <COMMIT-B> -> main (pre-receive hook declined)
! [remote rejected] HEAD -> next (pre-receive hook declined)
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0003-pre-receive-declined--porcelain.sh b/t/t5411/test-0003-pre-receive-declined--porcelain.sh
index b14894de81..cc0cca6a47 100644
--- a/t/t5411/test-0003-pre-receive-declined--porcelain.sh
+++ b/t/t5411/test-0003-pre-receive-declined--porcelain.sh
@@ -5,18 +5,18 @@ test_expect_success "setup pre-receive hook ($PROTOCOL/porcelain)" '
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git-push : master(B) next(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git-push : main(B) next(A)
test_expect_success "git-push is declined ($PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --porcelain origin \
- $B:refs/heads/master \
+ $B:refs/heads/main \
HEAD:refs/heads/next \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
To <URL/of/upstream.git>
- ! <COMMIT-B>:refs/heads/master [remote rejected] (pre-receive hook declined)
+ ! <COMMIT-B>:refs/heads/main [remote rejected] (pre-receive hook declined)
! HEAD:refs/heads/next [remote rejected] (pre-receive hook declined)
Done
EOF
@@ -24,7 +24,7 @@ test_expect_success "git-push is declined ($PROTOCOL/porcelain)" '
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0011-no-hook-error.sh b/t/t5411/test-0011-no-hook-error.sh
index bb6ec92a92..c50830982f 100644
--- a/t/t5411/test-0011-no-hook-error.sh
+++ b/t/t5411/test-0011-no-hook-error.sh
@@ -1,64 +1,64 @@
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : next(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : next(A) refs/for/main/topic(A)
test_expect_success "proc-receive: no hook, fail to push special ref ($PROTOCOL)" '
test_must_fail git -C workbench push origin \
HEAD:next \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: error: cannot find hook "proc-receive"
remote: # post-receive hook
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
To <URL/of/upstream.git>
* [new branch] HEAD -> next
- ! [remote rejected] HEAD -> refs/for/master/topic (fail to run proc-receive hook)
+ ! [remote rejected] HEAD -> refs/for/main/topic (fail to run proc-receive hook)
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
'
-# Refs of upstream : master(A) next(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A) next(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL)" '
git -C "$upstream" update-ref -d refs/heads/next
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push --atomic: (B) next(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push --atomic: (B) next(A) refs/for/main/topic(A)
test_expect_success "proc-receive: no hook, all failed for atomic push ($PROTOCOL)" '
test_must_fail git -C workbench push --atomic origin \
- $B:master \
+ $B:main \
HEAD:next \
- HEAD:refs/for/master/topic >out 2>&1 &&
+ HEAD:refs/for/main/topic >out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: error: cannot find hook "proc-receive"
To <URL/of/upstream.git>
- ! [remote rejected] <COMMIT-B> -> master (fail to run proc-receive hook)
+ ! [remote rejected] <COMMIT-B> -> main (fail to run proc-receive hook)
! [remote rejected] HEAD -> next (fail to run proc-receive hook)
- ! [remote rejected] HEAD -> refs/for/master/topic (fail to run proc-receive hook)
+ ! [remote rejected] HEAD -> refs/for/main/topic (fail to run proc-receive hook)
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0012-no-hook-error--porcelain.sh b/t/t5411/test-0012-no-hook-error--porcelain.sh
index 4814f74dc2..14ea433481 100644
--- a/t/t5411/test-0012-no-hook-error--porcelain.sh
+++ b/t/t5411/test-0012-no-hook-error--porcelain.sh
@@ -1,66 +1,66 @@
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : next(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : next(A) refs/for/main/topic(A)
test_expect_success "proc-receive: no hook, fail to push special ref ($PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --porcelain origin \
HEAD:next \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: error: cannot find hook "proc-receive"
remote: # post-receive hook
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
To <URL/of/upstream.git>
* HEAD:refs/heads/next [new branch]
- ! HEAD:refs/for/master/topic [remote rejected] (fail to run proc-receive hook)
+ ! HEAD:refs/for/main/topic [remote rejected] (fail to run proc-receive hook)
Done
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
'
-# Refs of upstream : master(A) next(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A) next(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL/porcelain)" '
git -C "$upstream" update-ref -d refs/heads/next
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push --atomic: (B) next(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push --atomic: (B) next(A) refs/for/main/topic(A)
test_expect_success "proc-receive: no hook, all failed for atomic push ($PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --porcelain --atomic origin \
- $B:master \
+ $B:main \
HEAD:next \
- HEAD:refs/for/master/topic >out 2>&1 &&
+ HEAD:refs/for/main/topic >out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: error: cannot find hook "proc-receive"
To <URL/of/upstream.git>
- ! <COMMIT-B>:refs/heads/master [remote rejected] (fail to run proc-receive hook)
+ ! <COMMIT-B>:refs/heads/main [remote rejected] (fail to run proc-receive hook)
! HEAD:refs/heads/next [remote rejected] (fail to run proc-receive hook)
- ! HEAD:refs/for/master/topic [remote rejected] (fail to run proc-receive hook)
+ ! HEAD:refs/for/main/topic [remote rejected] (fail to run proc-receive hook)
Done
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0013-bad-protocol.sh b/t/t5411/test-0013-bad-protocol.sh
index c5fe4cb37b..b9be12be77 100644
--- a/t/t5411/test-0013-bad-protocol.sh
+++ b/t/t5411/test-0013-bad-protocol.sh
@@ -5,22 +5,23 @@ test_expect_success "setup proc-receive hook (unknown version, $PROTOCOL)" '
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
test_expect_success "proc-receive: bad protocol (unknown version, $PROTOCOL)" '
test_must_fail git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
# Check status report for git-push
sed -n \
- -e "/^To / { p; n; p; }" \
+ -e "/^To / { p; }" \
+ -e "/^ ! / { p; }" \
<actual >actual-report &&
cat >expect <<-EOF &&
To <URL/of/upstream.git>
- ! [remote rejected] HEAD -> refs/for/master/topic (fail to run proc-receive hook)
+ ! [remote rejected] HEAD -> refs/for/main/topic (fail to run proc-receive hook)
EOF
test_cmp expect actual-report &&
@@ -36,68 +37,176 @@ test_expect_success "proc-receive: bad protocol (unknown version, $PROTOCOL)" '
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
-test_expect_success "setup proc-receive hook (hook --die-version, $PROTOCOL)" '
+test_expect_success "setup proc-receive hook (hook --die-read-version, $PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
- test-tool proc-receive -v --die-version
+ test-tool proc-receive -v --die-read-version
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic(A)
-test_expect_success "proc-receive: bad protocol (hook --die-version, $PROTOCOL)" '
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
+test_expect_success "proc-receive: bad protocol (hook --die-read-version, $PROTOCOL)" '
test_must_fail git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
+ filter_out_user_friendly_and_stable_output \
+ -e "/^To / { p; }" \
+ -e "/^ ! / { p; }" \
+ <out >actual &&
+ cat >expect <<-EOF &&
+ To <URL/of/upstream.git>
+ ! [remote rejected] HEAD -> refs/for/main/topic (fail to run proc-receive hook)
+ EOF
+ test_cmp expect actual &&
+ grep "remote: fatal: die with the --die-read-version option" out &&
+ grep "remote: error: fail to negotiate version with proc-receive hook" out &&
+
+ git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
+ cat >expect <<-EOF &&
+ <COMMIT-A> refs/heads/main
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success "setup proc-receive hook (hook --die-write-version, $PROTOCOL)" '
+ write_script "$upstream/hooks/proc-receive" <<-EOF
+ printf >&2 "# proc-receive hook\n"
+ test-tool proc-receive -v --die-write-version
+ EOF
+'
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
+test_expect_success "proc-receive: bad protocol (hook --die-write-version, $PROTOCOL)" '
+ test_must_fail git -C workbench push origin \
+ HEAD:refs/for/main/topic \
+ >out 2>&1 &&
+ filter_out_user_friendly_and_stable_output \
+ -e "/^To / { p; }" \
+ -e "/^ ! / { p; }" \
+ <out >actual &&
+ cat >expect <<-EOF &&
+ To <URL/of/upstream.git>
+ ! [remote rejected] HEAD -> refs/for/main/topic (fail to run proc-receive hook)
+ EOF
+ test_cmp expect actual &&
+ grep "remote: fatal: die with the --die-write-version option" out &&
+ grep "remote: error: fail to negotiate version with proc-receive hook" out &&
+
+ git -C "$upstream" show-ref >out &&
+ make_user_friendly_and_stable_output <out >actual &&
+ cat >expect <<-EOF &&
+ <COMMIT-A> refs/heads/main
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success "setup proc-receive hook (hook --die-read-commands, $PROTOCOL)" '
+ write_script "$upstream/hooks/proc-receive" <<-EOF
+ printf >&2 "# proc-receive hook\n"
+ test-tool proc-receive -v --die-read-commands
+ EOF
+'
+
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
+test_expect_success "proc-receive: bad protocol (hook --die-read-commands, $PROTOCOL)" '
+ test_must_fail git -C workbench push origin \
+ HEAD:refs/for/main/topic \
+ >out 2>&1 &&
+ filter_out_user_friendly_and_stable_output \
+ -e "/^To / { p; }" \
+ -e "/^ ! / { p; }" \
+ <out >actual &&
cat >expect <<-EOF &&
- remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: # proc-receive hook
- remote: fatal: bad protocol version: 1
- remote: error: proc-receive version "0" is not supported
To <URL/of/upstream.git>
- ! [remote rejected] HEAD -> refs/for/master/topic (fail to run proc-receive hook)
+ ! [remote rejected] HEAD -> refs/for/main/topic (fail to run proc-receive hook)
EOF
test_cmp expect actual &&
+ grep "remote: fatal: die with the --die-read-commands option" out &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
-test_expect_success "setup proc-receive hook (hook --die-readline, $PROTOCOL)" '
+test_expect_success "setup proc-receive hook (hook --die-read-push-options, $PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
- test-tool proc-receive -v --die-readline
+ test-tool proc-receive -v --die-read-push-options
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic(A)
-test_expect_success "proc-receive: bad protocol (hook --die-readline, $PROTOCOL)" '
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
+test_expect_success "proc-receive: bad protocol (hook --die-read-push-options, $PROTOCOL)" '
+ git -C "$upstream" config receive.advertisePushOptions true &&
test_must_fail git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ -o reviewers=user1,user2 \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
+ filter_out_user_friendly_and_stable_output \
+ -e "/^To / { p; }" \
+ -e "/^ ! / { p; }" \
+ <out >actual &&
+ cat >expect <<-EOF &&
+ To <URL/of/upstream.git>
+ ! [remote rejected] HEAD -> refs/for/main/topic (fail to run proc-receive hook)
+ EOF
+ test_cmp expect actual &&
+ grep "remote: fatal: die with the --die-read-push-options option" out &&
+
+ git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
+ cat >expect <<-EOF &&
+ <COMMIT-A> refs/heads/main
+ EOF
+ test_cmp expect actual
+'
- grep "remote: fatal: protocol error: expected \"old new ref\", got \"<ZERO-OID> <COMMIT-A> refs/for/master/topic\"" actual &&
+test_expect_success "setup proc-receive hook (hook --die-write-report, $PROTOCOL)" '
+ write_script "$upstream/hooks/proc-receive" <<-EOF
+ printf >&2 "# proc-receive hook\n"
+ test-tool proc-receive -v --die-write-report
+ EOF
+'
+
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
+test_expect_success "proc-receive: bad protocol (hook --die-write-report, $PROTOCOL)" '
+ test_must_fail git -C workbench push origin \
+ HEAD:refs/for/main/topic \
+ >out 2>&1 &&
+ filter_out_user_friendly_and_stable_output \
+ -e "/^To / { p; }" \
+ -e "/^ ! / { p; }" \
+ <out >actual &&
+ cat >expect <<-EOF &&
+ To <URL/of/upstream.git>
+ ! [remote rejected] HEAD -> refs/for/main/topic (fail to run proc-receive hook)
+ EOF
+ test_cmp expect actual &&
+ grep "remote: fatal: die with the --die-write-report option" out &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
@@ -109,38 +218,39 @@ test_expect_success "setup proc-receive hook (no report, $PROTOCOL)" '
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : next(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : next(A) refs/for/main/topic(A)
test_expect_success "proc-receive: bad protocol (no report, $PROTOCOL)" '
test_must_fail git -C workbench push origin \
HEAD:refs/heads/next \
- HEAD:refs/for/master/topic >out 2>&1 &&
+ HEAD:refs/for/main/topic >out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # post-receive hook
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
To <URL/of/upstream.git>
* [new branch] HEAD -> next
- ! [remote rejected] HEAD -> refs/for/master/topic (proc-receive failed to report status)
+ ! [remote rejected] HEAD -> refs/for/main/topic (proc-receive failed to report status)
EOF
test_cmp expect actual &&
+
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
'
-# Refs of upstream : master(A) next(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A) next(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL)" '
git -C "$upstream" update-ref -d refs/heads/next
@@ -154,29 +264,30 @@ test_expect_success "setup proc-receive hook (no ref, $PROTOCOL)" '
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic
test_expect_success "proc-receive: bad protocol (no ref, $PROTOCOL)" '
test_must_fail git -C workbench push origin \
- HEAD:refs/for/master/topic\
+ HEAD:refs/for/main/topic\
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: proc-receive> ok
remote: error: proc-receive reported incomplete status line: "ok"
To <URL/of/upstream.git>
- ! [remote rejected] HEAD -> refs/for/master/topic (proc-receive failed to report status)
+ ! [remote rejected] HEAD -> refs/for/main/topic (proc-receive failed to report status)
EOF
test_cmp expect actual &&
+
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
@@ -185,33 +296,34 @@ test_expect_success "setup proc-receive hook (unknown status, $PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "xx refs/for/master/topic"
+ -r "xx refs/for/main/topic"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic
test_expect_success "proc-receive: bad protocol (unknown status, $PROTOCOL)" '
test_must_fail git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> xx refs/for/master/topic
- remote: error: proc-receive reported bad status "xx" on ref "refs/for/master/topic"
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> xx refs/for/main/topic
+ remote: error: proc-receive reported bad status "xx" on ref "refs/for/main/topic"
To <URL/of/upstream.git>
- ! [remote rejected] HEAD -> refs/for/master/topic (proc-receive failed to report status)
+ ! [remote rejected] HEAD -> refs/for/main/topic (proc-receive failed to report status)
EOF
test_cmp expect actual &&
+
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0014-bad-protocol--porcelain.sh b/t/t5411/test-0014-bad-protocol--porcelain.sh
index 53b47b0185..fdb4569109 100644
--- a/t/t5411/test-0014-bad-protocol--porcelain.sh
+++ b/t/t5411/test-0014-bad-protocol--porcelain.sh
@@ -5,12 +5,12 @@ test_expect_success "setup proc-receive hook (unknown version, $PROTOCOL/porcela
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
test_expect_success "proc-receive: bad protocol (unknown version, $PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
@@ -20,7 +20,7 @@ test_expect_success "proc-receive: bad protocol (unknown version, $PROTOCOL/porc
<actual >actual-report &&
cat >expect <<-EOF &&
To <URL/of/upstream.git>
- ! HEAD:refs/for/master/topic [remote rejected] (fail to run proc-receive hook)
+ ! HEAD:refs/for/main/topic [remote rejected] (fail to run proc-receive hook)
Done
EOF
test_cmp expect actual-report &&
@@ -37,7 +37,176 @@ test_expect_success "proc-receive: bad protocol (unknown version, $PROTOCOL/porc
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success "setup proc-receive hook (hook --die-read-version, $PROTOCOL/porcelain)" '
+ write_script "$upstream/hooks/proc-receive" <<-EOF
+ printf >&2 "# proc-receive hook\n"
+ test-tool proc-receive -v --die-read-version
+ EOF
+'
+
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
+test_expect_success "proc-receive: bad protocol (hook --die-read-version, $PROTOCOL/porcelain)" '
+ test_must_fail git -C workbench push --porcelain origin \
+ HEAD:refs/for/main/topic \
+ >out 2>&1 &&
+ filter_out_user_friendly_and_stable_output \
+ -e "/^To / { p; n; p; n; p; }" \
+ <out >actual &&
+ cat >expect <<-EOF &&
+ To <URL/of/upstream.git>
+ ! HEAD:refs/for/main/topic [remote rejected] (fail to run proc-receive hook)
+ Done
+ EOF
+ test_cmp expect actual &&
+ grep "remote: fatal: die with the --die-read-version option" out &&
+ grep "remote: error: fail to negotiate version with proc-receive hook" out &&
+
+ git -C "$upstream" show-ref >out &&
+ make_user_friendly_and_stable_output <out >actual &&
+ cat >expect <<-EOF &&
+ <COMMIT-A> refs/heads/main
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success "setup proc-receive hook (hook --die-write-version, $PROTOCOL/porcelain)" '
+ write_script "$upstream/hooks/proc-receive" <<-EOF
+ printf >&2 "# proc-receive hook\n"
+ test-tool proc-receive -v --die-write-version
+ EOF
+'
+
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
+test_expect_success "proc-receive: bad protocol (hook --die-write-version, $PROTOCOL/porcelain)" '
+ test_must_fail git -C workbench push --porcelain origin \
+ HEAD:refs/for/main/topic \
+ >out 2>&1 &&
+ filter_out_user_friendly_and_stable_output \
+ -e "/^To / { p; n; p; n; p; }" \
+ <out >actual &&
+ cat >expect <<-EOF &&
+ To <URL/of/upstream.git>
+ ! HEAD:refs/for/main/topic [remote rejected] (fail to run proc-receive hook)
+ Done
+ EOF
+ test_cmp expect actual &&
+ grep "remote: fatal: die with the --die-write-version option" out &&
+ grep "remote: error: fail to negotiate version with proc-receive hook" out &&
+
+ git -C "$upstream" show-ref >out &&
+ make_user_friendly_and_stable_output <out >actual &&
+ cat >expect <<-EOF &&
+ <COMMIT-A> refs/heads/main
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success "setup proc-receive hook (hook --die-read-commands, $PROTOCOL/porcelain)" '
+ write_script "$upstream/hooks/proc-receive" <<-EOF
+ printf >&2 "# proc-receive hook\n"
+ test-tool proc-receive -v --die-read-commands
+ EOF
+'
+
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
+test_expect_success "proc-receive: bad protocol (hook --die-read-commands, $PROTOCOL/porcelain)" '
+ test_must_fail git -C workbench push --porcelain origin \
+ HEAD:refs/for/main/topic \
+ >out 2>&1 &&
+ filter_out_user_friendly_and_stable_output \
+ -e "/^To / { p; n; p; n; p; }" \
+ <out >actual &&
+ cat >expect <<-EOF &&
+ To <URL/of/upstream.git>
+ ! HEAD:refs/for/main/topic [remote rejected] (fail to run proc-receive hook)
+ Done
+ EOF
+ test_cmp expect actual &&
+ grep "remote: fatal: die with the --die-read-commands option" out &&
+
+ git -C "$upstream" show-ref >out &&
+ make_user_friendly_and_stable_output <out >actual &&
+ cat >expect <<-EOF &&
+ <COMMIT-A> refs/heads/main
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success "setup proc-receive hook (hook --die-read-push-options, $PROTOCOL/porcelain)" '
+ write_script "$upstream/hooks/proc-receive" <<-EOF
+ printf >&2 "# proc-receive hook\n"
+ test-tool proc-receive -v --die-read-push-options
+ EOF
+'
+
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
+test_expect_success "proc-receive: bad protocol (hook --die-read-push-options, $PROTOCOL/porcelain)" '
+ git -C "$upstream" config receive.advertisePushOptions true &&
+ test_must_fail git -C workbench push --porcelain origin \
+ -o reviewers=user1,user2 \
+ HEAD:refs/for/main/topic \
+ >out 2>&1 &&
+ filter_out_user_friendly_and_stable_output \
+ -e "/^To / { p; n; p; n; p; }" \
+ <out >actual &&
+ cat >expect <<-EOF &&
+ To <URL/of/upstream.git>
+ ! HEAD:refs/for/main/topic [remote rejected] (fail to run proc-receive hook)
+ Done
+ EOF
+ test_cmp expect actual &&
+ grep "remote: fatal: die with the --die-read-push-options option" out &&
+
+ git -C "$upstream" show-ref >out &&
+ make_user_friendly_and_stable_output <out >actual &&
+ cat >expect <<-EOF &&
+ <COMMIT-A> refs/heads/main
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success "setup proc-receive hook (hook --die-write-report, $PROTOCOL/porcelain)" '
+ write_script "$upstream/hooks/proc-receive" <<-EOF
+ printf >&2 "# proc-receive hook\n"
+ test-tool proc-receive -v --die-write-report
+ EOF
+'
+
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
+test_expect_success "proc-receive: bad protocol (hook --die-write-report, $PROTOCOL/porcelain)" '
+ test_must_fail git -C workbench push --porcelain origin \
+ HEAD:refs/for/main/topic \
+ >out 2>&1 &&
+ filter_out_user_friendly_and_stable_output \
+ -e "/^To / { p; n; p; n; p; }" \
+ <out >actual &&
+ cat >expect <<-EOF &&
+ To <URL/of/upstream.git>
+ ! HEAD:refs/for/main/topic [remote rejected] (fail to run proc-receive hook)
+ Done
+ EOF
+ test_cmp expect actual &&
+ grep "remote: fatal: die with the --die-write-report option" out &&
+
+ git -C "$upstream" show-ref >out &&
+ make_user_friendly_and_stable_output <out >actual &&
+ cat >expect <<-EOF &&
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
@@ -49,42 +218,42 @@ test_expect_success "setup proc-receive hook (no report, $PROTOCOL/porcelain)" '
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : next(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : next(A) refs/for/main/topic(A)
test_expect_success "proc-receive: bad protocol (no report, $PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --porcelain origin \
HEAD:refs/heads/next \
- HEAD:refs/for/master/topic >out 2>&1 &&
+ HEAD:refs/for/main/topic >out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # post-receive hook
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
To <URL/of/upstream.git>
* HEAD:refs/heads/next [new branch]
- ! HEAD:refs/for/master/topic [remote rejected] (proc-receive failed to report status)
+ ! HEAD:refs/for/main/topic [remote rejected] (proc-receive failed to report status)
Done
EOF
test_cmp expect actual &&
+
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
'
-# Refs of upstream : master(A) next(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A) next(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL/porcelain)" '
git -C "$upstream" update-ref -d refs/heads/next
-
'
test_expect_success "setup proc-receive hook (no ref, $PROTOCOL/porcelain)" '
@@ -95,30 +264,31 @@ test_expect_success "setup proc-receive hook (no ref, $PROTOCOL/porcelain)" '
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic
test_expect_success "proc-receive: bad protocol (no ref, $PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic\
+ HEAD:refs/for/main/topic\
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: proc-receive> ok
remote: error: proc-receive reported incomplete status line: "ok"
To <URL/of/upstream.git>
- ! HEAD:refs/for/master/topic [remote rejected] (proc-receive failed to report status)
+ ! HEAD:refs/for/main/topic [remote rejected] (proc-receive failed to report status)
Done
EOF
test_cmp expect actual &&
+
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
@@ -127,34 +297,35 @@ test_expect_success "setup proc-receive hook (unknown status, $PROTOCOL/porcelai
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "xx refs/for/master/topic"
+ -r "xx refs/for/main/topic"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic
test_expect_success "proc-receive: bad protocol (unknown status, $PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> xx refs/for/master/topic
- remote: error: proc-receive reported bad status "xx" on ref "refs/for/master/topic"
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> xx refs/for/main/topic
+ remote: error: proc-receive reported bad status "xx" on ref "refs/for/main/topic"
To <URL/of/upstream.git>
- ! HEAD:refs/for/master/topic [remote rejected] (proc-receive failed to report status)
+ ! HEAD:refs/for/main/topic [remote rejected] (proc-receive failed to report status)
Done
EOF
test_cmp expect actual &&
+
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0020-report-ng.sh b/t/t5411/test-0020-report-ng.sh
index f726b7ca9c..5a9e0daf2d 100644
--- a/t/t5411/test-0020-report-ng.sh
+++ b/t/t5411/test-0020-report-ng.sh
@@ -2,32 +2,32 @@ test_expect_success "setup proc-receive hook (ng, no message, $PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ng refs/for/master/topic"
+ -r "ng refs/for/main/topic"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic
test_expect_success "proc-receive: fail to update (ng, no message, $PROTOCOL)" '
test_must_fail git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ng refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ng refs/for/main/topic
To <URL/of/upstream.git>
- ! [remote rejected] HEAD -> refs/for/master/topic (failed)
+ ! [remote rejected] HEAD -> refs/for/main/topic (failed)
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
@@ -36,32 +36,32 @@ test_expect_success "setup proc-receive hook (ng message, $PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ng refs/for/master/topic error msg"
+ -r "ng refs/for/main/topic error msg"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic
test_expect_success "proc-receive: fail to update (ng, with message, $PROTOCOL)" '
test_must_fail git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ng refs/for/master/topic error msg
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ng refs/for/main/topic error msg
To <URL/of/upstream.git>
- ! [remote rejected] HEAD -> refs/for/master/topic (error msg)
+ ! [remote rejected] HEAD -> refs/for/main/topic (error msg)
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0021-report-ng--porcelain.sh b/t/t5411/test-0021-report-ng--porcelain.sh
index fbf5569103..93475a83cf 100644
--- a/t/t5411/test-0021-report-ng--porcelain.sh
+++ b/t/t5411/test-0021-report-ng--porcelain.sh
@@ -2,33 +2,33 @@ test_expect_success "setup proc-receive hook (ng, no message, $PROTOCOL/porcelai
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ng refs/for/master/topic"
+ -r "ng refs/for/main/topic"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic
test_expect_success "proc-receive: fail to update (ng, no message, $PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ng refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ng refs/for/main/topic
To <URL/of/upstream.git>
- ! HEAD:refs/for/master/topic [remote rejected] (failed)
+ ! HEAD:refs/for/main/topic [remote rejected] (failed)
Done
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
@@ -37,33 +37,33 @@ test_expect_success "setup proc-receive hook (ng message, $PROTOCOL/porcelain)"
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ng refs/for/master/topic error msg"
+ -r "ng refs/for/main/topic error msg"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic
test_expect_success "proc-receive: fail to update (ng, with message, $PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ng refs/for/master/topic error msg
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ng refs/for/main/topic error msg
To <URL/of/upstream.git>
- ! HEAD:refs/for/master/topic [remote rejected] (error msg)
+ ! HEAD:refs/for/main/topic [remote rejected] (error msg)
Done
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0022-report-unexpect-ref.sh b/t/t5411/test-0022-report-unexpect-ref.sh
index 92a415b929..f8be8a0ba1 100644
--- a/t/t5411/test-0022-report-unexpect-ref.sh
+++ b/t/t5411/test-0022-report-unexpect-ref.sh
@@ -2,44 +2,44 @@ test_expect_success "setup proc-receive hook (unexpected ref, $PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/heads/master"
+ -r "ok refs/heads/main"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : (B) refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : (B) refs/for/main/topic
test_expect_success "proc-receive: report unexpected ref ($PROTOCOL)" '
test_must_fail git -C workbench push origin \
- $B:refs/heads/master \
- HEAD:refs/for/master/topic \
+ $B:refs/heads/main \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/heads/master
- remote: error: proc-receive reported status on unexpected ref: refs/heads/master
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/heads/main
+ remote: error: proc-receive reported status on unexpected ref: refs/heads/main
remote: # post-receive hook
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
To <URL/of/upstream.git>
- <OID-A>..<OID-B> <COMMIT-B> -> master
- ! [remote rejected] HEAD -> refs/for/master/topic (proc-receive failed to report status)
+ <OID-A>..<OID-B> <COMMIT-B> -> main
+ ! [remote rejected] HEAD -> refs/for/main/topic (proc-receive failed to report status)
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-B> refs/heads/master
+ <COMMIT-B> refs/heads/main
EOF
test_cmp expect actual
'
-# Refs of upstream : master(B)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(B)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL)" '
- git -C "$upstream" update-ref refs/heads/master $A
+ git -C "$upstream" update-ref refs/heads/main $A
'
diff --git a/t/t5411/test-0023-report-unexpect-ref--porcelain.sh b/t/t5411/test-0023-report-unexpect-ref--porcelain.sh
index acbf93e40a..778150fa03 100644
--- a/t/t5411/test-0023-report-unexpect-ref--porcelain.sh
+++ b/t/t5411/test-0023-report-unexpect-ref--porcelain.sh
@@ -2,45 +2,45 @@ test_expect_success "setup proc-receive hook (unexpected ref, $PROTOCOL/porcelai
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/heads/master"
+ -r "ok refs/heads/main"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : (B) refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : (B) refs/for/main/topic
test_expect_success "proc-receive: report unexpected ref ($PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --porcelain origin \
- $B:refs/heads/master \
- HEAD:refs/for/master/topic \
+ $B:refs/heads/main \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/heads/master
- remote: error: proc-receive reported status on unexpected ref: refs/heads/master
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/heads/main
+ remote: error: proc-receive reported status on unexpected ref: refs/heads/main
remote: # post-receive hook
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
To <URL/of/upstream.git>
- <COMMIT-B>:refs/heads/master <OID-A>..<OID-B>
- ! HEAD:refs/for/master/topic [remote rejected] (proc-receive failed to report status)
+ <COMMIT-B>:refs/heads/main <OID-A>..<OID-B>
+ ! HEAD:refs/for/main/topic [remote rejected] (proc-receive failed to report status)
Done
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-B> refs/heads/master
+ <COMMIT-B> refs/heads/main
EOF
test_cmp expect actual
'
-# Refs of upstream : master(B)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(B)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL/porcelain)" '
- git -C "$upstream" update-ref refs/heads/master $A
+ git -C "$upstream" update-ref refs/heads/main $A
'
diff --git a/t/t5411/test-0024-report-unknown-ref.sh b/t/t5411/test-0024-report-unknown-ref.sh
index c3946f329a..d4e74e4681 100644
--- a/t/t5411/test-0024-report-unknown-ref.sh
+++ b/t/t5411/test-0024-report-unknown-ref.sh
@@ -2,12 +2,12 @@ test_expect_success "setup proc-receive hook (unexpected ref, $PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic"
+ -r "ok refs/for/main/topic"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
# git push : refs/for/a/b/c/my/topic
test_expect_success "proc-receive: report unknown reference ($PROTOCOL)" '
test_must_fail git -C workbench push origin \
@@ -19,8 +19,8 @@ test_expect_success "proc-receive: report unknown reference ($PROTOCOL)" '
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/my/topic
remote: # proc-receive hook
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/my/topic
- remote: proc-receive> ok refs/for/master/topic
- remote: error: proc-receive reported status on unknown ref: refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
+ remote: error: proc-receive reported status on unknown ref: refs/for/main/topic
To <URL/of/upstream.git>
! [remote rejected] HEAD -> refs/for/a/b/c/my/topic (proc-receive failed to report status)
EOF
@@ -28,7 +28,7 @@ test_expect_success "proc-receive: report unknown reference ($PROTOCOL)" '
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0025-report-unknown-ref--porcelain.sh b/t/t5411/test-0025-report-unknown-ref--porcelain.sh
index d093b1a579..039e8b6163 100644
--- a/t/t5411/test-0025-report-unknown-ref--porcelain.sh
+++ b/t/t5411/test-0025-report-unknown-ref--porcelain.sh
@@ -2,12 +2,12 @@ test_expect_success "setup proc-receive hook (unexpected ref, $PROTOCOL/porcelai
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic"
+ -r "ok refs/for/main/topic"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
# git push : refs/for/a/b/c/my/topic
test_expect_success "proc-receive: report unknown reference ($PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --porcelain origin \
@@ -19,8 +19,8 @@ test_expect_success "proc-receive: report unknown reference ($PROTOCOL/porcelain
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/my/topic
remote: # proc-receive hook
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/my/topic
- remote: proc-receive> ok refs/for/master/topic
- remote: error: proc-receive reported status on unknown ref: refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
+ remote: error: proc-receive reported status on unknown ref: refs/for/main/topic
To <URL/of/upstream.git>
! HEAD:refs/for/a/b/c/my/topic [remote rejected] (proc-receive failed to report status)
Done
@@ -29,7 +29,7 @@ test_expect_success "proc-receive: report unknown reference ($PROTOCOL/porcelain
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0026-push-options.sh b/t/t5411/test-0026-push-options.sh
index d0c4da8b23..e88edb16a4 100644
--- a/t/t5411/test-0026-push-options.sh
+++ b/t/t5411/test-0026-push-options.sh
@@ -3,19 +3,19 @@ test_expect_success "setup proc-receive hook and disable push-options ($PROTOCOL
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic"
+ -r "ok refs/for/main/topic"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push -o ... : refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push -o ... : refs/for/main/topic
test_expect_success "proc-receive: not support push options ($PROTOCOL)" '
test_must_fail git -C workbench push \
-o issue=123 \
-o reviewer=user1 \
origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
test_i18ngrep "fatal: the receiving end does not support push options" \
@@ -23,7 +23,7 @@ test_expect_success "proc-receive: not support push options ($PROTOCOL)" '
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
@@ -32,9 +32,69 @@ test_expect_success "enable push options ($PROTOCOL)" '
git -C "$upstream" config receive.advertisePushOptions true
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push -o ... : next(A) refs/for/master/topic
+test_expect_success "setup version=0 for proc-receive hook ($PROTOCOL)" '
+ write_script "$upstream/hooks/proc-receive" <<-EOF
+ printf >&2 "# proc-receive hook\n"
+ test-tool proc-receive -v \
+ --version 0 \
+ -r "ok refs/for/main/topic"
+ EOF
+'
+
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push -o ... : next(A) refs/for/main/topic
+test_expect_success "proc-receive: ignore push-options for version 0 ($PROTOCOL)" '
+ git -C workbench push \
+ --atomic \
+ -o issue=123 \
+ -o reviewer=user1 \
+ origin \
+ HEAD:refs/heads/next \
+ HEAD:refs/for/main/topic \
+ >out 2>&1 &&
+ make_user_friendly_and_stable_output <out >actual &&
+ cat >expect <<-EOF &&
+ remote: # pre-receive hook
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: # proc-receive hook
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
+ remote: # post-receive hook
+ remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
+ remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ To <URL/of/upstream.git>
+ * [new branch] HEAD -> next
+ * [new reference] HEAD -> refs/for/main/topic
+ EOF
+ test_cmp expect actual &&
+ git -C "$upstream" show-ref >out &&
+ make_user_friendly_and_stable_output <out >actual &&
+ cat >expect <<-EOF &&
+ <COMMIT-A> refs/heads/main
+ <COMMIT-A> refs/heads/next
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success "restore proc-receive hook ($PROTOCOL)" '
+ write_script "$upstream/hooks/proc-receive" <<-EOF
+ printf >&2 "# proc-receive hook\n"
+ test-tool proc-receive -v \
+ -r "ok refs/for/main/topic"
+ EOF
+'
+
+# Refs of upstream : main(A) next(A)
+# Refs of workbench: main(A) tags/v123
+test_expect_success "cleanup ($PROTOCOL)" '
+ git -C "$upstream" update-ref -d refs/heads/next
+'
+
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push -o ... : next(A) refs/for/main/topic
test_expect_success "proc-receive: push with options ($PROTOCOL)" '
git -C workbench push \
--atomic \
@@ -42,38 +102,38 @@ test_expect_success "proc-receive: push with options ($PROTOCOL)" '
-o reviewer=user1 \
origin \
HEAD:refs/heads/next \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
remote: proc-receive: atomic push_options
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: proc-receive< issue=123
remote: proc-receive< reviewer=user1
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: # post-receive hook
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
- remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
To <URL/of/upstream.git>
* [new branch] HEAD -> next
- * [new reference] HEAD -> refs/for/master/topic
+ * [new reference] HEAD -> refs/for/main/topic
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
'
-# Refs of upstream : master(A) next(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A) next(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL)" '
git -C "$upstream" update-ref -d refs/heads/next
'
diff --git a/t/t5411/test-0027-push-options--porcelain.sh b/t/t5411/test-0027-push-options--porcelain.sh
index c89a1e7c57..3a6561b5ea 100644
--- a/t/t5411/test-0027-push-options--porcelain.sh
+++ b/t/t5411/test-0027-push-options--porcelain.sh
@@ -3,20 +3,20 @@ test_expect_success "setup proc-receive hook and disable push-options ($PROTOCOL
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic"
+ -r "ok refs/for/main/topic"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push -o ... : refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push -o ... : refs/for/main/topic
test_expect_success "proc-receive: not support push options ($PROTOCOL/porcelain)" '
test_must_fail git -C workbench push \
--porcelain \
-o issue=123 \
-o reviewer=user1 \
origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
test_i18ngrep "fatal: the receiving end does not support push options" \
@@ -24,7 +24,7 @@ test_expect_success "proc-receive: not support push options ($PROTOCOL/porcelain
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
@@ -33,9 +33,71 @@ test_expect_success "enable push options ($PROTOCOL/porcelain)" '
git -C "$upstream" config receive.advertisePushOptions true
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push -o ... : next(A) refs/for/master/topic
+test_expect_success "setup version=0 for proc-receive hook ($PROTOCOL/porcelain)" '
+ write_script "$upstream/hooks/proc-receive" <<-EOF
+ printf >&2 "# proc-receive hook\n"
+ test-tool proc-receive -v \
+ --version 0 \
+ -r "ok refs/for/main/topic"
+ EOF
+'
+
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push -o ... : next(A) refs/for/main/topic
+test_expect_success "proc-receive: ignore push-options for version 0 ($PROTOCOL/porcelain)" '
+ git -C workbench push \
+ --porcelain \
+ --atomic \
+ -o issue=123 \
+ -o reviewer=user1 \
+ origin \
+ HEAD:refs/heads/next \
+ HEAD:refs/for/main/topic \
+ >out 2>&1 &&
+ make_user_friendly_and_stable_output <out >actual &&
+ cat >expect <<-EOF &&
+ remote: # pre-receive hook
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: # proc-receive hook
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
+ remote: # post-receive hook
+ remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
+ remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ To <URL/of/upstream.git>
+ * HEAD:refs/heads/next [new branch]
+ * HEAD:refs/for/main/topic [new reference]
+ Done
+ EOF
+ test_cmp expect actual &&
+ git -C "$upstream" show-ref >out &&
+ make_user_friendly_and_stable_output <out >actual &&
+ cat >expect <<-EOF &&
+ <COMMIT-A> refs/heads/main
+ <COMMIT-A> refs/heads/next
+ EOF
+ test_cmp expect actual
+'
+
+test_expect_success "restore proc-receive hook ($PROTOCOL/porcelain)" '
+ write_script "$upstream/hooks/proc-receive" <<-EOF
+ printf >&2 "# proc-receive hook\n"
+ test-tool proc-receive -v \
+ -r "ok refs/for/main/topic"
+ EOF
+'
+
+# Refs of upstream : main(A) next(A)
+# Refs of workbench: main(A) tags/v123
+test_expect_success "cleanup ($PROTOCOL/porcelain)" '
+ git -C "$upstream" update-ref -d refs/heads/next
+'
+
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push -o ... : next(A) refs/for/main/topic
test_expect_success "proc-receive: push with options ($PROTOCOL/porcelain)" '
git -C workbench push \
--porcelain \
@@ -44,39 +106,39 @@ test_expect_success "proc-receive: push with options ($PROTOCOL/porcelain)" '
-o reviewer=user1 \
origin \
HEAD:refs/heads/next \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
remote: proc-receive: atomic push_options
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: proc-receive< issue=123
remote: proc-receive< reviewer=user1
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: # post-receive hook
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
- remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
To <URL/of/upstream.git>
* HEAD:refs/heads/next [new branch]
- * HEAD:refs/for/master/topic [new reference]
+ * HEAD:refs/for/main/topic [new reference]
Done
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
'
-# Refs of upstream : master(A) next(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A) next(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL/porcelain)" '
git -C "$upstream" update-ref -d refs/heads/next
'
diff --git a/t/t5411/test-0030-report-ok.sh b/t/t5411/test-0030-report-ok.sh
index 44c99d3831..5d6feef118 100644
--- a/t/t5411/test-0030-report-ok.sh
+++ b/t/t5411/test-0030-report-ok.sh
@@ -2,34 +2,34 @@ test_expect_success "setup proc-receive hook (ok, $PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic"
+ -r "ok refs/for/main/topic"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic
test_expect_success "proc-receive: ok ($PROTOCOL)" '
git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: # post-receive hook
- remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
To <URL/of/upstream.git>
- * [new reference] HEAD -> refs/for/master/topic
+ * [new reference] HEAD -> refs/for/main/topic
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0031-report-ok--porcelain.sh b/t/t5411/test-0031-report-ok--porcelain.sh
index 3223b26184..91666d32df 100644
--- a/t/t5411/test-0031-report-ok--porcelain.sh
+++ b/t/t5411/test-0031-report-ok--porcelain.sh
@@ -2,35 +2,35 @@ test_expect_success "setup proc-receive hook (ok, $PROTOCOL/porcelain)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic"
+ -r "ok refs/for/main/topic"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic
test_expect_success "proc-receive: ok ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: # post-receive hook
- remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
To <URL/of/upstream.git>
- * HEAD:refs/for/master/topic [new reference]
+ * HEAD:refs/for/main/topic [new reference]
Done
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0032-report-with-options.sh b/t/t5411/test-0032-report-with-options.sh
index b77b78c49f..a0faf5c7ff 100644
--- a/t/t5411/test-0032-report-with-options.sh
+++ b/t/t5411/test-0032-report-with-options.sh
@@ -7,24 +7,24 @@ test_expect_success "setup proc-receive hook (option without matching ok, $PROTO
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report option without matching ok ($PROTOCOL)" '
test_must_fail git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: proc-receive> option refname refs/pull/123/head
remote: proc-receive> option old-oid <COMMIT-B>
remote: error: proc-receive reported "option" without a matching "ok/ng" directive
To <URL/of/upstream.git>
- ! [remote rejected] HEAD -> refs/for/master/topic (proc-receive failed to report status)
+ ! [remote rejected] HEAD -> refs/for/main/topic (proc-receive failed to report status)
EOF
test_cmp expect actual
'
@@ -33,25 +33,25 @@ test_expect_success "setup proc-receive hook (option refname, $PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/pull/123/head"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report option refname ($PROTOCOL)" '
git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/pull/123/head
remote: # post-receive hook
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/pull/123/head
@@ -65,25 +65,25 @@ test_expect_success "setup proc-receive hook (option refname and forced-update,
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/pull/123/head" \
-r "option forced-update"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report option refname and forced-update ($PROTOCOL)" '
git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/pull/123/head
remote: proc-receive> option forced-update
remote: # post-receive hook
@@ -98,26 +98,26 @@ test_expect_success "setup proc-receive hook (option refname and old-oid, $PROTO
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/pull/123/head" \
-r "option old-oid $B"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report option refname and old-oid ($PROTOCOL)" '
git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/pull/123/head
remote: proc-receive> option old-oid <COMMIT-B>
remote: # post-receive hook
@@ -132,30 +132,30 @@ test_expect_success "setup proc-receive hook (option old-oid, $PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option old-oid $B"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report option old-oid ($PROTOCOL)" '
git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option old-oid <COMMIT-B>
remote: # post-receive hook
- remote: post-receive< <COMMIT-B> <COMMIT-A> refs/for/master/topic
+ remote: post-receive< <COMMIT-B> <COMMIT-A> refs/for/main/topic
To <URL/of/upstream.git>
- <OID-B>..<OID-A> HEAD -> refs/for/master/topic
+ <OID-B>..<OID-A> HEAD -> refs/for/main/topic
EOF
test_cmp expect actual
'
@@ -164,32 +164,32 @@ test_expect_success "setup proc-receive hook (option old-oid and new-oid, $PROTO
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option old-oid $A" \
-r "option new-oid $B"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report option old-oid and new-oid ($PROTOCOL)" '
git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
remote: # post-receive hook
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/main/topic
To <URL/of/upstream.git>
- <OID-A>..<OID-B> HEAD -> refs/for/master/topic
+ <OID-A>..<OID-B> HEAD -> refs/for/main/topic
EOF
test_cmp expect actual
'
@@ -201,7 +201,7 @@ test_expect_success "setup proc-receive hook (report with multiple rewrites, $PR
-r "ok refs/for/a/b/c/topic" \
-r "ok refs/for/next/topic" \
-r "option refname refs/pull/123/head" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/pull/124/head" \
-r "option old-oid $B" \
-r "option forced-update" \
@@ -209,29 +209,29 @@ test_expect_success "setup proc-receive hook (report with multiple rewrites, $PR
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report with multiple rewrites ($PROTOCOL)" '
git -C workbench push origin \
HEAD:refs/for/next/topic \
HEAD:refs/for/a/b/c/topic \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/topic
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/topic
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: proc-receive> ok refs/for/a/b/c/topic
remote: proc-receive> ok refs/for/next/topic
remote: proc-receive> option refname refs/pull/123/head
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/pull/124/head
remote: proc-receive> option old-oid <COMMIT-B>
remote: proc-receive> option forced-update
@@ -250,7 +250,7 @@ test_expect_success "proc-receive: report with multiple rewrites ($PROTOCOL)" '
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0033-report-with-options--porcelain.sh b/t/t5411/test-0033-report-with-options--porcelain.sh
index 1fe352b686..32ae26bcfb 100644
--- a/t/t5411/test-0033-report-with-options--porcelain.sh
+++ b/t/t5411/test-0033-report-with-options--porcelain.sh
@@ -7,24 +7,24 @@ test_expect_success "setup proc-receive hook (option without matching ok, $PROTO
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report option without matching ok ($PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: proc-receive> option refname refs/pull/123/head
remote: proc-receive> option old-oid <COMMIT-B>
remote: error: proc-receive reported "option" without a matching "ok/ng" directive
To <URL/of/upstream.git>
- ! HEAD:refs/for/master/topic [remote rejected] (proc-receive failed to report status)
+ ! HEAD:refs/for/main/topic [remote rejected] (proc-receive failed to report status)
Done
EOF
test_cmp expect actual
@@ -34,25 +34,25 @@ test_expect_success "setup proc-receive hook (option refname, $PROTOCOL/porcelai
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/pull/123/head"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report option refname ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/pull/123/head
remote: # post-receive hook
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/pull/123/head
@@ -67,26 +67,26 @@ test_expect_success "setup proc-receive hook (option refname and forced-update,
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/pull/123/head" \
-r "option forced-update"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report option refname and forced-update ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/pull/123/head
remote: proc-receive> option forced-update
remote: # post-receive hook
@@ -102,26 +102,26 @@ test_expect_success "setup proc-receive hook (option refname and old-oid, $PROTO
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/pull/123/head" \
-r "option old-oid $B"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report option refname and old-oid ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/pull/123/head
remote: proc-receive> option old-oid <COMMIT-B>
remote: # post-receive hook
@@ -137,30 +137,30 @@ test_expect_success "setup proc-receive hook (option old-oid, $PROTOCOL/porcelai
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option old-oid $B"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report option old-oid ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option old-oid <COMMIT-B>
remote: # post-receive hook
- remote: post-receive< <COMMIT-B> <COMMIT-A> refs/for/master/topic
+ remote: post-receive< <COMMIT-B> <COMMIT-A> refs/for/main/topic
To <URL/of/upstream.git>
- HEAD:refs/for/master/topic <OID-B>..<OID-A>
+ HEAD:refs/for/main/topic <OID-B>..<OID-A>
Done
EOF
test_cmp expect actual
@@ -170,32 +170,32 @@ test_expect_success "setup proc-receive hook (option old-oid and new-oid, $PROTO
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option old-oid $A" \
-r "option new-oid $B"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report option old-oid and new-oid ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
remote: # post-receive hook
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/main/topic
To <URL/of/upstream.git>
- HEAD:refs/for/master/topic <OID-A>..<OID-B>
+ HEAD:refs/for/main/topic <OID-A>..<OID-B>
Done
EOF
test_cmp expect actual
@@ -208,7 +208,7 @@ test_expect_success "setup proc-receive hook (report with multiple rewrites, $PR
-r "ok refs/for/a/b/c/topic" \
-r "ok refs/for/next/topic" \
-r "option refname refs/pull/123/head" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/pull/124/head" \
-r "option old-oid $B" \
-r "option forced-update" \
@@ -217,29 +217,29 @@ test_expect_success "setup proc-receive hook (report with multiple rewrites, $PR
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/next/topic(A) refs/for/a/b/c/topic(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report with multiple rewrites ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain origin \
HEAD:refs/for/next/topic \
HEAD:refs/for/a/b/c/topic \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/topic
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/topic
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: proc-receive> ok refs/for/a/b/c/topic
remote: proc-receive> ok refs/for/next/topic
remote: proc-receive> option refname refs/pull/123/head
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/pull/124/head
remote: proc-receive> option old-oid <COMMIT-B>
remote: proc-receive> option forced-update
@@ -259,7 +259,7 @@ test_expect_success "proc-receive: report with multiple rewrites ($PROTOCOL/porc
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0034-report-ft.sh b/t/t5411/test-0034-report-ft.sh
index aca2b0676c..c355c290d2 100644
--- a/t/t5411/test-0034-report-ft.sh
+++ b/t/t5411/test-0034-report-ft.sh
@@ -2,43 +2,43 @@ test_expect_success "setup proc-receive hook (ft, $PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option fall-through"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic(B)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(B)
test_expect_success "proc-receive: fall throught, let receive-pack to execute ($PROTOCOL)" '
git -C workbench push origin \
- $B:refs/for/master/topic \
+ $B:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-B> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-B> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-B> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-B> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option fall-through
remote: # post-receive hook
- remote: post-receive< <ZERO-OID> <COMMIT-B> refs/for/master/topic
+ remote: post-receive< <ZERO-OID> <COMMIT-B> refs/for/main/topic
To <URL/of/upstream.git>
- * [new reference] <COMMIT-B> -> refs/for/master/topic
+ * [new reference] <COMMIT-B> -> refs/for/main/topic
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-B> refs/for/master/topic
- <COMMIT-A> refs/heads/master
+ <COMMIT-B> refs/for/main/topic
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
-# Refs of upstream : master(A) refs/for/master/topic(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A) refs/for/main/topic(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL)" '
- git -C "$upstream" update-ref -d refs/for/master/topic
+ git -C "$upstream" update-ref -d refs/for/main/topic
'
diff --git a/t/t5411/test-0035-report-ft--porcelain.sh b/t/t5411/test-0035-report-ft--porcelain.sh
index 30ffffb352..8ce4e58f2a 100644
--- a/t/t5411/test-0035-report-ft--porcelain.sh
+++ b/t/t5411/test-0035-report-ft--porcelain.sh
@@ -2,44 +2,44 @@ test_expect_success "setup proc-receive hook (fall-through, $PROTOCOL/porcelain)
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option fall-through"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic(B)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(B)
test_expect_success "proc-receive: fall throught, let receive-pack to execute ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain origin \
- $B:refs/for/master/topic \
+ $B:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-B> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-B> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-B> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-B> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option fall-through
remote: # post-receive hook
- remote: post-receive< <ZERO-OID> <COMMIT-B> refs/for/master/topic
+ remote: post-receive< <ZERO-OID> <COMMIT-B> refs/for/main/topic
To <URL/of/upstream.git>
- * <COMMIT-B>:refs/for/master/topic [new reference]
+ * <COMMIT-B>:refs/for/main/topic [new reference]
Done
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-B> refs/for/master/topic
- <COMMIT-A> refs/heads/master
+ <COMMIT-B> refs/for/main/topic
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
-# Refs of upstream : master(A) refs/for/master/topic(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A) refs/for/main/topic(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL/porcelain)" '
- git -C "$upstream" update-ref -d refs/for/master/topic
+ git -C "$upstream" update-ref -d refs/for/main/topic
'
diff --git a/t/t5411/test-0036-report-multi-rewrite-for-one-ref.sh b/t/t5411/test-0036-report-multi-rewrite-for-one-ref.sh
index 73283d81e8..fad8eea8a0 100644
--- a/t/t5411/test-0036-report-multi-rewrite-for-one-ref.sh
+++ b/t/t5411/test-0036-report-multi-rewrite-for-one-ref.sh
@@ -17,50 +17,50 @@ test_expect_success "setup proc-receive hook (multiple rewrites for one ref, no
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option old-oid $A" \
-r "option new-oid $B" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/changes/24/124/1" \
-r "option old-oid $ZERO_OID" \
-r "option new-oid $A" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/changes/25/125/1" \
-r "option old-oid $A" \
-r "option new-oid $B"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
test_expect_success "proc-receive: multiple rewrite for one ref, no refname for the 1st rewrite ($PROTOCOL)" '
git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/changes/24/124/1
remote: proc-receive> option old-oid <ZERO-OID>
remote: proc-receive> option new-oid <COMMIT-A>
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/changes/25/125/1
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
remote: # post-receive hook
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/main/topic
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/changes/24/124/1
remote: post-receive< <COMMIT-A> <COMMIT-B> refs/changes/25/125/1
To <URL/of/upstream.git>
- <OID-A>..<OID-B> HEAD -> refs/for/master/topic
+ <OID-A>..<OID-B> HEAD -> refs/for/main/topic
* [new reference] HEAD -> refs/changes/24/124/1
<OID-A>..<OID-B> HEAD -> refs/changes/25/125/1
EOF
@@ -68,7 +68,7 @@ test_expect_success "proc-receive: multiple rewrite for one ref, no refname for
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
@@ -80,10 +80,10 @@ test_expect_success "proc-receive: check remote-tracking #1 ($PROTOCOL)" '
cat >expect <<-EOF &&
<COMMIT-A> refs/t/changes/24/124/1
<COMMIT-B> refs/t/changes/25/125/1
- <COMMIT-B> refs/t/for/master/topic
+ <COMMIT-B> refs/t/for/main/topic
EOF
test_cmp expect actual &&
- git -C workbench update-ref -d refs/t/for/master/topic &&
+ git -C workbench update-ref -d refs/t/for/main/topic &&
git -C workbench update-ref -d refs/t/changes/24/124/1 &&
git -C workbench update-ref -d refs/t/changes/25/125/1
'
@@ -92,14 +92,14 @@ test_expect_success "setup proc-receive hook (multiple rewrites for one ref, no
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/changes/24/124/1" \
-r "option old-oid $ZERO_OID" \
-r "option new-oid $A" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option old-oid $A" \
-r "option new-oid $B" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/changes/25/125/1" \
-r "option old-oid $B" \
-r "option new-oid $A" \
@@ -107,45 +107,45 @@ test_expect_success "setup proc-receive hook (multiple rewrites for one ref, no
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
test_expect_success "proc-receive: multiple rewrites for one ref, no refname for the 2nd rewrite ($PROTOCOL)" '
git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/changes/24/124/1
remote: proc-receive> option old-oid <ZERO-OID>
remote: proc-receive> option new-oid <COMMIT-A>
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/changes/25/125/1
remote: proc-receive> option old-oid <COMMIT-B>
remote: proc-receive> option new-oid <COMMIT-A>
remote: proc-receive> option forced-update
remote: # post-receive hook
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/changes/24/124/1
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/main/topic
remote: post-receive< <COMMIT-B> <COMMIT-A> refs/changes/25/125/1
To <URL/of/upstream.git>
* [new reference] HEAD -> refs/changes/24/124/1
- <OID-A>..<OID-B> HEAD -> refs/for/master/topic
+ <OID-A>..<OID-B> HEAD -> refs/for/main/topic
+ <OID-B>...<OID-A> HEAD -> refs/changes/25/125/1 (forced update)
EOF
test_cmp expect actual &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
@@ -157,10 +157,10 @@ test_expect_success "proc-receive: check remote-tracking #2 ($PROTOCOL)" '
cat >expect <<-EOF &&
<COMMIT-A> refs/t/changes/24/124/1
<COMMIT-A> refs/t/changes/25/125/1
- <COMMIT-B> refs/t/for/master/topic
+ <COMMIT-B> refs/t/for/main/topic
EOF
test_cmp expect actual &&
- git -C workbench update-ref -d refs/t/for/master/topic &&
+ git -C workbench update-ref -d refs/t/for/main/topic &&
git -C workbench update-ref -d refs/t/changes/24/124/1 &&
git -C workbench update-ref -d refs/t/changes/25/125/1
'
@@ -169,31 +169,31 @@ test_expect_success "setup proc-receive hook (multiple rewrites for one ref, $PR
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/changes/23/123/1" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/changes/24/124/2" \
-r "option old-oid $A" \
-r "option new-oid $B"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
test_expect_success "proc-receive: multiple rewrites for one ref ($PROTOCOL)" '
git -C workbench push origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/changes/23/123/1
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/changes/24/124/2
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
@@ -208,7 +208,7 @@ test_expect_success "proc-receive: multiple rewrites for one ref ($PROTOCOL)" '
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0037-report-multi-rewrite-for-one-ref--porcelain.sh b/t/t5411/test-0037-report-multi-rewrite-for-one-ref--porcelain.sh
index 77b5b22ed4..dc254d57eb 100644
--- a/t/t5411/test-0037-report-multi-rewrite-for-one-ref--porcelain.sh
+++ b/t/t5411/test-0037-report-multi-rewrite-for-one-ref--porcelain.sh
@@ -2,50 +2,50 @@ test_expect_success "setup proc-receive hook (multiple rewrites for one ref, no
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option old-oid $A" \
-r "option new-oid $B" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/changes/24/124/1" \
-r "option old-oid $ZERO_OID" \
-r "option new-oid $A" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/changes/25/125/1" \
-r "option old-oid $A" \
-r "option new-oid $B"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
test_expect_success "proc-receive: multiple rewrite for one ref, no refname for the 1st rewrite ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/changes/24/124/1
remote: proc-receive> option old-oid <ZERO-OID>
remote: proc-receive> option new-oid <COMMIT-A>
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/changes/25/125/1
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
remote: # post-receive hook
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/main/topic
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/changes/24/124/1
remote: post-receive< <COMMIT-A> <COMMIT-B> refs/changes/25/125/1
To <URL/of/upstream.git>
- HEAD:refs/for/master/topic <OID-A>..<OID-B>
+ HEAD:refs/for/main/topic <OID-A>..<OID-B>
* HEAD:refs/changes/24/124/1 [new reference]
HEAD:refs/changes/25/125/1 <OID-A>..<OID-B>
Done
@@ -54,7 +54,7 @@ test_expect_success "proc-receive: multiple rewrite for one ref, no refname for
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
@@ -63,14 +63,14 @@ test_expect_success "setup proc-receive hook (multiple rewrites for one ref, no
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/changes/24/124/1" \
-r "option old-oid $ZERO_OID" \
-r "option new-oid $A" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option old-oid $A" \
-r "option new-oid $B" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/changes/25/125/1" \
-r "option old-oid $B" \
-r "option new-oid $A" \
@@ -78,38 +78,38 @@ test_expect_success "setup proc-receive hook (multiple rewrites for one ref, no
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
test_expect_success "proc-receive: multiple rewrites for one ref, no refname for the 2nd rewrite ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/changes/24/124/1
remote: proc-receive> option old-oid <ZERO-OID>
remote: proc-receive> option new-oid <COMMIT-A>
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/changes/25/125/1
remote: proc-receive> option old-oid <COMMIT-B>
remote: proc-receive> option new-oid <COMMIT-A>
remote: proc-receive> option forced-update
remote: # post-receive hook
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/changes/24/124/1
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/main/topic
remote: post-receive< <COMMIT-B> <COMMIT-A> refs/changes/25/125/1
To <URL/of/upstream.git>
* HEAD:refs/changes/24/124/1 [new reference]
- HEAD:refs/for/master/topic <OID-A>..<OID-B>
+ HEAD:refs/for/main/topic <OID-A>..<OID-B>
+ HEAD:refs/changes/25/125/1 <OID-B>...<OID-A> (forced update)
Done
EOF
@@ -117,7 +117,7 @@ test_expect_success "proc-receive: multiple rewrites for one ref, no refname for
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
@@ -126,31 +126,31 @@ test_expect_success "setup proc-receive hook (multiple rewrites for one ref, $PR
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/changes/23/123/1" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/changes/24/124/2" \
-r "option old-oid $A" \
-r "option new-oid $B"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : refs/for/main/topic(A)
test_expect_success "proc-receive: multiple rewrites for one ref ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain origin \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: # proc-receive hook
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/changes/23/123/1
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/changes/24/124/2
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
@@ -166,7 +166,7 @@ test_expect_success "proc-receive: multiple rewrites for one ref ($PROTOCOL/porc
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
diff --git a/t/t5411/test-0038-report-mixed-refs.sh b/t/t5411/test-0038-report-mixed-refs.sh
index a74a2cb449..0d071ebaa6 100644
--- a/t/t5411/test-0038-report-mixed-refs.sh
+++ b/t/t5411/test-0038-report-mixed-refs.sh
@@ -4,63 +4,63 @@ test_expect_success "setup proc-receive hook ($PROTOCOL)" '
test-tool proc-receive -v \
-r "ok refs/for/next/topic2" \
-r "ng refs/for/next/topic1 fail to call Web API" \
- -r "ok refs/for/master/topic" \
- -r "option refname refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
+ -r "option refname refs/for/main/topic" \
-r "option old-oid $A" \
-r "option new-oid $B"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : (B) bar(A) baz(A) refs/for/next/topic(A) foo(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : (B) bar(A) baz(A) refs/for/next/topic(A) foo(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report update of mixed refs ($PROTOCOL)" '
test_must_fail git -C workbench push origin \
- $B:refs/heads/master \
+ $B:refs/heads/main \
HEAD:refs/heads/bar \
HEAD:refs/heads/baz \
HEAD:refs/for/next/topic2 \
HEAD:refs/for/next/topic1 \
HEAD:refs/heads/foo \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
HEAD:refs/for/next/topic3 \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/bar
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/baz
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic2
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic1
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/foo
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic3
remote: # proc-receive hook
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic2
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic1
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic3
remote: proc-receive> ok refs/for/next/topic2
remote: proc-receive> ng refs/for/next/topic1 fail to call Web API
- remote: proc-receive> ok refs/for/master/topic
- remote: proc-receive> option refname refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
+ remote: proc-receive> option refname refs/for/main/topic
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
remote: # post-receive hook
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/bar
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/baz
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic2
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/foo
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/main/topic
To <URL/of/upstream.git>
- <OID-A>..<OID-B> <COMMIT-B> -> master
+ <OID-A>..<OID-B> <COMMIT-B> -> main
* [new branch] HEAD -> bar
* [new branch] HEAD -> baz
* [new reference] HEAD -> refs/for/next/topic2
* [new branch] HEAD -> foo
- <OID-A>..<OID-B> HEAD -> refs/for/master/topic
+ <OID-A>..<OID-B> HEAD -> refs/for/main/topic
! [remote rejected] HEAD -> refs/for/next/topic1 (fail to call Web API)
! [remote rejected] HEAD -> refs/for/next/topic3 (proc-receive failed to report status)
EOF
@@ -71,17 +71,17 @@ test_expect_success "proc-receive: report update of mixed refs ($PROTOCOL)" '
<COMMIT-A> refs/heads/bar
<COMMIT-A> refs/heads/baz
<COMMIT-A> refs/heads/foo
- <COMMIT-B> refs/heads/master
+ <COMMIT-B> refs/heads/main
EOF
test_cmp expect actual
'
-# Refs of upstream : master(B) foo(A) bar(A)) baz(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(B) foo(A) bar(A)) baz(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL)" '
(
cd "$upstream" &&
- git update-ref refs/heads/master $A &&
+ git update-ref refs/heads/main $A &&
git update-ref -d refs/heads/foo &&
git update-ref -d refs/heads/bar &&
git update-ref -d refs/heads/baz
diff --git a/t/t5411/test-0039-report-mixed-refs--porcelain.sh b/t/t5411/test-0039-report-mixed-refs--porcelain.sh
index e4baa13ea3..d8409912fd 100644
--- a/t/t5411/test-0039-report-mixed-refs--porcelain.sh
+++ b/t/t5411/test-0039-report-mixed-refs--porcelain.sh
@@ -4,63 +4,63 @@ test_expect_success "setup proc-receive hook ($PROTOCOL/porcelain)" '
test-tool proc-receive -v \
-r "ok refs/for/next/topic2" \
-r "ng refs/for/next/topic1 fail to call Web API" \
- -r "ok refs/for/master/topic" \
- -r "option refname refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
+ -r "option refname refs/for/main/topic" \
-r "option old-oid $A" \
-r "option new-oid $B"
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : (B) bar(A) baz(A) refs/for/next/topic(A) foo(A) refs/for/master/topic(A)
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : (B) bar(A) baz(A) refs/for/next/topic(A) foo(A) refs/for/main/topic(A)
test_expect_success "proc-receive: report update of mixed refs ($PROTOCOL/porcelain)" '
test_must_fail git -C workbench push --porcelain origin \
- $B:refs/heads/master \
+ $B:refs/heads/main \
HEAD:refs/heads/bar \
HEAD:refs/heads/baz \
HEAD:refs/for/next/topic2 \
HEAD:refs/for/next/topic1 \
HEAD:refs/heads/foo \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
HEAD:refs/for/next/topic3 \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/bar
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/baz
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic2
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic1
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/foo
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic3
remote: # proc-receive hook
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic2
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic1
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic3
remote: proc-receive> ok refs/for/next/topic2
remote: proc-receive> ng refs/for/next/topic1 fail to call Web API
- remote: proc-receive> ok refs/for/master/topic
- remote: proc-receive> option refname refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
+ remote: proc-receive> option refname refs/for/main/topic
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
remote: # post-receive hook
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/bar
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/baz
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic2
remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/foo
- remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
+ remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/main/topic
To <URL/of/upstream.git>
- <COMMIT-B>:refs/heads/master <OID-A>..<OID-B>
+ <COMMIT-B>:refs/heads/main <OID-A>..<OID-B>
* HEAD:refs/heads/bar [new branch]
* HEAD:refs/heads/baz [new branch]
* HEAD:refs/for/next/topic2 [new reference]
* HEAD:refs/heads/foo [new branch]
- HEAD:refs/for/master/topic <OID-A>..<OID-B>
+ HEAD:refs/for/main/topic <OID-A>..<OID-B>
! HEAD:refs/for/next/topic1 [remote rejected] (fail to call Web API)
! HEAD:refs/for/next/topic3 [remote rejected] (proc-receive failed to report status)
Done
@@ -72,17 +72,17 @@ test_expect_success "proc-receive: report update of mixed refs ($PROTOCOL/porcel
<COMMIT-A> refs/heads/bar
<COMMIT-A> refs/heads/baz
<COMMIT-A> refs/heads/foo
- <COMMIT-B> refs/heads/master
+ <COMMIT-B> refs/heads/main
EOF
test_cmp expect actual
'
-# Refs of upstream : master(B) foo(A) bar(A)) baz(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(B) foo(A) bar(A)) baz(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL/porcelain)" '
(
cd "$upstream" &&
- git update-ref refs/heads/master $A &&
+ git update-ref refs/heads/main $A &&
git update-ref -d refs/heads/foo &&
git update-ref -d refs/heads/bar &&
git update-ref -d refs/heads/baz
diff --git a/t/t5411/test-0040-process-all-refs.sh b/t/t5411/test-0040-process-all-refs.sh
index b07c999f53..2565302a17 100644
--- a/t/t5411/test-0040-process-all-refs.sh
+++ b/t/t5411/test-0040-process-all-refs.sh
@@ -3,12 +3,12 @@ test_expect_success "config receive.procReceiveRefs = refs ($PROTOCOL)" '
git -C "$upstream" config --add receive.procReceiveRefs refs
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "setup upstream branches ($PROTOCOL)" '
(
cd "$upstream" &&
- git update-ref refs/heads/master $B &&
+ git update-ref refs/heads/main $B &&
git update-ref refs/heads/foo $A &&
git update-ref refs/heads/bar $A &&
git update-ref refs/heads/baz $A
@@ -20,13 +20,13 @@ test_expect_success "setup proc-receive hook ($PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/heads/master" \
+ -r "ok refs/heads/main" \
-r "option fall-through" \
-r "ok refs/heads/foo" \
-r "option fall-through" \
-r "ok refs/heads/bar" \
-r "option fall-through" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/pull/123/head" \
-r "option old-oid $A" \
-r "option new-oid $B" \
@@ -38,15 +38,15 @@ test_expect_success "setup proc-receive hook ($PROTOCOL)" '
EOF
'
-# Refs of upstream : master(B) foo(A) bar(A)) baz(A)
-# Refs of workbench: master(A) tags/v123
-# git push -f : master(A) (NULL) (B) refs/for/master/topic(A) refs/for/next/topic(A)
+# Refs of upstream : main(B) foo(A) bar(A)) baz(A)
+# Refs of workbench: main(A) tags/v123
+# git push -f : main(A) (NULL) (B) refs/for/main/topic(A) refs/for/next/topic(A)
test_expect_success "proc-receive: process all refs ($PROTOCOL)" '
git -C workbench push -f origin \
- HEAD:refs/heads/master \
+ HEAD:refs/heads/main \
:refs/heads/foo \
$B:refs/heads/bar \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
HEAD:refs/for/next/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
@@ -54,22 +54,22 @@ test_expect_success "proc-receive: process all refs ($PROTOCOL)" '
remote: # pre-receive hook
remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/bar
remote: pre-receive< <COMMIT-A> <ZERO-OID> refs/heads/foo
- remote: pre-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <COMMIT-B> <COMMIT-A> refs/heads/main
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
remote: # proc-receive hook
remote: proc-receive< <COMMIT-A> <COMMIT-B> refs/heads/bar
remote: proc-receive< <COMMIT-A> <ZERO-OID> refs/heads/foo
- remote: proc-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <COMMIT-B> <COMMIT-A> refs/heads/main
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
- remote: proc-receive> ok refs/heads/master
+ remote: proc-receive> ok refs/heads/main
remote: proc-receive> option fall-through
remote: proc-receive> ok refs/heads/foo
remote: proc-receive> option fall-through
remote: proc-receive> ok refs/heads/bar
remote: proc-receive> option fall-through
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/pull/123/head
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
@@ -81,13 +81,13 @@ test_expect_success "proc-receive: process all refs ($PROTOCOL)" '
remote: # post-receive hook
remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/bar
remote: post-receive< <COMMIT-A> <ZERO-OID> refs/heads/foo
- remote: post-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
+ remote: post-receive< <COMMIT-B> <COMMIT-A> refs/heads/main
remote: post-receive< <COMMIT-A> <COMMIT-B> refs/pull/123/head
remote: post-receive< <COMMIT-B> <COMMIT-A> refs/pull/124/head
To <URL/of/upstream.git>
<OID-A>..<OID-B> <COMMIT-B> -> bar
- [deleted] foo
- + <OID-B>...<OID-A> HEAD -> master (forced update)
+ + <OID-B>...<OID-A> HEAD -> main (forced update)
<OID-A>..<OID-B> HEAD -> refs/pull/123/head
+ <OID-B>...<OID-A> HEAD -> refs/pull/124/head (forced update)
EOF
@@ -97,13 +97,13 @@ test_expect_success "proc-receive: process all refs ($PROTOCOL)" '
cat >expect <<-EOF &&
<COMMIT-B> refs/heads/bar
<COMMIT-A> refs/heads/baz
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
-# Refs of upstream : master(A) bar(A) baz(B)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A) bar(A) baz(B)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL)" '
(
cd "$upstream" &&
diff --git a/t/t5411/test-0041-process-all-refs--porcelain.sh b/t/t5411/test-0041-process-all-refs--porcelain.sh
index 0dd9824616..e21420b60d 100644
--- a/t/t5411/test-0041-process-all-refs--porcelain.sh
+++ b/t/t5411/test-0041-process-all-refs--porcelain.sh
@@ -3,12 +3,12 @@ test_expect_success "config receive.procReceiveRefs = refs ($PROTOCOL/porcelain)
git -C "$upstream" config --add receive.procReceiveRefs refs
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "setup upstream branches ($PROTOCOL/porcelain)" '
(
cd "$upstream" &&
- git update-ref refs/heads/master $B &&
+ git update-ref refs/heads/main $B &&
git update-ref refs/heads/foo $A &&
git update-ref refs/heads/bar $A &&
git update-ref refs/heads/baz $A
@@ -20,13 +20,13 @@ test_expect_success "setup proc-receive hook ($PROTOCOL/porcelain)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/heads/master" \
+ -r "ok refs/heads/main" \
-r "option fall-through" \
-r "ok refs/heads/foo" \
-r "option fall-through" \
-r "ok refs/heads/bar" \
-r "option fall-through" \
- -r "ok refs/for/master/topic" \
+ -r "ok refs/for/main/topic" \
-r "option refname refs/pull/123/head" \
-r "option old-oid $A" \
-r "option new-oid $B" \
@@ -38,15 +38,15 @@ test_expect_success "setup proc-receive hook ($PROTOCOL/porcelain)" '
EOF
'
-# Refs of upstream : master(B) foo(A) bar(A)) baz(A)
-# Refs of workbench: master(A) tags/v123
-# git push -f : master(A) (NULL) (B) refs/for/master/topic(A) refs/for/next/topic(A)
+# Refs of upstream : main(B) foo(A) bar(A)) baz(A)
+# Refs of workbench: main(A) tags/v123
+# git push -f : main(A) (NULL) (B) refs/for/main/topic(A) refs/for/next/topic(A)
test_expect_success "proc-receive: process all refs ($PROTOCOL/porcelain)" '
git -C workbench push --porcelain -f origin \
- HEAD:refs/heads/master \
+ HEAD:refs/heads/main \
:refs/heads/foo \
$B:refs/heads/bar \
- HEAD:refs/for/master/topic \
+ HEAD:refs/for/main/topic \
HEAD:refs/for/next/topic \
>out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
@@ -54,22 +54,22 @@ test_expect_success "proc-receive: process all refs ($PROTOCOL/porcelain)" '
remote: # pre-receive hook
remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/bar
remote: pre-receive< <COMMIT-A> <ZERO-OID> refs/heads/foo
- remote: pre-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
- remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: pre-receive< <COMMIT-B> <COMMIT-A> refs/heads/main
+ remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
remote: # proc-receive hook
remote: proc-receive< <COMMIT-A> <COMMIT-B> refs/heads/bar
remote: proc-receive< <COMMIT-A> <ZERO-OID> refs/heads/foo
- remote: proc-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
- remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
+ remote: proc-receive< <COMMIT-B> <COMMIT-A> refs/heads/main
+ remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
- remote: proc-receive> ok refs/heads/master
+ remote: proc-receive> ok refs/heads/main
remote: proc-receive> option fall-through
remote: proc-receive> ok refs/heads/foo
remote: proc-receive> option fall-through
remote: proc-receive> ok refs/heads/bar
remote: proc-receive> option fall-through
- remote: proc-receive> ok refs/for/master/topic
+ remote: proc-receive> ok refs/for/main/topic
remote: proc-receive> option refname refs/pull/123/head
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
@@ -81,13 +81,13 @@ test_expect_success "proc-receive: process all refs ($PROTOCOL/porcelain)" '
remote: # post-receive hook
remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/bar
remote: post-receive< <COMMIT-A> <ZERO-OID> refs/heads/foo
- remote: post-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
+ remote: post-receive< <COMMIT-B> <COMMIT-A> refs/heads/main
remote: post-receive< <COMMIT-A> <COMMIT-B> refs/pull/123/head
remote: post-receive< <COMMIT-B> <COMMIT-A> refs/pull/124/head
To <URL/of/upstream.git>
<COMMIT-B>:refs/heads/bar <OID-A>..<OID-B>
- :refs/heads/foo [deleted]
- + HEAD:refs/heads/master <OID-B>...<OID-A> (forced update)
+ + HEAD:refs/heads/main <OID-B>...<OID-A> (forced update)
HEAD:refs/pull/123/head <OID-A>..<OID-B>
+ HEAD:refs/pull/124/head <OID-B>...<OID-A> (forced update)
Done
@@ -98,13 +98,13 @@ test_expect_success "proc-receive: process all refs ($PROTOCOL/porcelain)" '
cat >expect <<-EOF &&
<COMMIT-B> refs/heads/bar
<COMMIT-A> refs/heads/baz
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
-# Refs of upstream : master(A) bar(A) baz(B)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A) bar(A) baz(B)
+# Refs of workbench: main(A) tags/v123
test_expect_success "cleanup ($PROTOCOL/porcelain)" '
(
cd "$upstream" &&
diff --git a/t/t5411/test-0050-proc-receive-refs-with-modifiers.sh b/t/t5411/test-0050-proc-receive-refs-with-modifiers.sh
index c22849cbe2..2e29518ec5 100644
--- a/t/t5411/test-0050-proc-receive-refs-with-modifiers.sh
+++ b/t/t5411/test-0050-proc-receive-refs-with-modifiers.sh
@@ -2,7 +2,7 @@ test_expect_success "config receive.procReceiveRefs with modifiers ($PROTOCOL)"
(
cd "$upstream" &&
git config --unset-all receive.procReceiveRefs &&
- git config --add receive.procReceiveRefs m:refs/heads/master &&
+ git config --add receive.procReceiveRefs m:refs/heads/main &&
git config --add receive.procReceiveRefs ad:refs/heads &&
git config --add receive.procReceiveRefs "a!:refs/heads"
)
@@ -12,7 +12,7 @@ test_expect_success "setup proc-receive hook ($PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/heads/master" \
+ -r "ok refs/heads/main" \
-r "option refname refs/pull/123/head" \
-r "option old-oid $A" \
-r "option new-oid $B" \
@@ -21,22 +21,22 @@ test_expect_success "setup proc-receive hook ($PROTOCOL)" '
EOF
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
-# git push : master(B) tags/v123
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
+# git push : main(B) tags/v123
test_expect_success "proc-receive: update branch and new tag ($PROTOCOL)" '
git -C workbench push origin \
- $B:refs/heads/master \
+ $B:refs/heads/main \
v123 >out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
remote: pre-receive< <ZERO-OID> <TAG-v123> refs/tags/v123
remote: # proc-receive hook
- remote: proc-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
+ remote: proc-receive< <COMMIT-A> <COMMIT-B> refs/heads/main
remote: proc-receive< <ZERO-OID> <TAG-v123> refs/tags/v123
- remote: proc-receive> ok refs/heads/master
+ remote: proc-receive> ok refs/heads/main
remote: proc-receive> option refname refs/pull/123/head
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <COMMIT-B>
@@ -53,20 +53,20 @@ test_expect_success "proc-receive: update branch and new tag ($PROTOCOL)" '
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
EOF
test_cmp expect actual
'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A)
+# Refs of workbench: main(A) tags/v123
test_expect_success "setup upstream: create tags/v123 ($PROTOCOL)" '
git -C "$upstream" update-ref refs/heads/topic $A &&
git -C "$upstream" update-ref refs/tags/v123 $TAG &&
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
<COMMIT-A> refs/heads/topic
<TAG-v123> refs/tags/v123
EOF
@@ -77,7 +77,7 @@ test_expect_success "setup proc-receive hook ($PROTOCOL)" '
write_script "$upstream/hooks/proc-receive" <<-EOF
printf >&2 "# proc-receive hook\n"
test-tool proc-receive -v \
- -r "ok refs/heads/master" \
+ -r "ok refs/heads/main" \
-r "option refname refs/pull/123/head" \
-r "option old-oid $A" \
-r "option new-oid $ZERO_OID" \
@@ -87,26 +87,26 @@ test_expect_success "setup proc-receive hook ($PROTOCOL)" '
EOF
'
-# Refs of upstream : master(A) topic(A) tags/v123
-# Refs of workbench: master(A) tags/v123
+# Refs of upstream : main(A) topic(A) tags/v123
+# Refs of workbench: main(A) tags/v123
# git push : NULL topic(B) NULL next(A)
test_expect_success "proc-receive: create/delete branch, and delete tag ($PROTOCOL)" '
git -C workbench push origin \
- :refs/heads/master \
+ :refs/heads/main \
$B:refs/heads/topic \
$A:refs/heads/next \
:refs/tags/v123 >out 2>&1 &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
remote: # pre-receive hook
- remote: pre-receive< <COMMIT-A> <ZERO-OID> refs/heads/master
+ remote: pre-receive< <COMMIT-A> <ZERO-OID> refs/heads/main
remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/topic
remote: pre-receive< <TAG-v123> <ZERO-OID> refs/tags/v123
remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
remote: # proc-receive hook
- remote: proc-receive< <COMMIT-A> <ZERO-OID> refs/heads/master
+ remote: proc-receive< <COMMIT-A> <ZERO-OID> refs/heads/main
remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
- remote: proc-receive> ok refs/heads/master
+ remote: proc-receive> ok refs/heads/main
remote: proc-receive> option refname refs/pull/123/head
remote: proc-receive> option old-oid <COMMIT-A>
remote: proc-receive> option new-oid <ZERO-OID>
@@ -128,7 +128,7 @@ test_expect_success "proc-receive: create/delete branch, and delete tag ($PROTOC
git -C "$upstream" show-ref >out &&
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
<COMMIT-B> refs/heads/topic
EOF
test_cmp expect actual
diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh
index 3557374312..1f4cc873a8 100755
--- a/t/t5500-fetch-pack.sh
+++ b/t/t5500-fetch-pack.sh
@@ -5,6 +5,9 @@
test_description='Testing multi_ack pack fetching'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# Test fetch-pack/upload-pack pair.
@@ -407,14 +410,14 @@ test_expect_success 'in_vain resetted upon ACK' '
rm -rf myserver myclient &&
git init myserver &&
- # Linked list of commits on master. The first is common; the rest are
+ # Linked list of commits on main. The first is common; the rest are
# not.
- test_commit -C myserver first_master_commit &&
+ test_commit -C myserver first_main_commit &&
git clone "file://$(pwd)/myserver" myclient &&
test_commit_bulk -C myclient 255 &&
# Another linked list of commits on anotherbranch with no connection to
- # master. The first is common; the rest are not.
+ # main. The first is common; the rest are not.
git -C myserver checkout --orphan anotherbranch &&
test_commit -C myserver first_anotherbranch_commit &&
git -C myclient fetch origin anotherbranch:refs/heads/anotherbranch &&
@@ -422,14 +425,14 @@ test_expect_success 'in_vain resetted upon ACK' '
test_commit_bulk -C myclient 255 &&
# The new commit that the client wants to fetch.
- git -C myserver checkout master &&
+ git -C myserver checkout main &&
test_commit -C myserver to_fetch &&
# The client will send (as "have"s) all 256 commits in anotherbranch
# first. The 256th commit is common between the client and the server,
# and should reset in_vain. This allows negotiation to continue until
# the client reports that first_anotherbranch_commit is common.
- git -C myclient fetch --progress origin master 2>log &&
+ git -C myclient fetch --progress origin main 2>log &&
test_i18ngrep "Total 3 " log
'
@@ -637,7 +640,7 @@ test_expect_success 'shallow fetch with tags does not break the repository' '
mkdir repo2 &&
cd repo2 &&
git init &&
- git fetch --depth=2 ../.git master:branch &&
+ git fetch --depth=2 ../.git main:branch &&
git fsck
)
'
@@ -662,7 +665,7 @@ test_expect_success 'fetch-pack can fetch a raw sha1 that is advertised as a ref
git init client &&
git -C client fetch-pack ../server \
- $(git -C server rev-parse refs/heads/master)
+ $(git -C server rev-parse refs/heads/main)
'
test_expect_success 'fetch-pack can fetch a raw sha1 overlapping a named ref' '
@@ -688,7 +691,7 @@ test_expect_success 'fetch-pack cannot fetch a raw sha1 that is not advertised a
# Some protocol versions (e.g. 2) support fetching
# unadvertised objects, so restrict this test to v0.
test_must_fail env GIT_TEST_PROTOCOL_VERSION=0 git -C client fetch-pack ../server \
- $(git -C server rev-parse refs/heads/master^) 2>err &&
+ $(git -C server rev-parse refs/heads/main^) 2>err &&
test_i18ngrep "Server does not allow request for unadvertised object" err
'
@@ -822,7 +825,7 @@ test_expect_success 'clone shallow since ...' '
test_expect_success 'fetch shallow since ...' '
git -C shallow11 fetch --shallow-since "200000000 +0700" origin &&
- git -C shallow11 log --pretty=tformat:%s origin/master >actual &&
+ git -C shallow11 log --pretty=tformat:%s origin/main >actual &&
cat >expected <<-\EOF &&
three
two
@@ -863,7 +866,7 @@ test_expect_success 'shallow since with commit graph and already-seen commit' '
(
cd shallow-since-graph &&
test_commit base &&
- test_commit master &&
+ test_commit main &&
git checkout -b other HEAD^ &&
test_commit other &&
git commit-graph write --reachable &&
@@ -874,7 +877,7 @@ test_expect_success 'shallow since with commit graph and already-seen commit' '
$(echo "object-format=$(test_oid algo)" | packetize)
00010013deepen-since 1
$(echo "want $(git rev-parse other)" | packetize)
- $(echo "have $(git rev-parse master)" | packetize)
+ $(echo "have $(git rev-parse main)" | packetize)
0000
EOF
)
@@ -896,7 +899,7 @@ test_expect_success 'shallow clone exclude tag two' '
test_expect_success 'fetch exclude tag one' '
git -C shallow12 fetch --shallow-exclude one origin &&
- git -C shallow12 log --pretty=tformat:%s origin/master >actual &&
+ git -C shallow12 log --pretty=tformat:%s origin/main >actual &&
test_write_lines three two >expected &&
test_cmp expected actual
'
@@ -910,11 +913,11 @@ test_expect_success 'fetching deepen' '
test_commit three &&
git clone --depth 1 "file://$(pwd)/." deepen &&
test_commit four &&
- git -C deepen log --pretty=tformat:%s master >actual &&
+ git -C deepen log --pretty=tformat:%s main >actual &&
echo three >expected &&
test_cmp expected actual &&
git -C deepen fetch --deepen=1 &&
- git -C deepen log --pretty=tformat:%s origin/master >actual &&
+ git -C deepen log --pretty=tformat:%s origin/main >actual &&
cat >expected <<-\EOF &&
four
three
diff --git a/t/t5501-fetch-push-alternates.sh b/t/t5501-fetch-push-alternates.sh
index 1bc57ac03f..66f19a4ef2 100755
--- a/t/t5501-fetch-push-alternates.sh
+++ b/t/t5501-fetch-push-alternates.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='fetch/push involving alternates'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
count_objects () {
@@ -45,7 +48,7 @@ test_expect_success setup '
test_expect_success 'pushing into a repository with the same alternate' '
(
cd one &&
- git push ../receiver master:refs/heads/it
+ git push ../receiver main:refs/heads/it
) &&
(
cd receiver &&
@@ -57,7 +60,7 @@ test_expect_success 'pushing into a repository with the same alternate' '
test_expect_success 'fetching from a repository with the same alternate' '
(
cd fetcher &&
- git fetch ../one master:refs/heads/it &&
+ git fetch ../one main:refs/heads/it &&
count_objects >../fetcher.count
) &&
test_cmp one.count fetcher.count
diff --git a/t/t5502-quickfetch.sh b/t/t5502-quickfetch.sh
index 7a46cbdbe6..8c05c7715b 100755
--- a/t/t5502-quickfetch.sh
+++ b/t/t5502-quickfetch.sh
@@ -2,6 +2,9 @@
test_description='test quickfetch from local'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -108,14 +111,14 @@ test_expect_success 'quickfetch should not copy from alternate' '
q
}"
) ) &&
- origin_master=$( (
+ origin_main=$( (
cd quickclone &&
- git rev-parse origin/master
+ git rev-parse origin/main
) ) &&
echo "loose objects: $obj_cnt, packfiles: $pck_cnt" &&
test $obj_cnt -eq 0 &&
test $pck_cnt -eq 0 &&
- test z$origin_master = z$(git rev-parse master)
+ test z$origin_main = z$(git rev-parse main)
'
diff --git a/t/t5503-tagfollow.sh b/t/t5503-tagfollow.sh
index 6041a4dd32..195fc64dd4 100755
--- a/t/t5503-tagfollow.sh
+++ b/t/t5503-tagfollow.sh
@@ -2,6 +2,9 @@
test_description='test automatic tag following'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# End state of the repository:
@@ -11,7 +14,7 @@ test_description='test automatic tag following'
# L - A ------ O ------ B
# \ \ \
# \ C - origin/cat \
-# origin/master master
+# origin/main main
test_expect_success setup '
test_tick &&
@@ -57,7 +60,7 @@ test_expect_success 'fetch A (new commit : 1 connection)' '
(
cd cloned &&
GIT_TRACE_PACKET=$UPATH git fetch &&
- test $A = $(git rev-parse --verify origin/master)
+ test $A = $(git rev-parse --verify origin/main)
) &&
get_needs $U >actual &&
test_cmp expect actual
@@ -72,7 +75,7 @@ test_expect_success "create tag T on A, create C on branch cat" '
git add file &&
git commit -m C &&
C=$(git rev-parse --verify HEAD) &&
- git checkout master
+ git checkout main
'
test_expect_success 'setup expect' '
@@ -123,7 +126,7 @@ test_expect_success 'fetch B, S (commit and tag : 1 connection)' '
(
cd cloned &&
GIT_TRACE_PACKET=$UPATH git fetch &&
- test $B = $(git rev-parse --verify origin/master) &&
+ test $B = $(git rev-parse --verify origin/main) &&
test $B = $(git rev-parse --verify tag2^0) &&
test $S = $(git rev-parse --verify tag2)
) &&
@@ -138,7 +141,7 @@ want $S
EOF
'
-test_expect_success 'new clone fetch master and tags' '
+test_expect_success 'new clone fetch main and tags' '
test_might_fail git branch -D cat &&
rm -f $U &&
(
@@ -147,7 +150,7 @@ test_expect_success 'new clone fetch master and tags' '
git init &&
git remote add origin .. &&
GIT_TRACE_PACKET=$UPATH git fetch &&
- test $B = $(git rev-parse --verify origin/master) &&
+ test $B = $(git rev-parse --verify origin/main) &&
test $S = $(git rev-parse --verify tag2) &&
test $B = $(git rev-parse --verify tag2^0) &&
test $T = $(git rev-parse --verify tag1) &&
diff --git a/t/t5504-fetch-receive-strict.sh b/t/t5504-fetch-receive-strict.sh
index 1a16ac4c0d..6e5a9c20e7 100755
--- a/t/t5504-fetch-receive-strict.sh
+++ b/t/t5504-fetch-receive-strict.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='fetch/receive strict mode'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup and inject "corrupt or missing" object' '
@@ -25,7 +28,7 @@ test_expect_success 'fetch without strict' '
cd dst &&
git config fetch.fsckobjects false &&
git config transfer.fsckobjects false &&
- test_must_fail git fetch ../.git master
+ test_must_fail git fetch ../.git main
)
'
@@ -36,7 +39,7 @@ test_expect_success 'fetch with !fetch.fsckobjects' '
cd dst &&
git config fetch.fsckobjects false &&
git config transfer.fsckobjects true &&
- test_must_fail git fetch ../.git master
+ test_must_fail git fetch ../.git main
)
'
@@ -47,7 +50,7 @@ test_expect_success 'fetch with fetch.fsckobjects' '
cd dst &&
git config fetch.fsckobjects true &&
git config transfer.fsckobjects false &&
- test_must_fail git fetch ../.git master
+ test_must_fail git fetch ../.git main
)
'
@@ -57,13 +60,13 @@ test_expect_success 'fetch with transfer.fsckobjects' '
(
cd dst &&
git config transfer.fsckobjects true &&
- test_must_fail git fetch ../.git master
+ test_must_fail git fetch ../.git main
)
'
cat >exp <<EOF
To dst
-! refs/heads/master:refs/heads/test [remote rejected] (missing necessary objects)
+! refs/heads/main:refs/heads/test [remote rejected] (missing necessary objects)
Done
EOF
@@ -75,7 +78,7 @@ test_expect_success 'push without strict' '
git config fetch.fsckobjects false &&
git config transfer.fsckobjects false
) &&
- test_must_fail git push --porcelain dst master:refs/heads/test >act &&
+ test_must_fail git push --porcelain dst main:refs/heads/test >act &&
test_cmp exp act
'
@@ -87,13 +90,13 @@ test_expect_success 'push with !receive.fsckobjects' '
git config receive.fsckobjects false &&
git config transfer.fsckobjects true
) &&
- test_must_fail git push --porcelain dst master:refs/heads/test >act &&
+ test_must_fail git push --porcelain dst main:refs/heads/test >act &&
test_cmp exp act
'
cat >exp <<EOF
To dst
-! refs/heads/master:refs/heads/test [remote rejected] (unpacker error)
+! refs/heads/main:refs/heads/test [remote rejected] (unpacker error)
EOF
test_expect_success 'push with receive.fsckobjects' '
@@ -104,7 +107,7 @@ test_expect_success 'push with receive.fsckobjects' '
git config receive.fsckobjects true &&
git config transfer.fsckobjects false
) &&
- test_must_fail git push --porcelain dst master:refs/heads/test >act &&
+ test_must_fail git push --porcelain dst main:refs/heads/test >act &&
test_cmp exp act
'
@@ -115,7 +118,7 @@ test_expect_success 'push with transfer.fsckobjects' '
cd dst &&
git config transfer.fsckobjects true
) &&
- test_must_fail git push --porcelain dst master:refs/heads/test >act &&
+ test_must_fail git push --porcelain dst main:refs/heads/test >act &&
test_cmp exp act
'
diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh
index 1156f52069..045398b94e 100755
--- a/t/t5505-remote.sh
+++ b/t/t5505-remote.sh
@@ -2,12 +2,15 @@
test_description='git remote porcelain-ish'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
setup_repository () {
mkdir "$1" && (
cd "$1" &&
- git init &&
+ git init -b main &&
>file &&
git add file &&
test_tick &&
@@ -17,7 +20,7 @@ setup_repository () {
git add elif &&
test_tick &&
git commit -m "Second" &&
- git checkout master
+ git checkout main
)
}
@@ -60,8 +63,8 @@ test_expect_success C_LOCALE_OUTPUT 'remote information for the origin' '
(
cd test &&
tokens_match origin "$(git remote)" &&
- check_remote_track origin master side &&
- check_tracking_branch origin HEAD master side
+ check_remote_track origin main side &&
+ check_tracking_branch origin HEAD main side
)
'
@@ -70,7 +73,7 @@ test_expect_success 'add another remote' '
cd test &&
git remote add -f second ../two &&
tokens_match "origin second" "$(git remote)" &&
- check_tracking_branch second master side another &&
+ check_tracking_branch second main side another &&
git for-each-ref "--format=%(refname)" refs/remotes |
sed -e "/^refs\/remotes\/origin\//d" \
-e "/^refs\/remotes\/second\//d" >actual &&
@@ -81,8 +84,8 @@ test_expect_success 'add another remote' '
test_expect_success C_LOCALE_OUTPUT 'check remote-tracking' '
(
cd test &&
- check_remote_track origin master side &&
- check_remote_track second master side another
+ check_remote_track origin main side &&
+ check_remote_track second main side another
)
'
@@ -99,7 +102,7 @@ test_expect_success 'remote forces tracking branches' '
test_expect_success 'remove remote' '
(
cd test &&
- git symbolic-ref refs/remotes/second/HEAD refs/remotes/second/master &&
+ git symbolic-ref refs/remotes/second/HEAD refs/remotes/second/main &&
git remote rm second
)
'
@@ -108,7 +111,7 @@ test_expect_success C_LOCALE_OUTPUT 'remove remote' '
(
cd test &&
tokens_match origin "$(git remote)" &&
- check_remote_track origin master side &&
+ check_remote_track origin main side &&
git for-each-ref "--format=%(refname)" refs/remotes |
sed -e "/^refs\/remotes\/origin\//d" >actual &&
test_must_be_empty actual
@@ -121,13 +124,13 @@ test_expect_success 'remove remote protects local branches' '
cat >expect1 <<-\EOF &&
Note: A branch outside the refs/remotes/ hierarchy was not removed;
to delete it, use:
- git branch -d master
+ git branch -d main
EOF
cat >expect2 <<-\EOF &&
Note: Some branches outside the refs/remotes/ hierarchy were not removed;
to delete them, use:
git branch -d foobranch
- git branch -d master
+ git branch -d main
EOF
git tag footag &&
git config --add remote.oops.fetch "+refs/*:refs/*" &&
@@ -145,15 +148,15 @@ test_expect_success 'remove remote protects local branches' '
test_expect_success 'remove errors out early when deleting non-existent branch' '
(
cd test &&
- echo "fatal: No such remote: '\''foo'\''" >expect &&
- test_must_fail git remote rm foo 2>actual &&
+ echo "error: No such remote: '\''foo'\''" >expect &&
+ test_expect_code 2 git remote rm foo 2>actual &&
test_i18ncmp expect actual
)
'
test_expect_success 'remove remote with a branch without configured merge' '
test_when_finished "(
- git -C test checkout master;
+ git -C test checkout main;
git -C test branch -D two;
git -C test config --remove-section remote.two;
git -C test config --remove-section branch.second;
@@ -163,9 +166,9 @@ test_expect_success 'remove remote with a branch without configured merge' '
cd test &&
git remote add two ../two &&
git fetch two &&
- git checkout -b second two/master^0 &&
+ git checkout -b second two/main^0 &&
git config branch.second.remote two &&
- git checkout master &&
+ git checkout main &&
git remote rm two
)
'
@@ -173,8 +176,8 @@ test_expect_success 'remove remote with a branch without configured merge' '
test_expect_success 'rename errors out early when deleting non-existent branch' '
(
cd test &&
- echo "fatal: No such remote: '\''foo'\''" >expect &&
- test_must_fail git remote rename foo bar 2>actual &&
+ echo "error: No such remote: '\''foo'\''" >expect &&
+ test_expect_code 2 git remote rename foo bar 2>actual &&
test_i18ncmp expect actual
)
'
@@ -188,16 +191,16 @@ test_expect_success 'rename errors out early when when new name is invalid' '
test_expect_success 'add existing foreign_vcs remote' '
test_config remote.foo.vcs bar &&
- echo "fatal: remote foo already exists." >expect &&
- test_must_fail git remote add foo bar 2>actual &&
+ echo "error: remote foo already exists." >expect &&
+ test_expect_code 3 git remote add foo bar 2>actual &&
test_i18ncmp expect actual
'
test_expect_success 'add existing foreign_vcs remote' '
test_config remote.foo.vcs bar &&
test_config remote.bar.vcs bar &&
- echo "fatal: remote bar already exists." >expect &&
- test_must_fail git remote rename foo bar 2>actual &&
+ echo "error: remote bar already exists." >expect &&
+ test_expect_code 3 git remote rename foo bar 2>actual &&
test_i18ncmp expect actual
'
@@ -211,42 +214,42 @@ cat >test/expect <<EOF
* remote origin
Fetch URL: $(pwd)/one
Push URL: $(pwd)/one
- HEAD branch: master
+ HEAD branch: main
Remote branches:
- master new (next fetch will store in remotes/origin)
- side tracked
+ main new (next fetch will store in remotes/origin)
+ side tracked
Local branches configured for 'git pull':
- ahead merges with remote master
- master merges with remote master
+ ahead merges with remote main
+ main merges with remote main
octopus merges with remote topic-a
and with remote topic-b
and with remote topic-c
- rebase rebases onto remote master
+ rebase rebases onto remote main
Local refs configured for 'git push':
- master pushes to master (local out of date)
- master pushes to upstream (create)
+ main pushes to main (local out of date)
+ main pushes to upstream (create)
* remote two
Fetch URL: ../two
Push URL: ../three
- HEAD branch: master
+ HEAD branch: main
Local refs configured for 'git push':
- ahead forces to master (fast-forwardable)
- master pushes to another (up to date)
+ ahead forces to main (fast-forwardable)
+ main pushes to another (up to date)
EOF
test_expect_success 'show' '
(
cd test &&
- git config --add remote.origin.fetch refs/heads/master:refs/heads/upstream &&
+ git config --add remote.origin.fetch refs/heads/main:refs/heads/upstream &&
git fetch &&
- git checkout -b ahead origin/master &&
+ git checkout -b ahead origin/main &&
echo 1 >>file &&
test_tick &&
git commit -m update file &&
- git checkout master &&
- git branch --track octopus origin/master &&
- git branch --track rebase origin/master &&
- git branch -d -r origin/master &&
+ git checkout main &&
+ git branch --track octopus origin/main &&
+ git branch --track rebase origin/main &&
+ git branch -d -r origin/main &&
git config --add remote.two.url ../two &&
git config --add remote.two.pushurl ../three &&
git config branch.rebase.rebase true &&
@@ -258,10 +261,10 @@ test_expect_success 'show' '
git commit -m update file
) &&
git config --add remote.origin.push : &&
- git config --add remote.origin.push refs/heads/master:refs/heads/upstream &&
+ git config --add remote.origin.push refs/heads/main:refs/heads/upstream &&
git config --add remote.origin.push +refs/tags/lastbackup &&
- git config --add remote.two.push +refs/heads/ahead:refs/heads/master &&
- git config --add remote.two.push refs/heads/master:refs/heads/another &&
+ git config --add remote.two.push +refs/heads/ahead:refs/heads/main &&
+ git config --add remote.two.push refs/heads/main:refs/heads/another &&
git remote show origin two >output &&
git branch -d rebase octopus &&
test_i18ncmp expect output
@@ -274,14 +277,14 @@ cat >test/expect <<EOF
Push URL: $(pwd)/one
HEAD branch: (not queried)
Remote branches: (status not queried)
- master
+ main
side
Local branches configured for 'git pull':
- ahead merges with remote master
- master merges with remote master
+ ahead merges with remote main
+ main merges with remote main
Local refs configured for 'git push' (status not queried):
(matching) pushes to (matching)
- refs/heads/master pushes to refs/heads/upstream
+ refs/heads/main pushes to refs/heads/upstream
refs/tags/lastbackup forces to refs/tags/lastbackup
EOF
@@ -322,7 +325,7 @@ test_expect_success 'set-head --auto' '
(
cd test &&
git remote set-head --auto origin &&
- echo refs/remotes/origin/master >expect &&
+ echo refs/remotes/origin/main >expect &&
git symbolic-ref refs/remotes/origin/HEAD >output &&
test_cmp expect output
)
@@ -333,7 +336,7 @@ test_expect_success 'set-head --auto has no problem w/multiple HEADs' '
cd test &&
git fetch two "refs/heads/*:refs/remotes/two/*" &&
git remote set-head --auto two >output 2>&1 &&
- echo "two/HEAD set to master" >expect &&
+ echo "two/HEAD set to main" >expect &&
test_i18ncmp expect output
)
'
@@ -347,7 +350,7 @@ test_expect_success 'set-head explicit' '
cd test &&
git remote set-head origin side2 &&
git symbolic-ref refs/remotes/origin/HEAD >output &&
- git remote set-head origin master &&
+ git remote set-head origin main &&
test_cmp expect output
)
'
@@ -394,7 +397,7 @@ test_expect_success 'add --mirror && prune' '
test_expect_success 'add --mirror=fetch' '
mkdir mirror-fetch &&
- git init mirror-fetch/parent &&
+ git init -b main mirror-fetch/parent &&
(
cd mirror-fetch/parent &&
test_commit one
@@ -410,7 +413,7 @@ test_expect_success 'fetch mirrors act as mirrors during fetch' '
(
cd mirror-fetch/parent &&
git branch new &&
- git branch -m master renamed
+ git branch -m main renamed
) &&
(
cd mirror-fetch/child &&
@@ -424,7 +427,7 @@ test_expect_success 'fetch mirrors can prune' '
(
cd mirror-fetch/child &&
git remote prune parent &&
- test_must_fail git rev-parse --verify refs/heads/master
+ test_must_fail git rev-parse --verify refs/heads/main
)
'
@@ -465,7 +468,7 @@ test_expect_success 'fetch mirror respects specific branches' '
test_expect_success 'add --mirror=push' '
mkdir mirror-push &&
git init --bare mirror-push/public &&
- git init mirror-push/private &&
+ git init -b main mirror-push/private &&
(
cd mirror-push/private &&
test_commit one &&
@@ -477,14 +480,14 @@ test_expect_success 'push mirrors act as mirrors during push' '
(
cd mirror-push/private &&
git branch new &&
- git branch -m master renamed &&
+ git branch -m main renamed &&
git push public
) &&
(
cd mirror-push/private &&
git rev-parse --verify refs/heads/new &&
git rev-parse --verify refs/heads/renamed &&
- test_must_fail git rev-parse --verify refs/heads/master
+ test_must_fail git rev-parse --verify refs/heads/main
)
'
@@ -610,10 +613,10 @@ test_expect_success 'reject --no-no-tags' '
'
cat >one/expect <<\EOF
- apis/master
+ apis/main
apis/side
drosophila/another
- drosophila/master
+ drosophila/main
drosophila/side
EOF
@@ -630,11 +633,11 @@ test_expect_success 'update' '
cat >one/expect <<\EOF
drosophila/another
- drosophila/master
+ drosophila/main
drosophila/side
- manduca/master
+ manduca/main
manduca/side
- megaloprepus/master
+ megaloprepus/main
megaloprepus/side
EOF
@@ -673,11 +676,11 @@ test_expect_success 'update --prune' '
'
cat >one/expect <<-\EOF
- apis/master
+ apis/main
apis/side
- manduca/master
+ manduca/main
manduca/side
- megaloprepus/master
+ megaloprepus/main
megaloprepus/side
EOF
@@ -697,7 +700,7 @@ test_expect_success 'update default' '
cat >one/expect <<\EOF
drosophila/another
- drosophila/master
+ drosophila/main
drosophila/side
EOF
@@ -751,14 +754,14 @@ test_expect_success 'rename a remote' '
git clone one four &&
(
cd four &&
- git config branch.master.pushRemote origin &&
+ git config branch.main.pushRemote origin &&
git remote rename origin upstream &&
test -z "$(git for-each-ref refs/remotes/origin)" &&
- test "$(git symbolic-ref refs/remotes/upstream/HEAD)" = "refs/remotes/upstream/master" &&
- test "$(git rev-parse upstream/master)" = "$(git rev-parse master)" &&
+ test "$(git symbolic-ref refs/remotes/upstream/HEAD)" = "refs/remotes/upstream/main" &&
+ test "$(git rev-parse upstream/main)" = "$(git rev-parse main)" &&
test "$(git config remote.upstream.fetch)" = "+refs/heads/*:refs/remotes/upstream/*" &&
- test "$(git config branch.master.remote)" = "upstream" &&
- test "$(git config branch.master.pushRemote)" = "upstream" &&
+ test "$(git config branch.main.remote)" = "upstream" &&
+ test "$(git config branch.main.pushRemote)" = "upstream" &&
test "$(git config --global remote.pushDefault)" = "origin"
)
'
@@ -804,7 +807,7 @@ test_expect_success 'rename does not update a non-default fetch refspec' '
git config remote.origin.fetch +refs/heads/*:refs/heads/origin/* &&
git remote rename origin upstream &&
test "$(git config remote.upstream.fetch)" = "+refs/heads/*:refs/heads/origin/*" &&
- git rev-parse -q origin/master
+ git rev-parse -q origin/main
)
'
@@ -824,7 +827,7 @@ test_expect_success 'rename a remote with name prefix of other remote' '
cd four.three &&
git remote add o git://example.com/repo.git &&
git remote rename o upstream &&
- test "$(git rev-parse origin/master)" = "$(git rev-parse master)"
+ test "$(git rev-parse origin/main)" = "$(git rev-parse main)"
)
'
@@ -840,11 +843,11 @@ test_expect_success 'remove a remote' '
git clone one four.five &&
(
cd four.five &&
- git config branch.master.pushRemote origin &&
+ git config branch.main.pushRemote origin &&
git remote remove origin &&
test -z "$(git for-each-ref refs/remotes/origin)" &&
- test_must_fail git config branch.master.remote &&
- test_must_fail git config branch.master.pushRemote &&
+ test_must_fail git config branch.main.remote &&
+ test_must_fail git config branch.main.pushRemote &&
test "$(git config --global remote.pushDefault)" = "origin"
)
'
@@ -885,9 +888,9 @@ test_expect_success 'remove a remote removes repo remote.pushDefault but keeps g
cat >remotes_origin <<EOF
URL: $(pwd)/one
-Push: refs/heads/master:refs/heads/upstream
+Push: refs/heads/main:refs/heads/upstream
Push: refs/heads/next:refs/heads/upstream2
-Pull: refs/heads/master:refs/heads/origin
+Pull: refs/heads/main:refs/heads/origin
Pull: refs/heads/next:refs/heads/origin2
EOF
@@ -903,11 +906,11 @@ test_expect_success 'migrate a remote from named file in $GIT_DIR/remotes' '
test_path_is_missing .git/remotes/origin &&
test "$(git config remote.origin.url)" = "$origin_url" &&
cat >push_expected <<-\EOF &&
- refs/heads/master:refs/heads/upstream
+ refs/heads/main:refs/heads/upstream
refs/heads/next:refs/heads/upstream2
EOF
cat >fetch_expected <<-\EOF &&
- refs/heads/master:refs/heads/origin
+ refs/heads/main:refs/heads/origin
refs/heads/next:refs/heads/origin2
EOF
git config --get-all remote.origin.push >push_actual &&
@@ -923,12 +926,12 @@ test_expect_success 'migrate a remote from named file in $GIT_DIR/branches' '
(
cd six &&
git remote rm origin &&
- echo "$origin_url" >.git/branches/origin &&
+ echo "$origin_url#main" >.git/branches/origin &&
git remote rename origin origin &&
test_path_is_missing .git/branches/origin &&
test "$(git config remote.origin.url)" = "$origin_url" &&
- test "$(git config remote.origin.fetch)" = "refs/heads/master:refs/heads/origin" &&
- test "$(git config remote.origin.push)" = "HEAD:refs/heads/master"
+ test "$(git config remote.origin.fetch)" = "refs/heads/main:refs/heads/origin" &&
+ test "$(git config remote.origin.push)" = "HEAD:refs/heads/main"
)
'
@@ -951,7 +954,7 @@ test_expect_success 'remote prune to cause a dangling symref' '
(
cd one &&
git checkout side2 &&
- git branch -D master
+ git branch -D main
) &&
(
cd eight &&
@@ -994,22 +997,22 @@ test_expect_success 'remote set-branches' '
EOF
sort <<-\EOF >expect.replace &&
+refs/heads/maint:refs/remotes/scratch/maint
- +refs/heads/master:refs/remotes/scratch/master
+ +refs/heads/main:refs/remotes/scratch/main
+refs/heads/next:refs/remotes/scratch/next
EOF
sort <<-\EOF >expect.add-two &&
+refs/heads/maint:refs/remotes/scratch/maint
- +refs/heads/master:refs/remotes/scratch/master
+ +refs/heads/main:refs/remotes/scratch/main
+refs/heads/next:refs/remotes/scratch/next
+refs/heads/seen:refs/remotes/scratch/seen
+refs/heads/t/topic:refs/remotes/scratch/t/topic
EOF
sort <<-\EOF >expect.setup-ffonly &&
- refs/heads/master:refs/remotes/scratch/master
+ refs/heads/main:refs/remotes/scratch/main
+refs/heads/next:refs/remotes/scratch/next
EOF
sort <<-\EOF >expect.respect-ffonly &&
- refs/heads/master:refs/remotes/scratch/master
+ refs/heads/main:refs/remotes/scratch/main
+refs/heads/next:refs/remotes/scratch/next
+refs/heads/seen:refs/remotes/scratch/seen
EOF
@@ -1025,7 +1028,7 @@ test_expect_success 'remote set-branches' '
git config --get-all remote.scratch.fetch >config-result &&
sort <config-result >../actual.add &&
- git remote set-branches scratch maint master next &&
+ git remote set-branches scratch maint main next &&
git config --get-all remote.scratch.fetch >config-result &&
sort <config-result >../actual.replace &&
@@ -1035,7 +1038,7 @@ test_expect_success 'remote set-branches' '
git config --unset-all remote.scratch.fetch &&
git config remote.scratch.fetch \
- refs/heads/master:refs/remotes/scratch/master &&
+ refs/heads/main:refs/remotes/scratch/main &&
git config --add remote.scratch.fetch \
+refs/heads/next:refs/remotes/scratch/next &&
git config --get-all remote.scratch.fetch >config-result &&
@@ -1055,14 +1058,14 @@ test_expect_success 'remote set-branches' '
test_expect_success 'remote set-branches with --mirror' '
echo "+refs/*:refs/*" >expect.initial &&
- echo "+refs/heads/master:refs/heads/master" >expect.replace &&
+ echo "+refs/heads/main:refs/heads/main" >expect.replace &&
git clone --mirror .git/ setbranches-mirror &&
(
cd setbranches-mirror &&
git remote rename origin scratch &&
git config --get-all remote.scratch.fetch >../actual.initial &&
- git remote set-branches scratch heads/master &&
+ git remote set-branches scratch heads/main &&
git config --get-all remote.scratch.fetch >../actual.replace
) &&
test_cmp expect.initial actual.initial &&
@@ -1308,7 +1311,7 @@ test_extra_arg () {
test_extra_arg add nick url
test_extra_arg rename origin newname
test_extra_arg remove origin
-test_extra_arg set-head origin master
+test_extra_arg set-head origin main
# set-branches takes any number of args
test_extra_arg get-url origin newurl
test_extra_arg set-url origin newurl oldurl
@@ -1325,7 +1328,7 @@ test_expect_success 'unqualified <dst> refspec DWIM and advice' '
test_when_finished "(cd test && git tag -d some-tag)" &&
(
cd test &&
- git tag -a -m "Some tag" some-tag master &&
+ git tag -a -m "Some tag" some-tag main &&
exit_with=true &&
for type in commit tag tree blob
do
@@ -1351,7 +1354,7 @@ test_expect_success 'unqualified <dst> refspec DWIM and advice' '
test_expect_success 'refs/remotes/* <src> refspec and unqualified <dst> DWIM and advice' '
(
cd two &&
- git tag -a -m "Some tag" my-tag master &&
+ git tag -a -m "Some tag" my-tag main &&
git update-ref refs/trees/my-head-tree HEAD^{tree} &&
git update-ref refs/blobs/my-file-blob HEAD:file
) &&
diff --git a/t/t5506-remote-groups.sh b/t/t5506-remote-groups.sh
index 83d5558c0e..8f150c0793 100755
--- a/t/t5506-remote-groups.sh
+++ b/t/t5506-remote-groups.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='git remote group handling'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
mark() {
@@ -31,8 +34,8 @@ repo_fetched() {
test_expect_success 'setup' '
mkdir one && (cd one && git init) &&
mkdir two && (cd two && git init) &&
- git remote add -m master one one &&
- git remote add -m master two two
+ git remote add -m main one one &&
+ git remote add -m main two two
'
test_expect_success 'no group updates all' '
diff --git a/t/t5509-fetch-push-namespaces.sh b/t/t5509-fetch-push-namespaces.sh
index a67f792adf..31553b48df 100755
--- a/t/t5509-fetch-push-namespaces.sh
+++ b/t/t5509-fetch-push-namespaces.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='fetch/push involving ref namespaces'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -27,9 +30,9 @@ test_expect_success setup '
test_expect_success 'pushing into a repository using a ref namespace' '
(
cd original &&
- git push pushee-namespaced master &&
+ git push pushee-namespaced main &&
git ls-remote pushee-namespaced >actual &&
- printf "$commit1\trefs/heads/master\n" >expected &&
+ printf "$commit1\trefs/heads/main\n" >expected &&
test_cmp expected actual &&
git push pushee-namespaced --tags &&
git ls-remote pushee-namespaced >actual &&
@@ -56,7 +59,7 @@ test_expect_success 'pulling from a repository using a ref namespace' '
cd puller &&
git remote add -f pushee-namespaced "ext::git --namespace=namespace %s ../pushee" &&
git for-each-ref refs/ >actual &&
- printf "$commit1 commit\trefs/remotes/pushee-namespaced/master\n" >expected &&
+ printf "$commit1 commit\trefs/remotes/pushee-namespaced/main\n" >expected &&
printf "$commit0 commit\trefs/tags/0\n" >>expected &&
printf "$commit1 commit\trefs/tags/1\n" >>expected &&
test_cmp expected actual
@@ -76,7 +79,7 @@ test_expect_success 'mirroring a repository using a ref namespace' '
(
cd mirror &&
git for-each-ref refs/ >actual &&
- printf "$commit1 commit\trefs/namespaces/namespace/refs/heads/master\n" >expected &&
+ printf "$commit1 commit\trefs/namespaces/namespace/refs/heads/main\n" >expected &&
printf "$commit0 commit\trefs/namespaces/namespace/refs/tags/0\n" >>expected &&
printf "$commit1 commit\trefs/namespaces/namespace/refs/tags/1\n" >>expected &&
test_cmp expected actual
@@ -87,7 +90,7 @@ test_expect_success 'hide namespaced refs with transfer.hideRefs' '
GIT_NAMESPACE=namespace \
git -C pushee -c transfer.hideRefs=refs/tags \
ls-remote "ext::git %s ." >actual &&
- printf "$commit1\trefs/heads/master\n" >expected &&
+ printf "$commit1\trefs/heads/main\n" >expected &&
test_cmp expected actual
'
@@ -95,7 +98,7 @@ test_expect_success 'check that transfer.hideRefs does not match unstripped refs
GIT_NAMESPACE=namespace \
git -C pushee -c transfer.hideRefs=refs/namespaces/namespace/refs/tags \
ls-remote "ext::git %s ." >actual &&
- printf "$commit1\trefs/heads/master\n" >expected &&
+ printf "$commit1\trefs/heads/main\n" >expected &&
printf "$commit0\trefs/tags/0\n" >>expected &&
printf "$commit1\trefs/tags/1\n" >>expected &&
test_cmp expected actual
@@ -105,23 +108,23 @@ test_expect_success 'hide full refs with transfer.hideRefs' '
GIT_NAMESPACE=namespace \
git -C pushee -c transfer.hideRefs="^refs/namespaces/namespace/refs/tags" \
ls-remote "ext::git %s ." >actual &&
- printf "$commit1\trefs/heads/master\n" >expected &&
+ printf "$commit1\trefs/heads/main\n" >expected &&
test_cmp expected actual
'
test_expect_success 'try to update a hidden ref' '
- test_config -C pushee transfer.hideRefs refs/heads/master &&
- test_must_fail git -C original push pushee-namespaced master
+ test_config -C pushee transfer.hideRefs refs/heads/main &&
+ test_must_fail git -C original push pushee-namespaced main
'
test_expect_success 'try to update a ref that is not hidden' '
- test_config -C pushee transfer.hideRefs refs/namespaces/namespace/refs/heads/master &&
- git -C original push pushee-namespaced master
+ test_config -C pushee transfer.hideRefs refs/namespaces/namespace/refs/heads/main &&
+ git -C original push pushee-namespaced main
'
test_expect_success 'try to update a hidden full ref' '
- test_config -C pushee transfer.hideRefs "^refs/namespaces/namespace/refs/heads/master" &&
- test_must_fail git -C original push pushee-namespaced master
+ test_config -C pushee transfer.hideRefs "^refs/namespaces/namespace/refs/heads/main" &&
+ test_must_fail git -C original push pushee-namespaced main
'
test_expect_success 'set up ambiguous HEAD' '
@@ -157,9 +160,9 @@ test_expect_success 'denyCurrentBranch and unborn branch with ref namespace' '
cd original &&
git init unborn &&
git remote add unborn-namespaced "ext::git --namespace=namespace %s unborn" &&
- test_must_fail git push unborn-namespaced HEAD:master &&
+ test_must_fail git push unborn-namespaced HEAD:main &&
git -C unborn config receive.denyCurrentBranch updateInstead &&
- git push unborn-namespaced HEAD:master
+ git push unborn-namespaced HEAD:main
)
'
diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh
index dbc724e4c0..42f5503004 100755
--- a/t/t5510-fetch.sh
+++ b/t/t5510-fetch.sh
@@ -5,27 +5,20 @@ test_description='Per branch config variables affects "git fetch".
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
+. "$TEST_DIRECTORY"/test-bundle-functions.sh
D=$(pwd)
-test_bundle_object_count () {
- git verify-pack -v "$1" >verify.out &&
- test "$2" = $(grep "^$OID_REGEX " verify.out | wc -l)
-}
-
-convert_bundle_to_pack () {
- while read x && test -n "$x"
- do
- :;
- done
- cat
-}
-
test_expect_success setup '
echo >file original &&
git add file &&
- git commit -a -m original'
+ git commit -a -m original &&
+ git branch -M main
+'
test_expect_success "clone and setup child repos" '
git clone . one &&
@@ -37,19 +30,19 @@ test_expect_success "clone and setup child repos" '
git clone . two &&
(
cd two &&
- git config branch.master.remote one &&
+ git config branch.main.remote one &&
git config remote.one.url ../one/.git/ &&
- git config remote.one.fetch refs/heads/master:refs/heads/one
+ git config remote.one.fetch refs/heads/main:refs/heads/one
) &&
git clone . three &&
(
cd three &&
- git config branch.master.remote two &&
- git config branch.master.merge refs/heads/one &&
+ git config branch.main.remote two &&
+ git config branch.main.merge refs/heads/one &&
mkdir -p .git/remotes &&
{
echo "URL: ../two/.git/"
- echo "Pull: refs/heads/master:refs/heads/two"
+ echo "Pull: refs/heads/main:refs/heads/two"
echo "Pull: refs/heads/one:refs/heads/one"
} >.git/remotes/two
) &&
@@ -65,7 +58,7 @@ test_expect_success "fetch test" '
git fetch &&
git rev-parse --verify refs/heads/one &&
mine=$(git rev-parse refs/heads/one) &&
- his=$(cd ../one && git rev-parse refs/heads/master) &&
+ his=$(cd ../one && git rev-parse refs/heads/main) &&
test "z$mine" = "z$his"
'
@@ -75,11 +68,11 @@ test_expect_success "fetch test for-merge" '
git fetch &&
git rev-parse --verify refs/heads/two &&
git rev-parse --verify refs/heads/one &&
- master_in_two=$(cd ../two && git rev-parse master) &&
+ main_in_two=$(cd ../two && git rev-parse main) &&
one_in_two=$(cd ../two && git rev-parse one) &&
{
echo "$one_in_two "
- echo "$master_in_two not-for-merge"
+ echo "$main_in_two not-for-merge"
} >expected &&
cut -f -2 .git/FETCH_HEAD >actual &&
test_cmp expected actual'
@@ -88,7 +81,7 @@ test_expect_success 'fetch --prune on its own works as expected' '
cd "$D" &&
git clone . prune &&
cd prune &&
- git update-ref refs/remotes/origin/extrabranch master &&
+ git update-ref refs/remotes/origin/extrabranch main &&
git fetch --prune origin &&
test_must_fail git rev-parse origin/extrabranch
@@ -98,9 +91,9 @@ test_expect_success 'fetch --prune with a branch name keeps branches' '
cd "$D" &&
git clone . prune-branch &&
cd prune-branch &&
- git update-ref refs/remotes/origin/extrabranch master &&
+ git update-ref refs/remotes/origin/extrabranch main &&
- git fetch --prune origin master &&
+ git fetch --prune origin main &&
git rev-parse origin/extrabranch
'
@@ -110,18 +103,18 @@ test_expect_success 'fetch --prune with a namespace keeps other namespaces' '
cd prune-namespace &&
git fetch --prune origin refs/heads/a/*:refs/remotes/origin/a/* &&
- git rev-parse origin/master
+ git rev-parse origin/main
'
test_expect_success 'fetch --prune handles overlapping refspecs' '
cd "$D" &&
- git update-ref refs/pull/42/head master &&
+ git update-ref refs/pull/42/head main &&
git clone . prune-overlapping &&
cd prune-overlapping &&
git config --add remote.origin.fetch refs/pull/*/head:refs/remotes/origin/pr/* &&
git fetch --prune origin &&
- git rev-parse origin/master &&
+ git rev-parse origin/main &&
git rev-parse origin/pr/42 &&
git config --unset-all remote.origin.fetch &&
@@ -129,7 +122,7 @@ test_expect_success 'fetch --prune handles overlapping refspecs' '
git config --add remote.origin.fetch refs/heads/*:refs/remotes/origin/* &&
git fetch --prune origin &&
- git rev-parse origin/master &&
+ git rev-parse origin/main &&
git rev-parse origin/pr/42
'
@@ -137,13 +130,13 @@ test_expect_success 'fetch --prune --tags prunes branches but not tags' '
cd "$D" &&
git clone . prune-tags &&
cd prune-tags &&
- git tag sometag master &&
+ git tag sometag main &&
# Create what looks like a remote-tracking branch from an earlier
# fetch that has since been deleted from the remote:
- git update-ref refs/remotes/origin/fake-remote master &&
+ git update-ref refs/remotes/origin/fake-remote main &&
git fetch --prune --tags origin &&
- git rev-parse origin/master &&
+ git rev-parse origin/main &&
test_must_fail git rev-parse origin/fake-remote &&
git rev-parse sometag
'
@@ -152,10 +145,10 @@ test_expect_success 'fetch --prune --tags with branch does not prune other thing
cd "$D" &&
git clone . prune-tags-branch &&
cd prune-tags-branch &&
- git tag sometag master &&
- git update-ref refs/remotes/origin/extrabranch master &&
+ git tag sometag main &&
+ git update-ref refs/remotes/origin/extrabranch main &&
- git fetch --prune --tags origin master &&
+ git fetch --prune --tags origin main &&
git rev-parse origin/extrabranch &&
git rev-parse sometag
'
@@ -164,9 +157,9 @@ test_expect_success 'fetch --prune --tags with refspec prunes based on refspec'
cd "$D" &&
git clone . prune-tags-refspec &&
cd prune-tags-refspec &&
- git tag sometag master &&
- git update-ref refs/remotes/origin/foo/otherbranch master &&
- git update-ref refs/remotes/origin/extrabranch master &&
+ git tag sometag main &&
+ git update-ref refs/remotes/origin/foo/otherbranch main &&
+ git update-ref refs/remotes/origin/extrabranch main &&
git fetch --prune --tags origin refs/heads/foo/*:refs/remotes/origin/foo/* &&
test_must_fail git rev-parse refs/remotes/origin/foo/otherbranch &&
@@ -174,23 +167,191 @@ test_expect_success 'fetch --prune --tags with refspec prunes based on refspec'
git rev-parse sometag
'
+test_expect_success 'fetch --atomic works with a single branch' '
+ test_when_finished "rm -rf \"$D\"/atomic" &&
+
+ cd "$D" &&
+ git clone . atomic &&
+ git branch atomic-branch &&
+ oid=$(git rev-parse atomic-branch) &&
+ echo "$oid" >expected &&
+
+ git -C atomic fetch --atomic origin &&
+ git -C atomic rev-parse origin/atomic-branch >actual &&
+ test_cmp expected actual &&
+ test $oid = "$(git -C atomic rev-parse --verify FETCH_HEAD)"
+'
+
+test_expect_success 'fetch --atomic works with multiple branches' '
+ test_when_finished "rm -rf \"$D\"/atomic" &&
+
+ cd "$D" &&
+ git clone . atomic &&
+ git branch atomic-branch-1 &&
+ git branch atomic-branch-2 &&
+ git branch atomic-branch-3 &&
+ git rev-parse refs/heads/atomic-branch-1 refs/heads/atomic-branch-2 refs/heads/atomic-branch-3 >actual &&
+
+ git -C atomic fetch --atomic origin &&
+ git -C atomic rev-parse refs/remotes/origin/atomic-branch-1 refs/remotes/origin/atomic-branch-2 refs/remotes/origin/atomic-branch-3 >expected &&
+ test_cmp expected actual
+'
+
+test_expect_success 'fetch --atomic works with mixed branches and tags' '
+ test_when_finished "rm -rf \"$D\"/atomic" &&
+
+ cd "$D" &&
+ git clone . atomic &&
+ git branch atomic-mixed-branch &&
+ git tag atomic-mixed-tag &&
+ git rev-parse refs/heads/atomic-mixed-branch refs/tags/atomic-mixed-tag >actual &&
+
+ git -C atomic fetch --tags --atomic origin &&
+ git -C atomic rev-parse refs/remotes/origin/atomic-mixed-branch refs/tags/atomic-mixed-tag >expected &&
+ test_cmp expected actual
+'
+
+test_expect_success 'fetch --atomic prunes references' '
+ test_when_finished "rm -rf \"$D\"/atomic" &&
+
+ cd "$D" &&
+ git branch atomic-prune-delete &&
+ git clone . atomic &&
+ git branch --delete atomic-prune-delete &&
+ git branch atomic-prune-create &&
+ git rev-parse refs/heads/atomic-prune-create >actual &&
+
+ git -C atomic fetch --prune --atomic origin &&
+ test_must_fail git -C atomic rev-parse refs/remotes/origin/atomic-prune-delete &&
+ git -C atomic rev-parse refs/remotes/origin/atomic-prune-create >expected &&
+ test_cmp expected actual
+'
+
+test_expect_success 'fetch --atomic aborts with non-fast-forward update' '
+ test_when_finished "rm -rf \"$D\"/atomic" &&
+
+ cd "$D" &&
+ git branch atomic-non-ff &&
+ git clone . atomic &&
+ git rev-parse HEAD >actual &&
+
+ git branch atomic-new-branch &&
+ parent_commit=$(git rev-parse atomic-non-ff~) &&
+ git update-ref refs/heads/atomic-non-ff $parent_commit &&
+
+ test_must_fail git -C atomic fetch --atomic origin refs/heads/*:refs/remotes/origin/* &&
+ test_must_fail git -C atomic rev-parse refs/remotes/origin/atomic-new-branch &&
+ git -C atomic rev-parse refs/remotes/origin/atomic-non-ff >expected &&
+ test_cmp expected actual &&
+ test_must_be_empty atomic/.git/FETCH_HEAD
+'
+
+test_expect_success 'fetch --atomic executes a single reference transaction only' '
+ test_when_finished "rm -rf \"$D\"/atomic" &&
+
+ cd "$D" &&
+ git clone . atomic &&
+ git branch atomic-hooks-1 &&
+ git branch atomic-hooks-2 &&
+ head_oid=$(git rev-parse HEAD) &&
+
+ cat >expected <<-EOF &&
+ prepared
+ $ZERO_OID $head_oid refs/remotes/origin/atomic-hooks-1
+ $ZERO_OID $head_oid refs/remotes/origin/atomic-hooks-2
+ committed
+ $ZERO_OID $head_oid refs/remotes/origin/atomic-hooks-1
+ $ZERO_OID $head_oid refs/remotes/origin/atomic-hooks-2
+ EOF
+
+ rm -f atomic/actual &&
+ write_script atomic/.git/hooks/reference-transaction <<-\EOF &&
+ ( echo "$*" && cat ) >>actual
+ EOF
+
+ git -C atomic fetch --atomic origin &&
+ test_cmp expected atomic/actual
+'
+
+test_expect_success 'fetch --atomic aborts all reference updates if hook aborts' '
+ test_when_finished "rm -rf \"$D\"/atomic" &&
+
+ cd "$D" &&
+ git clone . atomic &&
+ git branch atomic-hooks-abort-1 &&
+ git branch atomic-hooks-abort-2 &&
+ git branch atomic-hooks-abort-3 &&
+ git tag atomic-hooks-abort &&
+ head_oid=$(git rev-parse HEAD) &&
+
+ cat >expected <<-EOF &&
+ prepared
+ $ZERO_OID $head_oid refs/remotes/origin/atomic-hooks-abort-1
+ $ZERO_OID $head_oid refs/remotes/origin/atomic-hooks-abort-2
+ $ZERO_OID $head_oid refs/remotes/origin/atomic-hooks-abort-3
+ $ZERO_OID $head_oid refs/tags/atomic-hooks-abort
+ aborted
+ $ZERO_OID $head_oid refs/remotes/origin/atomic-hooks-abort-1
+ $ZERO_OID $head_oid refs/remotes/origin/atomic-hooks-abort-2
+ $ZERO_OID $head_oid refs/remotes/origin/atomic-hooks-abort-3
+ $ZERO_OID $head_oid refs/tags/atomic-hooks-abort
+ EOF
+
+ rm -f atomic/actual &&
+ write_script atomic/.git/hooks/reference-transaction <<-\EOF &&
+ ( echo "$*" && cat ) >>actual
+ exit 1
+ EOF
+
+ git -C atomic for-each-ref >expected-refs &&
+ test_must_fail git -C atomic fetch --tags --atomic origin &&
+ git -C atomic for-each-ref >actual-refs &&
+ test_cmp expected-refs actual-refs &&
+ test_must_be_empty atomic/.git/FETCH_HEAD
+'
+
+test_expect_success 'fetch --atomic --append appends to FETCH_HEAD' '
+ test_when_finished "rm -rf \"$D\"/atomic" &&
+
+ cd "$D" &&
+ git clone . atomic &&
+ oid=$(git rev-parse HEAD) &&
+
+ git branch atomic-fetch-head-1 &&
+ git -C atomic fetch --atomic origin atomic-fetch-head-1 &&
+ test_line_count = 1 atomic/.git/FETCH_HEAD &&
+
+ git branch atomic-fetch-head-2 &&
+ git -C atomic fetch --atomic --append origin atomic-fetch-head-2 &&
+ test_line_count = 2 atomic/.git/FETCH_HEAD &&
+ cp atomic/.git/FETCH_HEAD expected &&
+
+ write_script atomic/.git/hooks/reference-transaction <<-\EOF &&
+ exit 1
+ EOF
+
+ git branch atomic-fetch-head-3 &&
+ test_must_fail git -C atomic fetch --atomic --append origin atomic-fetch-head-3 &&
+ test_cmp expected atomic/.git/FETCH_HEAD
+'
+
test_expect_success '--refmap="" ignores configured refspec' '
cd "$TRASH_DIRECTORY" &&
git clone "$D" remote-refs &&
- git -C remote-refs rev-parse remotes/origin/master >old &&
- git -C remote-refs update-ref refs/remotes/origin/master master~1 &&
- git -C remote-refs rev-parse remotes/origin/master >new &&
+ git -C remote-refs rev-parse remotes/origin/main >old &&
+ git -C remote-refs update-ref refs/remotes/origin/main main~1 &&
+ git -C remote-refs rev-parse remotes/origin/main >new &&
git -C remote-refs fetch --refmap= origin "+refs/heads/*:refs/hidden/origin/*" &&
- git -C remote-refs rev-parse remotes/origin/master >actual &&
+ git -C remote-refs rev-parse remotes/origin/main >actual &&
test_cmp new actual &&
git -C remote-refs fetch origin &&
- git -C remote-refs rev-parse remotes/origin/master >actual &&
+ git -C remote-refs rev-parse remotes/origin/main >actual &&
test_cmp old actual
'
test_expect_success '--refmap="" and --prune' '
- git -C remote-refs update-ref refs/remotes/origin/foo/otherbranch master &&
- git -C remote-refs update-ref refs/hidden/foo/otherbranch master &&
+ git -C remote-refs update-ref refs/remotes/origin/foo/otherbranch main &&
+ git -C remote-refs update-ref refs/hidden/foo/otherbranch main &&
git -C remote-refs fetch --prune --refmap="" origin +refs/heads/*:refs/hidden/* &&
git -C remote-refs rev-parse remotes/origin/foo/otherbranch &&
test_must_fail git -C remote-refs rev-parse refs/hidden/foo/otherbranch &&
@@ -250,7 +411,7 @@ test_expect_success 'fetch uses remote ref names to describe new refs' '
test_i18ngrep "new tag.* -> descriptive-tag$" actual &&
test_i18ngrep "new ref.* -> crazy$" actual
) &&
- git checkout master
+ git checkout main
'
test_expect_success 'fetch must not resolve short tag name' '
@@ -281,7 +442,7 @@ test_expect_success 'create bundle 1' '
cd "$D" &&
echo >file updated again by origin &&
git commit -a -m "tip" &&
- git bundle create --version=3 bundle1 master^..master
+ git bundle create --version=3 bundle1 main^..main
'
test_expect_success 'header of bundle looks right' '
@@ -289,7 +450,7 @@ test_expect_success 'header of bundle looks right' '
# v3 git bundle
@object-format=$(test_oid algo)
-OID updated by origin
- OID refs/heads/master
+ OID refs/heads/main
EOF
sed -e "s/$OID_REGEX/OID/g" -e "5q" "$D"/bundle1 >actual &&
@@ -298,27 +459,25 @@ test_expect_success 'header of bundle looks right' '
test_expect_success 'create bundle 2' '
cd "$D" &&
- git bundle create bundle2 master~2..master
+ git bundle create bundle2 main~2..main
'
test_expect_success 'unbundle 1' '
cd "$D/bundle" &&
git checkout -b some-branch &&
- test_must_fail git fetch "$D/bundle1" master:master
+ test_must_fail git fetch "$D/bundle1" main:main
'
test_expect_success 'bundle 1 has only 3 files ' '
cd "$D" &&
- convert_bundle_to_pack <bundle1 >bundle.pack &&
- git index-pack bundle.pack &&
- test_bundle_object_count bundle.pack 3
+ test_bundle_object_count bundle1 3
'
test_expect_success 'unbundle 2' '
cd "$D/bundle" &&
- git fetch ../bundle2 master:master &&
- test "tip" = "$(git log -1 --pretty=oneline master | cut -d" " -f2)"
+ git fetch ../bundle2 main:main &&
+ test "tip" = "$(git log -1 --pretty=oneline main | cut -d" " -f2)"
'
test_expect_success 'bundle does not prerequisite objects' '
@@ -327,22 +486,20 @@ test_expect_success 'bundle does not prerequisite objects' '
git add file2 &&
git commit -m add.file2 file2 &&
git bundle create bundle3 -1 HEAD &&
- convert_bundle_to_pack <bundle3 >bundle.pack &&
- git index-pack bundle.pack &&
- test_bundle_object_count bundle.pack 3
+ test_bundle_object_count bundle3 3
'
test_expect_success 'bundle should be able to create a full history' '
cd "$D" &&
- git tag -a -m "1.0" v1.0 master &&
+ git tag -a -m "1.0" v1.0 main &&
git bundle create bundle4 v1.0
'
test_expect_success 'fetch with a non-applying branch.<name>.merge' '
- git config branch.master.remote yeti &&
- git config branch.master.merge refs/heads/bigfoot &&
+ git config branch.main.remote yeti &&
+ git config branch.main.merge refs/heads/bigfoot &&
git config remote.blub.url one &&
git config remote.blub.fetch "refs/heads/*:refs/remotes/one/*" &&
git fetch blub
@@ -362,8 +519,8 @@ test_expect_success 'fetch from GIT URL with a non-applying branch.<name>.merge
# the merge spec matches the branch the remote HEAD points to
test_expect_success 'fetch from GIT URL with a non-applying branch.<name>.merge [2]' '
one_ref=$(cd one && git symbolic-ref HEAD) &&
- git config branch.master.remote blub &&
- git config branch.master.merge "$one_ref" &&
+ git config branch.main.remote blub &&
+ git config branch.main.merge "$one_ref" &&
git update-ref -d FETCH_HEAD &&
git fetch one &&
test $one_head = "$(git rev-parse --verify FETCH_HEAD)" &&
@@ -373,7 +530,7 @@ test_expect_success 'fetch from GIT URL with a non-applying branch.<name>.merge
# URL supplied to fetch matches the url of the configured branch's remote, but
# the merge spec does not match the branch the remote HEAD points to
test_expect_success 'fetch from GIT URL with a non-applying branch.<name>.merge [3]' '
- git config branch.master.merge "${one_ref}_not" &&
+ git config branch.main.merge "${one_ref}_not" &&
git update-ref -d FETCH_HEAD &&
git fetch one &&
test $one_head = "$(git rev-parse --verify FETCH_HEAD)" &&
@@ -389,9 +546,9 @@ test_expect_success 'quoting of a strangely named repo' '
test_expect_success 'bundle should record HEAD correctly' '
cd "$D" &&
- git bundle create bundle5 HEAD master &&
+ git bundle create bundle5 HEAD main &&
git bundle list-heads bundle5 >actual &&
- for h in HEAD refs/heads/master
+ for h in HEAD refs/heads/main
do
echo "$(git rev-parse --verify $h) $h"
done >expect &&
@@ -399,10 +556,10 @@ test_expect_success 'bundle should record HEAD correctly' '
'
-test_expect_success 'mark initial state of origin/master' '
+test_expect_success 'mark initial state of origin/main' '
(
cd three &&
- git tag base-origin-master refs/remotes/origin/master
+ git tag base-origin-main refs/remotes/origin/main
)
'
@@ -412,10 +569,10 @@ test_expect_success 'explicit fetch should update tracking' '
git branch -f side &&
(
cd three &&
- git update-ref refs/remotes/origin/master base-origin-master &&
- o=$(git rev-parse --verify refs/remotes/origin/master) &&
- git fetch origin master &&
- n=$(git rev-parse --verify refs/remotes/origin/master) &&
+ git update-ref refs/remotes/origin/main base-origin-main &&
+ o=$(git rev-parse --verify refs/remotes/origin/main) &&
+ git fetch origin main &&
+ n=$(git rev-parse --verify refs/remotes/origin/main) &&
test "$o" != "$n" &&
test_must_fail git rev-parse --verify refs/remotes/origin/side
)
@@ -427,10 +584,10 @@ test_expect_success 'explicit pull should update tracking' '
git branch -f side &&
(
cd three &&
- git update-ref refs/remotes/origin/master base-origin-master &&
- o=$(git rev-parse --verify refs/remotes/origin/master) &&
- git pull origin master &&
- n=$(git rev-parse --verify refs/remotes/origin/master) &&
+ git update-ref refs/remotes/origin/main base-origin-main &&
+ o=$(git rev-parse --verify refs/remotes/origin/main) &&
+ git pull origin main &&
+ n=$(git rev-parse --verify refs/remotes/origin/main) &&
test "$o" != "$n" &&
test_must_fail git rev-parse --verify refs/remotes/origin/side
)
@@ -449,13 +606,13 @@ test_expect_success 'explicit --refmap option overrides remote.*.fetch' '
git branch -f side &&
(
cd three &&
- git update-ref refs/remotes/origin/master base-origin-master &&
- o=$(git rev-parse --verify refs/remotes/origin/master) &&
- git fetch --refmap="refs/heads/*:refs/remotes/other/*" origin master &&
- n=$(git rev-parse --verify refs/remotes/origin/master) &&
+ git update-ref refs/remotes/origin/main base-origin-main &&
+ o=$(git rev-parse --verify refs/remotes/origin/main) &&
+ git fetch --refmap="refs/heads/*:refs/remotes/other/*" origin main &&
+ n=$(git rev-parse --verify refs/remotes/origin/main) &&
test "$o" = "$n" &&
test_must_fail git rev-parse --verify refs/remotes/origin/side &&
- git rev-parse --verify refs/remotes/other/master
+ git rev-parse --verify refs/remotes/other/main
)
'
@@ -464,10 +621,10 @@ test_expect_success 'explicitly empty --refmap option disables remote.*.fetch' '
git branch -f side &&
(
cd three &&
- git update-ref refs/remotes/origin/master base-origin-master &&
- o=$(git rev-parse --verify refs/remotes/origin/master) &&
- git fetch --refmap="" origin master &&
- n=$(git rev-parse --verify refs/remotes/origin/master) &&
+ git update-ref refs/remotes/origin/main base-origin-main &&
+ o=$(git rev-parse --verify refs/remotes/origin/main) &&
+ git fetch --refmap="" origin main &&
+ n=$(git rev-parse --verify refs/remotes/origin/main) &&
test "$o" = "$n" &&
test_must_fail git rev-parse --verify refs/remotes/origin/side
)
@@ -479,10 +636,10 @@ test_expect_success 'configured fetch updates tracking' '
git branch -f side &&
(
cd three &&
- git update-ref refs/remotes/origin/master base-origin-master &&
- o=$(git rev-parse --verify refs/remotes/origin/master) &&
+ git update-ref refs/remotes/origin/main base-origin-main &&
+ o=$(git rev-parse --verify refs/remotes/origin/main) &&
git fetch origin &&
- n=$(git rev-parse --verify refs/remotes/origin/master) &&
+ n=$(git rev-parse --verify refs/remotes/origin/main) &&
test "$o" != "$n" &&
git rev-parse --verify refs/remotes/origin/side
)
@@ -493,12 +650,12 @@ test_expect_success 'non-matching refspecs do not confuse tracking update' '
git update-ref refs/odd/location HEAD &&
(
cd three &&
- git update-ref refs/remotes/origin/master base-origin-master &&
+ git update-ref refs/remotes/origin/main base-origin-main &&
git config --add remote.origin.fetch \
refs/odd/location:refs/remotes/origin/odd &&
- o=$(git rev-parse --verify refs/remotes/origin/master) &&
- git fetch origin master &&
- n=$(git rev-parse --verify refs/remotes/origin/master) &&
+ o=$(git rev-parse --verify refs/remotes/origin/main) &&
+ git fetch origin main &&
+ n=$(git rev-parse --verify refs/remotes/origin/main) &&
test "$o" != "$n" &&
test_must_fail git rev-parse --verify refs/remotes/origin/odd
)
@@ -524,7 +681,7 @@ test_expect_success 'auto tag following fetches minimum' '
git tag -a -m $i excess-$i || exit 1
done
) &&
- git checkout master &&
+ git checkout main &&
(
cd follow &&
git fetch
@@ -533,13 +690,13 @@ test_expect_success 'auto tag following fetches minimum' '
test_expect_success 'refuse to fetch into the current branch' '
- test_must_fail git fetch . side:master
+ test_must_fail git fetch . side:main
'
test_expect_success 'fetch into the current branch with --update-head-ok' '
- git fetch --update-head-ok . side:master
+ git fetch --update-head-ok . side:main
'
@@ -568,7 +725,7 @@ test_expect_success "should be able to fetch with duplicate refspecs" '
(
cd dups &&
git init &&
- git config branch.master.remote three &&
+ git config branch.main.remote three &&
git config remote.three.url ../three/.git &&
git config remote.three.fetch +refs/heads/*:refs/remotes/origin/* &&
git config --add remote.three.fetch +refs/heads/*:refs/remotes/origin/* &&
@@ -877,14 +1034,12 @@ test_expect_success 'all boundary commits are excluded' '
test_commit oneside &&
git checkout HEAD^ &&
test_commit otherside &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git merge otherside &&
ad=$(git log --no-walk --format=%ad HEAD) &&
- git bundle create twoside-boundary.bdl master --since="$ad" &&
- convert_bundle_to_pack <twoside-boundary.bdl >twoside-boundary.pack &&
- pack=$(git index-pack --fix-thin --stdin <twoside-boundary.pack) &&
- test_bundle_object_count .git/objects/pack/pack-${pack##pack }.pack 3
+ git bundle create twoside-boundary.bdl main --since="$ad" &&
+ test_bundle_object_count --thin twoside-boundary.bdl 3
'
test_expect_success 'fetch --prune prints the remotes url' '
@@ -951,7 +1106,7 @@ test_expect_success C_LOCALE_OUTPUT 'fetch aligned output' '
grep -e "->" actual | cut -c 22- >../actual
) &&
cat >expect <<-\EOF &&
- master -> origin/master
+ main -> origin/main
looooooooooooong-tag -> looooooooooooong-tag
EOF
test_cmp expect actual
@@ -966,7 +1121,7 @@ test_expect_success C_LOCALE_OUTPUT 'fetch compact output' '
grep -e "->" actual | cut -c 22- >../actual
) &&
cat >expect <<-\EOF &&
- master -> origin/*
+ main -> origin/*
extraaa -> *
EOF
test_cmp expect actual
@@ -1001,7 +1156,7 @@ setup_negotiation_tip () {
USE_PROTOCOL_V2="$3"
rm -rf "$SERVER" client trace &&
- git init "$SERVER" &&
+ git init -b main "$SERVER" &&
test_commit -C "$SERVER" alpha_1 &&
test_commit -C "$SERVER" alpha_2 &&
git -C "$SERVER" checkout --orphan beta &&
@@ -1017,7 +1172,7 @@ setup_negotiation_tip () {
fi &&
test_commit -C "$SERVER" beta_s &&
- git -C "$SERVER" checkout master &&
+ git -C "$SERVER" checkout main &&
test_commit -C "$SERVER" alpha_s &&
git -C "$SERVER" tag -d alpha_1 alpha_2 beta_1 beta_2
}
diff --git a/t/t5511-refspec.sh b/t/t5511-refspec.sh
index f541f30bc2..be025b90f9 100755
--- a/t/t5511-refspec.sh
+++ b/t/t5511-refspec.sh
@@ -33,7 +33,7 @@ test_refspec fetch '::' invalid
test_refspec push 'refs/heads/*:refs/remotes/frotz/*'
test_refspec push 'refs/heads/*:refs/remotes/frotz' invalid
test_refspec push 'refs/heads:refs/remotes/frotz/*' invalid
-test_refspec push 'refs/heads/master:refs/remotes/frotz/xyzzy'
+test_refspec push 'refs/heads/main:refs/remotes/frotz/xyzzy'
# These have invalid LHS, but we do not have a formal "valid sha-1
@@ -41,23 +41,25 @@ test_refspec push 'refs/heads/master:refs/remotes/frotz/xyzzy'
# code. They will be caught downstream anyway, but we may want to
# have tighter check later...
-: test_refspec push 'refs/heads/master::refs/remotes/frotz/xyzzy' invalid
+: test_refspec push 'refs/heads/main::refs/remotes/frotz/xyzzy' invalid
: test_refspec push 'refs/heads/maste :refs/remotes/frotz/xyzzy' invalid
test_refspec fetch 'refs/heads/*:refs/remotes/frotz/*'
test_refspec fetch 'refs/heads/*:refs/remotes/frotz' invalid
test_refspec fetch 'refs/heads:refs/remotes/frotz/*' invalid
-test_refspec fetch 'refs/heads/master:refs/remotes/frotz/xyzzy'
-test_refspec fetch 'refs/heads/master::refs/remotes/frotz/xyzzy' invalid
+test_refspec fetch 'refs/heads/main:refs/remotes/frotz/xyzzy'
+test_refspec fetch 'refs/heads/main::refs/remotes/frotz/xyzzy' invalid
test_refspec fetch 'refs/heads/maste :refs/remotes/frotz/xyzzy' invalid
-test_refspec push 'master~1:refs/remotes/frotz/backup'
-test_refspec fetch 'master~1:refs/remotes/frotz/backup' invalid
+test_refspec push 'main~1:refs/remotes/frotz/backup'
+test_refspec fetch 'main~1:refs/remotes/frotz/backup' invalid
test_refspec push 'HEAD~4:refs/remotes/frotz/new'
test_refspec fetch 'HEAD~4:refs/remotes/frotz/new' invalid
test_refspec push 'HEAD'
test_refspec fetch 'HEAD'
+test_refspec push '@'
+test_refspec fetch '@'
test_refspec push 'refs/heads/ nitfol' invalid
test_refspec fetch 'refs/heads/ nitfol' invalid
diff --git a/t/t5512-ls-remote.sh b/t/t5512-ls-remote.sh
index e98c3a0174..4a568a2398 100755
--- a/t/t5512-ls-remote.sh
+++ b/t/t5512-ls-remote.sh
@@ -2,6 +2,9 @@
test_description='git ls-remote'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
generate_references () {
@@ -118,7 +121,7 @@ test_expect_success 'use branch.<name>.remote if possible' '
echo "From $URL" >exp_err &&
git remote add other $URL &&
- git config branch.master.remote other &&
+ git config branch.main.remote other &&
git ls-remote 2>actual_err >actual &&
test_cmp exp_err actual_err &&
@@ -129,9 +132,9 @@ test_expect_success 'confuses pattern as remote when no remote specified' '
if test_have_prereq MINGW
then
# Windows does not like asterisks in pathname
- does_not_exist=master
+ does_not_exist=main
else
- does_not_exist="refs*master"
+ does_not_exist="refs*main"
fi &&
cat >exp <<-EOF &&
fatal: '\''$does_not_exist'\'' does not appear to be a git repository
@@ -144,7 +147,7 @@ test_expect_success 'confuses pattern as remote when no remote specified' '
# Do not expect "git ls-remote <pattern>" to work; ls-remote needs
# <remote> if you want to feed <pattern>, just like you cannot say
# fetch <branch>.
- # We could just as easily have used "master"; the "*" emphasizes its
+ # We could just as easily have used "main"; the "*" emphasizes its
# role as a pattern.
test_must_fail git ls-remote "$does_not_exist" >actual 2>&1 &&
test_i18ncmp exp actual
@@ -217,14 +220,14 @@ test_expect_success 'protocol v2 supports hiderefs' '
test_expect_success 'ls-remote --symref' '
git fetch origin &&
- echo "ref: refs/heads/master HEAD" >expect &&
+ echo "ref: refs/heads/main HEAD" >expect &&
generate_references \
HEAD \
- refs/heads/master >>expect &&
+ refs/heads/main >>expect &&
oid=$(git rev-parse HEAD) &&
echo "$oid refs/remotes/origin/HEAD" >>expect &&
generate_references \
- refs/remotes/origin/master \
+ refs/remotes/origin/main \
refs/tags/mark \
refs/tags/mark1.1 \
refs/tags/mark1.10 \
@@ -238,7 +241,7 @@ test_expect_success 'ls-remote --symref' '
test_expect_success 'ls-remote with filtered symref (refname)' '
rev=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
- ref: refs/heads/master HEAD
+ ref: refs/heads/main HEAD
$rev HEAD
EOF
# Protocol v2 supports sending symrefs for refs other than HEAD, so use
@@ -252,7 +255,7 @@ test_expect_failure 'ls-remote with filtered symref (--heads)' '
cat >expect <<-EOF &&
ref: refs/tags/mark refs/heads/foo
$rev refs/heads/foo
- $rev refs/heads/master
+ $rev refs/heads/main
EOF
# Protocol v2 supports sending symrefs for refs other than HEAD, so use
# protocol v0 here.
@@ -263,7 +266,7 @@ test_expect_failure 'ls-remote with filtered symref (--heads)' '
test_expect_success 'ls-remote --symref omits filtered-out matches' '
cat >expect <<-EOF &&
$rev refs/heads/foo
- $rev refs/heads/master
+ $rev refs/heads/main
EOF
# Protocol v2 supports sending symrefs for refs other than HEAD, so use
# protocol v0 here.
@@ -330,10 +333,10 @@ test_expect_success 'ls-remote --sort fails gracefully outside repository' '
test_expect_success 'ls-remote patterns work with all protocol versions' '
git for-each-ref --format="%(objectname) %(refname)" \
- refs/heads/master refs/remotes/origin/master >expect &&
- git -c protocol.version=1 ls-remote . master >actual.v1 &&
+ refs/heads/main refs/remotes/origin/main >expect &&
+ git -c protocol.version=1 ls-remote . main >actual.v1 &&
test_cmp expect actual.v1 &&
- git -c protocol.version=2 ls-remote . master >actual.v2 &&
+ git -c protocol.version=2 ls-remote . main >actual.v2 &&
test_cmp expect actual.v2
'
diff --git a/t/t5514-fetch-multiple.sh b/t/t5514-fetch-multiple.sh
index bd202ec6f3..511ba3bd45 100755
--- a/t/t5514-fetch-multiple.sh
+++ b/t/t5514-fetch-multiple.sh
@@ -2,6 +2,9 @@
test_description='fetch --all works correctly'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
setup_repository () {
@@ -17,7 +20,7 @@ setup_repository () {
git add elif &&
test_tick &&
git commit -m "Second" &&
- git checkout master
+ git checkout main
)
}
@@ -32,16 +35,16 @@ test_expect_success setup '
'
cat > test/expect << EOF
- one/master
+ one/main
one/side
- origin/HEAD -> origin/master
- origin/master
+ origin/HEAD -> origin/main
+ origin/main
origin/side
three/another
- three/master
+ three/main
three/side
two/another
- two/master
+ two/main
two/side
EOF
@@ -70,15 +73,15 @@ test_expect_success 'git fetch --all should continue if a remote has errors' '
test_expect_success 'git fetch --all does not allow non-option arguments' '
(cd test &&
test_must_fail git fetch --all origin &&
- test_must_fail git fetch --all origin master)
+ test_must_fail git fetch --all origin main)
'
cat > expect << EOF
- origin/HEAD -> origin/master
- origin/master
+ origin/HEAD -> origin/main
+ origin/main
origin/side
three/another
- three/master
+ three/main
three/side
EOF
@@ -92,10 +95,10 @@ test_expect_success 'git fetch --multiple (but only one remote)' '
'
cat > expect << EOF
- one/master
+ one/main
one/side
two/another
- two/master
+ two/main
two/side
EOF
@@ -133,13 +136,13 @@ test_expect_success 'git fetch --all (skipFetchAll)' '
'
cat > expect << EOF
- one/master
+ one/main
one/side
three/another
- three/master
+ three/main
three/side
two/another
- two/master
+ two/main
two/side
EOF
diff --git a/t/t5515-fetch-merge-logic.sh b/t/t5515-fetch-merge-logic.sh
index 70a9d2d8ab..50f14101c5 100755
--- a/t/t5515-fetch-merge-logic.sh
+++ b/t/t5515-fetch-merge-logic.sh
@@ -11,11 +11,14 @@ test_description='Merge logic in fetch'
GIT_TEST_PROTOCOL_VERSION=0
export GIT_TEST_PROTOCOL_VERSION
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
build_script () {
script="$1" &&
- for i in one three_file master topic_2 one_tree three two two2 three2
+ for i in one three_file main topic_2 one_tree three two two2 three2
do
echo "s/$(test_oid --hash=sha1 "$i")/$(test_oid "$i")/g" >>"$script"
done
@@ -40,8 +43,8 @@ test_expect_success setup '
three_file sha1:0e3b14047d3ee365f4f2a1b673db059c3972589c
three_file sha256:bc4447d50c07497a8bfe6eef817f2364ecca9d471452e43b52756cc1a908bd32
- master sha1:6c9dec2b923228c9ff994c6cfe4ae16c12408dc5
- master sha256:8521c3072461fcfe8f32d67f95cc6e6b832a2db2fa29769ffc788bce85ebcd75
+ main sha1:ecf3b3627b498bdcb735cc4343bf165f76964e9a
+ main sha256:fff666109892bb4b1c80cd1649d2d8762a0663db8b5d46c8be98360b64fbba5f
one_tree sha1:22feea448b023a2d864ef94b013735af34d238ba
one_tree sha256:6e4743f4ef2356b881dda5e91f5c7cdffe870faf350bf7b312f80a20935f5d83
@@ -52,8 +55,8 @@ test_expect_success setup '
two sha1:525b7fb068d59950d185a8779dc957c77eed73ba
two sha256:3b21de3440cd38c2a9e9b464adb923f7054949ed4c918e1a0ac4c95cd52774db
- topic_2 sha1:754b754407bf032e9a2f9d5a9ad05ca79a6b228f
- topic_2 sha256:6c7abaea8a6d8ef4d89877e68462758dc6774690fbbbb0e6d7dd57415c9abde0
+ topic_2 sha1:b4ab76b1a01ea602209932134a44f1e6bd610832
+ topic_2 sha256:380ebae0113f877ce46fcdf39d5bc33e4dc0928db5c5a4d5fdc78381c4d55ae3
two2 sha1:6134ee8f857693b96ff1cc98d3e2fd62b199e5a8
two2 sha256:87a2d3ee29c83a3dc7afd41c0606b11f67603120b910a7be7840accdc18344d4
@@ -80,9 +83,9 @@ test_expect_success setup '
git tag -a -m "Tag Three file" tag-three-file HEAD^{tree}:file &&
git branch three &&
- echo master >> file &&
- git commit -a -m Master &&
- git tag -a -m "Tag Master" tag-master &&
+ echo main >> file &&
+ git commit -a -m Main &&
+ git tag -a -m "Tag Main" tag-main &&
git checkout three &&
@@ -91,7 +94,7 @@ test_expect_success setup '
git config remote.origin.url ../.git/ &&
git config remote.config-explicit.url ../.git/ &&
- git config remote.config-explicit.fetch refs/heads/master:remotes/rem/master &&
+ git config remote.config-explicit.fetch refs/heads/main:remotes/rem/main &&
git config --add remote.config-explicit.fetch refs/heads/one:remotes/rem/one &&
git config --add remote.config-explicit.fetch two:remotes/rem/two &&
git config --add remote.config-explicit.fetch refs/heads/three:remotes/rem/three &&
@@ -104,7 +107,7 @@ test_expect_success setup '
mkdir -p .git/remotes &&
{
echo "URL: ../.git/"
- echo "Pull: refs/heads/master:remotes/rem/master"
+ echo "Pull: refs/heads/main:remotes/rem/main"
echo "Pull: refs/heads/one:remotes/rem/one"
echo "Pull: two:remotes/rem/two"
echo "Pull: refs/heads/three:remotes/rem/three"
@@ -149,7 +152,7 @@ done > tests
# but does depend on Pull: or fetch lines.
# Use two branches completely unrelated from the arguments,
# the clone default and one without branch properties
-for branch in master br-unconfig ; do
+for branch in main br-unconfig ; do
echo $branch
for remote in $remotes ; do
echo $branch $remote
@@ -158,7 +161,7 @@ done >> tests
# Merge logic does not depend on branch properties
# neither in the Pull: or .fetch config
-for branch in master br-unconfig ; do
+for branch in main br-unconfig ; do
cat <<EOF
$branch ../.git
$branch ../.git one
diff --git a/t/t5515/fetch.br-branches-default b/t/t5515/fetch.br-branches-default
index a1bc3d53a6..0bed09cc12 100644
--- a/t/t5515/fetch.br-branches-default
+++ b/t/t5515/fetch.br-branches-default
@@ -1,6 +1,6 @@
# br-branches-default
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f branch 'master' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 branch 'main' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-branches-default-merge b/t/t5515/fetch.br-branches-default-merge
index 12ab08e8ac..59eef63527 100644
--- a/t/t5515/fetch.br-branches-default-merge
+++ b/t/t5515/fetch.br-branches-default-merge
@@ -1,7 +1,7 @@
# br-branches-default-merge
0567da4d5edd2ff4bb292a465ba9e64dcad9536b branch 'three' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-branches-default-merge_branches-default b/t/t5515/fetch.br-branches-default-merge_branches-default
index 54427522dd..490186c158 100644
--- a/t/t5515/fetch.br-branches-default-merge_branches-default
+++ b/t/t5515/fetch.br-branches-default-merge_branches-default
@@ -1,7 +1,7 @@
# br-branches-default-merge branches-default
0567da4d5edd2ff4bb292a465ba9e64dcad9536b branch 'three' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-branches-default-octopus b/t/t5515/fetch.br-branches-default-octopus
index 498a761aae..d484138c27 100644
--- a/t/t5515/fetch.br-branches-default-octopus
+++ b/t/t5515/fetch.br-branches-default-octopus
@@ -1,8 +1,8 @@
# br-branches-default-octopus
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 branch 'two' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-branches-default-octopus_branches-default b/t/t5515/fetch.br-branches-default-octopus_branches-default
index 0857f134e1..b79a5fe2c3 100644
--- a/t/t5515/fetch.br-branches-default-octopus_branches-default
+++ b/t/t5515/fetch.br-branches-default-octopus_branches-default
@@ -1,8 +1,8 @@
# br-branches-default-octopus branches-default
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 branch 'two' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-branches-default_branches-default b/t/t5515/fetch.br-branches-default_branches-default
index 8cbd718936..1c866d85e6 100644
--- a/t/t5515/fetch.br-branches-default_branches-default
+++ b/t/t5515/fetch.br-branches-default_branches-default
@@ -1,6 +1,6 @@
# br-branches-default branches-default
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f branch 'master' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 branch 'main' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-branches-one b/t/t5515/fetch.br-branches-one
index c98f670526..6925a775b6 100644
--- a/t/t5515/fetch.br-branches-one
+++ b/t/t5515/fetch.br-branches-one
@@ -1,6 +1,6 @@
# br-branches-one
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-branches-one-merge b/t/t5515/fetch.br-branches-one-merge
index 54a77420d5..85257031ce 100644
--- a/t/t5515/fetch.br-branches-one-merge
+++ b/t/t5515/fetch.br-branches-one-merge
@@ -1,7 +1,7 @@
# br-branches-one-merge
0567da4d5edd2ff4bb292a465ba9e64dcad9536b branch 'three' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-branches-one-merge_branches-one b/t/t5515/fetch.br-branches-one-merge_branches-one
index b4d1bb0b0b..3a63a7f450 100644
--- a/t/t5515/fetch.br-branches-one-merge_branches-one
+++ b/t/t5515/fetch.br-branches-one-merge_branches-one
@@ -1,7 +1,7 @@
# br-branches-one-merge branches-one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b branch 'three' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-branches-one-octopus b/t/t5515/fetch.br-branches-one-octopus
index 97c4b544b8..46af763fec 100644
--- a/t/t5515/fetch.br-branches-one-octopus
+++ b/t/t5515/fetch.br-branches-one-octopus
@@ -1,7 +1,7 @@
# br-branches-one-octopus
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-branches-one-octopus_branches-one b/t/t5515/fetch.br-branches-one-octopus_branches-one
index df705f74c7..becfde9ddd 100644
--- a/t/t5515/fetch.br-branches-one-octopus_branches-one
+++ b/t/t5515/fetch.br-branches-one-octopus_branches-one
@@ -1,7 +1,7 @@
# br-branches-one-octopus branches-one
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-branches-one_branches-one b/t/t5515/fetch.br-branches-one_branches-one
index 96890e5bd9..9ba34c6754 100644
--- a/t/t5515/fetch.br-branches-one_branches-one
+++ b/t/t5515/fetch.br-branches-one_branches-one
@@ -1,6 +1,6 @@
# br-branches-one branches-one
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-config-explicit b/t/t5515/fetch.br-config-explicit
index 68fc927263..7466a73214 100644
--- a/t/t5515/fetch.br-config-explicit
+++ b/t/t5515/fetch.br-config-explicit
@@ -1,9 +1,9 @@
# br-config-explicit
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-config-explicit-merge b/t/t5515/fetch.br-config-explicit-merge
index 5ce764a06e..9375b7d21d 100644
--- a/t/t5515/fetch.br-config-explicit-merge
+++ b/t/t5515/fetch.br-config-explicit-merge
@@ -1,9 +1,9 @@
# br-config-explicit-merge
0567da4d5edd2ff4bb292a465ba9e64dcad9536b branch 'three' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-config-explicit-merge_config-explicit b/t/t5515/fetch.br-config-explicit-merge_config-explicit
index b1152b76dc..6335e2b113 100644
--- a/t/t5515/fetch.br-config-explicit-merge_config-explicit
+++ b/t/t5515/fetch.br-config-explicit-merge_config-explicit
@@ -1,9 +1,9 @@
# br-config-explicit-merge config-explicit
0567da4d5edd2ff4bb292a465ba9e64dcad9536b branch 'three' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-config-explicit-octopus b/t/t5515/fetch.br-config-explicit-octopus
index 110577bb67..c379aa9b31 100644
--- a/t/t5515/fetch.br-config-explicit-octopus
+++ b/t/t5515/fetch.br-config-explicit-octopus
@@ -1,9 +1,9 @@
# br-config-explicit-octopus
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 branch 'two' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-config-explicit-octopus_config-explicit b/t/t5515/fetch.br-config-explicit-octopus_config-explicit
index a29dd8baba..7fb3a3eef8 100644
--- a/t/t5515/fetch.br-config-explicit-octopus_config-explicit
+++ b/t/t5515/fetch.br-config-explicit-octopus_config-explicit
@@ -1,9 +1,9 @@
# br-config-explicit-octopus config-explicit
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 branch 'two' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-config-explicit_config-explicit b/t/t5515/fetch.br-config-explicit_config-explicit
index b19b0162e1..86045a79d4 100644
--- a/t/t5515/fetch.br-config-explicit_config-explicit
+++ b/t/t5515/fetch.br-config-explicit_config-explicit
@@ -1,9 +1,9 @@
# br-config-explicit config-explicit
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-config-glob b/t/t5515/fetch.br-config-glob
index 946d70ca07..bfeef2b716 100644
--- a/t/t5515/fetch.br-config-glob
+++ b/t/t5515/fetch.br-config-glob
@@ -1,9 +1,9 @@
# br-config-glob
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-config-glob-merge b/t/t5515/fetch.br-config-glob-merge
index 89f2596cb9..5376a4ac1d 100644
--- a/t/t5515/fetch.br-config-glob-merge
+++ b/t/t5515/fetch.br-config-glob-merge
@@ -1,9 +1,9 @@
# br-config-glob-merge
0567da4d5edd2ff4bb292a465ba9e64dcad9536b branch 'three' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-config-glob-merge_config-glob b/t/t5515/fetch.br-config-glob-merge_config-glob
index 2ba4832160..7dfc2feb35 100644
--- a/t/t5515/fetch.br-config-glob-merge_config-glob
+++ b/t/t5515/fetch.br-config-glob-merge_config-glob
@@ -1,9 +1,9 @@
# br-config-glob-merge config-glob
0567da4d5edd2ff4bb292a465ba9e64dcad9536b branch 'three' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-config-glob-octopus b/t/t5515/fetch.br-config-glob-octopus
index 64994df7e2..10840309ef 100644
--- a/t/t5515/fetch.br-config-glob-octopus
+++ b/t/t5515/fetch.br-config-glob-octopus
@@ -1,9 +1,9 @@
# br-config-glob-octopus
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 branch 'two' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-config-glob-octopus_config-glob b/t/t5515/fetch.br-config-glob-octopus_config-glob
index 681a725adc..839866daf3 100644
--- a/t/t5515/fetch.br-config-glob-octopus_config-glob
+++ b/t/t5515/fetch.br-config-glob-octopus_config-glob
@@ -1,9 +1,9 @@
# br-config-glob-octopus config-glob
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 branch 'two' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-config-glob_config-glob b/t/t5515/fetch.br-config-glob_config-glob
index 19daf0cb77..7b0cb91e51 100644
--- a/t/t5515/fetch.br-config-glob_config-glob
+++ b/t/t5515/fetch.br-config-glob_config-glob
@@ -1,9 +1,9 @@
# br-config-glob config-glob
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-remote-explicit b/t/t5515/fetch.br-remote-explicit
index ab44bc5519..d6619e7fc0 100644
--- a/t/t5515/fetch.br-remote-explicit
+++ b/t/t5515/fetch.br-remote-explicit
@@ -1,9 +1,9 @@
# br-remote-explicit
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-remote-explicit-merge b/t/t5515/fetch.br-remote-explicit-merge
index d018b3515f..5b49b7c4c5 100644
--- a/t/t5515/fetch.br-remote-explicit-merge
+++ b/t/t5515/fetch.br-remote-explicit-merge
@@ -1,9 +1,9 @@
# br-remote-explicit-merge
0567da4d5edd2ff4bb292a465ba9e64dcad9536b branch 'three' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-remote-explicit-merge_remote-explicit b/t/t5515/fetch.br-remote-explicit-merge_remote-explicit
index 0d3d780dd0..417261d8eb 100644
--- a/t/t5515/fetch.br-remote-explicit-merge_remote-explicit
+++ b/t/t5515/fetch.br-remote-explicit-merge_remote-explicit
@@ -1,9 +1,9 @@
# br-remote-explicit-merge remote-explicit
0567da4d5edd2ff4bb292a465ba9e64dcad9536b branch 'three' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-remote-explicit-octopus b/t/t5515/fetch.br-remote-explicit-octopus
index 6f843044ed..2edef64473 100644
--- a/t/t5515/fetch.br-remote-explicit-octopus
+++ b/t/t5515/fetch.br-remote-explicit-octopus
@@ -1,9 +1,9 @@
# br-remote-explicit-octopus
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 branch 'two' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-remote-explicit-octopus_remote-explicit b/t/t5515/fetch.br-remote-explicit-octopus_remote-explicit
index 3546a83713..ceb8752e1f 100644
--- a/t/t5515/fetch.br-remote-explicit-octopus_remote-explicit
+++ b/t/t5515/fetch.br-remote-explicit-octopus_remote-explicit
@@ -1,9 +1,9 @@
# br-remote-explicit-octopus remote-explicit
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 branch 'two' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-remote-explicit_remote-explicit b/t/t5515/fetch.br-remote-explicit_remote-explicit
index 01e014e6a0..b7abbd227c 100644
--- a/t/t5515/fetch.br-remote-explicit_remote-explicit
+++ b/t/t5515/fetch.br-remote-explicit_remote-explicit
@@ -1,9 +1,9 @@
# br-remote-explicit remote-explicit
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-remote-glob b/t/t5515/fetch.br-remote-glob
index 09bfcee00f..645412c73f 100644
--- a/t/t5515/fetch.br-remote-glob
+++ b/t/t5515/fetch.br-remote-glob
@@ -1,9 +1,9 @@
# br-remote-glob
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-remote-glob-merge b/t/t5515/fetch.br-remote-glob-merge
index 7e1a433a64..8512cfd8d3 100644
--- a/t/t5515/fetch.br-remote-glob-merge
+++ b/t/t5515/fetch.br-remote-glob-merge
@@ -1,9 +1,9 @@
# br-remote-glob-merge
0567da4d5edd2ff4bb292a465ba9e64dcad9536b branch 'three' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-remote-glob-merge_remote-glob b/t/t5515/fetch.br-remote-glob-merge_remote-glob
index 53571bb4ec..7394164d85 100644
--- a/t/t5515/fetch.br-remote-glob-merge_remote-glob
+++ b/t/t5515/fetch.br-remote-glob-merge_remote-glob
@@ -1,9 +1,9 @@
# br-remote-glob-merge remote-glob
0567da4d5edd2ff4bb292a465ba9e64dcad9536b branch 'three' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-remote-glob-octopus b/t/t5515/fetch.br-remote-glob-octopus
index c7c8b6d7f4..0ca4719ef8 100644
--- a/t/t5515/fetch.br-remote-glob-octopus
+++ b/t/t5515/fetch.br-remote-glob-octopus
@@ -1,9 +1,9 @@
# br-remote-glob-octopus
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 branch 'two' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-remote-glob-octopus_remote-glob b/t/t5515/fetch.br-remote-glob-octopus_remote-glob
index 36076fba0c..7e7b0ba5f5 100644
--- a/t/t5515/fetch.br-remote-glob-octopus_remote-glob
+++ b/t/t5515/fetch.br-remote-glob-octopus_remote-glob
@@ -1,9 +1,9 @@
# br-remote-glob-octopus remote-glob
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 branch 'two' of ../
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-remote-glob_remote-glob b/t/t5515/fetch.br-remote-glob_remote-glob
index 20ba5cb172..7bae5ecfb7 100644
--- a/t/t5515/fetch.br-remote-glob_remote-glob
+++ b/t/t5515/fetch.br-remote-glob_remote-glob
@@ -1,9 +1,9 @@
# br-remote-glob remote-glob
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-unconfig b/t/t5515/fetch.br-unconfig
index 887ccfc41f..ccaa54fed2 100644
--- a/t/t5515/fetch.br-unconfig
+++ b/t/t5515/fetch.br-unconfig
@@ -1,9 +1,9 @@
# br-unconfig
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-unconfig_--tags_.._.git b/t/t5515/fetch.br-unconfig_--tags_.._.git
index 0f70f66c70..3afb4f850d 100644
--- a/t/t5515/fetch.br-unconfig_--tags_.._.git
+++ b/t/t5515/fetch.br-unconfig_--tags_.._.git
@@ -1,6 +1,6 @@
# br-unconfig --tags ../.git
0567da4d5edd2ff4bb292a465ba9e64dcad9536b ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file b/t/t5515/fetch.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file
index 74115361ba..525713a2ab 100644
--- a/t/t5515/fetch.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file
+++ b/t/t5515/fetch.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file
@@ -2,7 +2,7 @@
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 tag 'tag-one' of ../
0e3b14047d3ee365f4f2a1b673db059c3972589c not-for-merge tag 'tag-three-file' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
525b7fb068d59950d185a8779dc957c77eed73ba not-for-merge tag 'tag-two' of ../
diff --git a/t/t5515/fetch.br-unconfig_.._.git_tag_tag-one-tree_tag_tag-three-file b/t/t5515/fetch.br-unconfig_.._.git_tag_tag-one-tree_tag_tag-three-file
index 7726983818..18c871f512 100644
--- a/t/t5515/fetch.br-unconfig_.._.git_tag_tag-one-tree_tag_tag-three-file
+++ b/t/t5515/fetch.br-unconfig_.._.git_tag_tag-one-tree_tag_tag-three-file
@@ -1,7 +1,7 @@
# br-unconfig ../.git tag tag-one-tree tag tag-three-file
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
0e3b14047d3ee365f4f2a1b673db059c3972589c not-for-merge tag 'tag-three-file' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
525b7fb068d59950d185a8779dc957c77eed73ba not-for-merge tag 'tag-two' of ../
diff --git a/t/t5515/fetch.br-unconfig_.._.git_tag_tag-one_tag_tag-three b/t/t5515/fetch.br-unconfig_.._.git_tag_tag-one_tag_tag-three
index 7b3750ce5c..7328d30c67 100644
--- a/t/t5515/fetch.br-unconfig_.._.git_tag_tag-one_tag_tag-three
+++ b/t/t5515/fetch.br-unconfig_.._.git_tag_tag-one_tag_tag-three
@@ -1,7 +1,7 @@
# br-unconfig ../.git tag tag-one tag tag-three
8e32a6d901327a23ef831511badce7bf3bf46689 tag 'tag-one' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 tag 'tag-three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
0e3b14047d3ee365f4f2a1b673db059c3972589c not-for-merge tag 'tag-three-file' of ../
525b7fb068d59950d185a8779dc957c77eed73ba not-for-merge tag 'tag-two' of ../
diff --git a/t/t5515/fetch.br-unconfig_branches-default b/t/t5515/fetch.br-unconfig_branches-default
index da30e3c62c..3d82f94376 100644
--- a/t/t5515/fetch.br-unconfig_branches-default
+++ b/t/t5515/fetch.br-unconfig_branches-default
@@ -1,6 +1,6 @@
# br-unconfig branches-default
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f branch 'master' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 branch 'main' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-unconfig_branches-one b/t/t5515/fetch.br-unconfig_branches-one
index e4614314c5..948ed0c3d9 100644
--- a/t/t5515/fetch.br-unconfig_branches-one
+++ b/t/t5515/fetch.br-unconfig_branches-one
@@ -1,6 +1,6 @@
# br-unconfig branches-one
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-unconfig_config-explicit b/t/t5515/fetch.br-unconfig_config-explicit
index ed323c9871..65aaec8a7b 100644
--- a/t/t5515/fetch.br-unconfig_config-explicit
+++ b/t/t5515/fetch.br-unconfig_config-explicit
@@ -1,9 +1,9 @@
# br-unconfig config-explicit
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-unconfig_config-glob b/t/t5515/fetch.br-unconfig_config-glob
index 2372ed03c5..1aa3d4598a 100644
--- a/t/t5515/fetch.br-unconfig_config-glob
+++ b/t/t5515/fetch.br-unconfig_config-glob
@@ -1,9 +1,9 @@
# br-unconfig config-glob
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-unconfig_remote-explicit b/t/t5515/fetch.br-unconfig_remote-explicit
index 6318dd11b4..16438d2085 100644
--- a/t/t5515/fetch.br-unconfig_remote-explicit
+++ b/t/t5515/fetch.br-unconfig_remote-explicit
@@ -1,9 +1,9 @@
# br-unconfig remote-explicit
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.br-unconfig_remote-glob b/t/t5515/fetch.br-unconfig_remote-glob
index 1d9afad7d8..7a01d2e0f6 100644
--- a/t/t5515/fetch.br-unconfig_remote-glob
+++ b/t/t5515/fetch.br-unconfig_remote-glob
@@ -1,9 +1,9 @@
# br-unconfig remote-glob
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.master b/t/t5515/fetch.main
index 9b29d67200..819ed33bf5 100644
--- a/t/t5515/fetch.master
+++ b/t/t5515/fetch.main
@@ -1,9 +1,9 @@
-# master
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+# main
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.master_--tags_.._.git b/t/t5515/fetch.main_--tags_.._.git
index ab473a6e1f..ddf67a613b 100644
--- a/t/t5515/fetch.master_--tags_.._.git
+++ b/t/t5515/fetch.main_--tags_.._.git
@@ -1,6 +1,6 @@
-# master --tags ../.git
+# main --tags ../.git
0567da4d5edd2ff4bb292a465ba9e64dcad9536b ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.master_.._.git b/t/t5515/fetch.main_.._.git
index 66d1aaddae..285e57eaf5 100644
--- a/t/t5515/fetch.master_.._.git
+++ b/t/t5515/fetch.main_.._.git
@@ -1,2 +1,2 @@
-# master ../.git
+# main ../.git
0567da4d5edd2ff4bb292a465ba9e64dcad9536b ../
diff --git a/t/t5515/fetch.master_.._.git_one b/t/t5515/fetch.main_.._.git_one
index 35deddbd2c..f9f511efbc 100644
--- a/t/t5515/fetch.master_.._.git_one
+++ b/t/t5515/fetch.main_.._.git_one
@@ -1,2 +1,2 @@
-# master ../.git one
+# main ../.git one
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
diff --git a/t/t5515/fetch.master_.._.git_one_tag_tag-one_tag_tag-three-file b/t/t5515/fetch.main_.._.git_one_tag_tag-one_tag_tag-three-file
index 0672d1292f..187643e2ce 100644
--- a/t/t5515/fetch.master_.._.git_one_tag_tag-one_tag_tag-three-file
+++ b/t/t5515/fetch.main_.._.git_one_tag_tag-one_tag_tag-three-file
@@ -1,8 +1,8 @@
-# master ../.git one tag tag-one tag tag-three-file
+# main ../.git one tag tag-one tag tag-three-file
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 tag 'tag-one' of ../
0e3b14047d3ee365f4f2a1b673db059c3972589c not-for-merge tag 'tag-three-file' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
525b7fb068d59950d185a8779dc957c77eed73ba not-for-merge tag 'tag-two' of ../
diff --git a/t/t5515/fetch.master_.._.git_one_two b/t/t5515/fetch.main_.._.git_one_two
index 35ec5782c8..048ad97a15 100644
--- a/t/t5515/fetch.master_.._.git_one_two
+++ b/t/t5515/fetch.main_.._.git_one_two
@@ -1,3 +1,3 @@
-# master ../.git one two
+# main ../.git one two
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 branch 'two' of ../
diff --git a/t/t5515/fetch.master_.._.git_tag_tag-one-tree_tag_tag-three-file b/t/t5515/fetch.main_.._.git_tag_tag-one-tree_tag_tag-three-file
index 0fd737cf81..df5f2a7d5f 100644
--- a/t/t5515/fetch.master_.._.git_tag_tag-one-tree_tag_tag-three-file
+++ b/t/t5515/fetch.main_.._.git_tag_tag-one-tree_tag_tag-three-file
@@ -1,7 +1,7 @@
-# master ../.git tag tag-one-tree tag tag-three-file
+# main ../.git tag tag-one-tree tag tag-three-file
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
0e3b14047d3ee365f4f2a1b673db059c3972589c not-for-merge tag 'tag-three-file' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
525b7fb068d59950d185a8779dc957c77eed73ba not-for-merge tag 'tag-two' of ../
diff --git a/t/t5515/fetch.master_.._.git_tag_tag-one_tag_tag-three b/t/t5515/fetch.main_.._.git_tag_tag-one_tag_tag-three
index e488986653..a40b72817b 100644
--- a/t/t5515/fetch.master_.._.git_tag_tag-one_tag_tag-three
+++ b/t/t5515/fetch.main_.._.git_tag_tag-one_tag_tag-three
@@ -1,7 +1,7 @@
-# master ../.git tag tag-one tag tag-three
+# main ../.git tag tag-one tag tag-three
8e32a6d901327a23ef831511badce7bf3bf46689 tag 'tag-one' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 tag 'tag-three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
0e3b14047d3ee365f4f2a1b673db059c3972589c not-for-merge tag 'tag-three-file' of ../
525b7fb068d59950d185a8779dc957c77eed73ba not-for-merge tag 'tag-two' of ../
diff --git a/t/t5515/fetch.master_branches-default b/t/t5515/fetch.main_branches-default
index 2eedd3bfa4..e3466e8329 100644
--- a/t/t5515/fetch.master_branches-default
+++ b/t/t5515/fetch.main_branches-default
@@ -1,6 +1,6 @@
-# master branches-default
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f branch 'master' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+# main branches-default
+b4ab76b1a01ea602209932134a44f1e6bd610832 branch 'main' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.master_branches-one b/t/t5515/fetch.main_branches-one
index 901ce21d33..a94f11af4c 100644
--- a/t/t5515/fetch.master_branches-one
+++ b/t/t5515/fetch.main_branches-one
@@ -1,6 +1,6 @@
-# master branches-one
+# main branches-one
8e32a6d901327a23ef831511badce7bf3bf46689 branch 'one' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.master_config-explicit b/t/t5515/fetch.main_config-explicit
index 251c826aa9..16d04c14d2 100644
--- a/t/t5515/fetch.master_config-explicit
+++ b/t/t5515/fetch.main_config-explicit
@@ -1,9 +1,9 @@
-# master config-explicit
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f branch 'master' of ../
+# main config-explicit
+b4ab76b1a01ea602209932134a44f1e6bd610832 branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.master_config-glob b/t/t5515/fetch.main_config-glob
index 27c158e332..f6a6f56991 100644
--- a/t/t5515/fetch.master_config-glob
+++ b/t/t5515/fetch.main_config-glob
@@ -1,9 +1,9 @@
-# master config-glob
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
+# main config-glob
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.master_remote-explicit b/t/t5515/fetch.main_remote-explicit
index b3cfe6b98b..bf4fd65e00 100644
--- a/t/t5515/fetch.master_remote-explicit
+++ b/t/t5515/fetch.main_remote-explicit
@@ -1,9 +1,9 @@
-# master remote-explicit
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f branch 'master' of ../
+# main remote-explicit
+b4ab76b1a01ea602209932134a44f1e6bd610832 branch 'main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
diff --git a/t/t5515/fetch.main_remote-glob b/t/t5515/fetch.main_remote-glob
new file mode 100644
index 0000000000..91dc2e26ef
--- /dev/null
+++ b/t/t5515/fetch.main_remote-glob
@@ -0,0 +1,11 @@
+# main remote-glob
+b4ab76b1a01ea602209932134a44f1e6bd610832 not-for-merge branch 'main' of ../
+8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
+0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
+6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
+ecf3b3627b498bdcb735cc4343bf165f76964e9a not-for-merge tag 'tag-main' of ../
+8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
+22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
+c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
+0e3b14047d3ee365f4f2a1b673db059c3972589c not-for-merge tag 'tag-three-file' of ../
+525b7fb068d59950d185a8779dc957c77eed73ba not-for-merge tag 'tag-two' of ../
diff --git a/t/t5515/fetch.master_remote-glob b/t/t5515/fetch.master_remote-glob
deleted file mode 100644
index 118befd1e4..0000000000
--- a/t/t5515/fetch.master_remote-glob
+++ /dev/null
@@ -1,11 +0,0 @@
-# master remote-glob
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f not-for-merge branch 'master' of ../
-8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge branch 'one' of ../
-0567da4d5edd2ff4bb292a465ba9e64dcad9536b not-for-merge branch 'three' of ../
-6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 not-for-merge branch 'two' of ../
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../
-8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../
-22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../
-c61a82b60967180544e3c19f819ddbd0c9f89899 not-for-merge tag 'tag-three' of ../
-0e3b14047d3ee365f4f2a1b673db059c3972589c not-for-merge tag 'tag-three-file' of ../
-525b7fb068d59950d185a8779dc957c77eed73ba not-for-merge tag 'tag-two' of ../
diff --git a/t/t5515/refs.br-branches-default b/t/t5515/refs.br-branches-default
index 21917c1e5d..dc4f2b7a4e 100644
--- a/t/t5515/refs.br-branches-default
+++ b/t/t5515/refs.br-branches-default
@@ -1,10 +1,10 @@
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/heads/branches-default
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/heads/branches-default
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-branches-default-merge b/t/t5515/refs.br-branches-default-merge
index 21917c1e5d..dc4f2b7a4e 100644
--- a/t/t5515/refs.br-branches-default-merge
+++ b/t/t5515/refs.br-branches-default-merge
@@ -1,10 +1,10 @@
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/heads/branches-default
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/heads/branches-default
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-branches-default-merge_branches-default b/t/t5515/refs.br-branches-default-merge_branches-default
index 21917c1e5d..dc4f2b7a4e 100644
--- a/t/t5515/refs.br-branches-default-merge_branches-default
+++ b/t/t5515/refs.br-branches-default-merge_branches-default
@@ -1,10 +1,10 @@
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/heads/branches-default
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/heads/branches-default
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-branches-default-octopus b/t/t5515/refs.br-branches-default-octopus
index 21917c1e5d..dc4f2b7a4e 100644
--- a/t/t5515/refs.br-branches-default-octopus
+++ b/t/t5515/refs.br-branches-default-octopus
@@ -1,10 +1,10 @@
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/heads/branches-default
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/heads/branches-default
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-branches-default-octopus_branches-default b/t/t5515/refs.br-branches-default-octopus_branches-default
index 21917c1e5d..dc4f2b7a4e 100644
--- a/t/t5515/refs.br-branches-default-octopus_branches-default
+++ b/t/t5515/refs.br-branches-default-octopus_branches-default
@@ -1,10 +1,10 @@
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/heads/branches-default
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/heads/branches-default
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-branches-default_branches-default b/t/t5515/refs.br-branches-default_branches-default
index 21917c1e5d..dc4f2b7a4e 100644
--- a/t/t5515/refs.br-branches-default_branches-default
+++ b/t/t5515/refs.br-branches-default_branches-default
@@ -1,10 +1,10 @@
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/heads/branches-default
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/heads/branches-default
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-branches-one b/t/t5515/refs.br-branches-one
index 8a705a5df2..e8f79bf4b1 100644
--- a/t/t5515/refs.br-branches-one
+++ b/t/t5515/refs.br-branches-one
@@ -1,10 +1,10 @@
8e32a6d901327a23ef831511badce7bf3bf46689 refs/heads/branches-one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-branches-one-merge b/t/t5515/refs.br-branches-one-merge
index 8a705a5df2..e8f79bf4b1 100644
--- a/t/t5515/refs.br-branches-one-merge
+++ b/t/t5515/refs.br-branches-one-merge
@@ -1,10 +1,10 @@
8e32a6d901327a23ef831511badce7bf3bf46689 refs/heads/branches-one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-branches-one-merge_branches-one b/t/t5515/refs.br-branches-one-merge_branches-one
index 8a705a5df2..e8f79bf4b1 100644
--- a/t/t5515/refs.br-branches-one-merge_branches-one
+++ b/t/t5515/refs.br-branches-one-merge_branches-one
@@ -1,10 +1,10 @@
8e32a6d901327a23ef831511badce7bf3bf46689 refs/heads/branches-one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-branches-one-octopus b/t/t5515/refs.br-branches-one-octopus
index 8a705a5df2..e8f79bf4b1 100644
--- a/t/t5515/refs.br-branches-one-octopus
+++ b/t/t5515/refs.br-branches-one-octopus
@@ -1,10 +1,10 @@
8e32a6d901327a23ef831511badce7bf3bf46689 refs/heads/branches-one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-branches-one-octopus_branches-one b/t/t5515/refs.br-branches-one-octopus_branches-one
index 8a705a5df2..e8f79bf4b1 100644
--- a/t/t5515/refs.br-branches-one-octopus_branches-one
+++ b/t/t5515/refs.br-branches-one-octopus_branches-one
@@ -1,10 +1,10 @@
8e32a6d901327a23ef831511badce7bf3bf46689 refs/heads/branches-one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-branches-one_branches-one b/t/t5515/refs.br-branches-one_branches-one
index 8a705a5df2..e8f79bf4b1 100644
--- a/t/t5515/refs.br-branches-one_branches-one
+++ b/t/t5515/refs.br-branches-one_branches-one
@@ -1,10 +1,10 @@
8e32a6d901327a23ef831511badce7bf3bf46689 refs/heads/branches-one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-config-explicit b/t/t5515/refs.br-config-explicit
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-config-explicit
+++ b/t/t5515/refs.br-config-explicit
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-config-explicit-merge b/t/t5515/refs.br-config-explicit-merge
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-config-explicit-merge
+++ b/t/t5515/refs.br-config-explicit-merge
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-config-explicit-merge_config-explicit b/t/t5515/refs.br-config-explicit-merge_config-explicit
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-config-explicit-merge_config-explicit
+++ b/t/t5515/refs.br-config-explicit-merge_config-explicit
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-config-explicit-octopus b/t/t5515/refs.br-config-explicit-octopus
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-config-explicit-octopus
+++ b/t/t5515/refs.br-config-explicit-octopus
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-config-explicit-octopus_config-explicit b/t/t5515/refs.br-config-explicit-octopus_config-explicit
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-config-explicit-octopus_config-explicit
+++ b/t/t5515/refs.br-config-explicit-octopus_config-explicit
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-config-explicit_config-explicit b/t/t5515/refs.br-config-explicit_config-explicit
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-config-explicit_config-explicit
+++ b/t/t5515/refs.br-config-explicit_config-explicit
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-config-glob b/t/t5515/refs.br-config-glob
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-config-glob
+++ b/t/t5515/refs.br-config-glob
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-config-glob-merge b/t/t5515/refs.br-config-glob-merge
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-config-glob-merge
+++ b/t/t5515/refs.br-config-glob-merge
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-config-glob-merge_config-glob b/t/t5515/refs.br-config-glob-merge_config-glob
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-config-glob-merge_config-glob
+++ b/t/t5515/refs.br-config-glob-merge_config-glob
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-config-glob-octopus b/t/t5515/refs.br-config-glob-octopus
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-config-glob-octopus
+++ b/t/t5515/refs.br-config-glob-octopus
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-config-glob-octopus_config-glob b/t/t5515/refs.br-config-glob-octopus_config-glob
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-config-glob-octopus_config-glob
+++ b/t/t5515/refs.br-config-glob-octopus_config-glob
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-config-glob_config-glob b/t/t5515/refs.br-config-glob_config-glob
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-config-glob_config-glob
+++ b/t/t5515/refs.br-config-glob_config-glob
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-remote-explicit b/t/t5515/refs.br-remote-explicit
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-remote-explicit
+++ b/t/t5515/refs.br-remote-explicit
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-remote-explicit-merge b/t/t5515/refs.br-remote-explicit-merge
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-remote-explicit-merge
+++ b/t/t5515/refs.br-remote-explicit-merge
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-remote-explicit-merge_remote-explicit b/t/t5515/refs.br-remote-explicit-merge_remote-explicit
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-remote-explicit-merge_remote-explicit
+++ b/t/t5515/refs.br-remote-explicit-merge_remote-explicit
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-remote-explicit-octopus b/t/t5515/refs.br-remote-explicit-octopus
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-remote-explicit-octopus
+++ b/t/t5515/refs.br-remote-explicit-octopus
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-remote-explicit-octopus_remote-explicit b/t/t5515/refs.br-remote-explicit-octopus_remote-explicit
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-remote-explicit-octopus_remote-explicit
+++ b/t/t5515/refs.br-remote-explicit-octopus_remote-explicit
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-remote-explicit_remote-explicit b/t/t5515/refs.br-remote-explicit_remote-explicit
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-remote-explicit_remote-explicit
+++ b/t/t5515/refs.br-remote-explicit_remote-explicit
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-remote-glob b/t/t5515/refs.br-remote-glob
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-remote-glob
+++ b/t/t5515/refs.br-remote-glob
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-remote-glob-merge b/t/t5515/refs.br-remote-glob-merge
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-remote-glob-merge
+++ b/t/t5515/refs.br-remote-glob-merge
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-remote-glob-merge_remote-glob b/t/t5515/refs.br-remote-glob-merge_remote-glob
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-remote-glob-merge_remote-glob
+++ b/t/t5515/refs.br-remote-glob-merge_remote-glob
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-remote-glob-octopus b/t/t5515/refs.br-remote-glob-octopus
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-remote-glob-octopus
+++ b/t/t5515/refs.br-remote-glob-octopus
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-remote-glob-octopus_remote-glob b/t/t5515/refs.br-remote-glob-octopus_remote-glob
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-remote-glob-octopus_remote-glob
+++ b/t/t5515/refs.br-remote-glob-octopus_remote-glob
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-remote-glob_remote-glob b/t/t5515/refs.br-remote-glob_remote-glob
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-remote-glob_remote-glob
+++ b/t/t5515/refs.br-remote-glob_remote-glob
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-unconfig b/t/t5515/refs.br-unconfig
index 13e4ad2e46..f2ab01f68b 100644
--- a/t/t5515/refs.br-unconfig
+++ b/t/t5515/refs.br-unconfig
@@ -1,9 +1,9 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-unconfig_--tags_.._.git b/t/t5515/refs.br-unconfig_--tags_.._.git
index 13e4ad2e46..f2ab01f68b 100644
--- a/t/t5515/refs.br-unconfig_--tags_.._.git
+++ b/t/t5515/refs.br-unconfig_--tags_.._.git
@@ -1,9 +1,9 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-unconfig_.._.git b/t/t5515/refs.br-unconfig_.._.git
index 70962eaac1..4a74b68029 100644
--- a/t/t5515/refs.br-unconfig_.._.git
+++ b/t/t5515/refs.br-unconfig_.._.git
@@ -1,5 +1,5 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
diff --git a/t/t5515/refs.br-unconfig_.._.git_one b/t/t5515/refs.br-unconfig_.._.git_one
index 70962eaac1..4a74b68029 100644
--- a/t/t5515/refs.br-unconfig_.._.git_one
+++ b/t/t5515/refs.br-unconfig_.._.git_one
@@ -1,5 +1,5 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
diff --git a/t/t5515/refs.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file b/t/t5515/refs.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file
index 13e4ad2e46..f2ab01f68b 100644
--- a/t/t5515/refs.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file
+++ b/t/t5515/refs.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file
@@ -1,9 +1,9 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-unconfig_.._.git_one_two b/t/t5515/refs.br-unconfig_.._.git_one_two
index 70962eaac1..4a74b68029 100644
--- a/t/t5515/refs.br-unconfig_.._.git_one_two
+++ b/t/t5515/refs.br-unconfig_.._.git_one_two
@@ -1,5 +1,5 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
diff --git a/t/t5515/refs.br-unconfig_.._.git_tag_tag-one-tree_tag_tag-three-file b/t/t5515/refs.br-unconfig_.._.git_tag_tag-one-tree_tag_tag-three-file
index 13e4ad2e46..f2ab01f68b 100644
--- a/t/t5515/refs.br-unconfig_.._.git_tag_tag-one-tree_tag_tag-three-file
+++ b/t/t5515/refs.br-unconfig_.._.git_tag_tag-one-tree_tag_tag-three-file
@@ -1,9 +1,9 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-unconfig_.._.git_tag_tag-one_tag_tag-three b/t/t5515/refs.br-unconfig_.._.git_tag_tag-one_tag_tag-three
index 13e4ad2e46..f2ab01f68b 100644
--- a/t/t5515/refs.br-unconfig_.._.git_tag_tag-one_tag_tag-three
+++ b/t/t5515/refs.br-unconfig_.._.git_tag_tag-one_tag_tag-three
@@ -1,9 +1,9 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-unconfig_branches-default b/t/t5515/refs.br-unconfig_branches-default
index 21917c1e5d..dc4f2b7a4e 100644
--- a/t/t5515/refs.br-unconfig_branches-default
+++ b/t/t5515/refs.br-unconfig_branches-default
@@ -1,10 +1,10 @@
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/heads/branches-default
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/heads/branches-default
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-unconfig_branches-one b/t/t5515/refs.br-unconfig_branches-one
index 8a705a5df2..e8f79bf4b1 100644
--- a/t/t5515/refs.br-unconfig_branches-one
+++ b/t/t5515/refs.br-unconfig_branches-one
@@ -1,10 +1,10 @@
8e32a6d901327a23ef831511badce7bf3bf46689 refs/heads/branches-one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-unconfig_config-explicit b/t/t5515/refs.br-unconfig_config-explicit
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-unconfig_config-explicit
+++ b/t/t5515/refs.br-unconfig_config-explicit
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-unconfig_config-glob b/t/t5515/refs.br-unconfig_config-glob
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-unconfig_config-glob
+++ b/t/t5515/refs.br-unconfig_config-glob
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-unconfig_remote-explicit b/t/t5515/refs.br-unconfig_remote-explicit
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-unconfig_remote-explicit
+++ b/t/t5515/refs.br-unconfig_remote-explicit
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.br-unconfig_remote-glob b/t/t5515/refs.br-unconfig_remote-glob
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.br-unconfig_remote-glob
+++ b/t/t5515/refs.br-unconfig_remote-glob
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.master_.._.git_one_tag_tag-one_tag_tag-three-file b/t/t5515/refs.main
index 13e4ad2e46..f2ab01f68b 100644
--- a/t/t5515/refs.master_.._.git_one_tag_tag-one_tag_tag-three-file
+++ b/t/t5515/refs.main
@@ -1,9 +1,9 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.master_.._.git_tag_tag-one-tree_tag_tag-three-file b/t/t5515/refs.main_--tags_.._.git
index 13e4ad2e46..f2ab01f68b 100644
--- a/t/t5515/refs.master_.._.git_tag_tag-one-tree_tag_tag-three-file
+++ b/t/t5515/refs.main_--tags_.._.git
@@ -1,9 +1,9 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.master_.._.git_one_two b/t/t5515/refs.main_.._.git
index 70962eaac1..4a74b68029 100644
--- a/t/t5515/refs.master_.._.git_one_two
+++ b/t/t5515/refs.main_.._.git
@@ -1,5 +1,5 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
diff --git a/t/t5515/refs.master_.._.git b/t/t5515/refs.main_.._.git_one
index 70962eaac1..4a74b68029 100644
--- a/t/t5515/refs.master_.._.git
+++ b/t/t5515/refs.main_.._.git_one
@@ -1,5 +1,5 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
diff --git a/t/t5515/refs.master b/t/t5515/refs.main_.._.git_one_tag_tag-one_tag_tag-three-file
index 13e4ad2e46..f2ab01f68b 100644
--- a/t/t5515/refs.master
+++ b/t/t5515/refs.main_.._.git_one_tag_tag-one_tag_tag-three-file
@@ -1,9 +1,9 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.master_.._.git_one b/t/t5515/refs.main_.._.git_one_two
index 70962eaac1..4a74b68029 100644
--- a/t/t5515/refs.master_.._.git_one
+++ b/t/t5515/refs.main_.._.git_one_two
@@ -1,5 +1,5 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
diff --git a/t/t5515/refs.master_--tags_.._.git b/t/t5515/refs.main_.._.git_tag_tag-one-tree_tag_tag-three-file
index 13e4ad2e46..f2ab01f68b 100644
--- a/t/t5515/refs.master_--tags_.._.git
+++ b/t/t5515/refs.main_.._.git_tag_tag-one-tree_tag_tag-three-file
@@ -1,9 +1,9 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.main_.._.git_tag_tag-one_tag_tag-three b/t/t5515/refs.main_.._.git_tag_tag-one_tag_tag-three
new file mode 100644
index 0000000000..f2ab01f68b
--- /dev/null
+++ b/t/t5515/refs.main_.._.git_tag_tag-one_tag_tag-three
@@ -0,0 +1,11 @@
+0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
+8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
+0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
+6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
+8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
+22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
+c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
+0e3b14047d3ee365f4f2a1b673db059c3972589c refs/tags/tag-three-file
+525b7fb068d59950d185a8779dc957c77eed73ba refs/tags/tag-two
diff --git a/t/t5515/refs.master_branches-default b/t/t5515/refs.main_branches-default
index 21917c1e5d..dc4f2b7a4e 100644
--- a/t/t5515/refs.master_branches-default
+++ b/t/t5515/refs.main_branches-default
@@ -1,10 +1,10 @@
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/heads/branches-default
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/heads/branches-default
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.master_branches-one b/t/t5515/refs.main_branches-one
index 8a705a5df2..e8f79bf4b1 100644
--- a/t/t5515/refs.master_branches-one
+++ b/t/t5515/refs.main_branches-one
@@ -1,10 +1,10 @@
8e32a6d901327a23ef831511badce7bf3bf46689 refs/heads/branches-one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.master_config-explicit b/t/t5515/refs.main_config-explicit
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.master_config-explicit
+++ b/t/t5515/refs.main_config-explicit
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.master_config-glob b/t/t5515/refs.main_config-glob
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.master_config-glob
+++ b/t/t5515/refs.main_config-glob
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.master_remote-explicit b/t/t5515/refs.main_remote-explicit
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.master_remote-explicit
+++ b/t/t5515/refs.main_remote-explicit
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.master_remote-glob b/t/t5515/refs.main_remote-glob
index 9bbbfd9fc5..a28fa5f56e 100644
--- a/t/t5515/refs.master_remote-glob
+++ b/t/t5515/refs.main_remote-glob
@@ -1,13 +1,13 @@
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/origin/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/rem/master
+b4ab76b1a01ea602209932134a44f1e6bd610832 refs/remotes/rem/main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/rem/one
0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/rem/three
6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/rem/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
+ecf3b3627b498bdcb735cc4343bf165f76964e9a refs/tags/tag-main
8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
diff --git a/t/t5515/refs.master_.._.git_tag_tag-one_tag_tag-three b/t/t5515/refs.master_.._.git_tag_tag-one_tag_tag-three
deleted file mode 100644
index 13e4ad2e46..0000000000
--- a/t/t5515/refs.master_.._.git_tag_tag-one_tag_tag-three
+++ /dev/null
@@ -1,11 +0,0 @@
-0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/HEAD
-754b754407bf032e9a2f9d5a9ad05ca79a6b228f refs/remotes/origin/master
-8e32a6d901327a23ef831511badce7bf3bf46689 refs/remotes/origin/one
-0567da4d5edd2ff4bb292a465ba9e64dcad9536b refs/remotes/origin/three
-6134ee8f857693b96ff1cc98d3e2fd62b199e5a8 refs/remotes/origin/two
-6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 refs/tags/tag-master
-8e32a6d901327a23ef831511badce7bf3bf46689 refs/tags/tag-one
-22feea448b023a2d864ef94b013735af34d238ba refs/tags/tag-one-tree
-c61a82b60967180544e3c19f819ddbd0c9f89899 refs/tags/tag-three
-0e3b14047d3ee365f4f2a1b673db059c3972589c refs/tags/tag-three-file
-525b7fb068d59950d185a8779dc957c77eed73ba refs/tags/tag-two
diff --git a/t/t5516-fetch-push.sh b/t/t5516-fetch-push.sh
index d11382f769..15262b4192 100755
--- a/t/t5516-fetch-push.sh
+++ b/t/t5516-fetch-push.sh
@@ -14,6 +14,9 @@ This test checks the following functionality:
* reflogs
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
D=$(pwd)
@@ -120,13 +123,13 @@ test_expect_success setup '
git add path1 &&
test_tick &&
git commit -a -m repo &&
- the_first_commit=$(git show-ref -s --verify refs/heads/master) &&
+ the_first_commit=$(git show-ref -s --verify refs/heads/main) &&
>path2 &&
git add path2 &&
test_tick &&
git commit -a -m second &&
- the_commit=$(git show-ref -s --verify refs/heads/master)
+ the_commit=$(git show-ref -s --verify refs/heads/main)
'
@@ -134,9 +137,9 @@ test_expect_success 'fetch without wildcard' '
mk_empty testrepo &&
(
cd testrepo &&
- git fetch .. refs/heads/master:refs/remotes/origin/master &&
+ git fetch .. refs/heads/main:refs/remotes/origin/main &&
- echo "$the_commit commit refs/remotes/origin/master" >expect &&
+ echo "$the_commit commit refs/remotes/origin/main" >expect &&
git for-each-ref refs/remotes/origin >actual &&
test_cmp expect actual
)
@@ -150,7 +153,7 @@ test_expect_success 'fetch with wildcard' '
git config remote.up.fetch "refs/heads/*:refs/remotes/origin/*" &&
git fetch up &&
- echo "$the_commit commit refs/remotes/origin/master" >expect &&
+ echo "$the_commit commit refs/remotes/origin/main" >expect &&
git for-each-ref refs/remotes/origin >actual &&
test_cmp expect actual
)
@@ -166,7 +169,7 @@ test_expect_success 'fetch with insteadOf' '
git config remote.up.fetch "refs/heads/*:refs/remotes/origin/*" &&
git fetch up &&
- echo "$the_commit commit refs/remotes/origin/master" >expect &&
+ echo "$the_commit commit refs/remotes/origin/main" >expect &&
git for-each-ref refs/remotes/origin >actual &&
test_cmp expect actual
)
@@ -182,7 +185,7 @@ test_expect_success 'fetch with pushInsteadOf (should not rewrite)' '
git config remote.up.fetch "refs/heads/*:refs/remotes/origin/*" &&
git fetch up &&
- echo "$the_commit commit refs/remotes/origin/master" >expect &&
+ echo "$the_commit commit refs/remotes/origin/main" >expect &&
git for-each-ref refs/remotes/origin >actual &&
test_cmp expect actual
)
@@ -191,10 +194,10 @@ test_expect_success 'fetch with pushInsteadOf (should not rewrite)' '
test_expect_success 'push without wildcard' '
mk_empty testrepo &&
- git push testrepo refs/heads/master:refs/remotes/origin/master &&
+ git push testrepo refs/heads/main:refs/remotes/origin/main &&
(
cd testrepo &&
- echo "$the_commit commit refs/remotes/origin/master" >expect &&
+ echo "$the_commit commit refs/remotes/origin/main" >expect &&
git for-each-ref refs/remotes/origin >actual &&
test_cmp expect actual
)
@@ -206,7 +209,7 @@ test_expect_success 'push with wildcard' '
git push testrepo "refs/heads/*:refs/remotes/origin/*" &&
(
cd testrepo &&
- echo "$the_commit commit refs/remotes/origin/master" >expect &&
+ echo "$the_commit commit refs/remotes/origin/main" >expect &&
git for-each-ref refs/remotes/origin >actual &&
test_cmp expect actual
)
@@ -216,10 +219,10 @@ test_expect_success 'push with insteadOf' '
mk_empty testrepo &&
TRASH="$(pwd)/" &&
test_config "url.$TRASH.insteadOf" trash/ &&
- git push trash/testrepo refs/heads/master:refs/remotes/origin/master &&
+ git push trash/testrepo refs/heads/main:refs/remotes/origin/main &&
(
cd testrepo &&
- echo "$the_commit commit refs/remotes/origin/master" >expect &&
+ echo "$the_commit commit refs/remotes/origin/main" >expect &&
git for-each-ref refs/remotes/origin >actual &&
test_cmp expect actual
)
@@ -229,10 +232,10 @@ test_expect_success 'push with pushInsteadOf' '
mk_empty testrepo &&
TRASH="$(pwd)/" &&
test_config "url.$TRASH.pushInsteadOf" trash/ &&
- git push trash/testrepo refs/heads/master:refs/remotes/origin/master &&
+ git push trash/testrepo refs/heads/main:refs/remotes/origin/main &&
(
cd testrepo &&
- echo "$the_commit commit refs/remotes/origin/master" >expect &&
+ echo "$the_commit commit refs/remotes/origin/main" >expect &&
git for-each-ref refs/remotes/origin >actual &&
test_cmp expect actual
)
@@ -244,10 +247,10 @@ test_expect_success 'push with pushInsteadOf and explicit pushurl (pushInsteadOf
test_config "url.trash3/.pushInsteadOf" trash/wrong &&
test_config remote.r.url trash/wrong &&
test_config remote.r.pushurl "testrepo/" &&
- git push r refs/heads/master:refs/remotes/origin/master &&
+ git push r refs/heads/main:refs/remotes/origin/main &&
(
cd testrepo &&
- echo "$the_commit commit refs/remotes/origin/master" >expect &&
+ echo "$the_commit commit refs/remotes/origin/main" >expect &&
git for-each-ref refs/remotes/origin >actual &&
test_cmp expect actual
)
@@ -255,101 +258,101 @@ test_expect_success 'push with pushInsteadOf and explicit pushurl (pushInsteadOf
test_expect_success 'push with matching heads' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
git push testrepo : &&
- check_push_result testrepo $the_commit heads/master
+ check_push_result testrepo $the_commit heads/main
'
test_expect_success 'push with matching heads on the command line' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
git push testrepo : &&
- check_push_result testrepo $the_commit heads/master
+ check_push_result testrepo $the_commit heads/main
'
test_expect_success 'failed (non-fast-forward) push with matching heads' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
git push testrepo : &&
git commit --amend -massaged &&
test_must_fail git push testrepo &&
- check_push_result testrepo $the_commit heads/master &&
+ check_push_result testrepo $the_commit heads/main &&
git reset --hard $the_commit
'
test_expect_success 'push --force with matching heads' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
git push testrepo : &&
git commit --amend -massaged &&
git push --force testrepo : &&
- ! check_push_result testrepo $the_commit heads/master &&
+ ! check_push_result testrepo $the_commit heads/main &&
git reset --hard $the_commit
'
test_expect_success 'push with matching heads and forced update' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
git push testrepo : &&
git commit --amend -massaged &&
git push testrepo +: &&
- ! check_push_result testrepo $the_commit heads/master &&
+ ! check_push_result testrepo $the_commit heads/main &&
git reset --hard $the_commit
'
test_expect_success 'push with no ambiguity (1)' '
- mk_test testrepo heads/master &&
- git push testrepo master:master &&
- check_push_result testrepo $the_commit heads/master
+ mk_test testrepo heads/main &&
+ git push testrepo main:main &&
+ check_push_result testrepo $the_commit heads/main
'
test_expect_success 'push with no ambiguity (2)' '
- mk_test testrepo remotes/origin/master &&
- git push testrepo master:origin/master &&
- check_push_result testrepo $the_commit remotes/origin/master
+ mk_test testrepo remotes/origin/main &&
+ git push testrepo main:origin/main &&
+ check_push_result testrepo $the_commit remotes/origin/main
'
test_expect_success 'push with colon-less refspec, no ambiguity' '
- mk_test testrepo heads/master heads/t/master &&
- git branch -f t/master master &&
- git push testrepo master &&
- check_push_result testrepo $the_commit heads/master &&
- check_push_result testrepo $the_first_commit heads/t/master
+ mk_test testrepo heads/main heads/t/main &&
+ git branch -f t/main main &&
+ git push testrepo main &&
+ check_push_result testrepo $the_commit heads/main &&
+ check_push_result testrepo $the_first_commit heads/t/main
'
test_expect_success 'push with weak ambiguity (1)' '
- mk_test testrepo heads/master remotes/origin/master &&
- git push testrepo master:master &&
- check_push_result testrepo $the_commit heads/master &&
- check_push_result testrepo $the_first_commit remotes/origin/master
+ mk_test testrepo heads/main remotes/origin/main &&
+ git push testrepo main:main &&
+ check_push_result testrepo $the_commit heads/main &&
+ check_push_result testrepo $the_first_commit remotes/origin/main
'
test_expect_success 'push with weak ambiguity (2)' '
- mk_test testrepo heads/master remotes/origin/master remotes/another/master &&
- git push testrepo master:master &&
- check_push_result testrepo $the_commit heads/master &&
- check_push_result testrepo $the_first_commit remotes/origin/master remotes/another/master
+ mk_test testrepo heads/main remotes/origin/main remotes/another/main &&
+ git push testrepo main:main &&
+ check_push_result testrepo $the_commit heads/main &&
+ check_push_result testrepo $the_first_commit remotes/origin/main remotes/another/main
'
test_expect_success 'push with ambiguity' '
mk_test testrepo heads/frotz tags/frotz &&
- test_must_fail git push testrepo master:frotz &&
+ test_must_fail git push testrepo main:frotz &&
check_push_result testrepo $the_first_commit heads/frotz tags/frotz
'
@@ -357,7 +360,7 @@ test_expect_success 'push with ambiguity' '
test_expect_success 'push with colon-less refspec (1)' '
mk_test testrepo heads/frotz tags/frotz &&
- git branch -f frotz master &&
+ git branch -f frotz main &&
git push testrepo frotz &&
check_push_result testrepo $the_commit heads/frotz &&
check_push_result testrepo $the_first_commit tags/frotz
@@ -385,7 +388,7 @@ test_expect_success 'push with colon-less refspec (3)' '
then
git tag -d frotz
fi &&
- git branch -f frotz master &&
+ git branch -f frotz main &&
git push testrepo frotz &&
check_push_result testrepo $the_commit heads/frotz &&
test 1 = $( cd testrepo && git show-ref | wc -l )
@@ -408,7 +411,7 @@ test_expect_success 'push with colon-less refspec (4)' '
test_expect_success 'push head with non-existent, incomplete dest' '
mk_test testrepo &&
- git push testrepo master:branch &&
+ git push testrepo main:branch &&
check_push_result testrepo $the_commit heads/branch
'
@@ -425,236 +428,235 @@ test_expect_success 'push tag with non-existent, incomplete dest' '
test_expect_success 'push sha1 with non-existent, incomplete dest' '
mk_test testrepo &&
- test_must_fail git push testrepo $(git rev-parse master):foo
+ test_must_fail git push testrepo $(git rev-parse main):foo
'
test_expect_success 'push ref expression with non-existent, incomplete dest' '
mk_test testrepo &&
- test_must_fail git push testrepo master^:branch
-
-'
-
-test_expect_success 'push with HEAD' '
-
- mk_test testrepo heads/master &&
- git checkout master &&
- git push testrepo HEAD &&
- check_push_result testrepo $the_commit heads/master
-
-'
-
-test_expect_success 'push with HEAD nonexisting at remote' '
+ test_must_fail git push testrepo main^:branch
- mk_test testrepo heads/master &&
- git checkout -b local master &&
- git push testrepo HEAD &&
- check_push_result testrepo $the_commit heads/local
'
-test_expect_success 'push with +HEAD' '
-
- mk_test testrepo heads/master &&
- git checkout master &&
- git branch -D local &&
- git checkout -b local &&
- git push testrepo master local &&
- check_push_result testrepo $the_commit heads/master &&
- check_push_result testrepo $the_commit heads/local &&
-
- # Without force rewinding should fail
- git reset --hard HEAD^ &&
- test_must_fail git push testrepo HEAD &&
- check_push_result testrepo $the_commit heads/local &&
+for head in HEAD @
+do
- # With force rewinding should succeed
- git push testrepo +HEAD &&
- check_push_result testrepo $the_first_commit heads/local
+ test_expect_success "push with $head" '
+ mk_test testrepo heads/main &&
+ git checkout main &&
+ git push testrepo $head &&
+ check_push_result testrepo $the_commit heads/main
+ '
-'
+ test_expect_success "push with $head nonexisting at remote" '
+ mk_test testrepo heads/main &&
+ git checkout -b local main &&
+ test_when_finished "git checkout main; git branch -D local" &&
+ git push testrepo $head &&
+ check_push_result testrepo $the_commit heads/local
+ '
-test_expect_success 'push HEAD with non-existent, incomplete dest' '
+ test_expect_success "push with +$head" '
+ mk_test testrepo heads/main &&
+ git checkout -b local main &&
+ test_when_finished "git checkout main; git branch -D local" &&
+ git push testrepo main local &&
+ check_push_result testrepo $the_commit heads/main &&
+ check_push_result testrepo $the_commit heads/local &&
+
+ # Without force rewinding should fail
+ git reset --hard $head^ &&
+ test_must_fail git push testrepo $head &&
+ check_push_result testrepo $the_commit heads/local &&
+
+ # With force rewinding should succeed
+ git push testrepo +$head &&
+ check_push_result testrepo $the_first_commit heads/local
+ '
- mk_test testrepo &&
- git checkout master &&
- git push testrepo HEAD:branch &&
- check_push_result testrepo $the_commit heads/branch
+ test_expect_success "push $head with non-existent, incomplete dest" '
+ mk_test testrepo &&
+ git checkout main &&
+ git push testrepo $head:branch &&
+ check_push_result testrepo $the_commit heads/branch
-'
+ '
-test_expect_success 'push with config remote.*.push = HEAD' '
+ test_expect_success "push with config remote.*.push = $head" '
+ mk_test testrepo heads/local &&
+ git checkout main &&
+ git branch -f local $the_commit &&
+ test_when_finished "git branch -D local" &&
+ (
+ cd testrepo &&
+ git checkout local &&
+ git reset --hard $the_first_commit
+ ) &&
+ test_config remote.there.url testrepo &&
+ test_config remote.there.push $head &&
+ test_config branch.main.remote there &&
+ git push &&
+ check_push_result testrepo $the_commit heads/main &&
+ check_push_result testrepo $the_first_commit heads/local
+ '
- mk_test testrepo heads/local &&
- git checkout master &&
- git branch -f local $the_commit &&
- (
- cd testrepo &&
- git checkout local &&
- git reset --hard $the_first_commit
- ) &&
- test_config remote.there.url testrepo &&
- test_config remote.there.push HEAD &&
- test_config branch.master.remote there &&
- git push &&
- check_push_result testrepo $the_commit heads/master &&
- check_push_result testrepo $the_first_commit heads/local
-'
+done
test_expect_success 'push with remote.pushdefault' '
- mk_test up_repo heads/master &&
- mk_test down_repo heads/master &&
+ mk_test up_repo heads/main &&
+ mk_test down_repo heads/main &&
test_config remote.up.url up_repo &&
test_config remote.down.url down_repo &&
- test_config branch.master.remote up &&
+ test_config branch.main.remote up &&
test_config remote.pushdefault down &&
test_config push.default matching &&
git push &&
- check_push_result up_repo $the_first_commit heads/master &&
- check_push_result down_repo $the_commit heads/master
+ check_push_result up_repo $the_first_commit heads/main &&
+ check_push_result down_repo $the_commit heads/main
'
test_expect_success 'push with config remote.*.pushurl' '
- mk_test testrepo heads/master &&
- git checkout master &&
+ mk_test testrepo heads/main &&
+ git checkout main &&
test_config remote.there.url test2repo &&
test_config remote.there.pushurl testrepo &&
git push there : &&
- check_push_result testrepo $the_commit heads/master
+ check_push_result testrepo $the_commit heads/main
'
test_expect_success 'push with config branch.*.pushremote' '
- mk_test up_repo heads/master &&
- mk_test side_repo heads/master &&
- mk_test down_repo heads/master &&
+ mk_test up_repo heads/main &&
+ mk_test side_repo heads/main &&
+ mk_test down_repo heads/main &&
test_config remote.up.url up_repo &&
test_config remote.pushdefault side_repo &&
test_config remote.down.url down_repo &&
- test_config branch.master.remote up &&
- test_config branch.master.pushremote down &&
+ test_config branch.main.remote up &&
+ test_config branch.main.pushremote down &&
test_config push.default matching &&
git push &&
- check_push_result up_repo $the_first_commit heads/master &&
- check_push_result side_repo $the_first_commit heads/master &&
- check_push_result down_repo $the_commit heads/master
+ check_push_result up_repo $the_first_commit heads/main &&
+ check_push_result side_repo $the_first_commit heads/main &&
+ check_push_result down_repo $the_commit heads/main
'
test_expect_success 'branch.*.pushremote config order is irrelevant' '
- mk_test one_repo heads/master &&
- mk_test two_repo heads/master &&
+ mk_test one_repo heads/main &&
+ mk_test two_repo heads/main &&
test_config remote.one.url one_repo &&
test_config remote.two.url two_repo &&
- test_config branch.master.pushremote two_repo &&
+ test_config branch.main.pushremote two_repo &&
test_config remote.pushdefault one_repo &&
test_config push.default matching &&
git push &&
- check_push_result one_repo $the_first_commit heads/master &&
- check_push_result two_repo $the_commit heads/master
+ check_push_result one_repo $the_first_commit heads/main &&
+ check_push_result two_repo $the_commit heads/main
'
test_expect_success 'push with dry-run' '
- mk_test testrepo heads/master &&
- old_commit=$(git -C testrepo show-ref -s --verify refs/heads/master) &&
+ mk_test testrepo heads/main &&
+ old_commit=$(git -C testrepo show-ref -s --verify refs/heads/main) &&
git push --dry-run testrepo : &&
- check_push_result testrepo $old_commit heads/master
+ check_push_result testrepo $old_commit heads/main
'
test_expect_success 'push updates local refs' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
mk_child testrepo child &&
(
cd child &&
- git pull .. master &&
+ git pull .. main &&
git push &&
- test $(git rev-parse master) = \
- $(git rev-parse remotes/origin/master)
+ test $(git rev-parse main) = \
+ $(git rev-parse remotes/origin/main)
)
'
test_expect_success 'push updates up-to-date local refs' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
mk_child testrepo child1 &&
mk_child testrepo child2 &&
- (cd child1 && git pull .. master && git push) &&
+ (cd child1 && git pull .. main && git push) &&
(
cd child2 &&
- git pull ../child1 master &&
+ git pull ../child1 main &&
git push &&
- test $(git rev-parse master) = \
- $(git rev-parse remotes/origin/master)
+ test $(git rev-parse main) = \
+ $(git rev-parse remotes/origin/main)
)
'
test_expect_success 'push preserves up-to-date packed refs' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
mk_child testrepo child &&
(
cd child &&
git push &&
- ! test -f .git/refs/remotes/origin/master
+ ! test -f .git/refs/remotes/origin/main
)
'
test_expect_success 'push does not update local refs on failure' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
mk_child testrepo child &&
mkdir testrepo/.git/hooks &&
echo "#!/no/frobnication/today" >testrepo/.git/hooks/pre-receive &&
chmod +x testrepo/.git/hooks/pre-receive &&
(
cd child &&
- git pull .. master &&
+ git pull .. main &&
test_must_fail git push &&
- test $(git rev-parse master) != \
- $(git rev-parse remotes/origin/master)
+ test $(git rev-parse main) != \
+ $(git rev-parse remotes/origin/main)
)
'
test_expect_success 'allow deleting an invalid remote ref' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
rm -f testrepo/.git/objects/??/* &&
- git push testrepo :refs/heads/master &&
- (cd testrepo && test_must_fail git rev-parse --verify refs/heads/master)
+ git push testrepo :refs/heads/main &&
+ (cd testrepo && test_must_fail git rev-parse --verify refs/heads/main)
'
test_expect_success 'pushing valid refs triggers post-receive and post-update hooks' '
- mk_test_with_hooks testrepo heads/master heads/next &&
- orgmaster=$(cd testrepo && git show-ref -s --verify refs/heads/master) &&
- newmaster=$(git show-ref -s --verify refs/heads/master) &&
+ mk_test_with_hooks testrepo heads/main heads/next &&
+ orgmain=$(cd testrepo && git show-ref -s --verify refs/heads/main) &&
+ newmain=$(git show-ref -s --verify refs/heads/main) &&
orgnext=$(cd testrepo && git show-ref -s --verify refs/heads/next) &&
newnext=$ZERO_OID &&
- git push testrepo refs/heads/master:refs/heads/master :refs/heads/next &&
+ git push testrepo refs/heads/main:refs/heads/main :refs/heads/next &&
(
cd testrepo/.git &&
cat >pre-receive.expect <<-EOF &&
- $orgmaster $newmaster refs/heads/master
+ $orgmain $newmain refs/heads/main
$orgnext $newnext refs/heads/next
EOF
cat >update.expect <<-EOF &&
- refs/heads/master $orgmaster $newmaster
+ refs/heads/main $orgmain $newmain
refs/heads/next $orgnext $newnext
EOF
cat >post-receive.expect <<-EOF &&
- $orgmaster $newmaster refs/heads/master
+ $orgmain $newmain refs/heads/main
$orgnext $newnext refs/heads/next
EOF
cat >post-update.expect <<-EOF &&
- refs/heads/master
+ refs/heads/main
refs/heads/next
EOF
@@ -666,25 +668,25 @@ test_expect_success 'pushing valid refs triggers post-receive and post-update ho
'
test_expect_success 'deleting dangling ref triggers hooks with correct args' '
- mk_test_with_hooks testrepo heads/master &&
+ mk_test_with_hooks testrepo heads/main &&
rm -f testrepo/.git/objects/??/* &&
- git push testrepo :refs/heads/master &&
+ git push testrepo :refs/heads/main &&
(
cd testrepo/.git &&
cat >pre-receive.expect <<-EOF &&
- $ZERO_OID $ZERO_OID refs/heads/master
+ $ZERO_OID $ZERO_OID refs/heads/main
EOF
cat >update.expect <<-EOF &&
- refs/heads/master $ZERO_OID $ZERO_OID
+ refs/heads/main $ZERO_OID $ZERO_OID
EOF
cat >post-receive.expect <<-EOF &&
- $ZERO_OID $ZERO_OID refs/heads/master
+ $ZERO_OID $ZERO_OID refs/heads/main
EOF
cat >post-update.expect <<-EOF &&
- refs/heads/master
+ refs/heads/main
EOF
test_cmp pre-receive.expect pre-receive.actual &&
@@ -695,28 +697,28 @@ test_expect_success 'deleting dangling ref triggers hooks with correct args' '
'
test_expect_success 'deletion of a non-existent ref is not fed to post-receive and post-update hooks' '
- mk_test_with_hooks testrepo heads/master &&
- orgmaster=$(cd testrepo && git show-ref -s --verify refs/heads/master) &&
- newmaster=$(git show-ref -s --verify refs/heads/master) &&
- git push testrepo master :refs/heads/nonexistent &&
+ mk_test_with_hooks testrepo heads/main &&
+ orgmain=$(cd testrepo && git show-ref -s --verify refs/heads/main) &&
+ newmain=$(git show-ref -s --verify refs/heads/main) &&
+ git push testrepo main :refs/heads/nonexistent &&
(
cd testrepo/.git &&
cat >pre-receive.expect <<-EOF &&
- $orgmaster $newmaster refs/heads/master
+ $orgmain $newmain refs/heads/main
$ZERO_OID $ZERO_OID refs/heads/nonexistent
EOF
cat >update.expect <<-EOF &&
- refs/heads/master $orgmaster $newmaster
+ refs/heads/main $orgmain $newmain
refs/heads/nonexistent $ZERO_OID $ZERO_OID
EOF
cat >post-receive.expect <<-EOF &&
- $orgmaster $newmaster refs/heads/master
+ $orgmain $newmain refs/heads/main
EOF
cat >post-update.expect <<-EOF &&
- refs/heads/master
+ refs/heads/main
EOF
test_cmp pre-receive.expect pre-receive.actual &&
@@ -727,7 +729,7 @@ test_expect_success 'deletion of a non-existent ref is not fed to post-receive a
'
test_expect_success 'deletion of a non-existent ref alone does trigger post-receive and post-update hooks' '
- mk_test_with_hooks testrepo heads/master &&
+ mk_test_with_hooks testrepo heads/main &&
git push testrepo :refs/heads/nonexistent &&
(
cd testrepo/.git &&
@@ -747,40 +749,40 @@ test_expect_success 'deletion of a non-existent ref alone does trigger post-rece
'
test_expect_success 'mixed ref updates, deletes, invalid deletes trigger hooks with correct input' '
- mk_test_with_hooks testrepo heads/master heads/next heads/seen &&
- orgmaster=$(cd testrepo && git show-ref -s --verify refs/heads/master) &&
- newmaster=$(git show-ref -s --verify refs/heads/master) &&
+ mk_test_with_hooks testrepo heads/main heads/next heads/seen &&
+ orgmain=$(cd testrepo && git show-ref -s --verify refs/heads/main) &&
+ newmain=$(git show-ref -s --verify refs/heads/main) &&
orgnext=$(cd testrepo && git show-ref -s --verify refs/heads/next) &&
newnext=$ZERO_OID &&
orgseen=$(cd testrepo && git show-ref -s --verify refs/heads/seen) &&
- newseen=$(git show-ref -s --verify refs/heads/master) &&
- git push testrepo refs/heads/master:refs/heads/master \
- refs/heads/master:refs/heads/seen :refs/heads/next \
+ newseen=$(git show-ref -s --verify refs/heads/main) &&
+ git push testrepo refs/heads/main:refs/heads/main \
+ refs/heads/main:refs/heads/seen :refs/heads/next \
:refs/heads/nonexistent &&
(
cd testrepo/.git &&
cat >pre-receive.expect <<-EOF &&
- $orgmaster $newmaster refs/heads/master
+ $orgmain $newmain refs/heads/main
$orgnext $newnext refs/heads/next
$orgseen $newseen refs/heads/seen
$ZERO_OID $ZERO_OID refs/heads/nonexistent
EOF
cat >update.expect <<-EOF &&
- refs/heads/master $orgmaster $newmaster
+ refs/heads/main $orgmain $newmain
refs/heads/next $orgnext $newnext
refs/heads/seen $orgseen $newseen
refs/heads/nonexistent $ZERO_OID $ZERO_OID
EOF
cat >post-receive.expect <<-EOF &&
- $orgmaster $newmaster refs/heads/master
+ $orgmain $newmain refs/heads/main
$orgnext $newnext refs/heads/next
$orgseen $newseen refs/heads/seen
EOF
cat >post-update.expect <<-EOF &&
- refs/heads/master
+ refs/heads/main
refs/heads/next
refs/heads/seen
EOF
@@ -793,15 +795,15 @@ test_expect_success 'mixed ref updates, deletes, invalid deletes trigger hooks w
'
test_expect_success 'allow deleting a ref using --delete' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
(cd testrepo && git config receive.denyDeleteCurrent warn) &&
- git push testrepo --delete master &&
- (cd testrepo && test_must_fail git rev-parse --verify refs/heads/master)
+ git push testrepo --delete main &&
+ (cd testrepo && test_must_fail git rev-parse --verify refs/heads/main)
'
test_expect_success 'allow deleting a tag using --delete' '
- mk_test testrepo heads/master &&
- git tag -a -m dummy_message deltag heads/master &&
+ mk_test testrepo heads/main &&
+ git tag -a -m dummy_message deltag heads/main &&
git push testrepo --tags &&
(cd testrepo && git rev-parse --verify -q refs/tags/deltag) &&
git push testrepo --delete tag deltag &&
@@ -809,56 +811,56 @@ test_expect_success 'allow deleting a tag using --delete' '
'
test_expect_success 'push --delete without args aborts' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
test_must_fail git push testrepo --delete
'
test_expect_success 'push --delete refuses src:dest refspecs' '
- mk_test testrepo heads/master &&
- test_must_fail git push testrepo --delete master:foo
+ mk_test testrepo heads/main &&
+ test_must_fail git push testrepo --delete main:foo
'
test_expect_success 'warn on push to HEAD of non-bare repository' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
(
cd testrepo &&
- git checkout master &&
+ git checkout main &&
git config receive.denyCurrentBranch warn
) &&
- git push testrepo master 2>stderr &&
+ git push testrepo main 2>stderr &&
grep "warning: updating the current branch" stderr
'
test_expect_success 'deny push to HEAD of non-bare repository' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
(
cd testrepo &&
- git checkout master &&
+ git checkout main &&
git config receive.denyCurrentBranch true
) &&
- test_must_fail git push testrepo master
+ test_must_fail git push testrepo main
'
test_expect_success 'allow push to HEAD of bare repository (bare)' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
(
cd testrepo &&
- git checkout master &&
+ git checkout main &&
git config receive.denyCurrentBranch true &&
git config core.bare true
) &&
- git push testrepo master 2>stderr &&
+ git push testrepo main 2>stderr &&
! grep "warning: updating the current branch" stderr
'
test_expect_success 'allow push to HEAD of non-bare repository (config)' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
(
cd testrepo &&
- git checkout master &&
+ git checkout main &&
git config receive.denyCurrentBranch false
) &&
- git push testrepo master 2>stderr &&
+ git push testrepo main 2>stderr &&
! grep "warning: updating the current branch" stderr
'
@@ -874,7 +876,7 @@ test_expect_success 'fetch with branches' '
git for-each-ref refs/heads >actual &&
test_cmp expect actual
) &&
- git checkout master
+ git checkout main
'
test_expect_success 'fetch with branches containing #' '
@@ -887,7 +889,7 @@ test_expect_success 'fetch with branches containing #' '
git for-each-ref refs/heads >actual &&
test_cmp expect actual
) &&
- git checkout master
+ git checkout main
'
test_expect_success 'push with branches' '
@@ -897,7 +899,7 @@ test_expect_success 'push with branches' '
git push branch1 &&
(
cd testrepo &&
- echo "$the_first_commit commit refs/heads/master" >expect &&
+ echo "$the_first_commit commit refs/heads/main" >expect &&
git for-each-ref refs/heads >actual &&
test_cmp expect actual
)
@@ -913,11 +915,11 @@ test_expect_success 'push with branches containing #' '
git for-each-ref refs/heads >actual &&
test_cmp expect actual
) &&
- git checkout master
+ git checkout main
'
test_expect_success 'push into aliased refs (consistent)' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
mk_child testrepo child1 &&
mk_child testrepo child2 &&
(
@@ -939,7 +941,7 @@ test_expect_success 'push into aliased refs (consistent)' '
'
test_expect_success 'push into aliased refs (inconsistent)' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
mk_child testrepo child1 &&
mk_child testrepo child2 &&
(
@@ -970,7 +972,7 @@ test_force_push_tag () {
tag_args=$2
test_expect_success "force pushing required to update $tag_type_description" "
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
mk_child testrepo child1 &&
mk_child testrepo child2 &&
(
@@ -1016,7 +1018,7 @@ test_force_fetch_tag () {
tag_args=$2
test_expect_success "fetch will not clobber an existing $tag_type_description without --force" "
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
mk_child testrepo child1 &&
mk_child testrepo child2 &&
(
@@ -1039,12 +1041,12 @@ test_force_fetch_tag "annotated tag" "-f -a -m'tag message'"
test_expect_success 'push --porcelain' '
mk_empty testrepo &&
echo >.git/foo "To testrepo" &&
- echo >>.git/foo "* refs/heads/master:refs/remotes/origin/master [new reference]" &&
+ echo >>.git/foo "* refs/heads/main:refs/remotes/origin/main [new reference]" &&
echo >>.git/foo "Done" &&
- git push >.git/bar --porcelain testrepo refs/heads/master:refs/remotes/origin/master &&
+ git push >.git/bar --porcelain testrepo refs/heads/main:refs/remotes/origin/main &&
(
cd testrepo &&
- echo "$the_commit commit refs/remotes/origin/master" >expect &&
+ echo "$the_commit commit refs/remotes/origin/main" >expect &&
git for-each-ref refs/remotes/origin >actual &&
test_cmp expect actual
) &&
@@ -1053,52 +1055,52 @@ test_expect_success 'push --porcelain' '
test_expect_success 'push --porcelain bad url' '
mk_empty testrepo &&
- test_must_fail git push >.git/bar --porcelain asdfasdfasd refs/heads/master:refs/remotes/origin/master &&
+ test_must_fail git push >.git/bar --porcelain asdfasdfasd refs/heads/main:refs/remotes/origin/main &&
! grep -q Done .git/bar
'
test_expect_success 'push --porcelain rejected' '
mk_empty testrepo &&
- git push testrepo refs/heads/master:refs/remotes/origin/master &&
+ git push testrepo refs/heads/main:refs/remotes/origin/main &&
(cd testrepo &&
- git reset --hard origin/master^ &&
+ git reset --hard origin/main^ &&
git config receive.denyCurrentBranch true) &&
echo >.git/foo "To testrepo" &&
- echo >>.git/foo "! refs/heads/master:refs/heads/master [remote rejected] (branch is currently checked out)" &&
+ echo >>.git/foo "! refs/heads/main:refs/heads/main [remote rejected] (branch is currently checked out)" &&
echo >>.git/foo "Done" &&
- test_must_fail git push >.git/bar --porcelain testrepo refs/heads/master:refs/heads/master &&
+ test_must_fail git push >.git/bar --porcelain testrepo refs/heads/main:refs/heads/main &&
test_cmp .git/foo .git/bar
'
test_expect_success 'push --porcelain --dry-run rejected' '
mk_empty testrepo &&
- git push testrepo refs/heads/master:refs/remotes/origin/master &&
+ git push testrepo refs/heads/main:refs/remotes/origin/main &&
(cd testrepo &&
- git reset --hard origin/master &&
+ git reset --hard origin/main &&
git config receive.denyCurrentBranch true) &&
echo >.git/foo "To testrepo" &&
- echo >>.git/foo "! refs/heads/master^:refs/heads/master [rejected] (non-fast-forward)" &&
+ echo >>.git/foo "! refs/heads/main^:refs/heads/main [rejected] (non-fast-forward)" &&
echo >>.git/foo "Done" &&
- test_must_fail git push >.git/bar --porcelain --dry-run testrepo refs/heads/master^:refs/heads/master &&
+ test_must_fail git push >.git/bar --porcelain --dry-run testrepo refs/heads/main^:refs/heads/main &&
test_cmp .git/foo .git/bar
'
test_expect_success 'push --prune' '
- mk_test testrepo heads/master heads/second heads/foo heads/bar &&
+ mk_test testrepo heads/main heads/second heads/foo heads/bar &&
git push --prune testrepo : &&
- check_push_result testrepo $the_commit heads/master &&
+ check_push_result testrepo $the_commit heads/main &&
check_push_result testrepo $the_first_commit heads/second &&
! check_push_result testrepo $the_first_commit heads/foo heads/bar
'
test_expect_success 'push --prune refspec' '
- mk_test testrepo tmp/master tmp/second tmp/foo tmp/bar &&
+ mk_test testrepo tmp/main tmp/second tmp/foo tmp/bar &&
git push --prune testrepo "refs/heads/*:refs/tmp/*" &&
- check_push_result testrepo $the_commit tmp/master &&
+ check_push_result testrepo $the_commit tmp/main &&
check_push_result testrepo $the_first_commit tmp/second &&
! check_push_result testrepo $the_first_commit tmp/foo tmp/bar
'
@@ -1106,18 +1108,18 @@ test_expect_success 'push --prune refspec' '
for configsection in transfer receive
do
test_expect_success "push to update a ref hidden by $configsection.hiderefs" '
- mk_test testrepo heads/master hidden/one hidden/two hidden/three &&
+ mk_test testrepo heads/main hidden/one hidden/two hidden/three &&
(
cd testrepo &&
git config $configsection.hiderefs refs/hidden
) &&
# push to unhidden ref succeeds normally
- git push testrepo master:refs/heads/master &&
- check_push_result testrepo $the_commit heads/master &&
+ git push testrepo main:refs/heads/main &&
+ check_push_result testrepo $the_commit heads/main &&
# push to update a hidden ref should fail
- test_must_fail git push testrepo master:refs/hidden/one &&
+ test_must_fail git push testrepo main:refs/hidden/one &&
check_push_result testrepo $the_first_commit hidden/one &&
# push to delete a hidden ref should fail
@@ -1131,8 +1133,8 @@ do
done
test_expect_success 'fetch exact SHA1' '
- mk_test testrepo heads/master hidden/one &&
- git push testrepo master:refs/hidden/one &&
+ mk_test testrepo heads/main hidden/one &&
+ git push testrepo main:refs/hidden/one &&
(
cd testrepo &&
git config transfer.hiderefs refs/hidden
@@ -1163,7 +1165,7 @@ test_expect_success 'fetch exact SHA1' '
git config uploadpack.allowtipsha1inwant true
) &&
- git fetch -v ../testrepo $the_commit:refs/heads/copy master:refs/heads/extra &&
+ git fetch -v ../testrepo $the_commit:refs/heads/copy main:refs/heads/extra &&
cat >expect <<-EOF &&
$the_commit
$the_first_commit
@@ -1177,8 +1179,8 @@ test_expect_success 'fetch exact SHA1' '
'
test_expect_success 'fetch exact SHA1 in protocol v2' '
- mk_test testrepo heads/master hidden/one &&
- git push testrepo master:refs/hidden/one &&
+ mk_test testrepo heads/main hidden/one &&
+ git push testrepo main:refs/hidden/one &&
git -C testrepo config transfer.hiderefs refs/hidden &&
check_push_result testrepo $the_commit hidden/one &&
@@ -1254,23 +1256,25 @@ do
git cat-file commit $SHA1_2 &&
test_must_fail env GIT_TEST_PROTOCOL_VERSION=0 \
git fetch ../testrepo/.git $SHA1_3 2>err &&
- test_i18ngrep "remote error:.*not our ref.*$SHA1_3\$" err
+ # ideally we would insist this be on a "remote error:"
+ # line, but it is racy; see the commit message
+ test_i18ngrep "not our ref.*$SHA1_3\$" err
)
'
done
test_expect_success 'fetch follows tags by default' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
rm -fr src dst &&
git init src &&
(
cd src &&
- git pull ../testrepo master &&
+ git pull ../testrepo main &&
git tag -m "annotated" tag &&
git for-each-ref >tmp1 &&
(
cat tmp1
- sed -n "s|refs/heads/master$|refs/remotes/origin/master|p" tmp1
+ sed -n "s|refs/heads/main$|refs/remotes/origin/main|p" tmp1
) |
sort -k 3 >../expect
) &&
@@ -1278,8 +1282,8 @@ test_expect_success 'fetch follows tags by default' '
(
cd dst &&
git remote add origin ../src &&
- git config branch.master.remote origin &&
- git config branch.master.merge refs/heads/master &&
+ git config branch.main.remote origin &&
+ git config branch.main.merge refs/heads/main &&
git pull &&
git for-each-ref >../actual
) &&
@@ -1298,74 +1302,74 @@ test_expect_success 'peeled advertisements are not considered ref tips' '
'
test_expect_success 'pushing a specific ref applies remote.$name.push as refmap' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
rm -fr src dst &&
git init src &&
git init --bare dst &&
(
cd src &&
- git pull ../testrepo master &&
+ git pull ../testrepo main &&
git branch next &&
git config remote.dst.url ../dst &&
git config remote.dst.push "+refs/heads/*:refs/remotes/src/*" &&
- git push dst master &&
- git show-ref refs/heads/master |
+ git push dst main &&
+ git show-ref refs/heads/main |
sed -e "s|refs/heads/|refs/remotes/src/|" >../dst/expect
) &&
(
cd dst &&
test_must_fail git show-ref refs/heads/next &&
- test_must_fail git show-ref refs/heads/master &&
- git show-ref refs/remotes/src/master >actual
+ test_must_fail git show-ref refs/heads/main &&
+ git show-ref refs/remotes/src/main >actual
) &&
test_cmp dst/expect dst/actual
'
test_expect_success 'with no remote.$name.push, it is not used as refmap' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
rm -fr src dst &&
git init src &&
git init --bare dst &&
(
cd src &&
- git pull ../testrepo master &&
+ git pull ../testrepo main &&
git branch next &&
git config remote.dst.url ../dst &&
git config push.default matching &&
- git push dst master &&
- git show-ref refs/heads/master >../dst/expect
+ git push dst main &&
+ git show-ref refs/heads/main >../dst/expect
) &&
(
cd dst &&
test_must_fail git show-ref refs/heads/next &&
- git show-ref refs/heads/master >actual
+ git show-ref refs/heads/main >actual
) &&
test_cmp dst/expect dst/actual
'
test_expect_success 'with no remote.$name.push, upstream mapping is used' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
rm -fr src dst &&
git init src &&
git init --bare dst &&
(
cd src &&
- git pull ../testrepo master &&
+ git pull ../testrepo main &&
git branch next &&
git config remote.dst.url ../dst &&
git config remote.dst.fetch "+refs/heads/*:refs/remotes/dst/*" &&
git config push.default upstream &&
- git config branch.master.merge refs/heads/trunk &&
- git config branch.master.remote dst &&
+ git config branch.main.merge refs/heads/trunk &&
+ git config branch.main.remote dst &&
- git push dst master &&
- git show-ref refs/heads/master |
- sed -e "s|refs/heads/master|refs/heads/trunk|" >../dst/expect
+ git push dst main &&
+ git show-ref refs/heads/main |
+ sed -e "s|refs/heads/main|refs/heads/trunk|" >../dst/expect
) &&
(
cd dst &&
- test_must_fail git show-ref refs/heads/master &&
+ test_must_fail git show-ref refs/heads/main &&
test_must_fail git show-ref refs/heads/next &&
git show-ref refs/heads/trunk >actual
) &&
@@ -1373,20 +1377,20 @@ test_expect_success 'with no remote.$name.push, upstream mapping is used' '
'
test_expect_success 'push does not follow tags by default' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
rm -fr src dst &&
git init src &&
git init --bare dst &&
(
cd src &&
- git pull ../testrepo master &&
+ git pull ../testrepo main &&
git tag -m "annotated" tag &&
git checkout -b another &&
git commit --allow-empty -m "future commit" &&
git tag -m "future" future &&
- git checkout master &&
- git for-each-ref refs/heads/master >../expect &&
- git push ../dst master
+ git checkout main &&
+ git for-each-ref refs/heads/main >../expect &&
+ git push ../dst main
) &&
(
cd dst &&
@@ -1396,20 +1400,20 @@ test_expect_success 'push does not follow tags by default' '
'
test_expect_success 'push --follow-tags only pushes relevant tags' '
- mk_test testrepo heads/master &&
+ mk_test testrepo heads/main &&
rm -fr src dst &&
git init src &&
git init --bare dst &&
(
cd src &&
- git pull ../testrepo master &&
+ git pull ../testrepo main &&
git tag -m "annotated" tag &&
git checkout -b another &&
git commit --allow-empty -m "future commit" &&
git tag -m "future" future &&
- git checkout master &&
- git for-each-ref refs/heads/master refs/tags/tag >../expect &&
- git push --follow-tags ../dst master
+ git checkout main &&
+ git for-each-ref refs/heads/main refs/tags/tag >../expect &&
+ git push --follow-tags ../dst main
) &&
(
cd dst &&
@@ -1427,12 +1431,12 @@ EOF
git commit -am initial &&
git init no-thin &&
git --git-dir=no-thin/.git config receive.unpacklimit 0 &&
- git push no-thin/.git refs/heads/master:refs/heads/foo &&
+ git push no-thin/.git refs/heads/main:refs/heads/foo &&
echo modified >> path1 &&
git commit -am modified &&
git repack -adf &&
rcvpck="git receive-pack --reject-thin-pack-for-testing" &&
- git push --no-thin --receive-pack="$rcvpck" no-thin/.git refs/heads/master:refs/heads/foo
+ git push --no-thin --receive-pack="$rcvpck" no-thin/.git refs/heads/main:refs/heads/foo
'
test_expect_success 'pushing a tag pushes the tagged object' '
@@ -1455,12 +1459,12 @@ test_expect_success 'push into bare respects core.logallrefupdates' '
# double push to test both with and without
# the actual pack transfer
- git push dst.git master:one &&
+ git push dst.git main:one &&
echo "one@{0} push" >expect &&
git -C dst.git log -g --format="%gd %gs" one >actual &&
test_cmp expect actual &&
- git push dst.git master:two &&
+ git push dst.git main:two &&
echo "two@{0} push" >expect &&
git -C dst.git log -g --format="%gd %gs" two >actual &&
test_cmp expect actual
@@ -1475,20 +1479,20 @@ test_expect_success 'fetch into bare respects core.logallrefupdates' '
# as above, we double-fetch to test both
# with and without pack transfer
- git fetch .. master:one &&
- echo "one@{0} fetch .. master:one: storing head" >expect &&
+ git fetch .. main:one &&
+ echo "one@{0} fetch .. main:one: storing head" >expect &&
git log -g --format="%gd %gs" one >actual &&
test_cmp expect actual &&
- git fetch .. master:two &&
- echo "two@{0} fetch .. master:two: storing head" >expect &&
+ git fetch .. main:two &&
+ echo "two@{0} fetch .. main:two: storing head" >expect &&
git log -g --format="%gd %gs" two >actual &&
test_cmp expect actual
)
'
test_expect_success 'receive.denyCurrentBranch = updateInstead' '
- git push testrepo master &&
+ git push testrepo main &&
(
cd testrepo &&
git reset --hard &&
@@ -1497,7 +1501,7 @@ test_expect_success 'receive.denyCurrentBranch = updateInstead' '
test_commit third path2 &&
# Try pushing into a repository with pristine working tree
- git push testrepo master &&
+ git push testrepo main &&
(
cd testrepo &&
git update-index -q --refresh &&
@@ -1514,7 +1518,7 @@ test_expect_success 'receive.denyCurrentBranch = updateInstead' '
test $(git -C .. rev-parse HEAD^) = $(git rev-parse HEAD) &&
test-tool chmtime +100 path1
) &&
- git push testrepo master &&
+ git push testrepo main &&
(
cd testrepo &&
git update-index -q --refresh &&
@@ -1534,7 +1538,7 @@ test_expect_success 'receive.denyCurrentBranch = updateInstead' '
cd testrepo &&
echo changed >path1
) &&
- test_must_fail git push testrepo master &&
+ test_must_fail git push testrepo main &&
(
cd testrepo &&
test $(git -C .. rev-parse HEAD^) = $(git rev-parse HEAD) &&
@@ -1548,7 +1552,7 @@ test_expect_success 'receive.denyCurrentBranch = updateInstead' '
echo changed >path1 &&
git add path1
) &&
- test_must_fail git push testrepo master &&
+ test_must_fail git push testrepo main &&
(
cd testrepo &&
test $(git -C .. rev-parse HEAD^) = $(git rev-parse HEAD) &&
@@ -1565,7 +1569,7 @@ test_expect_success 'receive.denyCurrentBranch = updateInstead' '
git reset --hard &&
echo changed >path3
) &&
- test_must_fail git push testrepo master &&
+ test_must_fail git push testrepo main &&
(
cd testrepo &&
test $(git -C .. rev-parse HEAD^^) = $(git rev-parse HEAD) &&
@@ -1581,7 +1585,7 @@ test_expect_success 'receive.denyCurrentBranch = updateInstead' '
echo fifth >path3 &&
git add path3
) &&
- test_must_fail git push testrepo master &&
+ test_must_fail git push testrepo main &&
(
cd testrepo &&
test $(git -C .. rev-parse HEAD^^) = $(git rev-parse HEAD) &&
@@ -1596,17 +1600,17 @@ test_expect_success 'receive.denyCurrentBranch = updateInstead' '
cd void &&
git config receive.denyCurrentBranch updateInstead
) &&
- git push void master &&
+ git push void main &&
(
cd void &&
- test $(git -C .. rev-parse master) = $(git rev-parse HEAD) &&
+ test $(git -C .. rev-parse main) = $(git rev-parse HEAD) &&
git diff --quiet &&
git diff --cached --quiet
) &&
# (6) updateInstead intervened by fast-forward check
- test_must_fail git push void master^:master &&
- test $(git -C void rev-parse HEAD) = $(git rev-parse master) &&
+ test_must_fail git push void main^:main &&
+ test $(git -C void rev-parse HEAD) = $(git rev-parse main) &&
git -C void diff --quiet &&
git -C void diff --cached --quiet
'
@@ -1616,7 +1620,7 @@ test_expect_success 'updateInstead with push-to-checkout hook' '
git init testrepo &&
(
cd testrepo &&
- git pull .. master &&
+ git pull .. main &&
git reset --hard HEAD^^ &&
git tag initial &&
git config receive.denyCurrentBranch updateInstead &&
@@ -1634,7 +1638,7 @@ test_expect_success 'updateInstead with push-to-checkout hook' '
) &&
# Try pushing into a pristine
- git push testrepo master &&
+ git push testrepo main &&
(
cd testrepo &&
git diff --quiet &&
@@ -1648,7 +1652,7 @@ test_expect_success 'updateInstead with push-to-checkout hook' '
git reset --hard initial &&
echo conflicting >path2
) &&
- test_must_fail git push testrepo master &&
+ test_must_fail git push testrepo main &&
(
cd testrepo &&
test $(git rev-parse initial) = $(git rev-parse HEAD) &&
@@ -1664,7 +1668,7 @@ test_expect_success 'updateInstead with push-to-checkout hook' '
echo irrelevant >path5 &&
git add path5
) &&
- git push testrepo master &&
+ git push testrepo main &&
(
cd testrepo &&
test "$(cat path1)" = unrelated &&
@@ -1704,7 +1708,7 @@ test_expect_success 'updateInstead with push-to-checkout hook' '
EOF
) &&
- git push void master &&
+ git push void main &&
(
cd void &&
git diff --quiet &&
diff --git a/t/t5517-push-mirror.sh b/t/t5517-push-mirror.sh
index e4edd56404..a448e169bd 100755
--- a/t/t5517-push-mirror.sh
+++ b/t/t5517-push-mirror.sh
@@ -2,6 +2,9 @@
test_description='pushing to a mirror repository'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
D=$(pwd)
@@ -15,16 +18,16 @@ invert () {
}
mk_repo_pair () {
- rm -rf master mirror &&
+ rm -rf main mirror &&
mkdir mirror &&
(
cd mirror &&
git init &&
git config receive.denyCurrentBranch warn
) &&
- mkdir master &&
+ mkdir main &&
(
- cd master &&
+ cd main &&
git init &&
git remote add $1 up ../mirror
)
@@ -36,13 +39,13 @@ test_expect_success 'push mirror creates new branches' '
mk_repo_pair &&
(
- cd master &&
+ cd main &&
echo one >foo && git add foo && git commit -m one &&
git push --mirror up
) &&
- master_master=$(cd master && git show-ref -s --verify refs/heads/master) &&
- mirror_master=$(cd mirror && git show-ref -s --verify refs/heads/master) &&
- test "$master_master" = "$mirror_master"
+ main_main=$(cd main && git show-ref -s --verify refs/heads/main) &&
+ mirror_main=$(cd mirror && git show-ref -s --verify refs/heads/main) &&
+ test "$main_main" = "$mirror_main"
'
@@ -50,15 +53,15 @@ test_expect_success 'push mirror updates existing branches' '
mk_repo_pair &&
(
- cd master &&
+ cd main &&
echo one >foo && git add foo && git commit -m one &&
git push --mirror up &&
echo two >foo && git add foo && git commit -m two &&
git push --mirror up
) &&
- master_master=$(cd master && git show-ref -s --verify refs/heads/master) &&
- mirror_master=$(cd mirror && git show-ref -s --verify refs/heads/master) &&
- test "$master_master" = "$mirror_master"
+ main_main=$(cd main && git show-ref -s --verify refs/heads/main) &&
+ mirror_main=$(cd mirror && git show-ref -s --verify refs/heads/main) &&
+ test "$main_main" = "$mirror_main"
'
@@ -66,7 +69,7 @@ test_expect_success 'push mirror force updates existing branches' '
mk_repo_pair &&
(
- cd master &&
+ cd main &&
echo one >foo && git add foo && git commit -m one &&
git push --mirror up &&
echo two >foo && git add foo && git commit -m two &&
@@ -74,9 +77,9 @@ test_expect_success 'push mirror force updates existing branches' '
git reset --hard HEAD^ &&
git push --mirror up
) &&
- master_master=$(cd master && git show-ref -s --verify refs/heads/master) &&
- mirror_master=$(cd mirror && git show-ref -s --verify refs/heads/master) &&
- test "$master_master" = "$mirror_master"
+ main_main=$(cd main && git show-ref -s --verify refs/heads/main) &&
+ mirror_main=$(cd mirror && git show-ref -s --verify refs/heads/main) &&
+ test "$main_main" = "$mirror_main"
'
@@ -84,9 +87,9 @@ test_expect_success 'push mirror removes branches' '
mk_repo_pair &&
(
- cd master &&
+ cd main &&
echo one >foo && git add foo && git commit -m one &&
- git branch remove master &&
+ git branch remove main &&
git push --mirror up &&
git branch -D remove &&
git push --mirror up
@@ -102,21 +105,21 @@ test_expect_success 'push mirror adds, updates and removes branches together' '
mk_repo_pair &&
(
- cd master &&
+ cd main &&
echo one >foo && git add foo && git commit -m one &&
- git branch remove master &&
+ git branch remove main &&
git push --mirror up &&
git branch -D remove &&
- git branch add master &&
+ git branch add main &&
echo two >foo && git add foo && git commit -m two &&
git push --mirror up
) &&
- master_master=$(cd master && git show-ref -s --verify refs/heads/master) &&
- master_add=$(cd master && git show-ref -s --verify refs/heads/add) &&
- mirror_master=$(cd mirror && git show-ref -s --verify refs/heads/master) &&
+ main_main=$(cd main && git show-ref -s --verify refs/heads/main) &&
+ main_add=$(cd main && git show-ref -s --verify refs/heads/add) &&
+ mirror_main=$(cd mirror && git show-ref -s --verify refs/heads/main) &&
mirror_add=$(cd mirror && git show-ref -s --verify refs/heads/add) &&
- test "$master_master" = "$mirror_master" &&
- test "$master_add" = "$mirror_add" &&
+ test "$main_main" = "$mirror_main" &&
+ test "$main_add" = "$mirror_add" &&
(
cd mirror &&
invert git show-ref -s --verify refs/heads/remove
@@ -130,14 +133,14 @@ test_expect_success 'push mirror creates new tags' '
mk_repo_pair &&
(
- cd master &&
+ cd main &&
echo one >foo && git add foo && git commit -m one &&
- git tag -f tmaster master &&
+ git tag -f tmain main &&
git push --mirror up
) &&
- master_master=$(cd master && git show-ref -s --verify refs/tags/tmaster) &&
- mirror_master=$(cd mirror && git show-ref -s --verify refs/tags/tmaster) &&
- test "$master_master" = "$mirror_master"
+ main_main=$(cd main && git show-ref -s --verify refs/tags/tmain) &&
+ mirror_main=$(cd mirror && git show-ref -s --verify refs/tags/tmain) &&
+ test "$main_main" = "$mirror_main"
'
@@ -145,17 +148,17 @@ test_expect_success 'push mirror updates existing tags' '
mk_repo_pair &&
(
- cd master &&
+ cd main &&
echo one >foo && git add foo && git commit -m one &&
- git tag -f tmaster master &&
+ git tag -f tmain main &&
git push --mirror up &&
echo two >foo && git add foo && git commit -m two &&
- git tag -f tmaster master &&
+ git tag -f tmain main &&
git push --mirror up
) &&
- master_master=$(cd master && git show-ref -s --verify refs/tags/tmaster) &&
- mirror_master=$(cd mirror && git show-ref -s --verify refs/tags/tmaster) &&
- test "$master_master" = "$mirror_master"
+ main_main=$(cd main && git show-ref -s --verify refs/tags/tmain) &&
+ mirror_main=$(cd mirror && git show-ref -s --verify refs/tags/tmain) &&
+ test "$main_main" = "$mirror_main"
'
@@ -163,20 +166,20 @@ test_expect_success 'push mirror force updates existing tags' '
mk_repo_pair &&
(
- cd master &&
+ cd main &&
echo one >foo && git add foo && git commit -m one &&
- git tag -f tmaster master &&
+ git tag -f tmain main &&
git push --mirror up &&
echo two >foo && git add foo && git commit -m two &&
- git tag -f tmaster master &&
+ git tag -f tmain main &&
git push --mirror up &&
git reset --hard HEAD^ &&
- git tag -f tmaster master &&
+ git tag -f tmain main &&
git push --mirror up
) &&
- master_master=$(cd master && git show-ref -s --verify refs/tags/tmaster) &&
- mirror_master=$(cd mirror && git show-ref -s --verify refs/tags/tmaster) &&
- test "$master_master" = "$mirror_master"
+ main_main=$(cd main && git show-ref -s --verify refs/tags/tmain) &&
+ mirror_main=$(cd mirror && git show-ref -s --verify refs/tags/tmain) &&
+ test "$main_main" = "$mirror_main"
'
@@ -184,9 +187,9 @@ test_expect_success 'push mirror removes tags' '
mk_repo_pair &&
(
- cd master &&
+ cd main &&
echo one >foo && git add foo && git commit -m one &&
- git tag -f tremove master &&
+ git tag -f tremove main &&
git push --mirror up &&
git tag -d tremove &&
git push --mirror up
@@ -202,23 +205,23 @@ test_expect_success 'push mirror adds, updates and removes tags together' '
mk_repo_pair &&
(
- cd master &&
+ cd main &&
echo one >foo && git add foo && git commit -m one &&
- git tag -f tmaster master &&
- git tag -f tremove master &&
+ git tag -f tmain main &&
+ git tag -f tremove main &&
git push --mirror up &&
git tag -d tremove &&
- git tag tadd master &&
+ git tag tadd main &&
echo two >foo && git add foo && git commit -m two &&
- git tag -f tmaster master &&
+ git tag -f tmain main &&
git push --mirror up
) &&
- master_master=$(cd master && git show-ref -s --verify refs/tags/tmaster) &&
- master_add=$(cd master && git show-ref -s --verify refs/tags/tadd) &&
- mirror_master=$(cd mirror && git show-ref -s --verify refs/tags/tmaster) &&
+ main_main=$(cd main && git show-ref -s --verify refs/tags/tmain) &&
+ main_add=$(cd main && git show-ref -s --verify refs/tags/tadd) &&
+ mirror_main=$(cd mirror && git show-ref -s --verify refs/tags/tmain) &&
mirror_add=$(cd mirror && git show-ref -s --verify refs/tags/tadd) &&
- test "$master_master" = "$mirror_master" &&
- test "$master_add" = "$mirror_add" &&
+ test "$main_main" = "$mirror_main" &&
+ test "$main_add" = "$mirror_add" &&
(
cd mirror &&
invert git show-ref -s --verify refs/tags/tremove
@@ -230,10 +233,10 @@ test_expect_success 'remote.foo.mirror adds and removes branches' '
mk_repo_pair --mirror &&
(
- cd master &&
+ cd main &&
echo one >foo && git add foo && git commit -m one &&
- git branch keep master &&
- git branch remove master &&
+ git branch keep main &&
+ git branch remove main &&
git push up &&
git branch -D remove &&
git push up
@@ -250,10 +253,10 @@ test_expect_success 'remote.foo.mirror=no has no effect' '
mk_repo_pair &&
(
- cd master &&
+ cd main &&
echo one >foo && git add foo && git commit -m one &&
git config --add remote.up.mirror no &&
- git branch keep master &&
+ git branch keep main &&
git push --mirror up &&
git branch -D keep &&
git push up :
@@ -268,10 +271,10 @@ test_expect_success 'remote.foo.mirror=no has no effect' '
test_expect_success 'push to mirrored repository with refspec fails' '
mk_repo_pair &&
(
- cd master &&
+ cd main &&
echo one >foo && git add foo && git commit -m one &&
git config --add remote.up.mirror true &&
- test_must_fail git push up master
+ test_must_fail git push up main
)
'
diff --git a/t/t5518-fetch-exit-status.sh b/t/t5518-fetch-exit-status.sh
index c2060bb870..5c4ac2556e 100755
--- a/t/t5518-fetch-exit-status.sh
+++ b/t/t5518-fetch-exit-status.sh
@@ -5,6 +5,9 @@
test_description='fetch exit status test'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -17,20 +20,20 @@ test_expect_success setup '
echo side >file &&
git commit -a -m side &&
- git checkout master &&
+ git checkout main &&
echo next >file &&
git commit -a -m next
'
test_expect_success 'non-fast-forward fetch' '
- test_must_fail git fetch . master:side
+ test_must_fail git fetch . main:side
'
test_expect_success 'forced update' '
- git fetch . +master:side
+ git fetch . +main:side
'
diff --git a/t/t5519-push-alternates.sh b/t/t5519-push-alternates.sh
index 11fcd37700..20ba604dfd 100755
--- a/t/t5519-push-alternates.sh
+++ b/t/t5519-push-alternates.sh
@@ -2,6 +2,9 @@
test_description='push to a repository that borrows from elsewhere'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -17,7 +20,7 @@ test_expect_success setup '
>file &&
git add . &&
git commit -m initial &&
- git push ../alice-pub master
+ git push ../alice-pub main
) &&
# Project Bob is a fork of project Alice
@@ -31,7 +34,7 @@ test_expect_success setup '
git clone alice-pub bob-work &&
(
cd bob-work &&
- git push ../bob-pub master
+ git push ../bob-pub main
)
'
@@ -54,7 +57,7 @@ test_expect_success 'bob fetches from alice, works and pushes' '
# has at her public repository are available to it
# via its alternates.
cd bob-work &&
- git pull ../alice-pub master &&
+ git pull ../alice-pub main &&
echo more bob >file &&
git commit -a -m third &&
git push ../bob-pub :
@@ -93,7 +96,7 @@ test_expect_success 'alice works and pushes again' '
test_expect_success 'bob works and pushes' '
(
# This time Bob does not pull from Alice, and
- # the master branch at her public repository points
+ # the main branch at her public repository points
# at a commit Bob does not know about. This should
# not prevent the push by Bob from succeeding.
cd bob-work &&
@@ -122,11 +125,11 @@ test_expect_success 'alice works and pushes yet again' '
test_expect_success 'bob works and pushes again' '
(
cd alice-pub &&
- git cat-file commit master >../bob-work/commit
+ git cat-file commit main >../bob-work/commit
) &&
(
# This time Bob does not pull from Alice, and
- # the master branch at her public repository points
+ # the main branch at her public repository points
# at a commit Bob does not fully know about, but
# he happens to have the commit object (but not the
# necessary tree) in his repository from Alice.
diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
index 9fae07cdfa..a09411327f 100755
--- a/t/t5520-pull.sh
+++ b/t/t5520-pull.sh
@@ -2,6 +2,9 @@
test_description='pulling into void'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
modify () {
@@ -48,11 +51,11 @@ test_expect_success 'pulling into void' '
test_cmp file cloned/file
'
-test_expect_success 'pulling into void using master:master' '
+test_expect_success 'pulling into void using main:main' '
git init cloned-uho &&
(
cd cloned-uho &&
- git pull .. master:master
+ git pull .. main:main
) &&
test_path_is_file file &&
test_path_is_file cloned-uho/file &&
@@ -64,7 +67,7 @@ test_expect_success 'pulling into void does not overwrite untracked files' '
(
cd cloned-untracked &&
echo untracked >file &&
- test_must_fail git pull .. master &&
+ test_must_fail git pull .. main &&
echo untracked >expect &&
test_cmp expect file
)
@@ -76,7 +79,7 @@ test_expect_success 'pulling into void does not overwrite staged files' '
cd cloned-staged-colliding &&
echo "alternate content" >file &&
git add file &&
- test_must_fail git pull .. master &&
+ test_must_fail git pull .. main &&
echo "alternate content" >expect &&
test_cmp expect file &&
git cat-file blob :file >file.index &&
@@ -90,7 +93,7 @@ test_expect_success 'pulling into void does not remove new staged files' '
cd cloned-staged-new &&
echo "new tracked file" >newfile &&
git add newfile &&
- git pull .. master &&
+ git pull .. main &&
echo "new tracked file" >expect &&
test_cmp expect newfile &&
git cat-file blob :newfile >newfile.index &&
@@ -102,15 +105,15 @@ test_expect_success 'pulling into void must not create an octopus' '
git init cloned-octopus &&
(
cd cloned-octopus &&
- test_must_fail git pull .. master master &&
+ test_must_fail git pull .. main main &&
test_path_is_missing file
)
'
test_expect_success 'test . as a remote' '
- git branch copy master &&
+ git branch copy main &&
git config branch.copy.remote . &&
- git config branch.copy.merge refs/heads/master &&
+ git config branch.copy.merge refs/heads/main &&
echo updated >file &&
git commit -a -m updated &&
git checkout copy &&
@@ -126,7 +129,7 @@ test_expect_success 'test . as a remote' '
'
test_expect_success 'the default remote . should not break explicit pull' '
- git checkout -b second master^ &&
+ git checkout -b second main^ &&
echo modified >file &&
git commit -a -m modified &&
git checkout copy &&
@@ -361,7 +364,7 @@ test_expect_success 'failed --rebase shows advice' '
test_expect_success '--rebase fails with multiple branches' '
git reset --hard before-rebase &&
- test_must_fail git pull --rebase . copy master 2>err &&
+ test_must_fail git pull --rebase . copy main 2>err &&
test_cmp_rev HEAD before-rebase &&
test_i18ngrep "Cannot rebase onto multiple branches" err &&
echo modified >expect &&
@@ -500,7 +503,7 @@ test_expect_success 'pull --rebase does not warn on --no-verify-signatures' '
test_i18ngrep ! "verify-signatures" err
'
-# add a feature branch, keep-merge, that is merged into master, so the
+# add a feature branch, keep-merge, that is merged into main, so the
# test can try preserving the merge commit (or not) with various
# --rebase flags/pull.rebase settings.
test_expect_success 'preserve merge setup' '
@@ -699,12 +702,12 @@ test_expect_success 'pull --rebase dies early with dirty working directory' '
'
test_expect_success 'pull --rebase works on branch yet to be born' '
- git rev-parse master >expect &&
+ git rev-parse main >expect &&
mkdir empty_repo &&
(
cd empty_repo &&
git init &&
- git pull --rebase .. master &&
+ git pull --rebase .. main &&
git rev-parse HEAD >../actual
) &&
test_cmp expect actual
@@ -720,7 +723,7 @@ test_expect_success 'pull --rebase fails on unborn branch with staged changes' '
echo staged-file >expect &&
git ls-files >actual &&
test_cmp expect actual &&
- test_must_fail git pull --rebase .. master 2>err &&
+ test_must_fail git pull --rebase .. main 2>err &&
git ls-files >actual &&
test_cmp expect actual &&
git show :staged-file >actual &&
@@ -779,7 +782,7 @@ test_expect_success 'setup for avoiding reapplying old patches' '
(
cd dst &&
test_might_fail git rebase --abort &&
- git reset --hard origin/master
+ git reset --hard origin/main
) &&
git clone --bare src src-replace.git &&
rm -rf src &&
diff --git a/t/t5521-pull-options.sh b/t/t5521-pull-options.sh
index db1a381cd9..63a688bdbf 100755
--- a/t/t5521-pull-options.sh
+++ b/t/t5521-pull-options.sh
@@ -2,6 +2,9 @@
test_description='pull options'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -99,13 +102,13 @@ test_expect_success 'git pull --force' '
cat >>.git/config <<-\EOF &&
[remote "one"]
url = ../parent
- fetch = refs/heads/master:refs/heads/mirror
+ fetch = refs/heads/main:refs/heads/mirror
[remote "two"]
url = ../parent
- fetch = refs/heads/master:refs/heads/origin
- [branch "master"]
+ fetch = refs/heads/main:refs/heads/origin
+ [branch "main"]
remote = two
- merge = refs/heads/master
+ merge = refs/heads/main
EOF
git pull two &&
test_commit A &&
@@ -124,9 +127,9 @@ test_expect_success 'git pull --all' '
[remote "two"]
url = ../parent
fetch = refs/heads/*:refs/remotes/two/*
- [branch "master"]
+ [branch "main"]
remote = one
- merge = refs/heads/master
+ merge = refs/heads/main
EOF
git pull --all
)
@@ -139,7 +142,7 @@ test_expect_success 'git pull --dry-run' '
cd clonedry &&
git pull --dry-run ../parent &&
test_path_is_missing .git/FETCH_HEAD &&
- test_path_is_missing .git/refs/heads/master &&
+ test_path_is_missing .git/refs/heads/main &&
test_path_is_missing .git/index &&
test_path_is_missing file
)
@@ -153,7 +156,7 @@ test_expect_success 'git pull --all --dry-run' '
git remote add origin ../parent &&
git pull --all --dry-run &&
test_path_is_missing .git/FETCH_HEAD &&
- test_path_is_missing .git/refs/remotes/origin/master &&
+ test_path_is_missing .git/refs/remotes/origin/main &&
test_path_is_missing .git/index &&
test_path_is_missing file
)
diff --git a/t/t5523-push-upstream.sh b/t/t5523-push-upstream.sh
index e47b5db5d6..9fbe7f784d 100755
--- a/t/t5523-push-upstream.sh
+++ b/t/t5523-push-upstream.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='push with --set-upstream'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-terminal.sh
@@ -26,19 +29,19 @@ check_config() {
test_cmp expect.$1 actual.$1
}
-test_expect_success 'push -u master:master' '
- git push -u upstream master:master &&
- check_config master upstream refs/heads/master
+test_expect_success 'push -u main:main' '
+ git push -u upstream main:main &&
+ check_config main upstream refs/heads/main
'
-test_expect_success 'push -u master:other' '
- git push -u upstream master:other &&
- check_config master upstream refs/heads/other
+test_expect_success 'push -u main:other' '
+ git push -u upstream main:other &&
+ check_config main upstream refs/heads/other
'
-test_expect_success 'push -u --dry-run master:otherX' '
- git push -u --dry-run upstream master:otherX &&
- check_config master upstream refs/heads/other
+test_expect_success 'push -u --dry-run main:otherX' '
+ git push -u --dry-run upstream main:otherX &&
+ check_config main upstream refs/heads/other
'
test_expect_success 'push -u topic_2:topic_2' '
@@ -74,7 +77,7 @@ test_expect_success 'push -u HEAD' '
test_expect_success TTY 'progress messages go to tty' '
ensure_fresh_upstream &&
- test_terminal git push -u upstream master >out 2>err &&
+ test_terminal git push -u upstream main >out 2>err &&
test_i18ngrep "Writing objects" err
'
@@ -82,7 +85,7 @@ test_expect_success 'progress messages do not go to non-tty' '
ensure_fresh_upstream &&
# skip progress messages, since stderr is non-tty
- git push -u upstream master >out 2>err &&
+ git push -u upstream main >out 2>err &&
test_i18ngrep ! "Writing objects" err
'
@@ -90,21 +93,21 @@ test_expect_success 'progress messages go to non-tty (forced)' '
ensure_fresh_upstream &&
# force progress messages to stderr, even though it is non-tty
- git push -u --progress upstream master >out 2>err &&
+ git push -u --progress upstream main >out 2>err &&
test_i18ngrep "Writing objects" err
'
test_expect_success TTY 'push -q suppresses progress' '
ensure_fresh_upstream &&
- test_terminal git push -u -q upstream master >out 2>err &&
+ test_terminal git push -u -q upstream main >out 2>err &&
test_i18ngrep ! "Writing objects" err
'
test_expect_success TTY 'push --no-progress suppresses progress' '
ensure_fresh_upstream &&
- test_terminal git push -u --no-progress upstream master >out 2>err &&
+ test_terminal git push -u --no-progress upstream main >out 2>err &&
test_i18ngrep ! "Unpacking objects" err &&
test_i18ngrep ! "Writing objects" err
'
@@ -112,7 +115,7 @@ test_expect_success TTY 'push --no-progress suppresses progress' '
test_expect_success TTY 'quiet push' '
ensure_fresh_upstream &&
- test_terminal git push --quiet --no-progress upstream master 2>&1 | tee output &&
+ test_terminal git push --quiet --no-progress upstream main 2>&1 | tee output &&
test_must_be_empty output
'
diff --git a/t/t5526-fetch-submodules.sh b/t/t5526-fetch-submodules.sh
index 63205dfdf9..11513ec15e 100755
--- a/t/t5526-fetch-submodules.sh
+++ b/t/t5526-fetch-submodules.sh
@@ -3,6 +3,9 @@
test_description='Recursive "git fetch" for submodules'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
pwd=$(pwd)
@@ -18,7 +21,7 @@ add_upstream_commit() {
head2=$(git rev-parse --short HEAD) &&
echo "Fetching submodule submodule" > ../expect.err &&
echo "From $pwd/submodule" >> ../expect.err &&
- echo " $head1..$head2 master -> origin/master" >> ../expect.err
+ echo " $head1..$head2 sub -> origin/sub" >> ../expect.err
) &&
(
cd deepsubmodule &&
@@ -30,7 +33,7 @@ add_upstream_commit() {
head2=$(git rev-parse --short HEAD) &&
echo "Fetching submodule submodule/subdir/deepsubmodule" >> ../expect.err
echo "From $pwd/deepsubmodule" >> ../expect.err &&
- echo " $head1..$head2 master -> origin/master" >> ../expect.err
+ echo " $head1..$head2 deep -> origin/deep" >> ../expect.err
)
}
@@ -41,7 +44,8 @@ test_expect_success setup '
git init &&
echo deepsubcontent > deepsubfile &&
git add deepsubfile &&
- git commit -m new deepsubfile
+ git commit -m new deepsubfile &&
+ git branch -M deep
) &&
mkdir submodule &&
(
@@ -50,10 +54,12 @@ test_expect_success setup '
echo subcontent > subfile &&
git add subfile &&
git submodule add "$pwd/deepsubmodule" subdir/deepsubmodule &&
- git commit -a -m new
+ git commit -a -m new &&
+ git branch -M sub
) &&
git submodule add "$pwd/submodule" submodule &&
git commit -am initial &&
+ git branch -M super &&
git clone . downstream &&
(
cd downstream &&
@@ -245,7 +251,7 @@ test_expect_success "Recursion stops when no new submodule commits are fetched"
git commit -m "new submodule" &&
head2=$(git rev-parse --short HEAD) &&
echo "From $pwd/." > expect.err.sub &&
- echo " $head1..$head2 master -> origin/master" >>expect.err.sub &&
+ echo " $head1..$head2 super -> origin/super" >>expect.err.sub &&
head -3 expect.err >> expect.err.sub &&
(
cd downstream &&
@@ -263,7 +269,7 @@ test_expect_success "Recursion doesn't happen when new superproject commits don'
git commit -m "new file" &&
head2=$(git rev-parse --short HEAD) &&
echo "From $pwd/." > expect.err.file &&
- echo " $head1..$head2 master -> origin/master" >> expect.err.file &&
+ echo " $head1..$head2 super -> origin/super" >> expect.err.file &&
(
cd downstream &&
git fetch >../actual.out 2>../actual.err
@@ -287,7 +293,7 @@ test_expect_success "Recursion picks up config in submodule" '
git commit -m "new submodule" &&
head2=$(git rev-parse --short HEAD) &&
echo "From $pwd/." > expect.err.sub &&
- echo " $head1..$head2 master -> origin/master" >> expect.err.sub &&
+ echo " $head1..$head2 super -> origin/super" >> expect.err.sub &&
cat expect.err >> expect.err.sub &&
(
cd downstream &&
@@ -316,14 +322,14 @@ test_expect_success "Recursion picks up all submodules when necessary" '
head2=$(git rev-parse --short HEAD) &&
echo "Fetching submodule submodule" > ../expect.err.sub &&
echo "From $pwd/submodule" >> ../expect.err.sub &&
- echo " $head1..$head2 master -> origin/master" >> ../expect.err.sub
+ echo " $head1..$head2 sub -> origin/sub" >> ../expect.err.sub
) &&
head1=$(git rev-parse --short HEAD) &&
git add submodule &&
git commit -m "new submodule" &&
head2=$(git rev-parse --short HEAD) &&
echo "From $pwd/." > expect.err.2 &&
- echo " $head1..$head2 master -> origin/master" >> expect.err.2 &&
+ echo " $head1..$head2 super -> origin/super" >> expect.err.2 &&
cat expect.err.sub >> expect.err.2 &&
tail -3 expect.err >> expect.err.2 &&
(
@@ -349,7 +355,7 @@ test_expect_success "'--recurse-submodules=on-demand' doesn't recurse when no ne
head2=$(git rev-parse --short HEAD) &&
echo Fetching submodule submodule > ../expect.err.sub &&
echo "From $pwd/submodule" >> ../expect.err.sub &&
- echo " $head1..$head2 master -> origin/master" >> ../expect.err.sub
+ echo " $head1..$head2 sub -> origin/sub" >> ../expect.err.sub
) &&
(
cd downstream &&
@@ -368,7 +374,7 @@ test_expect_success "'--recurse-submodules=on-demand' recurses as deep as necess
head2=$(git rev-parse --short HEAD) &&
tail -3 expect.err > expect.err.deepsub &&
echo "From $pwd/." > expect.err &&
- echo " $head1..$head2 master -> origin/master" >>expect.err &&
+ echo " $head1..$head2 super -> origin/super" >>expect.err &&
cat expect.err.sub >> expect.err &&
cat expect.err.deepsub >> expect.err &&
(
@@ -397,7 +403,7 @@ test_expect_success "'--recurse-submodules=on-demand' stops when no new submodul
git commit -m "new file" &&
head2=$(git rev-parse --short HEAD) &&
echo "From $pwd/." > expect.err.file &&
- echo " $head1..$head2 master -> origin/master" >> expect.err.file &&
+ echo " $head1..$head2 super -> origin/super" >> expect.err.file &&
(
cd downstream &&
git fetch --recurse-submodules=on-demand >../actual.out 2>../actual.err
@@ -418,7 +424,7 @@ test_expect_success "'fetch.recurseSubmodules=on-demand' overrides global config
git commit -m "new submodule" &&
head2=$(git rev-parse --short HEAD) &&
echo "From $pwd/." > expect.err.2 &&
- echo " $head1..$head2 master -> origin/master" >>expect.err.2 &&
+ echo " $head1..$head2 super -> origin/super" >>expect.err.2 &&
head -3 expect.err >> expect.err.2 &&
(
cd downstream &&
@@ -446,7 +452,7 @@ test_expect_success "'submodule.<sub>.fetchRecurseSubmodules=on-demand' override
git commit -m "new submodule" &&
head2=$(git rev-parse --short HEAD) &&
echo "From $pwd/." > expect.err.2 &&
- echo " $head1..$head2 master -> origin/master" >>expect.err.2 &&
+ echo " $head1..$head2 super -> origin/super" >>expect.err.2 &&
head -3 expect.err >> expect.err.2 &&
(
cd downstream &&
@@ -472,7 +478,7 @@ test_expect_success "don't fetch submodule when newly recorded commits are alrea
git commit -m "submodule rewound" &&
head2=$(git rev-parse --short HEAD) &&
echo "From $pwd/." > expect.err &&
- echo " $head1..$head2 master -> origin/master" >> expect.err &&
+ echo " $head1..$head2 super -> origin/super" >> expect.err &&
(
cd downstream &&
git fetch >../actual.out 2>../actual.err
@@ -481,7 +487,7 @@ test_expect_success "don't fetch submodule when newly recorded commits are alrea
test_i18ncmp expect.err actual.err &&
(
cd submodule &&
- git checkout -q master
+ git checkout -q sub
)
'
@@ -497,7 +503,7 @@ test_expect_success "'fetch.recurseSubmodules=on-demand' works also without .git
git commit -m "new submodule without .gitmodules" &&
head2=$(git rev-parse --short HEAD) &&
echo "From $pwd/." >expect.err.2 &&
- echo " $head1..$head2 master -> origin/master" >>expect.err.2 &&
+ echo " $head1..$head2 super -> origin/super" >>expect.err.2 &&
head -3 expect.err >>expect.err.2 &&
(
cd downstream &&
@@ -663,9 +669,9 @@ test_expect_success 'fetch new submodule commits on-demand without .gitmodules e
git config -f .gitmodules --remove-section submodule.sub1 &&
git add .gitmodules &&
git commit -m "delete gitmodules file" &&
- git checkout -B master &&
+ git checkout -B super &&
git -C downstream fetch &&
- git -C downstream checkout origin/master &&
+ git -C downstream checkout origin/super &&
C=$(git -C submodule commit-tree -m "yet another change outside refs/heads" HEAD^{tree}) &&
git -C submodule update-ref refs/changes/7 $C &&
@@ -719,4 +725,121 @@ test_expect_success 'fetch new submodule commit intermittently referenced by sup
)
'
+add_commit_push () {
+ dir="$1" &&
+ msg="$2" &&
+ shift 2 &&
+ git -C "$dir" add "$@" &&
+ git -C "$dir" commit -a -m "$msg" &&
+ git -C "$dir" push
+}
+
+compare_refs_in_dir () {
+ fail= &&
+ if test "x$1" = 'x!'
+ then
+ fail='!' &&
+ shift
+ fi &&
+ git -C "$1" rev-parse --verify "$2" >expect &&
+ git -C "$3" rev-parse --verify "$4" >actual &&
+ eval $fail test_cmp expect actual
+}
+
+
+test_expect_success 'setup nested submodule fetch test' '
+ # does not depend on any previous test setups
+
+ for repo in outer middle inner
+ do
+ git init --bare $repo &&
+ git clone $repo ${repo}_content &&
+ echo "$repo" >"${repo}_content/file" &&
+ add_commit_push ${repo}_content "initial" file ||
+ return 1
+ done &&
+
+ git clone outer A &&
+ git -C A submodule add "$pwd/middle" &&
+ git -C A/middle/ submodule add "$pwd/inner" &&
+ add_commit_push A/middle/ "adding inner sub" .gitmodules inner &&
+ add_commit_push A/ "adding middle sub" .gitmodules middle &&
+
+ git clone outer B &&
+ git -C B/ submodule update --init middle &&
+
+ compare_refs_in_dir A HEAD B HEAD &&
+ compare_refs_in_dir A/middle HEAD B/middle HEAD &&
+ test_path_is_file B/file &&
+ test_path_is_file B/middle/file &&
+ test_path_is_missing B/middle/inner/file &&
+
+ echo "change on inner repo of A" >"A/middle/inner/file" &&
+ add_commit_push A/middle/inner "change on inner" file &&
+ add_commit_push A/middle "change on inner" inner &&
+ add_commit_push A "change on inner" middle
+'
+
+test_expect_success 'fetching a superproject containing an uninitialized sub/sub project' '
+ # depends on previous test for setup
+
+ git -C B/ fetch &&
+ compare_refs_in_dir A origin/HEAD B origin/HEAD
+'
+
+fetch_with_recursion_abort () {
+ # In a regression the following git call will run into infinite recursion.
+ # To handle that, we connect the sed command to the git call by a pipe
+ # so that sed can kill the infinite recursion when detected.
+ # The recursion creates git output like:
+ # Fetching submodule sub
+ # Fetching submodule sub/sub <-- [1]
+ # Fetching submodule sub/sub/sub
+ # ...
+ # [1] sed will stop reading and cause git to eventually stop and die
+
+ git -C "$1" fetch --recurse-submodules 2>&1 |
+ sed "/Fetching submodule $2[^$]/q" >out &&
+ ! grep "Fetching submodule $2[^$]" out
+}
+
+test_expect_success 'setup recursive fetch with uninit submodule' '
+ # does not depend on any previous test setups
+
+ test_create_repo super &&
+ test_commit -C super initial &&
+ test_create_repo sub &&
+ test_commit -C sub initial &&
+ git -C sub rev-parse HEAD >expect &&
+
+ git -C super submodule add ../sub &&
+ git -C super commit -m "add sub" &&
+
+ git clone super superclone &&
+ git -C superclone submodule status >out &&
+ sed -e "s/^-//" -e "s/ sub.*$//" out >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'recursive fetch with uninit submodule' '
+ # depends on previous test for setup
+
+ fetch_with_recursion_abort superclone sub &&
+ git -C superclone submodule status >out &&
+ sed -e "s/^-//" -e "s/ sub$//" out >actual &&
+ test_cmp expect actual
+'
+
+test_expect_success 'recursive fetch after deinit a submodule' '
+ # depends on previous test for setup
+
+ git -C superclone submodule update --init sub &&
+ git -C superclone submodule deinit -f sub &&
+
+ fetch_with_recursion_abort superclone sub &&
+ git -C superclone submodule status >out &&
+ sed -e "s/^-//" -e "s/ sub$//" out >actual &&
+ test_cmp expect actual
+'
+
test_done
diff --git a/t/t5527-fetch-odd-refs.sh b/t/t5527-fetch-odd-refs.sh
index 3b0cb98422..e2770e4541 100755
--- a/t/t5527-fetch-odd-refs.sh
+++ b/t/t5527-fetch-odd-refs.sh
@@ -1,17 +1,20 @@
#!/bin/sh
test_description='test fetching of oddly-named refs'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# afterwards we will have:
# HEAD - two
-# refs/for/refs/heads/master - one
-# refs/heads/master - three
+# refs/for/refs/heads/main - one
+# refs/heads/main - three
test_expect_success 'setup repo with odd suffix ref' '
echo content >file &&
git add . &&
git commit -m one &&
- git update-ref refs/for/refs/heads/master HEAD &&
+ git update-ref refs/for/refs/heads/main HEAD &&
echo content >>file &&
git commit -a -m two &&
echo content >>file &&
@@ -22,7 +25,7 @@ test_expect_success 'setup repo with odd suffix ref' '
test_expect_success 'suffix ref is ignored during fetch' '
git clone --bare file://"$PWD" suffix &&
echo three >expect &&
- git --git-dir=suffix log -1 --format=%s refs/heads/master >actual &&
+ git --git-dir=suffix log -1 --format=%s refs/heads/main >actual &&
test_cmp expect actual
'
@@ -33,7 +36,7 @@ test_expect_success 'try to create repo with absurdly long refname' '
(
cd long &&
test_commit long &&
- test_commit master
+ test_commit main
) &&
if git -C long update-ref refs/heads/$ref1440 long; then
test_set_prereq LONG_REF
@@ -46,7 +49,7 @@ test_expect_success LONG_REF 'fetch handles extremely long refname' '
git fetch long refs/heads/*:refs/remotes/long/* &&
cat >expect <<-\EOF &&
long
- master
+ main
EOF
git for-each-ref --format="%(subject)" refs/remotes/long >actual &&
test_cmp expect actual
@@ -55,7 +58,7 @@ test_expect_success LONG_REF 'fetch handles extremely long refname' '
test_expect_success LONG_REF 'push handles extremely long refname' '
git push long :refs/heads/$ref1440 &&
git -C long for-each-ref --format="%(subject)" refs/heads >actual &&
- echo master >expect &&
+ echo main >expect &&
test_cmp expect actual
'
diff --git a/t/t5528-push-default.sh b/t/t5528-push-default.sh
index f0a287d97d..f280e00eb7 100755
--- a/t/t5528-push-default.sh
+++ b/t/t5528-push-default.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='check various push.default settings'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup bare remotes' '
@@ -41,7 +44,7 @@ test_push_failure () {
# $1 = success or failure
# $2 = push.default value
-# $3 = branch to check for actual output (master or foo)
+# $3 = branch to check for actual output (main or foo)
# $4 = [optional] switch to triangular workflow
test_pushdefault_workflow () {
workflow=central
@@ -51,8 +54,8 @@ test_pushdefault_workflow () {
pushdefault=parent2
fi
test_expect_success "push.default = $2 $1 in $workflow workflows" "
- test_config branch.master.remote parent1 &&
- test_config branch.master.merge refs/heads/foo &&
+ test_config branch.main.remote parent1 &&
+ test_config branch.main.merge refs/heads/foo &&
test_config remote.pushdefault $pushdefault &&
test_commit commit-for-$2${4+-triangular} &&
test_push_$1 $2 $3 ${4+repo2}
@@ -60,32 +63,32 @@ test_pushdefault_workflow () {
}
test_expect_success '"upstream" pushes to configured upstream' '
- git checkout master &&
- test_config branch.master.remote parent1 &&
- test_config branch.master.merge refs/heads/foo &&
+ git checkout main &&
+ test_config branch.main.remote parent1 &&
+ test_config branch.main.merge refs/heads/foo &&
test_commit two &&
test_push_success upstream foo
'
test_expect_success '"upstream" does not push on unconfigured remote' '
- git checkout master &&
- test_unconfig branch.master.remote &&
+ git checkout main &&
+ test_unconfig branch.main.remote &&
test_commit three &&
test_push_failure upstream
'
test_expect_success '"upstream" does not push on unconfigured branch' '
- git checkout master &&
- test_config branch.master.remote parent1 &&
- test_unconfig branch.master.merge &&
+ git checkout main &&
+ test_config branch.main.remote parent1 &&
+ test_unconfig branch.main.merge &&
test_commit four &&
test_push_failure upstream
'
test_expect_success '"upstream" does not push when remotes do not match' '
- git checkout master &&
- test_config branch.master.remote parent1 &&
- test_config branch.master.merge refs/heads/foo &&
+ git checkout main &&
+ test_config branch.main.remote parent1 &&
+ test_config branch.main.merge refs/heads/foo &&
test_config push.default upstream &&
test_commit five &&
test_must_fail git push parent2
@@ -121,99 +124,99 @@ test_expect_success 'push from/to new branch with current creates remote branch'
'
test_expect_success 'push to existing branch, with no upstream configured' '
- test_config branch.master.remote repo1 &&
- git checkout master &&
+ test_config branch.main.remote repo1 &&
+ git checkout main &&
test_push_failure simple &&
test_push_failure upstream
'
test_expect_success 'push to existing branch, upstream configured with same name' '
- test_config branch.master.remote repo1 &&
- test_config branch.master.merge refs/heads/master &&
- git checkout master &&
+ test_config branch.main.remote repo1 &&
+ test_config branch.main.merge refs/heads/main &&
+ git checkout main &&
test_commit six &&
- test_push_success upstream master &&
+ test_push_success upstream main &&
test_commit seven &&
- test_push_success simple master
+ test_push_success simple main
'
test_expect_success 'push to existing branch, upstream configured with different name' '
- test_config branch.master.remote repo1 &&
- test_config branch.master.merge refs/heads/other-name &&
- git checkout master &&
+ test_config branch.main.remote repo1 &&
+ test_config branch.main.merge refs/heads/other-name &&
+ git checkout main &&
test_commit eight &&
test_push_success upstream other-name &&
test_commit nine &&
test_push_failure simple &&
git --git-dir=repo1 log -1 --format="%h %s" "other-name" >expect-other-name &&
- test_push_success current master &&
+ test_push_success current main &&
git --git-dir=repo1 log -1 --format="%h %s" "other-name" >actual-other-name &&
test_cmp expect-other-name actual-other-name
'
-# We are on 'master', which integrates with 'foo' from parent1
+# We are on 'main', which integrates with 'foo' from parent1
# remote (set in test_pushdefault_workflow helper). Push to
# parent1 in centralized, and push to parent2 in triangular workflow.
-# The parent1 repository has 'master' and 'foo' branches, while
-# the parent2 repository has only 'master' branch.
+# The parent1 repository has 'main' and 'foo' branches, while
+# the parent2 repository has only 'main' branch.
#
# test_pushdefault_workflow() arguments:
# $1 = success or failure
# $2 = push.default value
-# $3 = branch to check for actual output (master or foo)
+# $3 = branch to check for actual output (main or foo)
# $4 = [optional] switch to triangular workflow
-# update parent1's master (which is not our upstream)
-test_pushdefault_workflow success current master
+# update parent1's main (which is not our upstream)
+test_pushdefault_workflow success current main
# update parent1's foo (which is our upstream)
test_pushdefault_workflow success upstream foo
# upstream is foo which is not the name of the current branch
-test_pushdefault_workflow failure simple master
+test_pushdefault_workflow failure simple main
-# master and foo are updated
-test_pushdefault_workflow success matching master
+# main and foo are updated
+test_pushdefault_workflow success matching main
-# master is updated
-test_pushdefault_workflow success current master triangular
+# main is updated
+test_pushdefault_workflow success current main triangular
# upstream mode cannot be used in triangular
test_pushdefault_workflow failure upstream foo triangular
# in triangular, 'simple' works as 'current' and update the branch
# with the same name.
-test_pushdefault_workflow success simple master triangular
+test_pushdefault_workflow success simple main triangular
-# master is updated (parent2 does not have foo)
-test_pushdefault_workflow success matching master triangular
+# main is updated (parent2 does not have foo)
+test_pushdefault_workflow success matching main triangular
# default tests, when no push-default is specified. This
# should behave the same as "simple" in non-triangular
# settings, and as "current" otherwise.
test_expect_success 'default behavior allows "simple" push' '
- test_config branch.master.remote parent1 &&
- test_config branch.master.merge refs/heads/master &&
+ test_config branch.main.remote parent1 &&
+ test_config branch.main.merge refs/heads/main &&
test_config remote.pushdefault parent1 &&
- test_commit default-master-master &&
- test_push_success "" master
+ test_commit default-main-main &&
+ test_push_success "" main
'
test_expect_success 'default behavior rejects non-simple push' '
- test_config branch.master.remote parent1 &&
- test_config branch.master.merge refs/heads/foo &&
+ test_config branch.main.remote parent1 &&
+ test_config branch.main.merge refs/heads/foo &&
test_config remote.pushdefault parent1 &&
- test_commit default-master-foo &&
+ test_commit default-main-foo &&
test_push_failure ""
'
test_expect_success 'default triangular behavior acts like "current"' '
- test_config branch.master.remote parent1 &&
- test_config branch.master.merge refs/heads/foo &&
+ test_config branch.main.remote parent1 &&
+ test_config branch.main.merge refs/heads/foo &&
test_config remote.pushdefault parent2 &&
test_commit default-triangular &&
- test_push_success "" master repo2
+ test_push_success "" main repo2
'
test_done
diff --git a/t/t5529-push-errors.sh b/t/t5529-push-errors.sh
index 9871307fd4..ce85fd30ad 100755
--- a/t/t5529-push-errors.sh
+++ b/t/t5529-push-errors.sh
@@ -32,7 +32,7 @@ test_expect_success 'detect missing branches early' '
test_expect_success 'detect missing sha1 expressions early' '
echo no >rp-ran &&
echo no >expect &&
- test_must_fail git push origin master~2:master &&
+ test_must_fail git push origin main~2:main &&
test_cmp expect rp-ran
'
diff --git a/t/t5530-upload-pack-error.sh b/t/t5530-upload-pack-error.sh
index 205a2631e7..7c1460eaa9 100755
--- a/t/t5530-upload-pack-error.sh
+++ b/t/t5530-upload-pack-error.sh
@@ -88,6 +88,23 @@ test_expect_success 'upload-pack fails due to error in pack-objects enumeration'
grep "pack-objects died" output.err
'
+test_expect_success 'upload-pack tolerates EOF just after stateless client wants' '
+ test_commit initial &&
+ head=$(git rev-parse HEAD) &&
+
+ {
+ packetize "want $head" &&
+ packetize "shallow $head" &&
+ packetize "deepen 1" &&
+ printf "0000"
+ } >request &&
+
+ printf "0000" >expect &&
+
+ git upload-pack --stateless-rpc . <request >actual &&
+ test_cmp expect actual
+'
+
test_expect_success 'create empty repository' '
mkdir foo &&
@@ -98,7 +115,7 @@ test_expect_success 'create empty repository' '
test_expect_success 'fetch fails' '
- test_must_fail git fetch .. master
+ test_must_fail git fetch .. main
'
diff --git a/t/t5531-deep-submodule-push.sh b/t/t5531-deep-submodule-push.sh
index 4ad059e6be..d573ca496a 100755
--- a/t/t5531-deep-submodule-push.sh
+++ b/t/t5531-deep-submodule-push.sh
@@ -2,6 +2,9 @@
test_description='test push with submodules'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -30,7 +33,7 @@ test_expect_success setup '
test_expect_success 'push works with recorded gitlink' '
(
cd work &&
- git push ../pub.git master
+ git push ../pub.git main
)
'
@@ -45,7 +48,7 @@ test_expect_success 'push if submodule has no remote' '
cd work &&
git add gar/bage &&
git commit -m "Second commit for gar/bage" &&
- git push --recurse-submodules=check ../pub.git master
+ git push --recurse-submodules=check ../pub.git main
)
'
@@ -66,21 +69,21 @@ test_expect_success 'push fails if submodule commit not on remote' '
git commit -m "Third commit for gar/bage" &&
# the push should fail with --recurse-submodules=check
# on the command line...
- test_must_fail git push --recurse-submodules=check ../pub.git master &&
+ test_must_fail git push --recurse-submodules=check ../pub.git main &&
# ...or if specified in the configuration..
- test_must_fail git -c push.recurseSubmodules=check push ../pub.git master
+ test_must_fail git -c push.recurseSubmodules=check push ../pub.git main
)
'
test_expect_success 'push succeeds after commit was pushed to remote' '
(
cd work/gar/bage &&
- git push origin master
+ git push origin main
) &&
(
cd work &&
- git push --recurse-submodules=check ../pub.git master
+ git push --recurse-submodules=check ../pub.git main
)
'
@@ -95,13 +98,13 @@ test_expect_success 'push succeeds if submodule commit not on remote but using o
cd work &&
git add gar/bage &&
git commit -m "Recurse on-demand on command line for gar/bage" &&
- git push --recurse-submodules=on-demand ../pub.git master &&
+ git push --recurse-submodules=on-demand ../pub.git main &&
# Check that the supermodule commit got there
git fetch ../pub.git &&
- git diff --quiet FETCH_HEAD master &&
+ git diff --quiet FETCH_HEAD main &&
# Check that the submodule commit got there too
cd gar/bage &&
- git diff --quiet origin/master master
+ git diff --quiet origin/main main
)
'
@@ -116,13 +119,13 @@ test_expect_success 'push succeeds if submodule commit not on remote but using o
cd work &&
git add gar/bage &&
git commit -m "Recurse on-demand from config for gar/bage" &&
- git -c push.recurseSubmodules=on-demand push ../pub.git master &&
+ git -c push.recurseSubmodules=on-demand push ../pub.git main &&
# Check that the supermodule commit got there
git fetch ../pub.git &&
- git diff --quiet FETCH_HEAD master &&
+ git diff --quiet FETCH_HEAD main &&
# Check that the submodule commit got there too
cd gar/bage &&
- git diff --quiet origin/master master
+ git diff --quiet origin/main main
)
'
@@ -137,13 +140,13 @@ test_expect_success 'push succeeds if submodule commit not on remote but using a
cd work &&
git add gar/bage &&
git commit -m "Recurse submodule.recurse from config for gar/bage" &&
- git -c submodule.recurse push ../pub.git master &&
+ git -c submodule.recurse push ../pub.git main &&
# Check that the supermodule commit got there
git fetch ../pub.git &&
- git diff --quiet FETCH_HEAD master &&
+ git diff --quiet FETCH_HEAD main &&
# Check that the submodule commit got there too
cd gar/bage &&
- git diff --quiet origin/master master
+ git diff --quiet origin/main main
)
'
@@ -161,34 +164,34 @@ test_expect_success 'push recurse-submodules on command line overrides config' '
# Ensure that we can override on-demand in the config
# to just check submodules
- test_must_fail git -c push.recurseSubmodules=on-demand push --recurse-submodules=check ../pub.git master &&
+ test_must_fail git -c push.recurseSubmodules=on-demand push --recurse-submodules=check ../pub.git main &&
# Check that the supermodule commit did not get there
git fetch ../pub.git &&
- git diff --quiet FETCH_HEAD master^ &&
+ git diff --quiet FETCH_HEAD main^ &&
# Check that the submodule commit did not get there
- (cd gar/bage && git diff --quiet origin/master master^) &&
+ (cd gar/bage && git diff --quiet origin/main main^) &&
# Ensure that we can override check in the config to
# disable submodule recursion entirely
- (cd gar/bage && git diff --quiet origin/master master^) &&
- git -c push.recurseSubmodules=on-demand push --recurse-submodules=no ../pub.git master &&
+ (cd gar/bage && git diff --quiet origin/main main^) &&
+ git -c push.recurseSubmodules=on-demand push --recurse-submodules=no ../pub.git main &&
git fetch ../pub.git &&
- git diff --quiet FETCH_HEAD master &&
- (cd gar/bage && git diff --quiet origin/master master^) &&
+ git diff --quiet FETCH_HEAD main &&
+ (cd gar/bage && git diff --quiet origin/main main^) &&
# Ensure that we can override check in the config to
# disable submodule recursion entirely (alternative form)
- git -c push.recurseSubmodules=on-demand push --no-recurse-submodules ../pub.git master &&
+ git -c push.recurseSubmodules=on-demand push --no-recurse-submodules ../pub.git main &&
git fetch ../pub.git &&
- git diff --quiet FETCH_HEAD master &&
- (cd gar/bage && git diff --quiet origin/master master^) &&
+ git diff --quiet FETCH_HEAD main &&
+ (cd gar/bage && git diff --quiet origin/main main^) &&
# Ensure that we can override check in the config to
# push the submodule too
- git -c push.recurseSubmodules=check push --recurse-submodules=on-demand ../pub.git master &&
+ git -c push.recurseSubmodules=check push --recurse-submodules=on-demand ../pub.git main &&
git fetch ../pub.git &&
- git diff --quiet FETCH_HEAD master &&
- (cd gar/bage && git diff --quiet origin/master master)
+ git diff --quiet FETCH_HEAD main &&
+ (cd gar/bage && git diff --quiet origin/main main)
)
'
@@ -205,31 +208,31 @@ test_expect_success 'push recurse-submodules last one wins on command line' '
git commit -m "Recurse on command-line overriding earlier command-line for gar/bage" &&
# should result in "check"
- test_must_fail git push --recurse-submodules=on-demand --recurse-submodules=check ../pub.git master &&
+ test_must_fail git push --recurse-submodules=on-demand --recurse-submodules=check ../pub.git main &&
# Check that the supermodule commit did not get there
git fetch ../pub.git &&
- git diff --quiet FETCH_HEAD master^ &&
+ git diff --quiet FETCH_HEAD main^ &&
# Check that the submodule commit did not get there
- (cd gar/bage && git diff --quiet origin/master master^) &&
+ (cd gar/bage && git diff --quiet origin/main main^) &&
# should result in "no"
- git push --recurse-submodules=on-demand --recurse-submodules=no ../pub.git master &&
+ git push --recurse-submodules=on-demand --recurse-submodules=no ../pub.git main &&
# Check that the supermodule commit did get there
git fetch ../pub.git &&
- git diff --quiet FETCH_HEAD master &&
+ git diff --quiet FETCH_HEAD main &&
# Check that the submodule commit did not get there
- (cd gar/bage && git diff --quiet origin/master master^) &&
+ (cd gar/bage && git diff --quiet origin/main main^) &&
# should result in "no"
- git push --recurse-submodules=on-demand --no-recurse-submodules ../pub.git master &&
+ git push --recurse-submodules=on-demand --no-recurse-submodules ../pub.git main &&
# Check that the submodule commit did not get there
- (cd gar/bage && git diff --quiet origin/master master^) &&
+ (cd gar/bage && git diff --quiet origin/main main^) &&
# But the options in the other order should push the submodule
- git push --recurse-submodules=check --recurse-submodules=on-demand ../pub.git master &&
+ git push --recurse-submodules=check --recurse-submodules=on-demand ../pub.git main &&
# Check that the submodule commit did get there
git fetch ../pub.git &&
- (cd gar/bage && git diff --quiet origin/master master)
+ (cd gar/bage && git diff --quiet origin/main main)
)
'
@@ -244,13 +247,13 @@ test_expect_success 'push succeeds if submodule commit not on remote using on-de
cd work &&
git add gar/bage &&
git commit -m "Recurse on-demand on command-line overriding config for gar/bage" &&
- git -c push.recurseSubmodules=check push --recurse-submodules=on-demand ../pub.git master &&
+ git -c push.recurseSubmodules=check push --recurse-submodules=on-demand ../pub.git main &&
# Check that the supermodule commit got there
git fetch ../pub.git &&
- git diff --quiet FETCH_HEAD master &&
+ git diff --quiet FETCH_HEAD main &&
# Check that the submodule commit got there
cd gar/bage &&
- git diff --quiet origin/master master
+ git diff --quiet origin/main main
)
'
@@ -265,14 +268,14 @@ test_expect_success 'push succeeds if submodule commit disabling recursion from
cd work &&
git add gar/bage &&
git commit -m "Recurse disable on command-line overriding config for gar/bage" &&
- git -c push.recurseSubmodules=check push --recurse-submodules=no ../pub.git master &&
+ git -c push.recurseSubmodules=check push --recurse-submodules=no ../pub.git main &&
# Check that the supermodule commit got there
git fetch ../pub.git &&
- git diff --quiet FETCH_HEAD master &&
+ git diff --quiet FETCH_HEAD main &&
# But that the submodule commit did not
- ( cd gar/bage && git diff --quiet origin/master master^ ) &&
+ ( cd gar/bage && git diff --quiet origin/main main^ ) &&
# Now push it to avoid confusing future tests
- git push --recurse-submodules=on-demand ../pub.git master
+ git push --recurse-submodules=on-demand ../pub.git main
)
'
@@ -287,14 +290,14 @@ test_expect_success 'push succeeds if submodule commit disabling recursion from
cd work &&
git add gar/bage &&
git commit -m "Recurse disable on command-line alternative overriding config for gar/bage" &&
- git -c push.recurseSubmodules=check push --no-recurse-submodules ../pub.git master &&
+ git -c push.recurseSubmodules=check push --no-recurse-submodules ../pub.git main &&
# Check that the supermodule commit got there
git fetch ../pub.git &&
- git diff --quiet FETCH_HEAD master &&
+ git diff --quiet FETCH_HEAD main &&
# But that the submodule commit did not
- ( cd gar/bage && git diff --quiet origin/master master^ ) &&
+ ( cd gar/bage && git diff --quiet origin/main main^ ) &&
# Now push it to avoid confusing future tests
- git push --recurse-submodules=on-demand ../pub.git master
+ git push --recurse-submodules=on-demand ../pub.git main
)
'
@@ -304,7 +307,7 @@ test_expect_success 'submodule entry pointing at a tag is error' '
git -C work update-index --cacheinfo 160000 "$tag" gar/bage &&
git -C work commit -m "bad commit" &&
test_when_finished "git -C work reset --hard HEAD^" &&
- test_must_fail git -C work push --recurse-submodules=on-demand ../pub.git master 2>err &&
+ test_must_fail git -C work push --recurse-submodules=on-demand ../pub.git main 2>err &&
test_i18ngrep "is a tag, not a commit" err
'
@@ -319,9 +322,9 @@ test_expect_success 'push fails if recurse submodules option passed as yes' '
cd work &&
git add gar/bage &&
git commit -m "Recurse push fails if recurse submodules option passed as yes for gar/bage" &&
- test_must_fail git push --recurse-submodules=yes ../pub.git master &&
- test_must_fail git -c push.recurseSubmodules=yes push ../pub.git master &&
- git push --recurse-submodules=on-demand ../pub.git master
+ test_must_fail git push --recurse-submodules=yes ../pub.git main &&
+ test_must_fail git -c push.recurseSubmodules=yes push ../pub.git main &&
+ git push --recurse-submodules=on-demand ../pub.git main
)
'
@@ -363,7 +366,7 @@ test_expect_success 'push succeeds if submodule has no remote and is on the firs
) &&
git add b &&
git commit -m "added submodule" &&
- git push --recurse-submodules=check origin master
+ git push --recurse-submodules=check origin main
)
'
@@ -372,21 +375,21 @@ test_expect_success 'push unpushed submodules when not needed' '
cd work &&
(
cd gar/bage &&
- git checkout master &&
+ git checkout main &&
>junk5 &&
git add junk5 &&
git commit -m "Fifth junk" &&
git push &&
- git rev-parse origin/master >../../../expected
+ git rev-parse origin/main >../../../expected
) &&
- git checkout master &&
+ git checkout main &&
git add gar/bage &&
git commit -m "Fifth commit for gar/bage" &&
- git push --recurse-submodules=on-demand ../pub.git master
+ git push --recurse-submodules=on-demand ../pub.git main
) &&
(
cd submodule.git &&
- git rev-parse master >../actual
+ git rev-parse main >../actual
) &&
test_cmp expected actual
'
@@ -394,7 +397,7 @@ test_expect_success 'push unpushed submodules when not needed' '
test_expect_success 'push unpushed submodules when not needed 2' '
(
cd submodule.git &&
- git rev-parse master >../expected
+ git rev-parse main >../expected
) &&
(
cd work &&
@@ -407,11 +410,11 @@ test_expect_success 'push unpushed submodules when not needed 2' '
>junk2 &&
git add junk2 &&
git commit -m "Second junk for work" &&
- git push --recurse-submodules=on-demand ../pub.git master
+ git push --recurse-submodules=on-demand ../pub.git main
) &&
(
cd submodule.git &&
- git rev-parse master >../actual
+ git rev-parse main >../actual
) &&
test_cmp expected actual
'
@@ -421,20 +424,20 @@ test_expect_success 'push unpushed submodules recursively' '
cd work &&
(
cd gar/bage &&
- git checkout master &&
+ git checkout main &&
> junk7 &&
git add junk7 &&
git commit -m "Seventh junk" &&
- git rev-parse master >../../../expected
+ git rev-parse main >../../../expected
) &&
- git checkout master &&
+ git checkout main &&
git add gar/bage &&
git commit -m "Seventh commit for gar/bage" &&
- git push --recurse-submodules=on-demand ../pub.git master
+ git push --recurse-submodules=on-demand ../pub.git main
) &&
(
cd submodule.git &&
- git rev-parse master >../actual
+ git rev-parse main >../actual
) &&
test_cmp expected actual
'
@@ -444,64 +447,64 @@ test_expect_success 'push unpushable submodule recursively fails' '
cd work &&
(
cd gar/bage &&
- git rev-parse origin/master >../../../expected &&
- git checkout master~0 &&
+ git rev-parse origin/main >../../../expected &&
+ git checkout main~0 &&
> junk8 &&
git add junk8 &&
git commit -m "Eighth junk"
) &&
git add gar/bage &&
git commit -m "Eighth commit for gar/bage" &&
- test_must_fail git push --recurse-submodules=on-demand ../pub.git master
+ test_must_fail git push --recurse-submodules=on-demand ../pub.git main
) &&
(
cd submodule.git &&
- git rev-parse master >../actual
+ git rev-parse main >../actual
) &&
- test_when_finished git -C work reset --hard master^ &&
+ test_when_finished git -C work reset --hard main^ &&
test_cmp expected actual
'
test_expect_success 'push --dry-run does not recursively update submodules' '
(
cd work/gar/bage &&
- git checkout master &&
- git rev-parse master >../../../expected_submodule &&
+ git checkout main &&
+ git rev-parse main >../../../expected_submodule &&
> junk9 &&
git add junk9 &&
git commit -m "Ninth junk" &&
# Go up to 'work' directory
cd ../.. &&
- git checkout master &&
- git rev-parse master >../expected_pub &&
+ git checkout main &&
+ git rev-parse main >../expected_pub &&
git add gar/bage &&
git commit -m "Ninth commit for gar/bage" &&
- git push --dry-run --recurse-submodules=on-demand ../pub.git master
+ git push --dry-run --recurse-submodules=on-demand ../pub.git main
) &&
- git -C submodule.git rev-parse master >actual_submodule &&
- git -C pub.git rev-parse master >actual_pub &&
+ git -C submodule.git rev-parse main >actual_submodule &&
+ git -C pub.git rev-parse main >actual_pub &&
test_cmp expected_pub actual_pub &&
test_cmp expected_submodule actual_submodule
'
test_expect_success 'push --dry-run does not recursively update submodules' '
- git -C work push --dry-run --recurse-submodules=only ../pub.git master &&
+ git -C work push --dry-run --recurse-submodules=only ../pub.git main &&
- git -C submodule.git rev-parse master >actual_submodule &&
- git -C pub.git rev-parse master >actual_pub &&
+ git -C submodule.git rev-parse main >actual_submodule &&
+ git -C pub.git rev-parse main >actual_pub &&
test_cmp expected_pub actual_pub &&
test_cmp expected_submodule actual_submodule
'
test_expect_success 'push only unpushed submodules recursively' '
- git -C work/gar/bage rev-parse master >expected_submodule &&
- git -C pub.git rev-parse master >expected_pub &&
+ git -C work/gar/bage rev-parse main >expected_submodule &&
+ git -C pub.git rev-parse main >expected_pub &&
- git -C work push --recurse-submodules=only ../pub.git master &&
+ git -C work push --recurse-submodules=only ../pub.git main &&
- git -C submodule.git rev-parse master >actual_submodule &&
- git -C pub.git rev-parse master >actual_pub &&
+ git -C submodule.git rev-parse main >actual_submodule &&
+ git -C pub.git rev-parse main >actual_pub &&
test_cmp expected_submodule actual_submodule &&
test_cmp expected_pub actual_pub
'
@@ -517,14 +520,14 @@ test_expect_success 'push propagating the remotes name to a submodule' '
git -C work commit -m "Tenth junk added to gar/bage" &&
# Fails when submodule does not have a matching remote
- test_must_fail git -C work push --recurse-submodules=on-demand pub master &&
+ test_must_fail git -C work push --recurse-submodules=on-demand pub main &&
# Succeeds when submodules has matching remote and refspec
- git -C work push --recurse-submodules=on-demand origin master &&
+ git -C work push --recurse-submodules=on-demand origin main &&
- git -C submodule.git rev-parse master >actual_submodule &&
- git -C pub.git rev-parse master >actual_pub &&
- git -C work/gar/bage rev-parse master >expected_submodule &&
- git -C work rev-parse master >expected_pub &&
+ git -C submodule.git rev-parse main >actual_submodule &&
+ git -C pub.git rev-parse main >actual_pub &&
+ git -C work/gar/bage rev-parse main >expected_submodule &&
+ git -C work rev-parse main >expected_pub &&
test_cmp expected_submodule actual_submodule &&
test_cmp expected_pub actual_pub
'
@@ -548,7 +551,7 @@ test_expect_success 'push propagating refspec to a submodule' '
test_must_fail git -C work push --recurse-submodules=on-demand origin \
HEAD:refs/heads/branch2 &&
- git -C work/gar/bage branch branch2 master &&
+ git -C work/gar/bage branch branch2 main &&
git -C work push --recurse-submodules=on-demand origin branch2 &&
git -C submodule.git rev-parse branch2 >actual_submodule &&
diff --git a/t/t5533-push-cas.sh b/t/t5533-push-cas.sh
index 7813e8470e..cba26a872d 100755
--- a/t/t5533-push-cas.sh
+++ b/t/t5533-push-cas.sh
@@ -2,6 +2,9 @@
test_description='compare & swap push force/delete safety'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
setup_srcdst_basic () {
@@ -29,22 +32,22 @@ setup_src_dup_dst () {
(
cd dup &&
git fetch &&
- git merge origin/master &&
- git switch -c branch master~2 &&
+ git merge origin/main &&
+ git switch -c branch main~2 &&
test_commit D &&
test_commit E &&
git push origin --all
) &&
(
cd src &&
- git switch master &&
+ git switch main &&
git fetch --all &&
git branch branch --track origin/branch &&
- git rebase origin/master
+ git rebase origin/main
) &&
(
cd dup &&
- git switch master &&
+ git switch main &&
test_commit F &&
test_commit G &&
git switch branch &&
@@ -65,11 +68,11 @@ test_expect_success 'push to update (protected)' '
(
cd dst &&
test_commit D &&
- test_must_fail git push --force-with-lease=master:master origin master 2>err &&
+ test_must_fail git push --force-with-lease=main:main origin main 2>err &&
grep "stale info" err
) &&
- git ls-remote . refs/heads/master >expect &&
- git ls-remote src refs/heads/master >actual &&
+ git ls-remote . refs/heads/main >expect &&
+ git ls-remote src refs/heads/main >actual &&
test_cmp expect actual
'
@@ -78,11 +81,11 @@ test_expect_success 'push to update (protected, forced)' '
(
cd dst &&
test_commit D &&
- git push --force --force-with-lease=master:master origin master 2>err &&
+ git push --force --force-with-lease=main:main origin main 2>err &&
grep "forced update" err
) &&
- git ls-remote dst refs/heads/master >expect &&
- git ls-remote src refs/heads/master >actual &&
+ git ls-remote dst refs/heads/main >expect &&
+ git ls-remote src refs/heads/main >actual &&
test_cmp expect actual
'
@@ -90,20 +93,20 @@ test_expect_success 'push to update (protected, tracking)' '
setup_srcdst_basic &&
(
cd src &&
- git checkout master &&
+ git checkout main &&
test_commit D &&
git checkout HEAD^0
) &&
- git ls-remote src refs/heads/master >expect &&
+ git ls-remote src refs/heads/main >expect &&
(
cd dst &&
test_commit E &&
- git ls-remote . refs/remotes/origin/master >expect &&
- test_must_fail git push --force-with-lease=master origin master &&
- git ls-remote . refs/remotes/origin/master >actual &&
+ git ls-remote . refs/remotes/origin/main >expect &&
+ test_must_fail git push --force-with-lease=main origin main &&
+ git ls-remote . refs/remotes/origin/main >actual &&
test_cmp expect actual
) &&
- git ls-remote src refs/heads/master >actual &&
+ git ls-remote src refs/heads/main >actual &&
test_cmp expect actual
'
@@ -111,18 +114,18 @@ test_expect_success 'push to update (protected, tracking, forced)' '
setup_srcdst_basic &&
(
cd src &&
- git checkout master &&
+ git checkout main &&
test_commit D &&
git checkout HEAD^0
) &&
(
cd dst &&
test_commit E &&
- git ls-remote . refs/remotes/origin/master >expect &&
- git push --force --force-with-lease=master origin master
+ git ls-remote . refs/remotes/origin/main >expect &&
+ git push --force --force-with-lease=main origin main
) &&
- git ls-remote dst refs/heads/master >expect &&
- git ls-remote src refs/heads/master >actual &&
+ git ls-remote dst refs/heads/main >expect &&
+ git ls-remote src refs/heads/main >actual &&
test_cmp expect actual
'
@@ -131,10 +134,10 @@ test_expect_success 'push to update (allowed)' '
(
cd dst &&
test_commit D &&
- git push --force-with-lease=master:master^ origin master
+ git push --force-with-lease=main:main^ origin main
) &&
- git ls-remote dst refs/heads/master >expect &&
- git ls-remote src refs/heads/master >actual &&
+ git ls-remote dst refs/heads/main >expect &&
+ git ls-remote src refs/heads/main >actual &&
test_cmp expect actual
'
@@ -143,11 +146,11 @@ test_expect_success 'push to update (allowed, tracking)' '
(
cd dst &&
test_commit D &&
- git push --force-with-lease=master origin master 2>err &&
+ git push --force-with-lease=main origin main 2>err &&
! grep "forced update" err
) &&
- git ls-remote dst refs/heads/master >expect &&
- git ls-remote src refs/heads/master >actual &&
+ git ls-remote dst refs/heads/main >expect &&
+ git ls-remote src refs/heads/main >actual &&
test_cmp expect actual
'
@@ -157,22 +160,22 @@ test_expect_success 'push to update (allowed even though no-ff)' '
cd dst &&
git reset --hard HEAD^ &&
test_commit D &&
- git push --force-with-lease=master origin master 2>err &&
+ git push --force-with-lease=main origin main 2>err &&
grep "forced update" err
) &&
- git ls-remote dst refs/heads/master >expect &&
- git ls-remote src refs/heads/master >actual &&
+ git ls-remote dst refs/heads/main >expect &&
+ git ls-remote src refs/heads/main >actual &&
test_cmp expect actual
'
test_expect_success 'push to delete (protected)' '
setup_srcdst_basic &&
- git ls-remote src refs/heads/master >expect &&
+ git ls-remote src refs/heads/main >expect &&
(
cd dst &&
- test_must_fail git push --force-with-lease=master:master^ origin :master
+ test_must_fail git push --force-with-lease=main:main^ origin :main
) &&
- git ls-remote src refs/heads/master >actual &&
+ git ls-remote src refs/heads/main >actual &&
test_cmp expect actual
'
@@ -180,9 +183,9 @@ test_expect_success 'push to delete (protected, forced)' '
setup_srcdst_basic &&
(
cd dst &&
- git push --force --force-with-lease=master:master^ origin :master
+ git push --force --force-with-lease=main:main^ origin :main
) &&
- git ls-remote src refs/heads/master >actual &&
+ git ls-remote src refs/heads/main >actual &&
test_must_be_empty actual
'
@@ -190,10 +193,10 @@ test_expect_success 'push to delete (allowed)' '
setup_srcdst_basic &&
(
cd dst &&
- git push --force-with-lease=master origin :master 2>err &&
+ git push --force-with-lease=main origin :main 2>err &&
grep deleted err
) &&
- git ls-remote src refs/heads/master >actual &&
+ git ls-remote src refs/heads/main >actual &&
test_must_be_empty actual
'
@@ -201,12 +204,12 @@ test_expect_success 'cover everything with default force-with-lease (protected)'
setup_srcdst_basic &&
(
cd src &&
- git branch naster master^
+ git branch nain main^
) &&
git ls-remote src refs/heads/\* >expect &&
(
cd dst &&
- test_must_fail git push --force-with-lease origin master master:naster
+ test_must_fail git push --force-with-lease origin main main:nain
) &&
git ls-remote src refs/heads/\* >actual &&
test_cmp expect actual
@@ -216,16 +219,16 @@ test_expect_success 'cover everything with default force-with-lease (allowed)' '
setup_srcdst_basic &&
(
cd src &&
- git branch naster master^
+ git branch nain main^
) &&
(
cd dst &&
git fetch &&
- git push --force-with-lease origin master master:naster
+ git push --force-with-lease origin main main:nain
) &&
- git ls-remote dst refs/heads/master |
- sed -e "s/master/naster/" >expect &&
- git ls-remote src refs/heads/naster >actual &&
+ git ls-remote dst refs/heads/main |
+ sed -e "s/main/nain/" >expect &&
+ git ls-remote src refs/heads/nain >actual &&
test_cmp expect actual
'
@@ -233,7 +236,7 @@ test_expect_success 'new branch covered by force-with-lease' '
setup_srcdst_basic &&
(
cd dst &&
- git branch branch master &&
+ git branch branch main &&
git push --force-with-lease=branch origin branch
) &&
git ls-remote dst refs/heads/branch >expect &&
@@ -245,7 +248,7 @@ test_expect_success 'new branch covered by force-with-lease (explicit)' '
setup_srcdst_basic &&
(
cd dst &&
- git branch branch master &&
+ git branch branch main &&
git push --force-with-lease=branch: origin branch
) &&
git ls-remote dst refs/heads/branch >expect &&
@@ -257,12 +260,12 @@ test_expect_success 'new branch already exists' '
setup_srcdst_basic &&
(
cd src &&
- git checkout -b branch master &&
+ git checkout -b branch main &&
test_commit F
) &&
(
cd dst &&
- git branch branch master &&
+ git branch branch main &&
test_must_fail git push --force-with-lease=branch: origin branch
)
'
@@ -277,7 +280,7 @@ test_expect_success 'background updates of REMOTE can be mitigated with a non-up
cd dst &&
test_commit G &&
git remote add origin-push ../src.bare &&
- git push origin-push master:master
+ git push origin-push main:main
) &&
git clone --no-local src.bare dst2 &&
test_when_finished "rm -rf dst2" &&
@@ -299,58 +302,58 @@ test_expect_success 'background updates of REMOTE can be mitigated with a non-up
test_expect_success 'background updates to remote can be mitigated with "--force-if-includes"' '
setup_src_dup_dst &&
test_when_finished "rm -fr dst src dup" &&
- git ls-remote dst refs/heads/master >expect.master &&
+ git ls-remote dst refs/heads/main >expect.main &&
git ls-remote dst refs/heads/branch >expect.branch &&
(
cd src &&
git switch branch &&
test_commit I &&
- git switch master &&
+ git switch main &&
test_commit J &&
git fetch --all &&
test_must_fail git push --force-with-lease --force-if-includes --all
) &&
- git ls-remote dst refs/heads/master >actual.master &&
+ git ls-remote dst refs/heads/main >actual.main &&
git ls-remote dst refs/heads/branch >actual.branch &&
- test_cmp expect.master actual.master &&
+ test_cmp expect.main actual.main &&
test_cmp expect.branch actual.branch
'
test_expect_success 'background updates to remote can be mitigated with "push.useForceIfIncludes"' '
setup_src_dup_dst &&
test_when_finished "rm -fr dst src dup" &&
- git ls-remote dst refs/heads/master >expect.master &&
+ git ls-remote dst refs/heads/main >expect.main &&
(
cd src &&
git switch branch &&
test_commit I &&
- git switch master &&
+ git switch main &&
test_commit J &&
git fetch --all &&
git config --local push.useForceIfIncludes true &&
- test_must_fail git push --force-with-lease=master origin master
+ test_must_fail git push --force-with-lease=main origin main
) &&
- git ls-remote dst refs/heads/master >actual.master &&
- test_cmp expect.master actual.master
+ git ls-remote dst refs/heads/main >actual.main &&
+ test_cmp expect.main actual.main
'
test_expect_success '"--force-if-includes" should be disabled for --force-with-lease="<refname>:<expect>"' '
setup_src_dup_dst &&
test_when_finished "rm -fr dst src dup" &&
- git ls-remote dst refs/heads/master >expect.master &&
+ git ls-remote dst refs/heads/main >expect.main &&
(
cd src &&
git switch branch &&
test_commit I &&
- git switch master &&
+ git switch main &&
test_commit J &&
- remote_head="$(git rev-parse refs/remotes/origin/master)" &&
+ remote_head="$(git rev-parse refs/remotes/origin/main)" &&
git fetch --all &&
- test_must_fail git push --force-if-includes --force-with-lease="master:$remote_head" 2>err &&
+ test_must_fail git push --force-if-includes --force-with-lease="main:$remote_head" 2>err &&
grep "stale info" err
) &&
- git ls-remote dst refs/heads/master >actual.master &&
- test_cmp expect.master actual.master
+ git ls-remote dst refs/heads/main >actual.main &&
+ test_cmp expect.main actual.main
'
test_expect_success '"--force-if-includes" should allow forced update after a rebase ("pull --rebase")' '
@@ -360,10 +363,10 @@ test_expect_success '"--force-if-includes" should allow forced update after a re
cd src &&
git switch branch &&
test_commit I &&
- git switch master &&
+ git switch main &&
test_commit J &&
- git pull --rebase origin master &&
- git push --force-if-includes --force-with-lease="master"
+ git pull --rebase origin main &&
+ git push --force-if-includes --force-with-lease="main"
)
'
@@ -374,11 +377,11 @@ test_expect_success '"--force-if-includes" should allow forced update after a re
cd src &&
git switch branch &&
test_commit I &&
- git switch master &&
+ git switch main &&
test_commit J &&
- git pull --rebase origin master &&
+ git pull --rebase origin main &&
git rebase --onto HEAD~4 HEAD~1 &&
- git push --force-if-includes --force-with-lease="master"
+ git push --force-if-includes --force-with-lease="main"
)
'
diff --git a/t/t5534-push-signed.sh b/t/t5534-push-signed.sh
index af0385fb89..bba768f5de 100755
--- a/t/t5534-push-signed.sh
+++ b/t/t5534-push-signed.sh
@@ -2,6 +2,9 @@
test_description='signed push'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-gpg.sh
@@ -9,11 +12,11 @@ prepare_dst () {
rm -fr dst &&
test_create_repo dst &&
- git push dst master:noop master:ff master:noff
+ git push dst main:noop main:ff main:noff
}
test_expect_success setup '
- # master, ff and noff branches pointing at the same commit
+ # main, ff and noff branches pointing at the same commit
test_tick &&
git commit --allow-empty -m initial &&
diff --git a/t/t5537-fetch-shallow.sh b/t/t5537-fetch-shallow.sh
index a55202d2d3..11d5ea54a9 100755
--- a/t/t5537-fetch-shallow.sh
+++ b/t/t5537-fetch-shallow.sh
@@ -2,6 +2,9 @@
test_description='fetch/clone from a shallow clone'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
commit() {
@@ -49,7 +52,7 @@ test_expect_success 'fetch from shallow clone' '
cd shallow2 &&
git fetch &&
git fsck &&
- git log --format=%s origin/master >actual &&
+ git log --format=%s origin/main >actual &&
test_write_lines 5 4 3 >expect &&
test_cmp expect actual
)
@@ -64,7 +67,7 @@ test_expect_success 'fetch --depth from shallow clone' '
cd shallow2 &&
git fetch --depth=2 &&
git fsck &&
- git log --format=%s origin/master >actual &&
+ git log --format=%s origin/main >actual &&
test_write_lines 6 5 >expect &&
test_cmp expect actual
)
@@ -75,7 +78,7 @@ test_expect_success 'fetch --unshallow from shallow clone' '
cd shallow2 &&
git fetch --unshallow &&
git fsck &&
- git log --format=%s origin/master >actual &&
+ git log --format=%s origin/main >actual &&
test_write_lines 6 5 4 3 >expect &&
test_cmp expect actual
)
@@ -89,7 +92,7 @@ test_expect_success 'fetch --unshallow from a full clone' '
test_write_lines 4 3 >expect &&
test_cmp expect actual &&
git -c fetch.writeCommitGraph fetch --unshallow &&
- git log origin/master --format=%s >actual &&
+ git log origin/main --format=%s >actual &&
test_write_lines 4 3 2 1 >expect &&
test_cmp expect actual
)
@@ -104,9 +107,9 @@ test_expect_success 'fetch something upstream has but hidden by clients shallow
git commit -m add-1-back &&
(
cd shallow2 &&
- git fetch ../.git +refs/heads/master:refs/remotes/top/master &&
+ git fetch ../.git +refs/heads/main:refs/remotes/top/main &&
git fsck &&
- git log --format=%s top/master >actual &&
+ git log --format=%s top/main >actual &&
test_write_lines add-1-back 4 3 >expect &&
test_cmp expect actual
) &&
@@ -135,7 +138,7 @@ test_expect_success 'fetch that requires changes in .git/shallow is filtered' '
test_expect_success 'fetch --update-shallow' '
(
cd shallow &&
- git checkout master &&
+ git checkout main &&
commit 7 &&
git tag -m foo heavy-tag HEAD^ &&
git tag light-tag HEAD^:tracked
@@ -146,13 +149,13 @@ test_expect_success 'fetch --update-shallow' '
git fsck &&
git for-each-ref --sort=refname --format="%(refname)" >actual.refs &&
cat <<-\EOF >expect.refs &&
- refs/remotes/shallow/master
+ refs/remotes/shallow/main
refs/remotes/shallow/no-shallow
refs/tags/heavy-tag
refs/tags/light-tag
EOF
test_cmp expect.refs actual.refs &&
- git log --format=%s shallow/master >actual &&
+ git log --format=%s shallow/main >actual &&
test_write_lines 7 6 5 4 3 >expect &&
test_cmp expect actual
)
@@ -161,7 +164,7 @@ test_expect_success 'fetch --update-shallow' '
test_expect_success 'fetch --update-shallow (with fetch.writeCommitGraph)' '
(
cd shallow &&
- git checkout master &&
+ git checkout main &&
commit 8 &&
git tag -m foo heavy-tag-for-graph HEAD^ &&
git tag light-tag-for-graph HEAD^:tracked
@@ -173,7 +176,7 @@ test_expect_success 'fetch --update-shallow (with fetch.writeCommitGraph)' '
git fsck &&
git for-each-ref --sort=refname --format="%(refname)" >actual.refs &&
cat <<-EOF >expect.refs &&
- refs/remotes/shallow/master
+ refs/remotes/shallow/main
refs/remotes/shallow/no-shallow
refs/tags/heavy-tag
refs/tags/heavy-tag-for-graph
@@ -181,7 +184,7 @@ test_expect_success 'fetch --update-shallow (with fetch.writeCommitGraph)' '
refs/tags/light-tag-for-graph
EOF
test_cmp expect.refs actual.refs &&
- git log --format=%s shallow/master >actual &&
+ git log --format=%s shallow/main >actual &&
test_write_lines 8 7 6 5 4 3 >expect &&
test_cmp expect actual
)
@@ -206,7 +209,7 @@ test_expect_success '.git/shallow is edited by repack' '
test_commit -C shallow-server E &&
test_commit -C shallow-server D &&
d="$(git -C shallow-server rev-parse --verify D^0)" &&
- git -C shallow-server checkout master &&
+ git -C shallow-server checkout main &&
git clone --depth=1 --no-tags --no-single-branch \
"file://$PWD/shallow-server" shallow-client &&
@@ -244,7 +247,7 @@ test_expect_success 'shallow fetches check connectivity before writing shallow f
git -C "$REPO" config protocol.version 2 &&
git -C client config protocol.version 2 &&
- git -C client fetch --depth=2 "$HTTPD_URL/one_time_perl/repo" master:a_branch &&
+ git -C client fetch --depth=2 "$HTTPD_URL/one_time_perl/repo" main:a_branch &&
# Craft a situation in which the server sends back an unshallow request
# with an empty packfile. This is done by refetching with a shorter
@@ -256,7 +259,7 @@ test_expect_success 'shallow fetches check connectivity before writing shallow f
>"$HTTPD_ROOT_PATH/one-time-perl" &&
test_must_fail env GIT_TEST_SIDEBAND_ALL=0 git -C client \
fetch --depth=1 "$HTTPD_URL/one_time_perl/repo" \
- master:a_branch &&
+ main:a_branch &&
# Ensure that the one-time-perl script was used.
! test -e "$HTTPD_ROOT_PATH/one-time-perl" &&
diff --git a/t/t5538-push-shallow.sh b/t/t5538-push-shallow.sh
index ecbf84d21c..e91fcc173e 100755
--- a/t/t5538-push-shallow.sh
+++ b/t/t5538-push-shallow.sh
@@ -2,6 +2,9 @@
test_description='push from/to a shallow clone'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
commit() {
@@ -44,9 +47,9 @@ test_expect_success 'push from shallow clone' '
(
cd shallow &&
commit 5 &&
- git push ../.git +master:refs/remotes/shallow/master
+ git push ../.git +main:refs/remotes/shallow/main
) &&
- git log --format=%s shallow/master >actual &&
+ git log --format=%s shallow/main >actual &&
git fsck &&
cat <<EOF >expect &&
5
@@ -61,10 +64,10 @@ EOF
test_expect_success 'push from shallow clone, with grafted roots' '
(
cd shallow2 &&
- test_must_fail git push ../.git +master:refs/remotes/shallow2/master 2>err &&
- grep "shallow2/master.*shallow update not allowed" err
+ test_must_fail git push ../.git +main:refs/remotes/shallow2/main 2>err &&
+ grep "shallow2/main.*shallow update not allowed" err
) &&
- test_must_fail git rev-parse shallow2/master &&
+ test_must_fail git rev-parse shallow2/main &&
git fsck
'
@@ -72,9 +75,9 @@ test_expect_success 'add new shallow root with receive.updateshallow on' '
test_config receive.shallowupdate true &&
(
cd shallow2 &&
- git push ../.git +master:refs/remotes/shallow2/master
+ git push ../.git +main:refs/remotes/shallow2/main
) &&
- git log --format=%s shallow2/master >actual &&
+ git log --format=%s shallow2/main >actual &&
git fsck &&
cat <<EOF >expect &&
c
@@ -87,12 +90,12 @@ test_expect_success 'push from shallow to shallow' '
(
cd shallow &&
git --git-dir=../shallow2/.git config receive.shallowupdate true &&
- git push ../shallow2/.git +master:refs/remotes/shallow/master &&
+ git push ../shallow2/.git +main:refs/remotes/shallow/main &&
git --git-dir=../shallow2/.git config receive.shallowupdate false
) &&
(
cd shallow2 &&
- git log --format=%s shallow/master >actual &&
+ git log --format=%s shallow/main >actual &&
git fsck &&
cat <<EOF >expect &&
5
@@ -106,10 +109,10 @@ EOF
test_expect_success 'push from full to shallow' '
! git --git-dir=shallow2/.git cat-file blob $(echo 1|git hash-object --stdin) &&
commit 1 &&
- git push shallow2/.git +master:refs/remotes/top/master &&
+ git push shallow2/.git +main:refs/remotes/top/main &&
(
cd shallow2 &&
- git log --format=%s top/master >actual &&
+ git log --format=%s top/main >actual &&
git fsck &&
cat <<EOF >expect &&
1
diff --git a/t/t5539-fetch-http-shallow.sh b/t/t5539-fetch-http-shallow.sh
index 82aa99ae87..3ea75d34ca 100755
--- a/t/t5539-fetch-http-shallow.sh
+++ b/t/t5539-fetch-http-shallow.sh
@@ -2,6 +2,9 @@
test_description='fetch/clone from a shallow clone over http'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-httpd.sh
start_httpd
@@ -32,7 +35,7 @@ test_expect_success 'clone http repository' '
(
cd clone &&
git fsck &&
- git log --format=%s origin/master >actual &&
+ git log --format=%s origin/main >actual &&
cat <<EOF >expect &&
7
6
@@ -60,9 +63,9 @@ test_expect_success 'no shallow lines after receiving ACK ready' '
refs/heads/unrelated$i:refs/heads/unrelated$i ||
exit 1
done &&
- git checkout master &&
+ git checkout main &&
test_commit new &&
- git push "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" master
+ git push "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" main
) &&
(
cd clone &&
@@ -95,7 +98,7 @@ test_expect_success 'clone shallow since ...' '
test_expect_success 'fetch shallow since ...' '
git -C shallow11 fetch --shallow-since "200000000 +0700" origin &&
- git -C shallow11 log --pretty=tformat:%s origin/master >actual &&
+ git -C shallow11 log --pretty=tformat:%s origin/main >actual &&
cat >expected <<-\EOF &&
three
two
@@ -120,7 +123,7 @@ test_expect_success 'shallow clone exclude tag two' '
test_expect_success 'fetch exclude tag one' '
git -C shallow12 fetch --shallow-exclude one origin &&
- git -C shallow12 log --pretty=tformat:%s origin/master >actual &&
+ git -C shallow12 log --pretty=tformat:%s origin/main >actual &&
test_write_lines three two >expected &&
test_cmp expected actual
'
@@ -136,12 +139,12 @@ test_expect_success 'fetching deepen' '
git clone --depth 1 $HTTPD_URL/smart/shallow-deepen.git deepen &&
mv "$HTTPD_DOCUMENT_ROOT_PATH/shallow-deepen.git" .git &&
test_commit four &&
- git -C deepen log --pretty=tformat:%s master >actual &&
+ git -C deepen log --pretty=tformat:%s main >actual &&
echo three >expected &&
test_cmp expected actual &&
mv .git "$HTTPD_DOCUMENT_ROOT_PATH/shallow-deepen.git" &&
git -C deepen fetch --deepen=1 &&
- git -C deepen log --pretty=tformat:%s origin/master >actual &&
+ git -C deepen log --pretty=tformat:%s origin/main >actual &&
cat >expected <<-\EOF &&
four
three
diff --git a/t/t5540-http-push-webdav.sh b/t/t5540-http-push-webdav.sh
index 450321fddb..8b68bb38a4 100755
--- a/t/t5540-http-push-webdav.sh
+++ b/t/t5540-http-push-webdav.sh
@@ -7,6 +7,9 @@ test_description='test WebDAV http-push
This test runs various sanity checks on http-push.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
if git http-push > /dev/null 2>&1 || [ $? -eq 128 ]
@@ -71,7 +74,7 @@ test_expect_success 'push already up-to-date' '
test_expect_success 'push to remote repository with unpacked refs' '
(cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
rm packed-refs &&
- git update-ref refs/heads/master $ORIG_HEAD &&
+ git update-ref refs/heads/main $ORIG_HEAD &&
git --bare update-server-info) &&
git push &&
(cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
@@ -91,7 +94,7 @@ test_expect_success 'http-push fetches unpacked objects' '
git remote rm origin &&
git reflog expire --expire=0 --all &&
git prune &&
- git push -f -v $HTTPD_URL/dumb/test_repo_unpacked.git master)
+ git push -f -v $HTTPD_URL/dumb/test_repo_unpacked.git main)
'
test_expect_success 'http-push fetches packed objects' '
@@ -111,7 +114,7 @@ test_expect_success 'http-push fetches packed objects' '
git remote remove origin &&
git reflog expire --expire=0 --all &&
git prune &&
- git push -f -v $HTTPD_URL/dumb/test_repo_packed.git master)
+ git push -f -v $HTTPD_URL/dumb/test_repo_packed.git main)
'
test_expect_success 'create and delete remote branch' '
@@ -163,7 +166,7 @@ test_expect_success 'PUT and MOVE sends object to URLs with SHA-1 hash suffix' '
'
test_http_push_nonff "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git \
- "$ROOT_PATH"/test_repo_clone master
+ "$ROOT_PATH"/test_repo_clone main
test_expect_success 'push to password-protected repository (user in URL)' '
test_commit pw-user &&
diff --git a/t/t5541-http-push-smart.sh b/t/t5541-http-push-smart.sh
index 187454f5dd..bc5ccf233f 100755
--- a/t/t5541-http-push-smart.sh
+++ b/t/t5541-http-push-smart.sh
@@ -4,6 +4,9 @@
#
test_description='test smart pushing over http via http-backend'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
ROOT_PATH="$PWD"
@@ -142,23 +145,23 @@ test_expect_success 'used receive-pack service' '
'
test_http_push_nonff "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git \
- "$ROOT_PATH"/test_repo_clone master success
+ "$ROOT_PATH"/test_repo_clone main success
test_expect_success 'push fails for non-fast-forward refs unmatched by remote helper' '
# create a dissimilarly-named remote ref so that git is unable to match the
# two refs (viz. local, remote) unless an explicit refspec is provided.
- git push origin master:retsam &&
+ git push origin main:niam &&
echo "change changed" > path2 &&
git commit -a -m path2 --amend &&
- # push master too; this ensures there is at least one '"'push'"' command to
+ # push main too; this ensures there is at least one '"'push'"' command to
# the remote helper and triggers interaction with the helper.
- test_must_fail git push -v origin +master master:retsam >output 2>&1'
+ test_must_fail git push -v origin +main main:niam >output 2>&1'
test_expect_success 'push fails for non-fast-forward refs unmatched by remote helper: remote output' '
- grep "^ + [a-f0-9]*\.\.\.[a-f0-9]* *master -> master (forced update)$" output &&
- grep "^ ! \[rejected\] *master -> retsam (non-fast-forward)$" output
+ grep "^ + [a-f0-9]*\.\.\.[a-f0-9]* *main -> main (forced update)$" output &&
+ grep "^ ! \[rejected\] *main -> niam (non-fast-forward)$" output
'
test_expect_success 'push fails for non-fast-forward refs unmatched by remote helper: our output' '
@@ -167,7 +170,7 @@ test_expect_success 'push fails for non-fast-forward refs unmatched by remote he
'
test_expect_success 'push (chunked)' '
- git checkout master &&
+ git checkout main &&
test_commit commit path3 &&
HEAD=$(git rev-parse --verify HEAD) &&
test_config http.postbuffer 4 &&
@@ -177,9 +180,9 @@ test_expect_success 'push (chunked)' '
test $HEAD = $(git rev-parse --verify HEAD))
'
-## References of remote: atomic1(1) master(2) collateral(2) other(2)
-## References of local : atomic2(2) master(1) collateral(3) other(2) collateral1(3) atomic(1)
-## Atomic push : master(1) collateral(3) atomic(1)
+## References of remote: atomic1(1) main(2) collateral(2) other(2)
+## References of local : atomic2(2) main(1) collateral(3) other(2) collateral1(3) atomic(1)
+## Atomic push : main(1) collateral(3) atomic(1)
test_expect_success 'push --atomic also prevents branch creation, reports collateral' '
# Setup upstream repo - empty for now
d=$HTTPD_DOCUMENT_ROOT_PATH/atomic-branches.git &&
@@ -192,15 +195,15 @@ test_expect_success 'push --atomic also prevents branch creation, reports collat
test_commit atomic2 &&
git branch collateral &&
git branch other &&
- git push "$up" atomic1 master collateral other &&
+ git push "$up" atomic1 main collateral other &&
git tag -d atomic1 &&
# collateral is a valid push, but should be failed by atomic push
git checkout collateral &&
test_commit collateral1 &&
- # Make master incompatible with upstream to provoke atomic
- git checkout master &&
+ # Make main incompatible with upstream to provoke atomic
+ git checkout main &&
git reset --hard HEAD^ &&
# Add a new branch which should be failed by atomic push. This is a
@@ -208,7 +211,7 @@ test_expect_success 'push --atomic also prevents branch creation, reports collat
git branch atomic &&
# --atomic should cause entire push to be rejected
- test_must_fail git push --atomic "$up" master atomic collateral 2>output &&
+ test_must_fail git push --atomic "$up" main atomic collateral 2>output &&
# the new branch should not have been created upstream
test_must_fail git -C "$d" show-ref --verify refs/heads/atomic &&
@@ -216,15 +219,15 @@ test_expect_success 'push --atomic also prevents branch creation, reports collat
# upstream should still reflect atomic2, the last thing we pushed
# successfully
git rev-parse atomic2 >expected &&
- # on master...
- git -C "$d" rev-parse refs/heads/master >actual &&
+ # on main...
+ git -C "$d" rev-parse refs/heads/main >actual &&
test_cmp expected actual &&
# ...and collateral.
git -C "$d" rev-parse refs/heads/collateral >actual &&
test_cmp expected actual &&
# the failed refs should be indicated to the user
- grep "^ ! .*rejected.* master -> master" output &&
+ grep "^ ! .*rejected.* main -> main" output &&
# the collateral failure refs should be indicated to the user
grep "^ ! .*rejected.* atomic -> atomic .*atomic push failed" output &&
@@ -472,9 +475,9 @@ test_expect_success 'clone/fetch scrubs password from reflogs' '
test_commit prepare-for-force-fetch &&
git switch -c away &&
git fetch "$HTTPD_URL_USER_PASS/smart/test_repo.git" \
- +master:master &&
+ +main:main &&
# should have been scrubbed down to vanilla URL
- git log -g master >reflog &&
+ git log -g main >reflog &&
grep "$HTTPD_URL" reflog &&
! grep "$HTTPD_URL_USER_PASS" reflog
'
@@ -498,7 +501,7 @@ test_expect_success 'colorize errors/hints' '
cd "$ROOT_PATH"/test_repo_clone &&
test_must_fail git -c color.transport=always -c color.advice=always \
-c color.push=always \
- push origin origin/master^:master 2>act &&
+ push origin origin/main^:main 2>act &&
test_decode_color <act >decoded &&
test_i18ngrep "<RED>.*rejected.*<RESET>" decoded &&
test_i18ngrep "<RED>error: failed to push some refs" decoded &&
diff --git a/t/t5542-push-http-shallow.sh b/t/t5542-push-http-shallow.sh
index ddc1db722d..c2cc83182f 100755
--- a/t/t5542-push-http-shallow.sh
+++ b/t/t5542-push-http-shallow.sh
@@ -2,6 +2,9 @@
test_description='push from/to a shallow clone over http'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-httpd.sh
start_httpd
@@ -51,12 +54,12 @@ test_expect_success 'push to shallow repo via http' '
(
cd full &&
commit 9 &&
- git push $HTTPD_URL/smart/repo.git +master:refs/remotes/top/master
+ git push $HTTPD_URL/smart/repo.git +main:refs/remotes/top/main
) &&
(
cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
git fsck &&
- git log --format=%s top/master >actual &&
+ git log --format=%s top/main >actual &&
cat <<EOF >expect &&
9
4
@@ -74,11 +77,11 @@ test_expect_success 'push from shallow repo via http' '
git config http.receivepack true
) &&
commit 10 &&
- git push $HTTPD_URL/smart/repo.git +master:refs/remotes/top/master &&
+ git push $HTTPD_URL/smart/repo.git +main:refs/remotes/top/main &&
(
cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
git fsck &&
- git log --format=%s top/master >actual &&
+ git log --format=%s top/main >actual &&
cat <<EOF >expect &&
10
4
diff --git a/t/t5543-atomic-push.sh b/t/t5543-atomic-push.sh
index 620c30d58f..bfee461861 100755
--- a/t/t5543-atomic-push.sh
+++ b/t/t5543-atomic-push.sh
@@ -2,6 +2,9 @@
test_description='pushing to a repository using the atomic push option'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
mk_repo_pair () {
@@ -40,9 +43,9 @@ test_expect_success 'atomic push works for a single branch' '
test_commit one &&
git push --mirror up &&
test_commit two &&
- git push --atomic up master
+ git push --atomic up main
) &&
- test_refs master master
+ test_refs main main
'
test_expect_success 'atomic push works for two branches' '
@@ -55,9 +58,9 @@ test_expect_success 'atomic push works for two branches' '
test_commit two &&
git checkout second &&
test_commit three &&
- git push --atomic up master second
+ git push --atomic up main second
) &&
- test_refs master master &&
+ test_refs main main &&
test_refs second second
'
@@ -70,7 +73,7 @@ test_expect_success 'atomic push works in combination with --mirror' '
test_commit two &&
git push --atomic --mirror up
) &&
- test_refs master master &&
+ test_refs main main &&
test_refs second second
'
@@ -79,7 +82,7 @@ test_expect_success 'atomic push works in combination with --force' '
(
cd workbench &&
test_commit one &&
- git branch second master &&
+ git branch second main &&
test_commit two_a &&
git checkout second &&
test_commit two_b &&
@@ -87,36 +90,36 @@ test_expect_success 'atomic push works in combination with --force' '
test_commit four &&
git push --mirror up &&
# The actual test is below
- git checkout master &&
+ git checkout main &&
test_commit three_a &&
git checkout second &&
git reset --hard HEAD^ &&
- git push --force --atomic up master second
+ git push --force --atomic up main second
) &&
- test_refs master master &&
+ test_refs main main &&
test_refs second second
'
-# set up two branches where master can be pushed but second can not
+# set up two branches where main can be pushed but second can not
# (non-fast-forward). Since second can not be pushed the whole operation
-# will fail and leave master untouched.
+# will fail and leave main untouched.
test_expect_success 'atomic push fails if one branch fails' '
mk_repo_pair &&
(
cd workbench &&
test_commit one &&
- git checkout -b second master &&
+ git checkout -b second main &&
test_commit two &&
test_commit three &&
test_commit four &&
git push --mirror up &&
git reset --hard HEAD~2 &&
test_commit five &&
- git checkout master &&
+ git checkout main &&
test_commit six &&
test_must_fail git push --atomic --all up
) &&
- test_refs master HEAD@{7} &&
+ test_refs main HEAD@{7} &&
test_refs second HEAD@{4}
'
@@ -126,7 +129,7 @@ test_expect_success 'atomic push fails if one tag fails remotely' '
(
cd workbench &&
test_commit one &&
- git checkout -b second master &&
+ git checkout -b second main &&
test_commit two &&
git push --mirror up
) &&
@@ -139,14 +142,14 @@ test_expect_success 'atomic push fails if one tag fails remotely' '
# see if we can now push both branches.
(
cd workbench &&
- git checkout master &&
+ git checkout main &&
test_commit three &&
git checkout second &&
test_commit four &&
git tag test_tag &&
- test_must_fail git push --tags --atomic up master second
+ test_must_fail git push --tags --atomic up main second
) &&
- test_refs master HEAD@{3} &&
+ test_refs main HEAD@{3} &&
test_refs second HEAD@{1}
'
@@ -155,7 +158,7 @@ test_expect_success 'atomic push obeys update hook preventing a branch to be pus
(
cd workbench &&
test_commit one &&
- git checkout -b second master &&
+ git checkout -b second main &&
test_commit two &&
git push --mirror up
) &&
@@ -165,19 +168,19 @@ test_expect_success 'atomic push obeys update hook preventing a branch to be pus
HOOK="$HOOKDIR/update" &&
mkdir -p "$HOOKDIR" &&
write_script "$HOOK" <<-\EOF
- # only allow update to master from now on
- test "$1" = "refs/heads/master"
+ # only allow update to main from now on
+ test "$1" = "refs/heads/main"
EOF
) &&
(
cd workbench &&
- git checkout master &&
+ git checkout main &&
test_commit three &&
git checkout second &&
test_commit four &&
- test_must_fail git push --atomic up master second
+ test_must_fail git push --atomic up main second
) &&
- test_refs master HEAD@{3} &&
+ test_refs main HEAD@{3} &&
test_refs second HEAD@{1}
'
@@ -192,21 +195,21 @@ test_expect_success 'atomic push is not advertised if configured' '
test_commit one &&
git push --mirror up &&
test_commit two &&
- test_must_fail git push --atomic up master
+ test_must_fail git push --atomic up main
) &&
- test_refs master HEAD@{1}
+ test_refs main HEAD@{1}
'
-# References in upstream : master(1) one(1) foo(1)
-# References in workbench: master(2) foo(1) two(2) bar(2)
-# Atomic push : master(2) two(2) bar(2)
+# References in upstream : main(1) one(1) foo(1)
+# References in workbench: main(2) foo(1) two(2) bar(2)
+# Atomic push : main(2) two(2) bar(2)
test_expect_success 'atomic push reports (reject by update hook)' '
mk_repo_pair &&
(
cd workbench &&
test_commit one &&
git branch foo &&
- git push up master one foo &&
+ git push up main one foo &&
git tag -d one
) &&
(
@@ -228,19 +231,19 @@ test_expect_success 'atomic push reports (reject by update hook)' '
git branch bar
) &&
test_must_fail git -C workbench \
- push --atomic up master two bar >out 2>&1 &&
+ push --atomic up main two bar >out 2>&1 &&
fmt_status_report <out >actual &&
cat >expect <<-EOF &&
To ../upstream
- ! [remote rejected] master -> master (atomic push failure)
+ ! [remote rejected] main -> main (atomic push failure)
! [remote rejected] two -> two (atomic push failure)
! [remote rejected] bar -> bar (hook declined)
EOF
test_cmp expect actual
'
-# References in upstream : master(1) one(1) foo(1)
-# References in workbench: master(2) foo(1) two(2) bar(2)
+# References in upstream : main(1) one(1) foo(1)
+# References in workbench: main(2) foo(1) two(2) bar(2)
test_expect_success 'atomic push reports (mirror, but reject by update hook)' '
(
cd workbench &&
@@ -252,7 +255,7 @@ test_expect_success 'atomic push reports (mirror, but reject by update hook)' '
fmt_status_report <out >actual &&
cat >expect <<-EOF &&
To ../upstream
- ! [remote rejected] master -> master (atomic push failure)
+ ! [remote rejected] main -> main (atomic push failure)
! [remote rejected] one (atomic push failure)
! [remote rejected] bar -> bar (hook declined)
! [remote rejected] two -> two (atomic push failure)
@@ -260,21 +263,21 @@ test_expect_success 'atomic push reports (mirror, but reject by update hook)' '
test_cmp expect actual
'
-# References in upstream : master(2) one(1) foo(1)
-# References in workbench: master(1) foo(1) two(2) bar(2)
+# References in upstream : main(2) one(1) foo(1)
+# References in workbench: main(1) foo(1) two(2) bar(2)
test_expect_success 'atomic push reports (reject by non-ff)' '
rm upstream/.git/hooks/update &&
(
cd workbench &&
- git push up master &&
+ git push up main &&
git reset --hard HEAD^
) &&
test_must_fail git -C workbench \
- push --atomic up master foo bar >out 2>&1 &&
+ push --atomic up main foo bar >out 2>&1 &&
fmt_status_report <out >actual &&
cat >expect <<-EOF &&
To ../upstream
- ! [rejected] master -> master (non-fast-forward)
+ ! [rejected] main -> main (non-fast-forward)
! [rejected] bar -> bar (atomic push failed)
EOF
test_cmp expect actual
diff --git a/t/t5545-push-options.sh b/t/t5545-push-options.sh
index 38e6f7340e..58c7add7ee 100755
--- a/t/t5545-push-options.sh
+++ b/t/t5545-push-options.sh
@@ -2,6 +2,9 @@
test_description='pushing to a repository using push options'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
mk_repo_pair () {
@@ -63,9 +66,9 @@ test_expect_success 'one push option works for a single branch' '
test_commit one &&
git push --mirror up &&
test_commit two &&
- git push --push-option=asdf up master
+ git push --push-option=asdf up main
) &&
- test_refs master master &&
+ test_refs main main &&
echo "asdf" >expect &&
test_cmp expect upstream/.git/hooks/pre-receive.push_options &&
test_cmp expect upstream/.git/hooks/post-receive.push_options
@@ -79,9 +82,9 @@ test_expect_success 'push option denied by remote' '
test_commit one &&
git push --mirror up &&
test_commit two &&
- test_must_fail git push --push-option=asdf up master
+ test_must_fail git push --push-option=asdf up main
) &&
- test_refs master HEAD@{1}
+ test_refs main HEAD@{1}
'
test_expect_success 'two push options work' '
@@ -92,9 +95,9 @@ test_expect_success 'two push options work' '
test_commit one &&
git push --mirror up &&
test_commit two &&
- git push --push-option=asdf --push-option="more structured text" up master
+ git push --push-option=asdf --push-option="more structured text" up main
) &&
- test_refs master master &&
+ test_refs main main &&
printf "asdf\nmore structured text\n" >expect &&
test_cmp expect upstream/.git/hooks/pre-receive.push_options &&
test_cmp expect upstream/.git/hooks/post-receive.push_options
@@ -123,14 +126,14 @@ test_expect_success 'push options and submodules' '
git -C parent push \
--push-option=asdf --push-option="more structured text" \
- --recurse-submodules=on-demand up master &&
+ --recurse-submodules=on-demand up main &&
- git -C upstream rev-parse --verify master >expect &&
- git -C parent/workbench rev-parse --verify master >actual &&
+ git -C upstream rev-parse --verify main >expect &&
+ git -C parent/workbench rev-parse --verify main >actual &&
test_cmp expect actual &&
- git -C parent_upstream rev-parse --verify master >expect &&
- git -C parent rev-parse --verify master >actual &&
+ git -C parent_upstream rev-parse --verify main >expect &&
+ git -C parent rev-parse --verify main >actual &&
test_cmp expect actual &&
printf "asdf\nmore structured text\n" >expect &&
@@ -148,9 +151,9 @@ test_expect_success 'default push option' '
test_commit one &&
git push --mirror up &&
test_commit two &&
- git -c push.pushOption=default push up master
+ git -c push.pushOption=default push up main
) &&
- test_refs master master &&
+ test_refs main main &&
echo "default" >expect &&
test_cmp expect upstream/.git/hooks/pre-receive.push_options &&
test_cmp expect upstream/.git/hooks/post-receive.push_options
@@ -164,9 +167,9 @@ test_expect_success 'two default push options' '
test_commit one &&
git push --mirror up &&
test_commit two &&
- git -c push.pushOption=default1 -c push.pushOption=default2 push up master
+ git -c push.pushOption=default1 -c push.pushOption=default2 push up main
) &&
- test_refs master master &&
+ test_refs main main &&
printf "default1\ndefault2\n" >expect &&
test_cmp expect upstream/.git/hooks/pre-receive.push_options &&
test_cmp expect upstream/.git/hooks/post-receive.push_options
@@ -180,9 +183,9 @@ test_expect_success 'push option from command line overrides from-config push op
test_commit one &&
git push --mirror up &&
test_commit two &&
- git -c push.pushOption=default push --push-option=manual up master
+ git -c push.pushOption=default push --push-option=manual up main
) &&
- test_refs master master &&
+ test_refs main main &&
echo "manual" >expect &&
test_cmp expect upstream/.git/hooks/pre-receive.push_options &&
test_cmp expect upstream/.git/hooks/post-receive.push_options
@@ -196,9 +199,9 @@ test_expect_success 'empty value of push.pushOption in config clears the list' '
test_commit one &&
git push --mirror up &&
test_commit two &&
- git -c push.pushOption=default1 -c push.pushOption= -c push.pushOption=default2 push up master
+ git -c push.pushOption=default1 -c push.pushOption= -c push.pushOption=default2 push up main
) &&
- test_refs master master &&
+ test_refs main main &&
echo "default2" >expect &&
test_cmp expect upstream/.git/hooks/pre-receive.push_options &&
test_cmp expect upstream/.git/hooks/post-receive.push_options
@@ -212,16 +215,16 @@ test_expect_success 'invalid push option in config' '
test_commit one &&
git push --mirror up &&
test_commit two &&
- test_must_fail git -c push.pushOption push up master
+ test_must_fail git -c push.pushOption push up main
) &&
- test_refs master HEAD@{1}
+ test_refs main HEAD@{1}
'
test_expect_success 'push options keep quoted characters intact (direct)' '
mk_repo_pair &&
git -C upstream config receive.advertisePushOptions true &&
test_commit -C workbench one &&
- git -C workbench push --push-option="\"embedded quotes\"" up master &&
+ git -C workbench push --push-option="\"embedded quotes\"" up main &&
echo "\"embedded quotes\"" >expect &&
test_cmp expect upstream/.git/hooks/pre-receive.push_options
'
@@ -244,28 +247,28 @@ mk_http_pair () {
test_expect_success 'push option denied properly by http server' '
mk_http_pair false &&
test_commit -C test_http_clone one &&
- test_must_fail git -C test_http_clone push --push-option=asdf origin master 2>actual &&
+ test_must_fail git -C test_http_clone push --push-option=asdf origin main 2>actual &&
test_i18ngrep "the receiving end does not support push options" actual &&
- git -C test_http_clone push origin master
+ git -C test_http_clone push origin main
'
test_expect_success 'push options work properly across http' '
mk_http_pair true &&
test_commit -C test_http_clone one &&
- git -C test_http_clone push origin master &&
- git -C "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git rev-parse --verify master >expect &&
- git -C test_http_clone rev-parse --verify master >actual &&
+ git -C test_http_clone push origin main &&
+ git -C "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git rev-parse --verify main >expect &&
+ git -C test_http_clone rev-parse --verify main >actual &&
test_cmp expect actual &&
test_commit -C test_http_clone two &&
- git -C test_http_clone push --push-option=asdf --push-option="more structured text" origin master &&
+ git -C test_http_clone push --push-option=asdf --push-option="more structured text" origin main &&
printf "asdf\nmore structured text\n" >expect &&
test_cmp expect "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git/hooks/pre-receive.push_options &&
test_cmp expect "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git/hooks/post-receive.push_options &&
- git -C "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git rev-parse --verify master >expect &&
- git -C test_http_clone rev-parse --verify master >actual &&
+ git -C "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git rev-parse --verify main >expect &&
+ git -C test_http_clone rev-parse --verify main >actual &&
test_cmp expect actual
'
@@ -273,7 +276,7 @@ test_expect_success 'push options keep quoted characters intact (http)' '
mk_http_pair true &&
test_commit -C test_http_clone one &&
- git -C test_http_clone push --push-option="\"embedded quotes\"" origin master &&
+ git -C test_http_clone push --push-option="\"embedded quotes\"" origin main &&
echo "\"embedded quotes\"" >expect &&
test_cmp expect "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git/hooks/pre-receive.push_options
'
diff --git a/t/t5548-push-porcelain.sh b/t/t5548-push-porcelain.sh
index 1b19b3ef55..5a761f3642 100755
--- a/t/t5548-push-porcelain.sh
+++ b/t/t5548-push-porcelain.sh
@@ -36,7 +36,7 @@ create_commits_in () {
shift ||
return 1
done &&
- git -C "$repo" update-ref refs/heads/master $oid
+ git -C "$repo" update-ref refs/heads/main $oid
}
# Format the output of git-push, git-show-ref and other commands to make a
@@ -57,8 +57,8 @@ make_user_friendly_and_stable_output () {
}
setup_upstream_and_workbench () {
- # Upstream after setup : master(B) foo(A) bar(A) baz(A)
- # Workbench after setup : master(A)
+ # Upstream after setup : main(B) foo(A) bar(A) baz(A)
+ # Workbench after setup : main(A)
test_expect_success "setup upstream repository and workbench" '
rm -rf upstream.git workbench &&
git init --bare upstream.git &&
@@ -70,9 +70,9 @@ setup_upstream_and_workbench () {
# this fixed-width oid will be replaced with "<OID>".
git config core.abbrev 7 &&
git remote add origin ../upstream.git &&
- git update-ref refs/heads/master $A &&
+ git update-ref refs/heads/main $A &&
git push origin \
- $B:refs/heads/master \
+ $B:refs/heads/main \
$A:refs/heads/foo \
$A:refs/heads/bar \
$A:refs/heads/baz
@@ -94,17 +94,17 @@ run_git_push_porcelain_output_test() {
;;
esac
- # Refs of upstream : master(B) foo(A) bar(A) baz(A)
- # Refs of workbench: master(A) baz(A) next(A)
- # git-push : master(A) NULL (B) baz(A) next(A)
+ # Refs of upstream : main(B) foo(A) bar(A) baz(A)
+ # Refs of workbench: main(A) baz(A) next(A)
+ # git-push : main(A) NULL (B) baz(A) next(A)
test_expect_success "porcelain output of successful git-push ($PROTOCOL)" '
(
cd workbench &&
- git update-ref refs/heads/master $A &&
+ git update-ref refs/heads/main $A &&
git update-ref refs/heads/baz $A &&
git update-ref refs/heads/next $A &&
git push --porcelain --force origin \
- master \
+ main \
:refs/heads/foo \
$B:bar \
baz \
@@ -116,7 +116,7 @@ run_git_push_porcelain_output_test() {
= refs/heads/baz:refs/heads/baz [up to date]
<COMMIT-B>:refs/heads/bar <OID-A>..<OID-B>
- :refs/heads/foo [deleted]
- + refs/heads/master:refs/heads/master <OID-B>...<OID-A> (forced update)
+ + refs/heads/main:refs/heads/main <OID-B>...<OID-A> (forced update)
* refs/heads/next:refs/heads/next [new branch]
Done
EOF
@@ -127,22 +127,22 @@ run_git_push_porcelain_output_test() {
cat >expect <<-EOF &&
<COMMIT-B> refs/heads/bar
<COMMIT-A> refs/heads/baz
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
'
- # Refs of upstream : master(A) bar(B) baz(A) next(A)
- # Refs of workbench: master(B) bar(A) baz(A) next(A)
- # git-push : master(B) bar(A) NULL next(A)
+ # Refs of upstream : main(A) bar(B) baz(A) next(A)
+ # Refs of workbench: main(B) bar(A) baz(A) next(A)
+ # git-push : main(B) bar(A) NULL next(A)
test_expect_success "atomic push failed ($PROTOCOL)" '
(
cd workbench &&
- git update-ref refs/heads/master $B &&
+ git update-ref refs/heads/main $B &&
git update-ref refs/heads/bar $A &&
test_must_fail git push --atomic --porcelain origin \
- master \
+ main \
bar \
:baz \
next
@@ -153,7 +153,7 @@ run_git_push_porcelain_output_test() {
= refs/heads/next:refs/heads/next [up to date]
! refs/heads/bar:refs/heads/bar [rejected] (non-fast-forward)
! (delete):refs/heads/baz [rejected] (atomic push failed)
- ! refs/heads/master:refs/heads/master [rejected] (atomic push failed)
+ ! refs/heads/main:refs/heads/main [rejected] (atomic push failed)
Done
EOF
test_cmp expect actual &&
@@ -163,7 +163,7 @@ run_git_push_porcelain_output_test() {
cat >expect <<-EOF &&
<COMMIT-B> refs/heads/bar
<COMMIT-A> refs/heads/baz
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
@@ -174,16 +174,16 @@ run_git_push_porcelain_output_test() {
EOF
'
- # Refs of upstream : master(A) bar(B) baz(A) next(A)
- # Refs of workbench: master(B) bar(A) baz(A) next(A)
- # git-push : master(B) bar(A) NULL next(A)
+ # Refs of upstream : main(A) bar(B) baz(A) next(A)
+ # Refs of workbench: main(B) bar(A) baz(A) next(A)
+ # git-push : main(B) bar(A) NULL next(A)
test_expect_success "pre-receive hook declined ($PROTOCOL)" '
(
cd workbench &&
- git update-ref refs/heads/master $B &&
+ git update-ref refs/heads/main $B &&
git update-ref refs/heads/bar $A &&
test_must_fail git push --porcelain --force origin \
- master \
+ main \
bar \
:baz \
next
@@ -194,7 +194,7 @@ run_git_push_porcelain_output_test() {
= refs/heads/next:refs/heads/next [up to date]
! refs/heads/bar:refs/heads/bar [remote rejected] (pre-receive hook declined)
! :refs/heads/baz [remote rejected] (pre-receive hook declined)
- ! refs/heads/master:refs/heads/master [remote rejected] (pre-receive hook declined)
+ ! refs/heads/main:refs/heads/main [remote rejected] (pre-receive hook declined)
Done
EOF
test_cmp expect actual &&
@@ -204,7 +204,7 @@ run_git_push_porcelain_output_test() {
cat >expect <<-EOF &&
<COMMIT-B> refs/heads/bar
<COMMIT-A> refs/heads/baz
- <COMMIT-A> refs/heads/master
+ <COMMIT-A> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
@@ -214,14 +214,14 @@ run_git_push_porcelain_output_test() {
rm "$upstream/hooks/pre-receive"
'
- # Refs of upstream : master(A) bar(B) baz(A) next(A)
- # Refs of workbench: master(B) bar(A) baz(A) next(A)
- # git-push : master(B) bar(A) NULL next(A)
+ # Refs of upstream : main(A) bar(B) baz(A) next(A)
+ # Refs of workbench: main(B) bar(A) baz(A) next(A)
+ # git-push : main(B) bar(A) NULL next(A)
test_expect_success "non-fastforward push ($PROTOCOL)" '
(
cd workbench &&
test_must_fail git push --porcelain origin \
- master \
+ main \
bar \
:baz \
next
@@ -231,7 +231,7 @@ run_git_push_porcelain_output_test() {
To <URL/of/upstream.git>
= refs/heads/next:refs/heads/next [up to date]
- :refs/heads/baz [deleted]
- refs/heads/master:refs/heads/master <OID-A>..<OID-B>
+ refs/heads/main:refs/heads/main <OID-A>..<OID-B>
! refs/heads/bar:refs/heads/bar [rejected] (non-fast-forward)
Done
EOF
@@ -241,7 +241,7 @@ run_git_push_porcelain_output_test() {
make_user_friendly_and_stable_output <out >actual &&
cat >expect <<-EOF &&
<COMMIT-B> refs/heads/bar
- <COMMIT-B> refs/heads/master
+ <COMMIT-B> refs/heads/main
<COMMIT-A> refs/heads/next
EOF
test_cmp expect actual
diff --git a/t/t5550-http-fetch-dumb.sh b/t/t5550-http-fetch-dumb.sh
index 483578b2d7..2ecb06bb63 100755
--- a/t/t5550-http-fetch-dumb.sh
+++ b/t/t5550-http-fetch-dumb.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='test dumb fetching over http via static file'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-httpd.sh
start_httpd
@@ -26,7 +29,7 @@ test_expect_success 'create http-accessible bare repository with loose objects'
hooks/post-update
) &&
git remote add public "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
- git push public master:master
+ git push public main:main
'
test_expect_success 'clone http repository' '
@@ -37,8 +40,8 @@ test_expect_success 'clone http repository' '
test_expect_success 'list refs from outside any repository' '
cat >expect <<-EOF &&
- $(git rev-parse master) HEAD
- $(git rev-parse master) refs/heads/master
+ $(git rev-parse main) HEAD
+ $(git rev-parse main) refs/heads/main
EOF
nongit git ls-remote "$HTTPD_URL/dumb/repo.git" >actual &&
test_cmp expect actual
@@ -181,8 +184,8 @@ test_expect_success 'fetch changes via manual http-fetch' '
HEAD=$(git rev-parse --verify HEAD) &&
(cd clone2 &&
- git http-fetch -a -w heads/master-new $HEAD $(git config remote.origin.url) &&
- git checkout master-new &&
+ git http-fetch -a -w heads/main-new $HEAD $(git config remote.origin.url) &&
+ git checkout main-new &&
test $HEAD = $(git rev-parse --verify HEAD)) &&
test_cmp file clone2/file
'
@@ -192,19 +195,19 @@ test_expect_success 'manual http-fetch without -a works just as well' '
HEAD=$(git rev-parse --verify HEAD) &&
(cd clone3 &&
- git http-fetch -w heads/master-new $HEAD $(git config remote.origin.url) &&
- git checkout master-new &&
+ git http-fetch -w heads/main-new $HEAD $(git config remote.origin.url) &&
+ git checkout main-new &&
test $HEAD = $(git rev-parse --verify HEAD)) &&
test_cmp file clone3/file
'
test_expect_success 'http remote detects correct HEAD' '
- git push public master:other &&
+ git push public main:other &&
(cd clone &&
git remote set-head origin -d &&
git remote set-head origin -a &&
git symbolic-ref refs/remotes/origin/HEAD > output &&
- echo refs/remotes/origin/master > expect &&
+ echo refs/remotes/origin/main > expect &&
test_cmp expect output
)
'
@@ -416,7 +419,7 @@ test_expect_success 'set up evil alternates scheme' '
evil=$HTTPD_DOCUMENT_ROOT_PATH/evil.git &&
git init --bare "$evil" &&
# do this by hand to avoid object existence check
- printf "%s\\t%s\\n" $sha1 refs/heads/master >"$evil/info/refs"
+ printf "%s\\t%s\\n" $sha1 refs/heads/main >"$evil/info/refs"
'
# Here we'll just redirect via HTTP. In a real-world attack these would be on
diff --git a/t/t5551-http-fetch-smart.sh b/t/t5551-http-fetch-smart.sh
index e40e9ed52f..984dba22af 100755
--- a/t/t5551-http-fetch-smart.sh
+++ b/t/t5551-http-fetch-smart.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='test smart fetching over http via http-backend'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-httpd.sh
start_httpd
@@ -18,7 +21,7 @@ test_expect_success 'create http-accessible bare repository' '
git --bare init
) &&
git remote add public "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
- git push public master:master
+ git push public main:main
'
setup_askpass_helper
@@ -238,9 +241,9 @@ test_expect_success 'invalid Content-Type rejected' '
test_expect_success 'create namespaced refs' '
test_commit namespaced &&
- git push public HEAD:refs/namespaces/ns/refs/heads/master &&
+ git push public HEAD:refs/namespaces/ns/refs/heads/main &&
git --git-dir="$HTTPD_DOCUMENT_ROOT_PATH/repo.git" \
- symbolic-ref refs/namespaces/ns/HEAD refs/namespaces/ns/refs/heads/master
+ symbolic-ref refs/namespaces/ns/HEAD refs/namespaces/ns/refs/heads/main
'
test_expect_success 'smart clone respects namespace' '
@@ -271,7 +274,7 @@ test_expect_success 'cookies stored in http.cookiefile when http.savecookies set
EOF
git config http.cookiefile cookies.txt &&
git config http.savecookies true &&
- git ls-remote $HTTPD_URL/smart_cookies/repo.git master &&
+ git ls-remote $HTTPD_URL/smart_cookies/repo.git main &&
# NEEDSWORK: If the overspecification of the expected result is reduced, we
# might be able to run this test in all protocol versions.
@@ -344,12 +347,12 @@ test_expect_success 'large fetch-pack requests can be sent using chunked encodin
test_expect_success 'test allowreachablesha1inwant' '
test_when_finished "rm -rf test_reachable.git" &&
server="$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
- master_sha=$(git -C "$server" rev-parse refs/heads/master) &&
+ main_sha=$(git -C "$server" rev-parse refs/heads/main) &&
git -C "$server" config uploadpack.allowreachablesha1inwant 1 &&
git init --bare test_reachable.git &&
git -C test_reachable.git remote add origin "$HTTPD_URL/smart/repo.git" &&
- git -C test_reachable.git fetch origin "$master_sha"
+ git -C test_reachable.git fetch origin "$main_sha"
'
test_expect_success 'test allowreachablesha1inwant with unreachable' '
@@ -363,7 +366,7 @@ test_expect_success 'test allowreachablesha1inwant with unreachable' '
git push public :refs/heads/doomed &&
server="$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
- master_sha=$(git -C "$server" rev-parse refs/heads/master) &&
+ main_sha=$(git -C "$server" rev-parse refs/heads/main) &&
git -C "$server" config uploadpack.allowreachablesha1inwant 1 &&
git init --bare test_reachable.git &&
@@ -385,7 +388,7 @@ test_expect_success 'test allowanysha1inwant with unreachable' '
git push public :refs/heads/doomed &&
server="$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
- master_sha=$(git -C "$server" rev-parse refs/heads/master) &&
+ main_sha=$(git -C "$server" rev-parse refs/heads/main) &&
git -C "$server" config uploadpack.allowreachablesha1inwant 1 &&
git init --bare test_reachable.git &&
@@ -444,8 +447,8 @@ test_expect_success 'using fetch command in remote-curl updates refs' '
test_commit -C "$SERVER" bar &&
git -C client -c protocol.version=0 fetch &&
- git -C "$SERVER" rev-parse master >expect &&
- git -C client rev-parse origin/master >actual &&
+ git -C "$SERVER" rev-parse main >expect &&
+ git -C client rev-parse origin/main >actual &&
test_cmp expect actual
'
diff --git a/t/t5552-skipping-fetch-negotiator.sh b/t/t5552-skipping-fetch-negotiator.sh
index 156c704040..7b9fb4ff02 100755
--- a/t/t5552-skipping-fetch-negotiator.sh
+++ b/t/t5552-skipping-fetch-negotiator.sh
@@ -100,7 +100,7 @@ test_expect_success 'use ref advertisement to filter out commits' '
git -C server checkout --orphan anotherbranch &&
test_commit -C server to_fetch &&
- # The server advertising "c3" (as "refs/heads/master") means that we do
+ # The server advertising "c3" (as "refs/heads/main") means that we do
# not need to send any ancestors of "c3", but we still need to send "c3"
# itself.
test_config -C client fetch.negotiationalgorithm skipping &&
diff --git a/t/t5553-set-upstream.sh b/t/t5553-set-upstream.sh
index 7622981cbf..b1d614ce18 100755
--- a/t/t5553-set-upstream.sh
+++ b/t/t5553-set-upstream.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='"git fetch/pull --set-upstream" basic tests.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
check_config () {
@@ -32,9 +35,9 @@ test_expect_success 'setup bare parent fetch' '
git remote add upstream parent
'
-test_expect_success 'setup commit on master and other fetch' '
+test_expect_success 'setup commit on main and other fetch' '
test_commit one &&
- git push upstream master &&
+ git push upstream main &&
git checkout -b other &&
test_commit two &&
git push upstream other
@@ -43,38 +46,38 @@ test_expect_success 'setup commit on master and other fetch' '
# tests for fetch --set-upstream
test_expect_success 'fetch --set-upstream does not set upstream w/o branch' '
- clear_config master other &&
- git checkout master &&
+ clear_config main other &&
+ git checkout main &&
git fetch --set-upstream upstream &&
- check_config_missing master &&
+ check_config_missing main &&
check_config_missing other
'
-test_expect_success 'fetch --set-upstream upstream master sets branch master but not other' '
- clear_config master other &&
- git fetch --set-upstream upstream master &&
- check_config master upstream refs/heads/master &&
+test_expect_success 'fetch --set-upstream upstream main sets branch main but not other' '
+ clear_config main other &&
+ git fetch --set-upstream upstream main &&
+ check_config main upstream refs/heads/main &&
check_config_missing other
'
test_expect_success 'fetch --set-upstream upstream other sets branch other' '
- clear_config master other &&
+ clear_config main other &&
git fetch --set-upstream upstream other &&
- check_config master upstream refs/heads/other &&
+ check_config main upstream refs/heads/other &&
check_config_missing other
'
-test_expect_success 'fetch --set-upstream master:other does not set the branch other2' '
+test_expect_success 'fetch --set-upstream main:other does not set the branch other2' '
clear_config other2 &&
- git fetch --set-upstream upstream master:other2 &&
+ git fetch --set-upstream upstream main:other2 &&
check_config_missing other2
'
test_expect_success 'fetch --set-upstream http://nosuchdomain.example.com fails with invalid url' '
- # master explicitly not cleared, we check that it is not touched from previous value
+ # main explicitly not cleared, we check that it is not touched from previous value
clear_config other other2 &&
test_must_fail git fetch --set-upstream http://nosuchdomain.example.com &&
- check_config master upstream refs/heads/other &&
+ check_config main upstream refs/heads/other &&
check_config_missing other &&
check_config_missing other2
'
@@ -83,7 +86,7 @@ test_expect_success 'fetch --set-upstream with valid URL sets upstream to URL' '
clear_config other other2 &&
url="file://$PWD" &&
git fetch --set-upstream "$url" &&
- check_config master "$url" HEAD &&
+ check_config main "$url" HEAD &&
check_config_missing other &&
check_config_missing other2
'
@@ -96,30 +99,30 @@ test_expect_success 'setup bare parent pull' '
git remote add upstream parent
'
-test_expect_success 'setup commit on master and other pull' '
+test_expect_success 'setup commit on main and other pull' '
test_commit three &&
- git push --tags upstream master &&
+ git push --tags upstream main &&
test_commit four &&
git push upstream other
'
-test_expect_success 'pull --set-upstream upstream master sets branch master but not other' '
- clear_config master other &&
- git pull --set-upstream upstream master &&
- check_config master upstream refs/heads/master &&
+test_expect_success 'pull --set-upstream upstream main sets branch main but not other' '
+ clear_config main other &&
+ git pull --set-upstream upstream main &&
+ check_config main upstream refs/heads/main &&
check_config_missing other
'
-test_expect_success 'pull --set-upstream master:other2 does not set the branch other2' '
+test_expect_success 'pull --set-upstream main:other2 does not set the branch other2' '
clear_config other2 &&
- git pull --set-upstream upstream master:other2 &&
+ git pull --set-upstream upstream main:other2 &&
check_config_missing other2
'
-test_expect_success 'pull --set-upstream upstream other sets branch master' '
- clear_config master other &&
+test_expect_success 'pull --set-upstream upstream other sets branch main' '
+ clear_config main other &&
git pull --set-upstream upstream other &&
- check_config master upstream refs/heads/other &&
+ check_config main upstream refs/heads/other &&
check_config_missing other
'
@@ -130,47 +133,47 @@ test_expect_success 'pull --set-upstream upstream tag does not set the tag' '
'
test_expect_success 'pull --set-upstream http://nosuchdomain.example.com fails with invalid url' '
- # master explicitly not cleared, we check that it is not touched from previous value
+ # main explicitly not cleared, we check that it is not touched from previous value
clear_config other other2 three &&
test_must_fail git pull --set-upstream http://nosuchdomain.example.com &&
- check_config master upstream refs/heads/other &&
+ check_config main upstream refs/heads/other &&
check_config_missing other &&
check_config_missing other2 &&
check_config_missing three
'
test_expect_success 'pull --set-upstream upstream HEAD sets branch HEAD' '
- clear_config master other &&
+ clear_config main other &&
git pull --set-upstream upstream HEAD &&
- check_config master upstream HEAD &&
+ check_config main upstream HEAD &&
git checkout other &&
git pull --set-upstream upstream HEAD &&
check_config other upstream HEAD
'
test_expect_success 'pull --set-upstream upstream with more than one branch does nothing' '
- clear_config master three &&
- git pull --set-upstream upstream master three &&
- check_config_missing master &&
+ clear_config main three &&
+ git pull --set-upstream upstream main three &&
+ check_config_missing main &&
check_config_missing three
'
test_expect_success 'pull --set-upstream with valid URL sets upstream to URL' '
- clear_config master other other2 &&
- git checkout master &&
+ clear_config main other other2 &&
+ git checkout main &&
url="file://$PWD" &&
git pull --set-upstream "$url" &&
- check_config master "$url" HEAD &&
+ check_config main "$url" HEAD &&
check_config_missing other &&
check_config_missing other2
'
test_expect_success 'pull --set-upstream with valid URL and branch sets branch' '
- clear_config master other other2 &&
- git checkout master &&
+ clear_config main other other2 &&
+ git checkout main &&
url="file://$PWD" &&
- git pull --set-upstream "$url" master &&
- check_config master "$url" refs/heads/master &&
+ git pull --set-upstream "$url" main &&
+ check_config main "$url" refs/heads/main &&
check_config_missing other &&
check_config_missing other2
'
diff --git a/t/t5560-http-backend-noserver.sh b/t/t5560-http-backend-noserver.sh
index 9fafcf1945..d30cf4f5b8 100755
--- a/t/t5560-http-backend-noserver.sh
+++ b/t/t5560-http-backend-noserver.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='test git-http-backend-noserver'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
HTTPD_DOCUMENT_ROOT_PATH="$TRASH_DIRECTORY"
diff --git a/t/t5561-http-backend.sh b/t/t5561-http-backend.sh
index 6eb0294978..9c57d84315 100755
--- a/t/t5561-http-backend.sh
+++ b/t/t5561-http-backend.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='test git-http-backend'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-httpd.sh
@@ -39,9 +42,9 @@ POST() {
grep '^[^#]' >exp <<EOF
-### refs/heads/master
+### refs/heads/main
###
-GET /smart/repo.git/refs/heads/master HTTP/1.1 404 -
+GET /smart/repo.git/refs/heads/main HTTP/1.1 404 -
### getanyfile default
###
diff --git a/t/t556x_common b/t/t556x_common
index 359fcfe32b..670fb89477 100755
--- a/t/t556x_common
+++ b/t/t556x_common
@@ -22,7 +22,7 @@ test_expect_success 'setup repository' '
: >objects/info/http-alternates
) &&
git remote add public "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
- git push public master:master &&
+ git push public main:main &&
(cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
git repack -a -d
@@ -31,7 +31,7 @@ test_expect_success 'setup repository' '
echo other >file &&
git add file &&
git commit -m two &&
- git push public master:master &&
+ git push public main:main &&
LOOSE_URL=$(find_file objects/??) &&
PACK_URL=$(find_file objects/pack/*.pack) &&
@@ -51,8 +51,8 @@ get_static_files() {
SMART=smart
GIT_HTTP_EXPORT_ALL=1 && export GIT_HTTP_EXPORT_ALL
-test_expect_success 'direct refs/heads/master not found' '
- GET refs/heads/master "404 Not Found"
+test_expect_success 'direct refs/heads/main not found' '
+ GET refs/heads/main "404 Not Found"
'
test_expect_success 'static file is ok' '
get_static_files "200 OK"
diff --git a/t/t5570-git-daemon.sh b/t/t5570-git-daemon.sh
index 34487bbb8c..82c31ab6cd 100755
--- a/t/t5570-git-daemon.sh
+++ b/t/t5570-git-daemon.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='test fetching over git protocol'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-git-daemon.sh
@@ -26,7 +29,7 @@ test_expect_success 'create git-accessible bare repository' '
: >git-daemon-export-ok
) &&
git remote add public "$GIT_DAEMON_DOCUMENT_ROOT_PATH/repo.git" &&
- git push public master:master
+ git push public main:main
'
test_expect_success 'clone git repository' '
@@ -55,12 +58,12 @@ test_expect_success 'no-op fetch without "-v" is quiet' '
'
test_expect_success 'remote detects correct HEAD' '
- git push public master:other &&
+ git push public main:other &&
(cd clone &&
git remote set-head -d origin &&
git remote set-head -a origin &&
git symbolic-ref refs/remotes/origin/HEAD > output &&
- echo refs/remotes/origin/master > expect &&
+ echo refs/remotes/origin/main > expect &&
test_cmp expect output
)
'
@@ -103,6 +106,11 @@ test_expect_success 'fetch notices corrupt idx' '
)
'
+test_expect_success 'client refuses to ask for repo with newline' '
+ test_must_fail git clone "$GIT_DAEMON_URL/repo$LF.git" dst 2>stderr &&
+ test_i18ngrep newline.is.forbidden stderr
+'
+
test_remote_error()
{
do_export=YesPlease
@@ -147,18 +155,18 @@ test_remote_error()
}
msg="access denied or repository not exported"
-test_expect_success 'clone non-existent' "test_remote_error '$msg' clone nowhere.git "
-test_expect_success 'push disabled' "test_remote_error '$msg' push repo.git master"
-test_expect_success 'read access denied' "test_remote_error -x '$msg' fetch repo.git "
-test_expect_success 'not exported' "test_remote_error -n '$msg' fetch repo.git "
+test_expect_success 'clone non-existent' "test_remote_error '$msg' clone nowhere.git"
+test_expect_success 'push disabled' "test_remote_error '$msg' push repo.git main"
+test_expect_success 'read access denied' "test_remote_error -x '$msg' fetch repo.git"
+test_expect_success 'not exported' "test_remote_error -n '$msg' fetch repo.git"
stop_git_daemon
start_git_daemon --informative-errors
-test_expect_success 'clone non-existent' "test_remote_error 'no such repository' clone nowhere.git "
-test_expect_success 'push disabled' "test_remote_error 'service not enabled' push repo.git master"
-test_expect_success 'read access denied' "test_remote_error -x 'no such repository' fetch repo.git "
-test_expect_success 'not exported' "test_remote_error -n 'repository not exported' fetch repo.git "
+test_expect_success 'clone non-existent' "test_remote_error 'no such repository' clone nowhere.git"
+test_expect_success 'push disabled' "test_remote_error 'service not enabled' push repo.git main"
+test_expect_success 'read access denied' "test_remote_error -x 'no such repository' fetch repo.git"
+test_expect_success 'not exported' "test_remote_error -n 'repository not exported' fetch repo.git"
stop_git_daemon
start_git_daemon --interpolated-path="$GIT_DAEMON_DOCUMENT_ROOT_PATH/%H%D"
@@ -192,10 +200,10 @@ test_expect_success FAKENC 'hostname interpolation works after LF-stripping' '
fake_nc "$GIT_DAEMON_HOST_PORT" <input >output &&
depacketize <output >output.raw &&
- # just pick out the value of master, which avoids any protocol
+ # just pick out the value of main, which avoids any protocol
# particulars
- perl -lne "print \$1 if m{^(\\S+) refs/heads/master}" <output.raw >actual &&
- git -C "$repo" rev-parse master >expect &&
+ perl -lne "print \$1 if m{^(\\S+) refs/heads/main}" <output.raw >actual &&
+ git -C "$repo" rev-parse main >expect &&
test_cmp expect actual
'
diff --git a/t/t5571-pre-push-hook.sh b/t/t5571-pre-push-hook.sh
index ac53d63869..ad8d5804f7 100755
--- a/t/t5571-pre-push-hook.sh
+++ b/t/t5571-pre-push-hook.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='check pre-push hooks'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# Setup hook that always succeeds
@@ -48,11 +51,11 @@ EOF
cat >expected <<EOF
parent1
repo1
-refs/heads/master $COMMIT2 refs/heads/foreign $COMMIT1
+refs/heads/main $COMMIT2 refs/heads/foreign $COMMIT1
EOF
test_expect_success 'push with hook' '
- git push parent1 master:foreign &&
+ git push parent1 main:foreign &&
diff expected actual
'
diff --git a/t/t5572-pull-submodule.sh b/t/t5572-pull-submodule.sh
index 1d75e3b12b..29537f4798 100755
--- a/t/t5572-pull-submodule.sh
+++ b/t/t5572-pull-submodule.sh
@@ -101,7 +101,12 @@ test_expect_success " --[no-]recurse-submodule and submodule.recurse" '
test_path_is_file super/sub/merge_strategy_4.t
'
-test_expect_success 'recursive rebasing pull' '
+test_expect_success 'pull --rebase --recurse-submodules (remote superproject submodule changes, local submodule changes)' '
+ # This tests the following scenario :
+ # - local submodule has new commits
+ # - local superproject does not have new commits
+ # - upstream superproject has new commits that change the submodule pointer
+
# change upstream
test_commit -C child rebase_strategy &&
git -C parent submodule update --remote &&
@@ -116,7 +121,10 @@ test_expect_success 'recursive rebasing pull' '
test_path_is_file super/sub/local_stuff.t
'
-test_expect_success 'pull rebase recursing fails with conflicts' '
+test_expect_success 'pull --rebase --recurse-submodules fails if both sides record submodule changes' '
+ # This tests the following scenario :
+ # - local superproject has new commits that change the submodule pointer
+ # - upstream superproject has new commits that change the submodule pointer
# local changes in submodule recorded in superproject:
test_commit -C super/sub local_stuff_2 &&
@@ -136,6 +144,50 @@ test_expect_success 'pull rebase recursing fails with conflicts' '
test_i18ngrep "locally recorded submodule modifications" err
'
+test_expect_success 'pull --rebase --recurse-submodules (no submodule changes, no fork-point)' '
+ # This tests the following scenario :
+ # - local submodule does not have new commits
+ # - local superproject has new commits that *do not* change the submodule pointer
+ # - upstream superproject has new commits that *do not* change the submodule pointer
+ # - local superproject branch has no fork-point with its remote-tracking counter-part
+
+ # create upstream superproject
+ test_create_repo submodule &&
+ test_commit -C submodule first_in_sub &&
+
+ test_create_repo superprojet &&
+ test_commit -C superprojet first_in_super &&
+ git -C superprojet submodule add ../submodule &&
+ git -C superprojet commit -m "add submodule" &&
+ test_commit -C superprojet third_in_super &&
+
+ # clone superproject
+ git clone --recurse-submodules superprojet superclone &&
+
+ # add commits upstream
+ test_commit -C superprojet fourth_in_super &&
+
+ # create topic branch in clone, not based on any remote-tracking branch
+ git -C superclone checkout -b feat HEAD~1 &&
+ test_commit -C superclone first_on_feat &&
+ git -C superclone pull --rebase --recurse-submodules origin HEAD
+'
+
+# NOTE:
+#
+# This test is particular because there is only a single commit in the upstream superproject
+# 'parent' (which adds the submodule 'a-submodule'). The clone of the superproject
+# ('child') hard-resets its branch to a new root commit with the same tree as the one
+# from the upstream superproject, so that its branch has no merge-base with its
+# remote-tracking counterpart, and then calls 'git pull --recurse-submodules --rebase'.
+# The result is that the local branch is reset to the remote-tracking branch (as it was
+# originally before the hard-reset).
+
+# The only commit in the range generated by 'submodule.c::submodule_touches_in_range' and
+# passed to 'submodule.c::collect_changed_submodules' is the new (regenerated) initial commit,
+# which adds the submodule.
+# However, 'submodule_touches_in_range' does not error (even though this commit adds the submodule)
+# because 'combine-diff.c::diff_tree_combined' returns early, as the initial commit has no parents.
test_expect_success 'branch has no merge base with remote-tracking counterpart' '
rm -rf parent child &&
@@ -148,8 +200,8 @@ test_expect_success 'branch has no merge base with remote-tracking counterpart'
git clone parent child &&
- # Reset master so that it has no merge base with
- # refs/remotes/origin/master.
+ # Reset the current branch so that it has no merge base with
+ # the remote-tracking branch.
OTHER=$(git -C child commit-tree -m bar \
$(git -C child rev-parse HEAD^{tree})) &&
git -C child reset --hard "$OTHER" &&
diff --git a/t/t5580-unc-paths.sh b/t/t5580-unc-paths.sh
index cf768b3a27..cd803ae8bf 100755
--- a/t/t5580-unc-paths.sh
+++ b/t/t5580-unc-paths.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='various Windows-only path tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
if test_have_prereq CYGWIN
@@ -53,7 +56,7 @@ test_expect_success fetch '
git init to-fetch &&
(
cd to-fetch &&
- git fetch "$UNCPATH" master
+ git fetch "$UNCPATH" main
)
'
diff --git a/t/t5581-http-curl-verbose.sh b/t/t5581-http-curl-verbose.sh
index 927aad0820..cded79c16b 100755
--- a/t/t5581-http-curl-verbose.sh
+++ b/t/t5581-http-curl-verbose.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='test GIT_CURL_VERBOSE'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-httpd.sh
start_httpd
@@ -13,7 +16,7 @@ test_expect_success 'setup repository' '
git add file &&
git commit -m one &&
git remote add public "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
- git push public master:master
+ git push public main:main
'
test_expect_success 'failure in git-upload-pack is shown' '
diff --git a/t/t5582-fetch-negative-refspec.sh b/t/t5582-fetch-negative-refspec.sh
index 8c61e28fec..f345097277 100755
--- a/t/t5582-fetch-negative-refspec.sh
+++ b/t/t5582-fetch-negative-refspec.sh
@@ -5,6 +5,9 @@ test_description='"git fetch" with negative refspecs.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -22,12 +25,12 @@ test_expect_success "clone and setup child repos" '
git switch -c alternate &&
echo >file updated again by one &&
git commit -a -m "updated by one again" &&
- git switch master
+ git switch main
) &&
git clone . two &&
(
cd two &&
- git config branch.master.remote one &&
+ git config branch.main.remote one &&
git config remote.one.url ../one/.git/ &&
git config remote.one.fetch +refs/heads/*:refs/remotes/one/* &&
git config --add remote.one.fetch ^refs/heads/alternate
@@ -43,9 +46,9 @@ test_expect_success "fetch one" '
test_must_fail git rev-parse --verify refs/remotes/one/alternate &&
git fetch one &&
test_must_fail git rev-parse --verify refs/remotes/one/alternate &&
- git rev-parse --verify refs/remotes/one/master &&
- mine=$(git rev-parse refs/remotes/one/master) &&
- his=$(cd ../one && git rev-parse refs/heads/master) &&
+ git rev-parse --verify refs/remotes/one/main &&
+ mine=$(git rev-parse refs/remotes/one/main) &&
+ his=$(cd ../one && git rev-parse refs/heads/main) &&
test "z$mine" = "z$his"
)
'
@@ -57,7 +60,7 @@ test_expect_success "fetch with negative refspec on commandline" '
cd three &&
alternate_in_one=$(cd ../one && git rev-parse refs/heads/alternate) &&
echo $alternate_in_one >expect &&
- git fetch ../one/.git refs/heads/*:refs/remotes/one/* ^refs/heads/master &&
+ git fetch ../one/.git refs/heads/*:refs/remotes/one/* ^refs/heads/main &&
cut -f -1 .git/FETCH_HEAD >actual &&
test_cmp expect actual
)
@@ -68,8 +71,8 @@ test_expect_success "fetch with negative sha1 refspec fails" '
git commit -a -m "updated by origin yet again" &&
(
cd three &&
- master_in_one=$(cd ../one && git rev-parse refs/heads/master) &&
- test_must_fail git fetch ../one/.git refs/heads/*:refs/remotes/one/* ^$master_in_one
+ main_in_one=$(cd ../one && git rev-parse refs/heads/main) &&
+ test_must_fail git fetch ../one/.git refs/heads/*:refs/remotes/one/* ^$main_in_one
)
'
@@ -92,10 +95,10 @@ test_expect_success "fetch with negative pattern refspec does not expand prefix"
(
cd three &&
alternate_in_one=$(cd ../one && git rev-parse refs/heads/alternate) &&
- master_in_one=$(cd ../one && git rev-parse refs/heads/master) &&
+ main_in_one=$(cd ../one && git rev-parse refs/heads/main) &&
echo $alternate_in_one >expect &&
- echo $master_in_one >>expect &&
- git fetch ../one/.git refs/heads/*:refs/remotes/one/* ^master &&
+ echo $main_in_one >>expect &&
+ git fetch ../one/.git refs/heads/*:refs/remotes/one/* ^main &&
cut -f -1 .git/FETCH_HEAD >actual &&
test_cmp expect actual
)
@@ -186,4 +189,55 @@ test_expect_success "fetch --prune with negative refspec" '
)
'
+test_expect_success "push with matching : and negative refspec" '
+ # Manually handle cleanup, since test_config is not
+ # prepared to take arbitrary options like --add
+ test_when_finished "test_unconfig -C two remote.one.push" &&
+
+ # For convenience, we use "master" to refer to the name of
+ # the branch created by default in the following.
+ #
+ # Repositories two and one have branches other than "master"
+ # but they have no overlap---"master" is the only one that
+ # is shared between them. And the master branch at two is
+ # behind the master branch at one by one commit.
+ git -C two config --add remote.one.push : &&
+
+ # A matching push tries to update master, fails due to non-ff
+ test_must_fail git -C two push one &&
+
+ # "master" may actually not be "master"---find it out.
+ current=$(git symbolic-ref HEAD) &&
+
+ # If master is in negative refspec, then the command will not attempt
+ # to push and succeed.
+ git -C two config --add remote.one.push "^$current" &&
+
+ # With "master" excluded, this push is a no-op. Nothing gets
+ # pushed and it succeeds.
+ git -C two push -v one
+'
+
+test_expect_success "push with matching +: and negative refspec" '
+ test_when_finished "test_unconfig -C two remote.one.push" &&
+
+ # The same set-up as above, whose side-effect was a no-op.
+ git -C two config --add remote.one.push +: &&
+
+ # The push refuses to update the "master" branch that is checked
+ # out in the "one" repository, even when it is forced with +:
+ test_must_fail git -C two push one &&
+
+ # "master" may actually not be "master"---find it out.
+ current=$(git symbolic-ref HEAD) &&
+
+ # If master is in negative refspec, then the command will not attempt
+ # to push and succeed
+ git -C two config --add remote.one.push "^$current" &&
+
+ # With "master" excluded, this push is a no-op. Nothing gets
+ # pushed and it succeeds.
+ git -C two push -v one
+'
+
test_done
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
index 7df3c5373a..664c913866 100755
--- a/t/t5601-clone.sh
+++ b/t/t5601-clone.sh
@@ -2,6 +2,9 @@
test_description=clone
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
X=
@@ -217,7 +220,7 @@ test_expect_success 'clone respects global branch.autosetuprebase' '
rm -fr dst &&
git clone src dst &&
cd dst &&
- actual="z$(git config branch.master.rebase)" &&
+ actual="z$(git config branch.main.rebase)" &&
test ztrue = $actual
)
'
@@ -591,7 +594,7 @@ test_expect_success 'clone from a repository with two identical branches' '
(
cd src &&
- git checkout -b another master
+ git checkout -b another main
) &&
git clone src target-11 &&
test "z$( cd target-11 && git symbolic-ref HEAD )" = zrefs/heads/another
diff --git a/t/t5604-clone-reference.sh b/t/t5604-clone-reference.sh
index 2f7be23044..5d682706ae 100755
--- a/t/t5604-clone-reference.sh
+++ b/t/t5604-clone-reference.sh
@@ -4,6 +4,9 @@
#
test_description='test clone --reference'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
base_dir=$(pwd)
@@ -49,7 +52,7 @@ test_expect_success 'existence of info/alternates' '
'
test_expect_success 'pulling from reference' '
- git -C C pull ../B master
+ git -C C pull ../B main
'
test_expect_success 'that reference gets used' '
@@ -70,7 +73,7 @@ test_expect_success 'existence of info/alternates' '
'
test_expect_success 'pulling from reference' '
- git -C D pull ../B master
+ git -C D pull ../B main
'
test_expect_success 'that reference gets used' '
@@ -136,11 +139,11 @@ test_expect_success 'prepare branched repository' '
git clone A J &&
(
cd J &&
- git checkout -b other master^ &&
+ git checkout -b other main^ &&
echo other >otherfile &&
git add otherfile &&
git commit -m other &&
- git checkout master
+ git checkout main
)
'
@@ -152,9 +155,9 @@ test_expect_success 'fetch with incomplete alternates' '
git remote add J "file://$base_dir/J" &&
GIT_TRACE_PACKET=$U.K git fetch J
) &&
- master_object=$(cd A && git for-each-ref --format="%(objectname)" refs/heads/master) &&
+ main_object=$(cd A && git for-each-ref --format="%(objectname)" refs/heads/main) &&
test -s "$U.K" &&
- ! grep " want $master_object" "$U.K" &&
+ ! grep " want $main_object" "$U.K" &&
tag_object=$(cd A && git for-each-ref --format="%(objectname)" refs/tags/HEAD) &&
! grep " want $tag_object" "$U.K"
'
diff --git a/t/t5605-clone-local.sh b/t/t5605-clone-local.sh
index af23419ebf..7d63365f93 100755
--- a/t/t5605-clone-local.sh
+++ b/t/t5605-clone-local.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='test local clone'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
repo_is_hardlinked() {
@@ -15,7 +18,7 @@ test_expect_success 'preparing origin repository' '
test "$(cd a.git && git config --bool core.bare)" = true &&
test "$(cd x && git config --bool core.bare)" = true &&
git bundle create b1.bundle --all &&
- git bundle create b2.bundle master &&
+ git bundle create b2.bundle main &&
mkdir dir &&
cp b1.bundle dir/b3 &&
cp b1.bundle b4
@@ -84,7 +87,7 @@ test_expect_success 'bundle clone with nonexistent HEAD' '
git clone b2.bundle b2 &&
(cd b2 &&
git fetch &&
- test_must_fail git rev-parse --verify refs/heads/master)
+ test_must_fail git rev-parse --verify refs/heads/main)
'
test_expect_success 'clone empty repository' '
@@ -98,9 +101,9 @@ test_expect_success 'clone empty repository' '
echo "content" >> foo &&
git add foo &&
git commit -m "Initial commit" &&
- git push origin master &&
- expected=$(git rev-parse master) &&
- actual=$(git --git-dir=../empty/.git rev-parse master) &&
+ git push origin main &&
+ expected=$(git rev-parse main) &&
+ actual=$(git --git-dir=../empty/.git rev-parse main) &&
test $actual = $expected)
'
diff --git a/t/t5606-clone-options.sh b/t/t5606-clone-options.sh
index 5e201e7d85..5d6e63a841 100755
--- a/t/t5606-clone-options.sh
+++ b/t/t5606-clone-options.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='basic clone options'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -15,7 +18,7 @@ test_expect_success 'setup' '
test_expect_success 'clone -o' '
git clone -o foo parent clone-o &&
- git -C clone-o rev-parse --verify refs/remotes/foo/master
+ git -C clone-o rev-parse --verify refs/remotes/foo/main
'
@@ -45,7 +48,7 @@ test_expect_success 'disallows --bare with --separate-git-dir' '
test_expect_success 'uses "origin" for default remote name' '
git clone parent clone-default-origin &&
- git -C clone-default-origin rev-parse --verify refs/remotes/origin/master
+ git -C clone-default-origin rev-parse --verify refs/remotes/origin/main
'
@@ -74,14 +77,14 @@ test_expect_success 'prefers config "clone.defaultRemoteName" over default' '
test_config_global clone.defaultRemoteName from_config &&
git clone parent clone-config-origin &&
- git -C clone-config-origin rev-parse --verify refs/remotes/from_config/master
+ git -C clone-config-origin rev-parse --verify refs/remotes/from_config/main
'
test_expect_success 'prefers --origin over -c config' '
git clone -c clone.defaultRemoteName=inline --origin from_option parent clone-o-and-inline-config &&
- git -C clone-o-and-inline-config rev-parse --verify refs/remotes/from_option/master
+ git -C clone-o-and-inline-config rev-parse --verify refs/remotes/from_option/main
'
@@ -103,6 +106,7 @@ test_expect_success 'redirected clone -v does show progress' '
test_expect_success 'chooses correct default initial branch name' '
git init --bare empty &&
+ GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME= \
git -c init.defaultBranch=up clone empty whats-up &&
test refs/heads/up = $(git -C whats-up symbolic-ref HEAD) &&
test refs/heads/up = $(git -C whats-up config branch.up.merge)
@@ -117,9 +121,11 @@ test_expect_success 'guesses initial branch name correctly' '
git -c init.defaultBranch=none init --bare no-head &&
git -C initial-branch push ../no-head guess abc &&
+ GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME= \
git clone no-head is-it2 &&
test_must_fail git -C is-it2 symbolic-ref refs/remotes/origin/HEAD &&
git -C no-head update-ref --no-deref HEAD refs/heads/guess &&
+ GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME= \
git -c init.defaultBranch=guess clone no-head is-it3 &&
test refs/remotes/origin/guess = \
$(git -C is-it3 symbolic-ref refs/remotes/origin/HEAD)
diff --git a/t/t5607-clone-bundle.sh b/t/t5607-clone-bundle.sh
index 26985f4b44..f4c383cd5c 100755
--- a/t/t5607-clone-bundle.sh
+++ b/t/t5607-clone-bundle.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='some bundle related tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -19,7 +22,7 @@ test_expect_success 'setup' '
'
test_expect_success '"verify" needs a worktree' '
- git bundle create tip.bundle -1 master &&
+ git bundle create tip.bundle -1 main &&
nongit test_must_fail git bundle verify ../tip.bundle 2>err &&
test_i18ngrep "need a repository" err
'
@@ -38,16 +41,16 @@ test_expect_success 'die if bundle file cannot be created' '
test_must_fail git bundle create adir --all
'
-test_expect_failure 'bundle --stdin' '
- echo master | git bundle create stdin-bundle.bdl --stdin &&
+test_expect_success 'bundle --stdin' '
+ echo main | git bundle create stdin-bundle.bdl --stdin &&
git ls-remote stdin-bundle.bdl >output &&
- grep master output
+ grep main output
'
-test_expect_failure 'bundle --stdin <rev-list options>' '
- echo master | git bundle create hybrid-bundle.bdl --stdin tag &&
+test_expect_success 'bundle --stdin <rev-list options>' '
+ echo main | git bundle create hybrid-bundle.bdl --stdin tag &&
git ls-remote hybrid-bundle.bdl >output &&
- grep master output
+ grep main output
'
test_expect_success 'empty bundle file is rejected' '
@@ -83,14 +86,14 @@ test_expect_success 'prerequisites with an empty commit message' '
test_expect_success 'failed bundle creation does not leave cruft' '
# This fails because the bundle would be empty.
- test_must_fail git bundle create fail.bundle master..master &&
+ test_must_fail git bundle create fail.bundle main..main &&
test_path_is_missing fail.bundle.lock
'
test_expect_success 'fetch SHA-1 from bundle' '
test_create_repo foo &&
test_commit -C foo x &&
- git -C foo bundle create tip.bundle -1 master &&
+ git -C foo bundle create tip.bundle -1 main &&
git -C foo rev-parse HEAD >hash &&
# Exercise to ensure that fetching a SHA-1 from a bundle works with no
diff --git a/t/t5608-clone-2gb.sh b/t/t5608-clone-2gb.sh
index 4c476d2fa1..87a8cd9f98 100755
--- a/t/t5608-clone-2gb.sh
+++ b/t/t5608-clone-2gb.sh
@@ -26,7 +26,7 @@ test_expect_success 'setup' '
i=$(($i+1)) ||
echo $? > exit-status
done &&
- echo "commit refs/heads/master" &&
+ echo "commit refs/heads/main" &&
echo "author A U Thor <author@email.com> 123456789 +0000" &&
echo "committer C O Mitter <committer@email.com> 123456789 +0000" &&
echo "data 5" &&
diff --git a/t/t5609-clone-branch.sh b/t/t5609-clone-branch.sh
index 6e7a7be052..f86a674a03 100755
--- a/t/t5609-clone-branch.sh
+++ b/t/t5609-clone-branch.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='clone --branch option'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
check_HEAD() {
@@ -20,7 +23,7 @@ test_expect_success 'setup' '
echo one >file && git add file && git commit -m one &&
git checkout -b two &&
echo two >file && git add file && git commit -m two &&
- git checkout master) &&
+ git checkout main) &&
mkdir empty &&
(cd empty && git init)
'
@@ -28,7 +31,7 @@ test_expect_success 'setup' '
test_expect_success 'vanilla clone chooses HEAD' '
git clone parent clone &&
(cd clone &&
- check_HEAD master &&
+ check_HEAD main &&
check_file one
)
'
@@ -53,7 +56,7 @@ test_expect_success 'clone -b sets up tracking' '
test_expect_success 'clone -b does not munge remotes/origin/HEAD' '
(cd clone-two &&
- echo refs/remotes/origin/master >expect &&
+ echo refs/remotes/origin/main >expect &&
git symbolic-ref refs/remotes/origin/HEAD >actual &&
test_cmp expect actual
)
diff --git a/t/t5610-clone-detached.sh b/t/t5610-clone-detached.sh
index 8b0d607df1..a7ec21eda5 100755
--- a/t/t5610-clone-detached.sh
+++ b/t/t5610-clone-detached.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='test cloning a repository with detached HEAD'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
head_is_detached() {
@@ -20,7 +23,7 @@ test_expect_success 'setup' '
'
test_expect_success 'clone repo (detached HEAD points to branch)' '
- git checkout master^0 &&
+ git checkout main^0 &&
git clone "file://$PWD" detached-branch
'
test_expect_success 'cloned HEAD matches' '
@@ -59,7 +62,7 @@ test_expect_success 'cloned HEAD is detached' '
'
test_expect_success 'clone repo (orphan detached HEAD)' '
- git checkout master^0 &&
+ git checkout main^0 &&
echo four >file &&
git commit -a -m four &&
git clone "file://$PWD" detached-orphan
diff --git a/t/t5611-clone-config.sh b/t/t5611-clone-config.sh
index 8e0fd39823..9f555b87ec 100755
--- a/t/t5611-clone-config.sh
+++ b/t/t5611-clone-config.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='tests for git clone -c key=value'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'clone -c sets config in cloned repo' '
@@ -47,16 +50,16 @@ test_expect_success 'clone -c config is available during clone' '
test_expect_success 'clone -c remote.origin.fetch=<refspec> works' '
rm -rf child &&
- git update-ref refs/grab/it refs/heads/master &&
- git update-ref refs/leave/out refs/heads/master &&
+ git update-ref refs/grab/it refs/heads/main &&
+ git update-ref refs/leave/out refs/heads/main &&
git clone -c "remote.origin.fetch=+refs/grab/*:refs/grab/*" . child &&
git -C child for-each-ref --format="%(refname)" >actual &&
cat >expect <<-\EOF &&
refs/grab/it
- refs/heads/master
+ refs/heads/main
refs/remotes/origin/HEAD
- refs/remotes/origin/master
+ refs/remotes/origin/main
EOF
test_cmp expect actual
'
@@ -68,9 +71,9 @@ test_expect_success 'git -c remote.origin.fetch=<refspec> clone works' '
cat >expect <<-\EOF &&
refs/grab/it
- refs/heads/master
+ refs/heads/main
refs/remotes/origin/HEAD
- refs/remotes/origin/master
+ refs/remotes/origin/main
EOF
test_cmp expect actual
'
@@ -85,9 +88,9 @@ test_expect_success 'clone -c remote.<remote>.fetch=<refspec> --origin=<name>' '
cat >expect <<-\EOF &&
refs/grab/it
- refs/heads/master
+ refs/heads/main
refs/remotes/upstream/HEAD
- refs/remotes/upstream/master
+ refs/remotes/upstream/main
EOF
test_cmp expect actual
'
diff --git a/t/t5612-clone-refspec.sh b/t/t5612-clone-refspec.sh
index e3b436d8ae..6a6af7449c 100755
--- a/t/t5612-clone-refspec.sh
+++ b/t/t5612-clone-refspec.sh
@@ -1,10 +1,13 @@
#!/bin/sh
test_description='test refspec written by clone-command'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
- # Make two branches, "master" and "side"
+ # Make two branches, "main" and "side"
echo one >file &&
git add file &&
git commit -m one &&
@@ -16,7 +19,7 @@ test_expect_success 'setup' '
git checkout -b side &&
echo four >file &&
git commit -a -m four &&
- git checkout master &&
+ git checkout main &&
git tag five &&
# default clone
@@ -25,18 +28,18 @@ test_expect_success 'setup' '
# default clone --no-tags
git clone --no-tags . dir_all_no_tags &&
- # default --single that follows HEAD=master
- git clone --single-branch . dir_master &&
+ # default --single that follows HEAD=main
+ git clone --single-branch . dir_main &&
- # default --single that follows HEAD=master with no tags
- git clone --single-branch --no-tags . dir_master_no_tags &&
+ # default --single that follows HEAD=main with no tags
+ git clone --single-branch --no-tags . dir_main_no_tags &&
# default --single that follows HEAD=side
git checkout side &&
git clone --single-branch . dir_side &&
# explicit --single that follows side
- git checkout master &&
+ git checkout main &&
git clone --single-branch --branch side . dir_side2 &&
# default --single with --mirror
@@ -55,11 +58,11 @@ test_expect_success 'setup' '
# explicit --single with tag and --no-tags
git clone --single-branch --no-tags --branch two . dir_tag_no_tags &&
- # advance both "master" and "side" branches
+ # advance both "main" and "side" branches
git checkout side &&
echo five >file &&
git commit -a -m five &&
- git checkout master &&
+ git checkout main &&
echo six >file &&
git commit -a -m six &&
@@ -75,7 +78,7 @@ test_expect_success 'by default all branches will be kept updated' '
sed -e "/HEAD$/d" \
-e "s|/remotes/origin/|/heads/|" refs >../actual
) &&
- # follow both master and side
+ # follow both main and side
git for-each-ref refs/heads >expect &&
test_cmp expect actual
'
@@ -100,20 +103,20 @@ test_expect_success 'clone with --no-tags' '
test_must_be_empty actual
'
-test_expect_success '--single-branch while HEAD pointing at master' '
+test_expect_success '--single-branch while HEAD pointing at main' '
(
- cd dir_master &&
+ cd dir_main &&
git fetch --force &&
git for-each-ref refs/remotes/origin >refs &&
sed -e "/HEAD$/d" \
-e "s|/remotes/origin/|/heads/|" refs >../actual
) &&
- # only follow master
- git for-each-ref refs/heads/master >expect &&
+ # only follow main
+ git for-each-ref refs/heads/main >expect &&
# get & check latest tags
test_cmp expect actual &&
(
- cd dir_master &&
+ cd dir_main &&
git fetch --tags --force &&
git for-each-ref refs/tags >../actual
) &&
@@ -122,20 +125,20 @@ test_expect_success '--single-branch while HEAD pointing at master' '
test_line_count = 2 actual
'
-test_expect_success '--single-branch while HEAD pointing at master and --no-tags' '
+test_expect_success '--single-branch while HEAD pointing at main and --no-tags' '
(
- cd dir_master_no_tags &&
+ cd dir_main_no_tags &&
git fetch &&
git for-each-ref refs/remotes/origin >refs &&
sed -e "/HEAD$/d" \
-e "s|/remotes/origin/|/heads/|" refs >../actual
) &&
- # only follow master
- git for-each-ref refs/heads/master >expect &&
+ # only follow main
+ git for-each-ref refs/heads/main >expect &&
test_cmp expect actual &&
# get tags (noop)
(
- cd dir_master_no_tags &&
+ cd dir_main_no_tags &&
git fetch &&
git for-each-ref refs/tags >../actual
) &&
@@ -143,7 +146,7 @@ test_expect_success '--single-branch while HEAD pointing at master and --no-tags
test_line_count = 0 actual &&
# get tags with --tags overrides tagOpt
(
- cd dir_master_no_tags &&
+ cd dir_main_no_tags &&
git fetch --tags &&
git for-each-ref refs/tags >../actual
) &&
diff --git a/t/t5614-clone-submodules-shallow.sh b/t/t5614-clone-submodules-shallow.sh
index e4e6ea4d52..5504b519c7 100755
--- a/t/t5614-clone-submodules-shallow.sh
+++ b/t/t5614-clone-submodules-shallow.sh
@@ -7,7 +7,7 @@ test_description='Test shallow cloning of repos with submodules'
pwd=$(pwd)
test_expect_success 'setup' '
- git checkout -b master &&
+ git checkout -b main &&
test_commit commit1 &&
test_commit commit2 &&
mkdir sub &&
diff --git a/t/t5616-partial-clone.sh b/t/t5616-partial-clone.sh
index f4d49d8335..5cb415386e 100755
--- a/t/t5616-partial-clone.sh
+++ b/t/t5616-partial-clone.sh
@@ -2,6 +2,9 @@
test_description='git partial clone'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# create a normal "src" repo where we can later create new commits.
@@ -51,14 +54,14 @@ test_expect_success 'verify that .promisor file contains refs fetched' '
test_line_count = 1 promisorlist &&
git -C srv.bare rev-parse --verify HEAD >headhash &&
grep "$(cat headhash) HEAD" $(cat promisorlist) &&
- grep "$(cat headhash) refs/heads/master" $(cat promisorlist)
+ grep "$(cat headhash) refs/heads/main" $(cat promisorlist)
'
-# checkout master to force dynamic object fetch of blobs at HEAD.
+# checkout main to force dynamic object fetch of blobs at HEAD.
test_expect_success 'verify checkout with dynamic object fetch' '
git -C pc1 rev-list --quiet --objects --missing=print HEAD >observed &&
test_line_count = 4 observed &&
- git -C pc1 checkout master &&
+ git -C pc1 checkout main &&
git -C pc1 rev-list --quiet --objects --missing=print HEAD >observed &&
test_line_count = 0 observed
'
@@ -73,8 +76,8 @@ test_expect_success 'push new commits to server' '
git -C src add file.1.txt
git -C src commit -m "mod $x"
done &&
- git -C src blame master -- file.1.txt >expect.blame &&
- git -C src push -u srv master
+ git -C src blame main -- file.1.txt >expect.blame &&
+ git -C src push -u srv main
'
# (partial) fetch in the partial clone repo from the promisor remote.
@@ -83,26 +86,26 @@ test_expect_success 'push new commits to server' '
test_expect_success 'partial fetch inherits filter settings' '
git -C pc1 fetch origin &&
git -C pc1 rev-list --quiet --objects --missing=print \
- master..origin/master >observed &&
+ main..origin/main >observed &&
test_line_count = 5 observed
'
# force dynamic object fetch using diff.
-# we should only get 1 new blob (for the file in origin/master).
+# we should only get 1 new blob (for the file in origin/main).
test_expect_success 'verify diff causes dynamic object fetch' '
- git -C pc1 diff master..origin/master -- file.1.txt &&
+ git -C pc1 diff main..origin/main -- file.1.txt &&
git -C pc1 rev-list --quiet --objects --missing=print \
- master..origin/master >observed &&
+ main..origin/main >observed &&
test_line_count = 4 observed
'
# force full dynamic object fetch of the file's history using blame.
# we should get the intermediate blobs for the file.
test_expect_success 'verify blame causes dynamic object fetch' '
- git -C pc1 blame origin/master -- file.1.txt >observed.blame &&
+ git -C pc1 blame origin/main -- file.1.txt >observed.blame &&
test_cmp expect.blame observed.blame &&
git -C pc1 rev-list --quiet --objects --missing=print \
- master..origin/master >observed &&
+ main..origin/main >observed &&
test_line_count = 0 observed
'
@@ -115,7 +118,7 @@ test_expect_success 'push new commits to server for file.2.txt' '
git -C src add file.2.txt
git -C src commit -m "mod $x"
done &&
- git -C src push -u srv master
+ git -C src push -u srv main
'
# Do FULL fetch by disabling inherited filter-spec using --no-filter.
@@ -123,7 +126,7 @@ test_expect_success 'push new commits to server for file.2.txt' '
test_expect_success 'override inherited filter-spec using --no-filter' '
git -C pc1 fetch --no-filter origin &&
git -C pc1 rev-list --quiet --objects --missing=print \
- master..origin/master >observed &&
+ main..origin/main >observed &&
test_line_count = 0 observed
'
@@ -136,7 +139,7 @@ test_expect_success 'push new commits to server for file.3.txt' '
git -C src add file.3.txt
git -C src commit -m "mod $x"
done &&
- git -C src push -u srv master
+ git -C src push -u srv main
'
# Do a partial fetch and then try to manually fetch the missing objects.
@@ -146,7 +149,7 @@ test_expect_success 'manual prefetch of missing objects' '
git -C pc1 fetch --filter=blob:none origin &&
git -C pc1 rev-list --quiet --objects --missing=print \
- master..origin/master >revs &&
+ main..origin/main >revs &&
awk -f print_1.awk revs |
sed "s/?//" |
sort >observed.oids &&
@@ -155,7 +158,7 @@ test_expect_success 'manual prefetch of missing objects' '
git -C pc1 fetch-pack --stdin "file://$(pwd)/srv.bare" <observed.oids &&
git -C pc1 rev-list --quiet --objects --missing=print \
- master..origin/master >revs &&
+ main..origin/main >revs &&
awk -f print_1.awk revs |
sed "s/?//" |
sort >observed.oids &&
@@ -196,7 +199,7 @@ test_expect_success 'use fsck before and after manually fetching a missing subtr
echo "in dir" >src/dir/file.txt &&
git -C src add dir/file.txt &&
git -C src commit -m "file in dir" &&
- git -C src push -u srv master &&
+ git -C src push -u srv main &&
SUBTREE=$(git -C src rev-parse HEAD:dir) &&
rm -rf dst &&
@@ -204,7 +207,7 @@ test_expect_success 'use fsck before and after manually fetching a missing subtr
git -C dst fsck &&
# Make sure we only have commits, and all trees and blobs are missing.
- git -C dst rev-list --missing=allow-any --objects master \
+ git -C dst rev-list --missing=allow-any --objects main \
>fetched_objects &&
awk -f print_1.awk fetched_objects |
xargs -n1 git -C dst cat-file -t >fetched_types &&
@@ -221,7 +224,7 @@ test_expect_success 'use fsck before and after manually fetching a missing subtr
git -C dst fsck &&
# Auto-fetch all remaining trees and blobs with --missing=error
- git -C dst rev-list --missing=error --objects master >fetched_objects &&
+ git -C dst rev-list --missing=error --objects main >fetched_objects &&
test_line_count = 70 fetched_objects &&
awk -f print_1.awk fetched_objects |
@@ -251,6 +254,14 @@ test_expect_success 'implicitly construct combine: filter with repeated flags' '
test_cmp unique_types.expected unique_types.actual
'
+test_expect_success 'upload-pack complains of bogus filter config' '
+ printf 0000 |
+ test_must_fail git \
+ -c uploadpackfilter.tree.maxdepth \
+ upload-pack . >/dev/null 2>err &&
+ test_i18ngrep "unable to parse.*tree.maxdepth" err
+'
+
test_expect_success 'upload-pack fails banned object filters' '
test_config -C srv.bare uploadpackfilter.blob:none.allow false &&
test_must_fail ok=sigpipe git clone --no-checkout --filter=blob:none \
@@ -281,7 +292,15 @@ test_expect_success 'upload-pack limits tree depth filters' '
test_config -C srv.bare uploadpackfilter.tree.maxDepth 0 &&
test_must_fail ok=sigpipe git clone --no-checkout --filter=tree:1 \
"file://$(pwd)/srv.bare" pc3 2>err &&
- test_i18ngrep "tree filter allows max depth 0, but got 1" err
+ test_i18ngrep "tree filter allows max depth 0, but got 1" err &&
+
+ git clone --no-checkout --filter=tree:0 "file://$(pwd)/srv.bare" pc4 &&
+
+ test_config -C srv.bare uploadpackfilter.tree.maxDepth 5 &&
+ git clone --no-checkout --filter=tree:5 "file://$(pwd)/srv.bare" pc5 &&
+ test_must_fail ok=sigpipe git clone --no-checkout --filter=tree:6 \
+ "file://$(pwd)/srv.bare" pc6 2>err &&
+ test_i18ngrep "tree filter allows max depth 5, but got 6" err
'
test_expect_success 'partial clone fetches blobs pointed to by refs even if normally filtered out' '
@@ -331,7 +350,7 @@ test_expect_success 'setup src repo for sparse filter' '
test_expect_success 'partial clone with sparse filter succeeds' '
rm -rf dst.git &&
git clone --no-local --bare \
- --filter=sparse:oid=master:only-one \
+ --filter=sparse:oid=main:only-one \
sparse-src dst.git &&
(
cd dst.git &&
@@ -344,11 +363,11 @@ test_expect_success 'partial clone with sparse filter succeeds' '
test_expect_success 'partial clone with unresolvable sparse filter fails cleanly' '
rm -rf dst.git &&
test_must_fail git clone --no-local --bare \
- --filter=sparse:oid=master:no-such-name \
+ --filter=sparse:oid=main:no-such-name \
sparse-src dst.git 2>err &&
- test_i18ngrep "unable to access sparse blob in .master:no-such-name" err &&
+ test_i18ngrep "unable to access sparse blob in .main:no-such-name" err &&
test_must_fail git clone --no-local --bare \
- --filter=sparse:oid=master \
+ --filter=sparse:oid=main \
sparse-src dst.git 2>err &&
test_i18ngrep "unable to parse sparse filter data in" err
'
@@ -403,7 +422,7 @@ test_expect_success 'fetch lazy-fetches only to resolve deltas' '
# promisor remote other than for the big tree (because it needs to
# resolve the delta).
GIT_TRACE_PACKET="$(pwd)/trace" git -C client \
- fetch "file://$(pwd)/server" master &&
+ fetch "file://$(pwd)/server" main &&
# Verify the assumption that the client needed to fetch the delta base
# to resolve the delta.
@@ -422,7 +441,7 @@ test_expect_success 'fetch lazy-fetches only to resolve deltas, protocol v2' '
# promisor remote other than for the big blob (because it needs to
# resolve the delta).
GIT_TRACE_PACKET="$(pwd)/trace" git -C client \
- fetch "file://$(pwd)/server" master &&
+ fetch "file://$(pwd)/server" main &&
# Verify that protocol version 2 was used.
grep "fetch< version 2" trace &&
diff --git a/t/t5617-clone-submodules-remote.sh b/t/t5617-clone-submodules-remote.sh
index 1a041df10b..e2dbb4eaba 100755
--- a/t/t5617-clone-submodules-remote.sh
+++ b/t/t5617-clone-submodules-remote.sh
@@ -2,12 +2,15 @@
test_description='Test cloning repos with submodules using remote-tracking branches'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
pwd=$(pwd)
test_expect_success 'setup' '
- git checkout -b master &&
+ git checkout -b main &&
test_commit commit1 &&
mkdir sub &&
(
@@ -39,7 +42,7 @@ test_expect_success 'clone with --remote-submodules' '
git clone --recurse-submodules --remote-submodules "file://$pwd/." super_clone &&
(
cd super_clone/sub &&
- git diff --exit-code remotes/origin/master
+ git diff --exit-code remotes/origin/main
)
'
@@ -57,7 +60,7 @@ test_expect_success 'clone with --single-branch' '
git clone --recurse-submodules --single-branch "file://$pwd/." super_clone &&
(
cd super_clone/sub &&
- git rev-parse --verify origin/master &&
+ git rev-parse --verify origin/main &&
test_must_fail git rev-parse --verify origin/other
)
'
diff --git a/t/t5700-protocol-v1.sh b/t/t5700-protocol-v1.sh
index 022901b9eb..468bd3e13e 100755
--- a/t/t5700-protocol-v1.sh
+++ b/t/t5700-protocol-v1.sh
@@ -8,6 +8,9 @@ TEST_NO_CREATE_REPO=1
GIT_TEST_PROTOCOL_VERSION=0
export GIT_TEST_PROTOCOL_VERSION
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# Test protocol v1 with 'git://' transport
@@ -41,7 +44,7 @@ test_expect_success 'fetch with git:// using protocol v1' '
GIT_TRACE_PACKET=1 git -C daemon_child -c protocol.version=1 \
fetch 2>log &&
- git -C daemon_child log -1 --format=%s origin/master >actual &&
+ git -C daemon_child log -1 --format=%s origin/main >actual &&
git -C "$daemon_parent" log -1 --format=%s >expect &&
test_cmp expect actual &&
@@ -69,7 +72,7 @@ test_expect_success 'push with git:// using protocol v1' '
test_commit -C daemon_child three &&
# Push to another branch, as the target repository has the
- # master branch checked out and we cannot push into it.
+ # main branch checked out and we cannot push into it.
GIT_TRACE_PACKET=1 git -C daemon_child -c protocol.version=1 \
push origin HEAD:client_branch 2>log &&
@@ -110,7 +113,7 @@ test_expect_success 'fetch with file:// using protocol v1' '
GIT_TRACE_PACKET=1 git -C file_child -c protocol.version=1 \
fetch 2>log &&
- git -C file_child log -1 --format=%s origin/master >actual &&
+ git -C file_child log -1 --format=%s origin/main >actual &&
git -C file_parent log -1 --format=%s >expect &&
test_cmp expect actual &&
@@ -134,7 +137,7 @@ test_expect_success 'push with file:// using protocol v1' '
test_commit -C file_child three &&
# Push to another branch, as the target repository has the
- # master branch checked out and we cannot push into it.
+ # main branch checked out and we cannot push into it.
GIT_TRACE_PACKET=1 git -C file_child -c protocol.version=1 \
push origin HEAD:client_branch 2>log &&
@@ -188,7 +191,7 @@ test_expect_success 'fetch with ssh:// using protocol v1' '
fetch 2>log &&
expect_ssh git-upload-pack &&
- git -C ssh_child log -1 --format=%s origin/master >actual &&
+ git -C ssh_child log -1 --format=%s origin/main >actual &&
git -C ssh_parent log -1 --format=%s >expect &&
test_cmp expect actual &&
@@ -213,7 +216,7 @@ test_expect_success 'push with ssh:// using protocol v1' '
test_commit -C ssh_child three &&
# Push to another branch, as the target repository has the
- # master branch checked out and we cannot push into it.
+ # main branch checked out and we cannot push into it.
GIT_TRACE_PACKET=1 git -C ssh_child -c protocol.version=1 \
push origin HEAD:client_branch 2>log &&
expect_ssh git-receive-pack &&
@@ -257,7 +260,7 @@ test_expect_success 'fetch with http:// using protocol v1' '
GIT_TRACE_PACKET=1 git -C http_child -c protocol.version=1 \
fetch 2>log &&
- git -C http_child log -1 --format=%s origin/master >actual &&
+ git -C http_child log -1 --format=%s origin/main >actual &&
git -C "$HTTPD_DOCUMENT_ROOT_PATH/http_parent" log -1 --format=%s >expect &&
test_cmp expect actual &&
@@ -281,7 +284,7 @@ test_expect_success 'push with http:// using protocol v1' '
test_commit -C http_child three &&
# Push to another branch, as the target repository has the
- # master branch checked out and we cannot push into it.
+ # main branch checked out and we cannot push into it.
GIT_TRACE_PACKET=1 git -C http_child -c protocol.version=1 \
push origin HEAD:client_branch && #2>log &&
diff --git a/t/t5701-git-serve.sh b/t/t5701-git-serve.sh
index a1f5fdc9fd..d9143b4bd2 100755
--- a/t/t5701-git-serve.sh
+++ b/t/t5701-git-serve.sh
@@ -2,6 +2,9 @@
test_description='test protocol v2 server commands'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'test capability advertisement' '
@@ -83,9 +86,9 @@ test_expect_success 'wrong object-format' '
#
test_expect_success 'setup some refs and tags' '
test_commit one &&
- git branch dev master &&
+ git branch dev main &&
test_commit two &&
- git symbolic-ref refs/heads/release refs/heads/master &&
+ git symbolic-ref refs/heads/release refs/heads/main &&
git tag -a -m "annotated tag" annotated-tag
'
@@ -99,7 +102,7 @@ test_expect_success 'basics of ls-refs' '
cat >expect <<-EOF &&
$(git rev-parse HEAD) HEAD
$(git rev-parse refs/heads/dev) refs/heads/dev
- $(git rev-parse refs/heads/master) refs/heads/master
+ $(git rev-parse refs/heads/main) refs/heads/main
$(git rev-parse refs/heads/release) refs/heads/release
$(git rev-parse refs/tags/annotated-tag) refs/tags/annotated-tag
$(git rev-parse refs/tags/one) refs/tags/one
@@ -117,13 +120,13 @@ test_expect_success 'basic ref-prefixes' '
command=ls-refs
object-format=$(test_oid algo)
0001
- ref-prefix refs/heads/master
+ ref-prefix refs/heads/main
ref-prefix refs/tags/one
0000
EOF
cat >expect <<-EOF &&
- $(git rev-parse refs/heads/master) refs/heads/master
+ $(git rev-parse refs/heads/main) refs/heads/main
$(git rev-parse refs/tags/one) refs/tags/one
0000
EOF
@@ -144,7 +147,7 @@ test_expect_success 'refs/heads prefix' '
cat >expect <<-EOF &&
$(git rev-parse refs/heads/dev) refs/heads/dev
- $(git rev-parse refs/heads/master) refs/heads/master
+ $(git rev-parse refs/heads/main) refs/heads/main
$(git rev-parse refs/heads/release) refs/heads/release
0000
EOF
@@ -188,8 +191,8 @@ test_expect_success 'symrefs parameter' '
cat >expect <<-EOF &&
$(git rev-parse refs/heads/dev) refs/heads/dev
- $(git rev-parse refs/heads/master) refs/heads/master
- $(git rev-parse refs/heads/release) refs/heads/release symref-target:refs/heads/master
+ $(git rev-parse refs/heads/main) refs/heads/main
+ $(git rev-parse refs/heads/release) refs/heads/release symref-target:refs/heads/main
0000
EOF
diff --git a/t/t5702-protocol-v2.sh b/t/t5702-protocol-v2.sh
index 7d5b17909b..3d994e0b1b 100755
--- a/t/t5702-protocol-v2.sh
+++ b/t/t5702-protocol-v2.sh
@@ -4,6 +4,9 @@ test_description='test git wire-protocol version 2'
TEST_NO_CREATE_REPO=1
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# Test protocol v2 with 'git://' transport
@@ -36,10 +39,10 @@ test_expect_success 'ref advertisement is filtered with ls-remote using protocol
test_when_finished "rm -f log" &&
GIT_TRACE_PACKET="$(pwd)/log" git -c protocol.version=2 \
- ls-remote "$GIT_DAEMON_URL/parent" master >actual &&
+ ls-remote "$GIT_DAEMON_URL/parent" main >actual &&
cat >expect <<-EOF &&
- $(git -C "$daemon_parent" rev-parse refs/heads/master)$(printf "\t")refs/heads/master
+ $(git -C "$daemon_parent" rev-parse refs/heads/main)$(printf "\t")refs/heads/main
EOF
test_cmp expect actual
@@ -69,7 +72,7 @@ test_expect_success 'fetch with git:// using protocol v2' '
GIT_TRACE_PACKET="$(pwd)/log" git -C daemon_child -c protocol.version=2 \
fetch &&
- git -C daemon_child log -1 --format=%s origin/master >actual &&
+ git -C daemon_child log -1 --format=%s origin/main >actual &&
git -C "$daemon_parent" log -1 --format=%s >expect &&
test_cmp expect actual &&
@@ -118,7 +121,7 @@ test_expect_success 'push with git:// and a config of v2 does not request v2' '
test_commit -C daemon_child three &&
# Push to another branch, as the target repository has the
- # master branch checked out and we cannot push into it.
+ # main branch checked out and we cannot push into it.
GIT_TRACE_PACKET="$(pwd)/log" git -C daemon_child -c protocol.version=2 \
push origin HEAD:client_branch &&
@@ -158,10 +161,10 @@ test_expect_success 'ref advertisement is filtered with ls-remote using protocol
test_when_finished "rm -f log" &&
GIT_TRACE_PACKET="$(pwd)/log" git -c protocol.version=2 \
- ls-remote "file://$(pwd)/file_parent" master >actual &&
+ ls-remote "file://$(pwd)/file_parent" main >actual &&
cat >expect <<-EOF &&
- $(git -C file_parent rev-parse refs/heads/master)$(printf "\t")refs/heads/master
+ $(git -C file_parent rev-parse refs/heads/main)$(printf "\t")refs/heads/main
EOF
test_cmp expect actual
@@ -171,10 +174,10 @@ test_expect_success 'server-options are sent when using ls-remote' '
test_when_finished "rm -f log" &&
GIT_TRACE_PACKET="$(pwd)/log" git -c protocol.version=2 \
- ls-remote -o hello -o world "file://$(pwd)/file_parent" master >actual &&
+ ls-remote -o hello -o world "file://$(pwd)/file_parent" main >actual &&
cat >expect <<-EOF &&
- $(git -C file_parent rev-parse refs/heads/master)$(printf "\t")refs/heads/master
+ $(git -C file_parent rev-parse refs/heads/main)$(printf "\t")refs/heads/main
EOF
test_cmp expect actual &&
@@ -184,7 +187,7 @@ test_expect_success 'server-options are sent when using ls-remote' '
test_expect_success 'warn if using server-option with ls-remote with legacy protocol' '
test_must_fail env GIT_TEST_PROTOCOL_VERSION=0 git -c protocol.version=0 \
- ls-remote -o hello -o world "file://$(pwd)/file_parent" master 2>err &&
+ ls-remote -o hello -o world "file://$(pwd)/file_parent" main 2>err &&
test_i18ngrep "see protocol.version in" err &&
test_i18ngrep "server options require protocol version 2 or later" err
@@ -217,7 +220,7 @@ test_expect_success 'fetch with file:// using protocol v2' '
GIT_TRACE_PACKET="$(pwd)/log" git -C file_child -c protocol.version=2 \
fetch origin &&
- git -C file_child log -1 --format=%s origin/master >actual &&
+ git -C file_child log -1 --format=%s origin/main >actual &&
git -C file_parent log -1 --format=%s >expect &&
test_cmp expect actual &&
@@ -232,13 +235,13 @@ test_expect_success 'ref advertisement is filtered during fetch using protocol v
git -C file_parent branch unwanted-branch three &&
GIT_TRACE_PACKET="$(pwd)/log" git -C file_child -c protocol.version=2 \
- fetch origin master &&
+ fetch origin main &&
- git -C file_child log -1 --format=%s origin/master >actual &&
+ git -C file_child log -1 --format=%s origin/main >actual &&
git -C file_parent log -1 --format=%s >expect &&
test_cmp expect actual &&
- grep "refs/heads/master" log &&
+ grep "refs/heads/main" log &&
! grep "refs/heads/unwanted-branch" log
'
@@ -248,9 +251,9 @@ test_expect_success 'server-options are sent when fetching' '
test_commit -C file_parent four &&
GIT_TRACE_PACKET="$(pwd)/log" git -C file_child -c protocol.version=2 \
- fetch -o hello -o world origin master &&
+ fetch -o hello -o world origin main &&
- git -C file_child log -1 --format=%s origin/master >actual &&
+ git -C file_child log -1 --format=%s origin/main >actual &&
git -C file_parent log -1 --format=%s >expect &&
test_cmp expect actual &&
@@ -264,7 +267,7 @@ test_expect_success 'warn if using server-option with fetch with legacy protocol
git init temp_child &&
test_must_fail env GIT_TEST_PROTOCOL_VERSION=0 git -C temp_child -c protocol.version=0 \
- fetch -o hello -o world "file://$(pwd)/file_parent" master 2>err &&
+ fetch -o hello -o world "file://$(pwd)/file_parent" main 2>err &&
test_i18ngrep "see protocol.version in" err &&
test_i18ngrep "server options require protocol version 2 or later" err
@@ -325,7 +328,7 @@ test_expect_success 'partial clone' '
grep "version 2" trace &&
# Ensure that the old version of the file is missing
- git -C client rev-list --quiet --objects --missing=print master \
+ git -C client rev-list --quiet --objects --missing=print main \
>observed.oids &&
grep "$(git -C server rev-parse message1:a.txt)" observed.oids &&
@@ -350,7 +353,7 @@ test_expect_success 'partial fetch' '
SERVER="file://$(pwd)/server" &&
GIT_TRACE_PACKET="$(pwd)/trace" git -C client -c protocol.version=2 \
- fetch --filter=blob:none "$SERVER" master:refs/heads/other &&
+ fetch --filter=blob:none "$SERVER" main:refs/heads/other &&
grep "version 2" trace &&
# Ensure that the old version of the file is missing
@@ -395,7 +398,7 @@ test_expect_success 'even with handcrafted request, filter does not work if not
command=fetch
object-format=$(test_oid algo)
0001
- want $(git -C server rev-parse master)
+ want $(git -C server rev-parse main)
filter blob:none
0000
EOF
@@ -539,7 +542,7 @@ test_expect_success 'deepen-relative' '
test_commit -C server four &&
# Sanity check that only "three" is downloaded
- git -C client log --pretty=tformat:%s master >actual &&
+ git -C client log --pretty=tformat:%s main >actual &&
echo three >expected &&
test_cmp expected actual &&
@@ -548,7 +551,7 @@ test_expect_success 'deepen-relative' '
# Ensure that protocol v2 is used
grep "fetch< version 2" trace &&
- git -C client log --pretty=tformat:%s origin/master >actual &&
+ git -C client log --pretty=tformat:%s origin/main >actual &&
cat >expected <<-\EOF &&
four
three
@@ -670,7 +673,7 @@ test_expect_success 'fetch with http:// using protocol v2' '
GIT_TRACE_PACKET="$(pwd)/log" git -C http_child -c protocol.version=2 \
fetch &&
- git -C http_child log -1 --format=%s origin/master >actual &&
+ git -C http_child log -1 --format=%s origin/main >actual &&
git -C "$HTTPD_DOCUMENT_ROOT_PATH/http_parent" log -1 --format=%s >expect &&
test_cmp expect actual &&
@@ -698,11 +701,11 @@ test_expect_success 'fetch from namespaced repo respects namespaces' '
test_commit -C "$HTTPD_DOCUMENT_ROOT_PATH/nsrepo" one &&
test_commit -C "$HTTPD_DOCUMENT_ROOT_PATH/nsrepo" two &&
git -C "$HTTPD_DOCUMENT_ROOT_PATH/nsrepo" \
- update-ref refs/namespaces/ns/refs/heads/master one &&
+ update-ref refs/namespaces/ns/refs/heads/main one &&
GIT_TRACE_PACKET="$(pwd)/log" git -C http_child -c protocol.version=2 \
fetch "$HTTPD_URL/smart_namespace/nsrepo" \
- refs/heads/master:refs/heads/theirs &&
+ refs/heads/main:refs/heads/theirs &&
# Server responded using protocol v2
grep "fetch< version 2" log &&
@@ -733,7 +736,7 @@ test_expect_success 'push with http:// and a config of v2 does not request v2' '
test_commit -C http_child three &&
# Push to another branch, as the target repository has the
- # master branch checked out and we cannot push into it.
+ # main branch checked out and we cannot push into it.
GIT_TRACE_PACKET="$(pwd)/log" git -C http_child -c protocol.version=2 \
push origin HEAD:client_branch &&
diff --git a/t/t5703-upload-pack-ref-in-want.sh b/t/t5703-upload-pack-ref-in-want.sh
index d9ecf0f4a9..64d8f99325 100755
--- a/t/t5703-upload-pack-ref-in-want.sh
+++ b/t/t5703-upload-pack-ref-in-want.sh
@@ -2,6 +2,9 @@
test_description='upload-pack ref-in-want'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
get_actual_refs () {
@@ -38,12 +41,13 @@ write_command () {
# c(o/foo) d(o/bar)
# \ /
-# b e(baz) f(master)
+# b e(baz) f(main)
# \__ | __/
# \ | /
# a
test_expect_success 'setup repository' '
test_commit a &&
+ git branch -M main &&
git checkout -b o/foo &&
test_commit b &&
test_commit c &&
@@ -51,7 +55,7 @@ test_expect_success 'setup repository' '
test_commit d &&
git checkout -b baz a &&
test_commit e &&
- git checkout master &&
+ git checkout main &&
test_commit f
'
@@ -88,7 +92,7 @@ test_expect_success 'invalid want-ref line' '
test_expect_success 'basic want-ref' '
oid=$(git rev-parse f) &&
cat >expected_refs <<-EOF &&
- $oid refs/heads/master
+ $oid refs/heads/main
EOF
git rev-parse f >expected_commits &&
@@ -97,7 +101,7 @@ test_expect_success 'basic want-ref' '
$(write_command fetch)
0001
no-progress
- want-ref refs/heads/master
+ want-ref refs/heads/main
have $oid
done
0000
@@ -135,7 +139,7 @@ test_expect_success 'multiple want-ref lines' '
test_expect_success 'mix want and want-ref' '
oid=$(git rev-parse f) &&
cat >expected_refs <<-EOF &&
- $oid refs/heads/master
+ $oid refs/heads/main
EOF
git rev-parse e f >expected_commits &&
@@ -143,7 +147,7 @@ test_expect_success 'mix want and want-ref' '
$(write_command fetch)
0001
no-progress
- want-ref refs/heads/master
+ want-ref refs/heads/main
want $(git rev-parse e)
have $(git rev-parse a)
done
@@ -182,7 +186,7 @@ LOCAL_PRISTINE="$(pwd)/local_pristine"
# $REPO
# c(o/foo) d(o/bar)
# \ /
-# b e(baz) f(master)
+# b e(baz) f(main)
# \__ | __/
# \ | /
# a
@@ -193,10 +197,10 @@ LOCAL_PRISTINE="$(pwd)/local_pristine"
# .
# .
# |
-# a(master)
+# a(main)
test_expect_success 'setup repos for fetching with ref-in-want tests' '
(
- git init "$REPO" &&
+ git init -b main "$REPO" &&
cd "$REPO" &&
test_commit a &&
@@ -209,7 +213,7 @@ test_expect_success 'setup repos for fetching with ref-in-want tests' '
test_commit_bulk --id=s 33 &&
# Add novel commits to upstream
- git checkout master &&
+ git checkout main &&
cd "$REPO" &&
git checkout -b o/foo &&
test_commit b &&
@@ -218,7 +222,7 @@ test_expect_success 'setup repos for fetching with ref-in-want tests' '
test_commit d &&
git checkout -b baz a &&
test_commit e &&
- git checkout master &&
+ git checkout main &&
test_commit f
) &&
git -C "$REPO" config uploadpack.allowRefInWant true &&
@@ -245,12 +249,12 @@ test_expect_success 'fetching multiple refs' '
rm -rf local &&
cp -r "$LOCAL_PRISTINE" local &&
- GIT_TRACE_PACKET="$(pwd)/log" git -C local fetch origin master baz &&
+ GIT_TRACE_PACKET="$(pwd)/log" git -C local fetch origin main baz &&
- git -C "$REPO" rev-parse "master" "baz" >expected &&
- git -C local rev-parse refs/remotes/origin/master refs/remotes/origin/baz >actual &&
+ git -C "$REPO" rev-parse "main" "baz" >expected &&
+ git -C local rev-parse refs/remotes/origin/main refs/remotes/origin/baz >actual &&
test_cmp expected actual &&
- grep "want-ref refs/heads/master" log &&
+ grep "want-ref refs/heads/main" log &&
grep "want-ref refs/heads/baz" log
'
@@ -261,13 +265,13 @@ test_expect_success 'fetching ref and exact OID' '
cp -r "$LOCAL_PRISTINE" local &&
oid=$(git -C "$REPO" rev-parse b) &&
GIT_TRACE_PACKET="$(pwd)/log" git -C local fetch origin \
- master "$oid":refs/heads/actual &&
+ main "$oid":refs/heads/actual &&
- git -C "$REPO" rev-parse "master" "b" >expected &&
- git -C local rev-parse refs/remotes/origin/master refs/heads/actual >actual &&
+ git -C "$REPO" rev-parse "main" "b" >expected &&
+ git -C local rev-parse refs/remotes/origin/main refs/heads/actual >actual &&
test_cmp expected actual &&
grep "want $oid" log &&
- grep "want-ref refs/heads/master" log
+ grep "want-ref refs/heads/main" log
'
test_expect_success 'fetching with wildcard that does not match any refs' '
@@ -301,7 +305,7 @@ LOCAL_PRISTINE="$(pwd)/local_pristine"
test_expect_success 'setup repos for change-while-negotiating test' '
(
- git init "$REPO" &&
+ git init -b main "$REPO" &&
cd "$REPO" &&
>.git/git-daemon-export-ok &&
test_commit m1 &&
@@ -316,7 +320,7 @@ test_expect_success 'setup repos for change-while-negotiating test' '
test_commit_bulk --id=s 33 &&
# Add novel commits to upstream
- git checkout master &&
+ git checkout main &&
cd "$REPO" &&
test_commit m2 &&
test_commit m3 &&
@@ -342,7 +346,7 @@ test_expect_success 'server is initially ahead - no ref in want' '
git -C "$REPO" config uploadpack.allowRefInWant false &&
rm -rf local &&
cp -r "$LOCAL_PRISTINE" local &&
- inconsistency master $(test_oid numeric) &&
+ inconsistency main $(test_oid numeric) &&
test_must_fail git -C local fetch 2>err &&
test_i18ngrep "fatal: remote error: upload-pack: not our ref" err
'
@@ -351,11 +355,11 @@ test_expect_success 'server is initially ahead - ref in want' '
git -C "$REPO" config uploadpack.allowRefInWant true &&
rm -rf local &&
cp -r "$LOCAL_PRISTINE" local &&
- inconsistency master $(test_oid numeric) &&
+ inconsistency main $(test_oid numeric) &&
git -C local fetch &&
- git -C "$REPO" rev-parse --verify master >expected &&
- git -C local rev-parse --verify refs/remotes/origin/master >actual &&
+ git -C "$REPO" rev-parse --verify main >expected &&
+ git -C local rev-parse --verify refs/remotes/origin/main >actual &&
test_cmp expected actual
'
@@ -363,11 +367,11 @@ test_expect_success 'server is initially behind - no ref in want' '
git -C "$REPO" config uploadpack.allowRefInWant false &&
rm -rf local &&
cp -r "$LOCAL_PRISTINE" local &&
- inconsistency master "master^" &&
+ inconsistency main "main^" &&
git -C local fetch &&
- git -C "$REPO" rev-parse --verify "master^" >expected &&
- git -C local rev-parse --verify refs/remotes/origin/master >actual &&
+ git -C "$REPO" rev-parse --verify "main^" >expected &&
+ git -C local rev-parse --verify refs/remotes/origin/main >actual &&
test_cmp expected actual
'
@@ -375,11 +379,11 @@ test_expect_success 'server is initially behind - ref in want' '
git -C "$REPO" config uploadpack.allowRefInWant true &&
rm -rf local &&
cp -r "$LOCAL_PRISTINE" local &&
- inconsistency master "master^" &&
+ inconsistency main "main^" &&
git -C local fetch &&
- git -C "$REPO" rev-parse --verify "master" >expected &&
- git -C local rev-parse --verify refs/remotes/origin/master >actual &&
+ git -C "$REPO" rev-parse --verify "main" >expected &&
+ git -C local rev-parse --verify refs/remotes/origin/main >actual &&
test_cmp expected actual
'
@@ -387,10 +391,10 @@ test_expect_success 'server loses a ref - ref in want' '
git -C "$REPO" config uploadpack.allowRefInWant true &&
rm -rf local &&
cp -r "$LOCAL_PRISTINE" local &&
- echo "s/master/raster/" >"$HTTPD_ROOT_PATH/one-time-perl" &&
+ echo "s/main/rain/" >"$HTTPD_ROOT_PATH/one-time-perl" &&
test_must_fail git -C local fetch 2>err &&
- test_i18ngrep "fatal: remote error: unknown ref refs/heads/raster" err
+ test_i18ngrep "fatal: remote error: unknown ref refs/heads/rain" err
'
# DO NOT add non-httpd-specific tests here, because the last part of this
diff --git a/t/t5705-session-id-in-capabilities.sh b/t/t5705-session-id-in-capabilities.sh
new file mode 100755
index 0000000000..f1d189d5bc
--- /dev/null
+++ b/t/t5705-session-id-in-capabilities.sh
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+test_description='session ID in capabilities'
+
+. ./test-lib.sh
+
+REPO="$(pwd)/repo"
+LOCAL_PRISTINE="$(pwd)/local_pristine"
+
+test_expect_success 'setup repos for session ID capability tests' '
+ git init "$REPO" &&
+ test_commit -C "$REPO" a &&
+ git clone "file://$REPO" "$LOCAL_PRISTINE" &&
+ test_commit -C "$REPO" b
+'
+
+for PROTO in 0 1 2
+do
+ test_expect_success "session IDs not advertised by default (fetch v${PROTO})" '
+ test_when_finished "rm -rf local tr2-client-events tr2-server-events" &&
+ cp -r "$LOCAL_PRISTINE" local &&
+ GIT_TRACE2_EVENT="$(pwd)/tr2-client-events" \
+ git -c protocol.version=$PROTO -C local fetch \
+ --upload-pack "GIT_TRACE2_EVENT=\"$(pwd)/tr2-server-events\" git-upload-pack" \
+ origin &&
+ test -z "$(grep \"key\":\"server-sid\" tr2-client-events)" &&
+ test -z "$(grep \"key\":\"client-sid\" tr2-server-events)"
+ '
+
+ test_expect_success "session IDs not advertised by default (push v${PROTO})" '
+ test_when_finished "rm -rf local tr2-client-events tr2-server-events" &&
+ test_when_finished "git -C local push --delete origin new-branch" &&
+ cp -r "$LOCAL_PRISTINE" local &&
+ git -C local pull --no-rebase origin &&
+ GIT_TRACE2_EVENT_NESTING=5 \
+ GIT_TRACE2_EVENT="$(pwd)/tr2-client-events" \
+ git -c protocol.version=$PROTO -C local push \
+ --receive-pack "GIT_TRACE2_EVENT=\"$(pwd)/tr2-server-events\" git-receive-pack" \
+ origin HEAD:new-branch &&
+ test -z "$(grep \"key\":\"server-sid\" tr2-client-events)" &&
+ test -z "$(grep \"key\":\"client-sid\" tr2-server-events)"
+ '
+done
+
+test_expect_success 'enable SID advertisement' '
+ git -C "$REPO" config transfer.advertiseSID true &&
+ git -C "$LOCAL_PRISTINE" config transfer.advertiseSID true
+'
+
+for PROTO in 0 1 2
+do
+ test_expect_success "session IDs advertised (fetch v${PROTO})" '
+ test_when_finished "rm -rf local tr2-client-events tr2-server-events" &&
+ cp -r "$LOCAL_PRISTINE" local &&
+ GIT_TRACE2_EVENT="$(pwd)/tr2-client-events" \
+ git -c protocol.version=$PROTO -C local fetch \
+ --upload-pack "GIT_TRACE2_EVENT=\"$(pwd)/tr2-server-events\" git-upload-pack" \
+ origin &&
+ grep \"key\":\"server-sid\" tr2-client-events &&
+ grep \"key\":\"client-sid\" tr2-server-events
+ '
+
+ test_expect_success "session IDs advertised (push v${PROTO})" '
+ test_when_finished "rm -rf local tr2-client-events tr2-server-events" &&
+ test_when_finished "git -C local push --delete origin new-branch" &&
+ cp -r "$LOCAL_PRISTINE" local &&
+ git -C local pull --no-rebase origin &&
+ GIT_TRACE2_EVENT_NESTING=5 \
+ GIT_TRACE2_EVENT="$(pwd)/tr2-client-events" \
+ git -c protocol.version=$PROTO -C local push \
+ --receive-pack "GIT_TRACE2_EVENT=\"$(pwd)/tr2-server-events\" git-receive-pack" \
+ origin HEAD:new-branch &&
+ grep \"key\":\"server-sid\" tr2-client-events &&
+ grep \"key\":\"client-sid\" tr2-server-events
+ '
+done
+
+test_done
diff --git a/t/t5801-remote-helpers.sh b/t/t5801-remote-helpers.sh
index 0f04b6cddb..d386076dbd 100755
--- a/t/t5801-remote-helpers.sh
+++ b/t/t5801-remote-helpers.sh
@@ -5,6 +5,9 @@
test_description='Test remote-helper import and export commands'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-gpg.sh
@@ -71,18 +74,18 @@ test_expect_success 'fetch multiple branches' '
(cd local &&
git fetch
) &&
- compare_refs server master local refs/remotes/origin/master &&
+ compare_refs server main local refs/remotes/origin/main &&
compare_refs server new local refs/remotes/origin/new
'
test_expect_success 'push when remote has extra refs' '
(cd local &&
- git reset --hard origin/master &&
+ git reset --hard origin/main &&
echo content >>file &&
git commit -a -m six &&
git push
) &&
- compare_refs local master server master
+ compare_refs local main server main
'
test_expect_success 'push new branch by name' '
@@ -174,7 +177,7 @@ test_expect_failure 'pushing without marks' '
test_expect_success 'push all with existing object' '
(cd local &&
- git branch dup2 master &&
+ git branch dup2 main &&
git push origin --all
) &&
compare_refs local dup2 server dup2
@@ -182,7 +185,7 @@ test_expect_success 'push all with existing object' '
test_expect_success 'push ref with existing object' '
(cd local &&
- git branch dup master &&
+ git branch dup main &&
git push origin dup
) &&
compare_refs local dup server dup
@@ -190,7 +193,7 @@ test_expect_success 'push ref with existing object' '
test_expect_success GPG 'push signed tag' '
(cd local &&
- git checkout master &&
+ git checkout main &&
git tag -s -m signed-tag signed-tag &&
git push origin signed-tag
) &&
@@ -200,7 +203,7 @@ test_expect_success GPG 'push signed tag' '
test_expect_success GPG 'push signed tag with signed-tags capability' '
(cd local &&
- git checkout master &&
+ git checkout main &&
git tag -s -m signed-tag signed-tag-2 &&
GIT_REMOTE_TESTGIT_SIGNED_TAGS=1 git push origin signed-tag-2
) &&
@@ -209,7 +212,7 @@ test_expect_success GPG 'push signed tag with signed-tags capability' '
test_expect_success 'push update refs' '
(cd local &&
- git checkout -b update master &&
+ git checkout -b update main &&
echo update >>file &&
git commit -a -m update &&
git push origin update &&
@@ -260,7 +263,7 @@ test_expect_success 'proper failure checks for fetching' '
test_expect_success 'proper failure checks for pushing' '
test_when_finished "rm -rf local/git.marks local/testgit.marks" &&
(cd local &&
- git checkout -b crash master &&
+ git checkout -b crash main &&
echo crash >>file &&
git commit -a -m crash &&
test_must_fail env GIT_REMOTE_TESTGIT_FAILURE=1 git push --all &&
@@ -272,7 +275,7 @@ test_expect_success 'proper failure checks for pushing' '
test_expect_success 'push messages' '
(cd local &&
- git checkout -b new_branch master &&
+ git checkout -b new_branch main &&
echo new >>file &&
git commit -a -m new &&
git push origin new_branch &&
@@ -286,7 +289,7 @@ test_expect_success 'push messages' '
test_expect_success 'fetch HEAD' '
(cd server &&
- git checkout master &&
+ git checkout main &&
echo more >>file &&
git commit -a -m more
) &&
@@ -298,7 +301,7 @@ test_expect_success 'fetch HEAD' '
test_expect_success 'fetch url' '
(cd server &&
- git checkout master &&
+ git checkout main &&
echo more >>file &&
git commit -a -m more
) &&
diff --git a/t/t6000-rev-list-misc.sh b/t/t6000-rev-list-misc.sh
index fc4d55dcb2..12def7bcbf 100755
--- a/t/t6000-rev-list-misc.sh
+++ b/t/t6000-rev-list-misc.sh
@@ -2,6 +2,9 @@
test_description='miscellaneous rev-list tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -85,7 +88,7 @@ test_expect_success 'propagate uninteresting flag down correctly' '
'
test_expect_success 'symleft flag bit is propagated down from tag' '
- git log --format="%m %s" --left-right v1.0...master >actual &&
+ git log --format="%m %s" --left-right v1.0...main >actual &&
cat >expect <<-\EOF &&
< another
< that
diff --git a/t/t6001-rev-list-graft.sh b/t/t6001-rev-list-graft.sh
index 7504ba4751..90d93f77fa 100755
--- a/t/t6001-rev-list-graft.sh
+++ b/t/t6001-rev-list-graft.sh
@@ -2,6 +2,9 @@
test_description='Revision traversal vs grafts and path limiter'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -20,7 +23,7 @@ test_expect_success setup '
git commit -a -m "Third in one history." &&
A2=$(git rev-parse --verify HEAD) &&
- rm -f .git/refs/heads/master .git/index &&
+ rm -f .git/refs/heads/main .git/index &&
echo >fileA fileA again &&
echo >subdir/fileB fileB again &&
diff --git a/t/t6004-rev-list-path-optim.sh b/t/t6004-rev-list-path-optim.sh
index 3e8c42ee0b..cd4f420e2a 100755
--- a/t/t6004-rev-list-path-optim.sh
+++ b/t/t6004-rev-list-path-optim.sh
@@ -4,7 +4,7 @@ test_description='git rev-list trivial path optimization test
d/z1
b0 b1
- o------------------------*----o master
+ o------------------------*----o main
/ /
o---------o----o----o----o side
a0 c0 c1 a1 c2
@@ -13,6 +13,9 @@ test_description='git rev-list trivial path optimization test
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -55,18 +58,18 @@ test_expect_success 'further setup' '
git add c &&
test_tick &&
git commit -m "Side makes yet another irrelevant commit" &&
- git checkout master &&
+ git checkout main &&
echo Another >b &&
echo Munged >d/z &&
git add b d/z &&
test_tick &&
- git commit -m "Master touches b" &&
- git tag master_b0 &&
+ git commit -m "Main touches b" &&
+ git tag main_b0 &&
git merge side &&
echo Touched >b &&
git add b &&
test_tick &&
- git commit -m "Master touches b again"
+ git commit -m "Main touches b again"
'
test_expect_success 'path optimization 2' '
@@ -76,13 +79,13 @@ test_expect_success 'path optimization 2' '
'
test_expect_success 'pathspec with leading path' '
- git rev-parse master^ master_b0 side_c0 initial >expected &&
+ git rev-parse main^ main_b0 side_c0 initial >expected &&
git rev-list HEAD -- d >actual &&
test_cmp expected actual
'
test_expect_success 'pathspec with glob (1)' '
- git rev-parse master^ master_b0 side_c0 initial >expected &&
+ git rev-parse main^ main_b0 side_c0 initial >expected &&
git rev-list HEAD -- "d/*" >actual &&
test_cmp expected actual
'
diff --git a/t/t6006-rev-list-format.sh b/t/t6006-rev-list-format.sh
index bc95da8a5f..35a2f62392 100755
--- a/t/t6006-rev-list-format.sh
+++ b/t/t6006-rev-list-format.sh
@@ -5,6 +5,9 @@
test_description='git rev-list --pretty=format test'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-terminal.sh
@@ -53,7 +56,7 @@ test_expect_success 'setup' '
test_format () {
cat >expect.$1
test_expect_${3:-success} "format $1" "
- git rev-list --pretty=format:'$2' master >output.$1 &&
+ git rev-list --pretty=format:'$2' main >output.$1 &&
test_cmp expect.$1 output.$1
"
}
@@ -184,13 +187,13 @@ test_expect_success 'basic colors' '
<RED>foo<GREEN>bar<BLUE>baz<RESET>xyzzy
EOF
format="%Credfoo%Cgreenbar%Cbluebaz%Cresetxyzzy" &&
- git rev-list --color --format="$format" -1 master >actual.raw &&
+ git rev-list --color --format="$format" -1 main >actual.raw &&
test_decode_color <actual.raw >actual &&
test_cmp expect actual
'
test_expect_success '%S is not a placeholder for rev-list yet' '
- git rev-list --format="%S" -1 master | grep "%S"
+ git rev-list --format="%S" -1 main | grep "%S"
'
test_expect_success 'advanced colors' '
@@ -199,7 +202,7 @@ test_expect_success 'advanced colors' '
<BOLD;RED;BYELLOW>foo<RESET>
EOF
format="%C(red yellow bold)foo%C(reset)" &&
- git rev-list --color --format="$format" -1 master >actual.raw &&
+ git rev-list --color --format="$format" -1 main >actual.raw &&
test_decode_color <actual.raw >actual &&
test_cmp expect actual
'
@@ -339,7 +342,7 @@ commit $head1
.. (hinzugef${added_utf8_part_iso88591}gt) foo
EOF
-test_expect_success 'prepare expected messages (for test %b)' '
+test_expect_success 'setup expected messages (for test %b)' '
cat <<-EOF >expected.utf-8 &&
commit $head3
This commit message is much longer than the others,
@@ -406,7 +409,7 @@ test_expect_success '%x00 shows NUL' '
test_expect_success '%ad respects --date=' '
echo 2005-04-07 >expect.ad-short &&
- git log -1 --date=short --pretty=tformat:%ad >output.ad-short master &&
+ git log -1 --date=short --pretty=tformat:%ad >output.ad-short main &&
test_cmp expect.ad-short output.ad-short
'
@@ -494,8 +497,8 @@ test_expect_success '"%h %gD: %gs" is same as git-reflog (with --abbrev)' '
'
test_expect_success '%gd shortens ref name' '
- echo "master@{0}" >expect.gd-short &&
- git log -g -1 --format=%gd refs/heads/master >actual.gd-short &&
+ echo "main@{0}" >expect.gd-short &&
+ git log -g -1 --format=%gd refs/heads/main >actual.gd-short &&
test_cmp expect.gd-short actual.gd-short
'
diff --git a/t/t6007-rev-list-cherry-pick-file.sh b/t/t6007-rev-list-cherry-pick-file.sh
index f0268372d2..aebe4b69e1 100755
--- a/t/t6007-rev-list-cherry-pick-file.sh
+++ b/t/t6007-rev-list-cherry-pick-file.sh
@@ -2,6 +2,9 @@
test_description='test git rev-list --cherry-pick -- file'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# A---B---D---F
@@ -31,7 +34,7 @@ test_expect_success setup '
test_tick &&
git commit -m "E" &&
git tag E &&
- git checkout master &&
+ git checkout main &&
git checkout branch foo &&
test_tick &&
git commit -m "B" &&
@@ -233,7 +236,7 @@ test_expect_success '--cherry-pick with independent, but identical branches' '
test_tick &&
git commit -m "independent, too" foo &&
test -z "$(git rev-list --left-right --cherry-pick \
- HEAD...master -- foo)"
+ HEAD...main -- foo)"
'
cat >expect <<EOF
@@ -245,6 +248,18 @@ test_expect_success '--count --left-right' '
test_cmp expect actual
'
+test_expect_success '--cherry-pick with duplicates on each side' '
+ git checkout -b dup-orig &&
+ test_commit dup-base &&
+ git revert dup-base &&
+ git cherry-pick dup-base &&
+ git checkout -b dup-side HEAD~3 &&
+ test_tick &&
+ git cherry-pick -3 dup-orig &&
+ git rev-list --cherry-pick dup-orig...dup-side >actual &&
+ test_must_be_empty actual
+'
+
# Corrupt the object store deliberately to make sure
# the object is not even checked for its existence.
remove_loose_object () {
diff --git a/t/t6008-rev-list-submodule.sh b/t/t6008-rev-list-submodule.sh
index c4af9ca0a7..3153a0d891 100755
--- a/t/t6008-rev-list-submodule.sh
+++ b/t/t6008-rev-list-submodule.sh
@@ -5,6 +5,9 @@
test_description='git rev-list involving submodules that this repo has'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -36,7 +39,7 @@ test_expect_success 'setup' '
'
test_expect_success "Ilari's test" '
- git rev-list --objects super master ^super^
+ git rev-list --objects super main ^super^
'
test_done
diff --git a/t/t6009-rev-list-parent.sh b/t/t6009-rev-list-parent.sh
index 916d9692bc..63fa7c8313 100755
--- a/t/t6009-rev-list-parent.sh
+++ b/t/t6009-rev-list-parent.sh
@@ -2,6 +2,9 @@
test_description='ancestor culling and limiting by parent number'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
check_revlist () {
@@ -45,7 +48,7 @@ test_expect_success 'setup roots, merges and octopuses' '
test_commit seven &&
git checkout -b yetanotherbranch four &&
test_commit eight &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git merge --allow-unrelated-histories -m normalmerge newroot &&
git tag normalmerge &&
@@ -56,7 +59,7 @@ test_expect_success 'setup roots, merges and octopuses' '
test_tick &&
git merge -m tetrapus sidebranch anotherbranch yetanotherbranch &&
git tag tetrapus &&
- git checkout master
+ git checkout main
'
test_expect_success 'rev-list roots' '
@@ -123,7 +126,7 @@ test_expect_success 'dodecapus' '
roots="$roots root$i" ||
return
done &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git merge -m dodecapus $roots &&
git tag dodecapus &&
diff --git a/t/t6012-rev-list-simplify.sh b/t/t6012-rev-list-simplify.sh
index 7fc10f8593..4f7fa8b6c0 100755
--- a/t/t6012-rev-list-simplify.sh
+++ b/t/t6012-rev-list-simplify.sh
@@ -2,6 +2,9 @@
test_description='merge simplification'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
note () {
@@ -43,7 +46,7 @@ test_expect_success setup '
git add side &&
test_tick && git commit -m "Side root" &&
note J &&
- git checkout master &&
+ git checkout main &&
echo "Hello" >file &&
echo "second" >lost &&
@@ -65,7 +68,7 @@ test_expect_success setup '
note D &&
test_tick &&
- test_must_fail git merge -m "merge" master &&
+ test_must_fail git merge -m "merge" main &&
>lost && git commit -a -m "merge" &&
note E &&
@@ -74,7 +77,7 @@ test_expect_success setup '
test_tick && git commit -m "Irrelevant change" &&
note F &&
- git checkout master &&
+ git checkout main &&
echo "Yet another" >elif &&
git add elif &&
test_tick && git commit -m "Another irrelevant change" &&
@@ -87,7 +90,7 @@ test_expect_success setup '
test_tick && git commit -a -m "Final change" &&
note I &&
- git checkout master &&
+ git checkout main &&
test_tick && git merge --allow-unrelated-histories -m "Coolest" unrelated &&
note K &&
@@ -168,7 +171,7 @@ test_expect_success '--full-diff is not affected by --parents' '
#
# This example is explained in Documentation/rev-list-options.txt
-test_expect_success 'rebuild repo' '
+test_expect_success 'setup rebuild repo' '
rm -rf .git * &&
git init &&
git switch -c topic &&
diff --git a/t/t6013-rev-list-reverse-parents.sh b/t/t6013-rev-list-reverse-parents.sh
index 89458d370f..39793cbbd6 100755
--- a/t/t6013-rev-list-reverse-parents.sh
+++ b/t/t6013-rev-list-reverse-parents.sh
@@ -2,6 +2,9 @@
test_description='--reverse combines with --parents'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
@@ -18,24 +21,24 @@ test_expect_success 'set up --reverse example' '
commit two &&
git checkout -b side HEAD^ &&
commit three &&
- git checkout master &&
+ git checkout main &&
git merge -s ours side &&
commit five
'
test_expect_success '--reverse --parents --full-history combines correctly' '
- git rev-list --parents --full-history master -- foo |
+ git rev-list --parents --full-history main -- foo |
perl -e "print reverse <>" > expected &&
- git rev-list --reverse --parents --full-history master -- foo \
+ git rev-list --reverse --parents --full-history main -- foo \
> actual &&
test_cmp expected actual
'
test_expect_success '--boundary does too' '
- git rev-list --boundary --parents --full-history master ^root -- foo |
+ git rev-list --boundary --parents --full-history main ^root -- foo |
perl -e "print reverse <>" > expected &&
git rev-list --boundary --reverse --parents --full-history \
- master ^root -- foo > actual &&
+ main ^root -- foo > actual &&
test_cmp expected actual
'
diff --git a/t/t6016-rev-list-graph-simplify-history.sh b/t/t6016-rev-list-graph-simplify-history.sh
index f5e6e92f5b..54b0a6f5f8 100755
--- a/t/t6016-rev-list-graph-simplify-history.sh
+++ b/t/t6016-rev-list-graph-simplify-history.sh
@@ -7,14 +7,23 @@
test_description='--graph and simplified history'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
+. "$TEST_DIRECTORY"/lib-log-graph.sh
+
+check_graph () {
+ cat >expect &&
+ lib_test_cmp_graph --format=%s "$@"
+}
test_expect_success 'set up rev-list --graph test' '
# 3 commits on branch A
test_commit A1 foo.txt &&
test_commit A2 bar.txt &&
test_commit A3 bar.txt &&
- git branch -m master A &&
+ git branch -m main A &&
# 2 commits on branch B, started from A1
git checkout -b B A1 &&
@@ -28,7 +37,7 @@ test_expect_success 'set up rev-list --graph test' '
# Octopus merge B and C into branch A
git checkout A &&
- git merge B C &&
+ git merge B C -m A4 &&
git tag A4 &&
test_commit A5 bar.txt &&
@@ -38,81 +47,64 @@ test_expect_success 'set up rev-list --graph test' '
test_commit C3 foo.txt &&
test_commit C4 bar.txt &&
git checkout A &&
- git merge -s ours C &&
+ git merge -s ours C -m A6 &&
git tag A6 &&
- test_commit A7 bar.txt &&
-
- # Store commit names in variables for later use
- A1=$(git rev-parse --verify A1) &&
- A2=$(git rev-parse --verify A2) &&
- A3=$(git rev-parse --verify A3) &&
- A4=$(git rev-parse --verify A4) &&
- A5=$(git rev-parse --verify A5) &&
- A6=$(git rev-parse --verify A6) &&
- A7=$(git rev-parse --verify A7) &&
- B1=$(git rev-parse --verify B1) &&
- B2=$(git rev-parse --verify B2) &&
- C1=$(git rev-parse --verify C1) &&
- C2=$(git rev-parse --verify C2) &&
- C3=$(git rev-parse --verify C3) &&
- C4=$(git rev-parse --verify C4)
- '
+ test_commit A7 bar.txt
+'
test_expect_success '--graph --all' '
- rm -f expected &&
- echo "* $A7" >> expected &&
- echo "* $A6" >> expected &&
- echo "|\\ " >> expected &&
- echo "| * $C4" >> expected &&
- echo "| * $C3" >> expected &&
- echo "* | $A5" >> expected &&
- echo "| | " >> expected &&
- echo "| \\ " >> expected &&
- echo "*-. | $A4" >> expected &&
- echo "|\\ \\| " >> expected &&
- echo "| | * $C2" >> expected &&
- echo "| | * $C1" >> expected &&
- echo "| * | $B2" >> expected &&
- echo "| * | $B1" >> expected &&
- echo "* | | $A3" >> expected &&
- echo "| |/ " >> expected &&
- echo "|/| " >> expected &&
- echo "* | $A2" >> expected &&
- echo "|/ " >> expected &&
- echo "* $A1" >> expected &&
- git rev-list --graph --all > actual &&
- test_cmp expected actual
- '
+ check_graph --all <<-\EOF
+ * A7
+ * A6
+ |\
+ | * C4
+ | * C3
+ * | A5
+ | |
+ | \
+ *-. | A4
+ |\ \|
+ | | * C2
+ | | * C1
+ | * | B2
+ | * | B1
+ * | | A3
+ | |/
+ |/|
+ * | A2
+ |/
+ * A1
+ EOF
+'
# Make sure the graph_is_interesting() code still realizes
# that undecorated merges are interesting, even with --simplify-by-decoration
test_expect_success '--graph --simplify-by-decoration' '
- rm -f expected &&
git tag -d A4 &&
- echo "* $A7" >> expected &&
- echo "* $A6" >> expected &&
- echo "|\\ " >> expected &&
- echo "| * $C4" >> expected &&
- echo "| * $C3" >> expected &&
- echo "* | $A5" >> expected &&
- echo "| | " >> expected &&
- echo "| \\ " >> expected &&
- echo "*-. | $A4" >> expected &&
- echo "|\\ \\| " >> expected &&
- echo "| | * $C2" >> expected &&
- echo "| | * $C1" >> expected &&
- echo "| * | $B2" >> expected &&
- echo "| * | $B1" >> expected &&
- echo "* | | $A3" >> expected &&
- echo "| |/ " >> expected &&
- echo "|/| " >> expected &&
- echo "* | $A2" >> expected &&
- echo "|/ " >> expected &&
- echo "* $A1" >> expected &&
- git rev-list --graph --all --simplify-by-decoration > actual &&
- test_cmp expected actual
- '
+ check_graph --all --simplify-by-decoration <<-\EOF
+ * A7
+ * A6
+ |\
+ | * C4
+ | * C3
+ * | A5
+ | |
+ | \
+ *-. | A4
+ |\ \|
+ | | * C2
+ | | * C1
+ | * | B2
+ | * | B1
+ * | | A3
+ | |/
+ |/|
+ * | A2
+ |/
+ * A1
+ EOF
+'
test_expect_success 'setup: get rid of decorations on B' '
git tag -d B2 &&
@@ -122,142 +114,133 @@ test_expect_success 'setup: get rid of decorations on B' '
# Graph with branch B simplified away
test_expect_success '--graph --simplify-by-decoration prune branch B' '
- rm -f expected &&
- echo "* $A7" >> expected &&
- echo "* $A6" >> expected &&
- echo "|\\ " >> expected &&
- echo "| * $C4" >> expected &&
- echo "| * $C3" >> expected &&
- echo "* | $A5" >> expected &&
- echo "* | $A4" >> expected &&
- echo "|\\| " >> expected &&
- echo "| * $C2" >> expected &&
- echo "| * $C1" >> expected &&
- echo "* | $A3" >> expected &&
- echo "|/ " >> expected &&
- echo "* $A2" >> expected &&
- echo "* $A1" >> expected &&
- git rev-list --graph --simplify-by-decoration --all > actual &&
- test_cmp expected actual
- '
+ check_graph --simplify-by-decoration --all <<-\EOF
+ * A7
+ * A6
+ |\
+ | * C4
+ | * C3
+ * | A5
+ * | A4
+ |\|
+ | * C2
+ | * C1
+ * | A3
+ |/
+ * A2
+ * A1
+ EOF
+'
test_expect_success '--graph --full-history -- bar.txt' '
- rm -f expected &&
- echo "* $A7" >> expected &&
- echo "* $A6" >> expected &&
- echo "|\\ " >> expected &&
- echo "| * $C4" >> expected &&
- echo "* | $A5" >> expected &&
- echo "* | $A4" >> expected &&
- echo "|\\| " >> expected &&
- echo "* | $A3" >> expected &&
- echo "|/ " >> expected &&
- echo "* $A2" >> expected &&
- git rev-list --graph --full-history --all -- bar.txt > actual &&
- test_cmp expected actual
- '
+ check_graph --full-history --all -- bar.txt <<-\EOF
+ * A7
+ * A6
+ |\
+ | * C4
+ * | A5
+ * | A4
+ |\|
+ * | A3
+ |/
+ * A2
+ EOF
+'
test_expect_success '--graph --full-history --simplify-merges -- bar.txt' '
- rm -f expected &&
- echo "* $A7" >> expected &&
- echo "* $A6" >> expected &&
- echo "|\\ " >> expected &&
- echo "| * $C4" >> expected &&
- echo "* | $A5" >> expected &&
- echo "* | $A3" >> expected &&
- echo "|/ " >> expected &&
- echo "* $A2" >> expected &&
- git rev-list --graph --full-history --simplify-merges --all \
- -- bar.txt > actual &&
- test_cmp expected actual
- '
+ check_graph --full-history --simplify-merges --all -- bar.txt <<-\EOF
+ * A7
+ * A6
+ |\
+ | * C4
+ * | A5
+ * | A3
+ |/
+ * A2
+ EOF
+'
test_expect_success '--graph -- bar.txt' '
- rm -f expected &&
- echo "* $A7" >> expected &&
- echo "* $A5" >> expected &&
- echo "* $A3" >> expected &&
- echo "| * $C4" >> expected &&
- echo "|/ " >> expected &&
- echo "* $A2" >> expected &&
- git rev-list --graph --all -- bar.txt > actual &&
- test_cmp expected actual
- '
+ check_graph --all -- bar.txt <<-\EOF
+ * A7
+ * A5
+ * A3
+ | * C4
+ |/
+ * A2
+ EOF
+'
test_expect_success '--graph --sparse -- bar.txt' '
- rm -f expected &&
- echo "* $A7" >> expected &&
- echo "* $A6" >> expected &&
- echo "* $A5" >> expected &&
- echo "* $A4" >> expected &&
- echo "* $A3" >> expected &&
- echo "| * $C4" >> expected &&
- echo "| * $C3" >> expected &&
- echo "| * $C2" >> expected &&
- echo "| * $C1" >> expected &&
- echo "|/ " >> expected &&
- echo "* $A2" >> expected &&
- echo "* $A1" >> expected &&
- git rev-list --graph --sparse --all -- bar.txt > actual &&
- test_cmp expected actual
- '
+ check_graph --sparse --all -- bar.txt <<-\EOF
+ * A7
+ * A6
+ * A5
+ * A4
+ * A3
+ | * C4
+ | * C3
+ | * C2
+ | * C1
+ |/
+ * A2
+ * A1
+ EOF
+'
test_expect_success '--graph ^C4' '
- rm -f expected &&
- echo "* $A7" >> expected &&
- echo "* $A6" >> expected &&
- echo "* $A5" >> expected &&
- echo "* $A4" >> expected &&
- echo "|\\ " >> expected &&
- echo "| * $B2" >> expected &&
- echo "| * $B1" >> expected &&
- echo "* $A3" >> expected &&
- git rev-list --graph --all ^C4 > actual &&
- test_cmp expected actual
- '
+ check_graph --all ^C4 <<-\EOF
+ * A7
+ * A6
+ * A5
+ * A4
+ |\
+ | * B2
+ | * B1
+ * A3
+ EOF
+'
test_expect_success '--graph ^C3' '
- rm -f expected &&
- echo "* $A7" >> expected &&
- echo "* $A6" >> expected &&
- echo "|\\ " >> expected &&
- echo "| * $C4" >> expected &&
- echo "* $A5" >> expected &&
- echo "* $A4" >> expected &&
- echo "|\\ " >> expected &&
- echo "| * $B2" >> expected &&
- echo "| * $B1" >> expected &&
- echo "* $A3" >> expected &&
- git rev-list --graph --all ^C3 > actual &&
- test_cmp expected actual
- '
+ check_graph --all ^C3 <<-\EOF
+ * A7
+ * A6
+ |\
+ | * C4
+ * A5
+ * A4
+ |\
+ | * B2
+ | * B1
+ * A3
+ EOF
+'
# I don't think the ordering of the boundary commits is really
# that important, but this test depends on it. If the ordering ever changes
# in the code, we'll need to update this test.
test_expect_success '--graph --boundary ^C3' '
- rm -f expected &&
- echo "* $A7" >> expected &&
- echo "* $A6" >> expected &&
- echo "|\\ " >> expected &&
- echo "| * $C4" >> expected &&
- echo "* | $A5" >> expected &&
- echo "| | " >> expected &&
- echo "| \\ " >> expected &&
- echo "*-. \\ $A4" >> expected &&
- echo "|\\ \\ \\ " >> expected &&
- echo "| * | | $B2" >> expected &&
- echo "| * | | $B1" >> expected &&
- echo "* | | | $A3" >> expected &&
- echo "o | | | $A2" >> expected &&
- echo "|/ / / " >> expected &&
- echo "o / / $A1" >> expected &&
- echo " / / " >> expected &&
- echo "| o $C3" >> expected &&
- echo "|/ " >> expected &&
- echo "o $C2" >> expected &&
- git rev-list --graph --boundary --all ^C3 > actual &&
- test_cmp expected actual
- '
+ check_graph --boundary --all ^C3 <<-\EOF
+ * A7
+ * A6
+ |\
+ | * C4
+ * | A5
+ | |
+ | \
+ *-. \ A4
+ |\ \ \
+ | * | | B2
+ | * | | B1
+ * | | | A3
+ o | | | A2
+ |/ / /
+ o / / A1
+ / /
+ | o C3
+ |/
+ o C2
+ EOF
+'
test_done
diff --git a/t/t6017-rev-list-stdin.sh b/t/t6017-rev-list-stdin.sh
index 667b37564e..05162512a0 100755
--- a/t/t6017-rev-list-stdin.sh
+++ b/t/t6017-rev-list-stdin.sh
@@ -5,6 +5,9 @@
test_description='log family learns --stdin'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
check () {
@@ -40,7 +43,7 @@ test_expect_success setup '
done &&
for i in $them
do
- git checkout -b side-$i master~$i &&
+ git checkout -b side-$i main~$i &&
echo updated $i >file-$i &&
git add file-$i &&
test_tick &&
@@ -49,7 +52,7 @@ test_expect_success setup '
)
'
-check master
+check main
check side-1 ^side-4
check side-1 ^side-7 --
check side-1 ^side-7 -- file-1
@@ -66,11 +69,11 @@ test_expect_success 'not only --stdin' '
file-2
EOF
cat >input <<-EOF &&
- ^master^
+ ^main^
--
file-2
EOF
- git log --pretty=tformat:%s --name-only --stdin master -- file-1 \
+ git log --pretty=tformat:%s --name-only --stdin main -- file-1 \
<input >actual &&
test_cmp expect actual
'
diff --git a/t/t6018-rev-list-glob.sh b/t/t6018-rev-list-glob.sh
index fe2f3cec3d..24b34add83 100755
--- a/t/t6018-rev-list-glob.sh
+++ b/t/t6018-rev-list-glob.sh
@@ -2,6 +2,9 @@
test_description='rev-list/rev-parse --glob'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
commit () {
@@ -20,22 +23,22 @@ compare () {
test_expect_success 'setup' '
- commit master &&
- git checkout -b subspace/one master &&
+ commit main &&
+ git checkout -b subspace/one main &&
commit one &&
- git checkout -b subspace/two master &&
+ git checkout -b subspace/two main &&
commit two &&
- git checkout -b subspace-x master &&
+ git checkout -b subspace-x main &&
commit subspace-x &&
- git checkout -b other/three master &&
+ git checkout -b other/three main &&
commit three &&
- git checkout -b someref master &&
+ git checkout -b someref main &&
commit some &&
- git checkout master &&
+ git checkout main &&
commit topic_2 &&
- git tag foo/bar master &&
+ git tag foo/bar main &&
commit topic_3 &&
- git update-ref refs/remotes/foo/baz master &&
+ git update-ref refs/remotes/foo/baz main &&
commit topic_4 &&
git update-ref refs/remotes/upstream/one subspace/one &&
git update-ref refs/remotes/upstream/two subspace/two &&
@@ -83,7 +86,7 @@ test_expect_failure 'rev-parse accepts --glob as detached option' '
test_expect_failure 'rev-parse is not confused by option-like glob' '
- compare rev-parse "master" "--glob --symbolic master"
+ compare rev-parse "main" "--glob --symbolic main"
'
@@ -111,15 +114,15 @@ test_expect_success 'rev-parse --glob=heads/subspace/* --glob=heads/other/*' '
'
-test_expect_success 'rev-parse --glob=heads/someref/* master' '
+test_expect_success 'rev-parse --glob=heads/someref/* main' '
- compare rev-parse "master" "--glob=heads/someref/* master"
+ compare rev-parse "main" "--glob=heads/someref/* main"
'
test_expect_success 'rev-parse --glob=heads/*' '
- compare rev-parse "master other/three someref subspace-x subspace/one subspace/two" "--glob=heads/*"
+ compare rev-parse "main other/three someref subspace-x subspace/one subspace/two" "--glob=heads/*"
'
@@ -136,7 +139,7 @@ test_expect_success 'rev-parse --remotes=foo' '
'
test_expect_success 'rev-parse --exclude with --branches' '
- compare rev-parse "--exclude=*/* --branches" "master someref subspace-x"
+ compare rev-parse "--exclude=*/* --branches" "main someref subspace-x"
'
test_expect_success 'rev-parse --exclude with --all' '
@@ -221,7 +224,7 @@ test_expect_success 'rev-list --glob refs/heads/subspace/*' '
test_expect_success 'rev-list not confused by option-like --glob arg' '
- compare rev-list "master" "--glob -0 master"
+ compare rev-list "main" "--glob -0 main"
'
@@ -269,13 +272,13 @@ test_expect_success 'rev-list --branches=subspace' '
test_expect_success 'rev-list --branches' '
- compare rev-list "master subspace-x someref other/three subspace/one subspace/two" "--branches"
+ compare rev-list "main subspace-x someref other/three subspace/one subspace/two" "--branches"
'
-test_expect_success 'rev-list --glob=heads/someref/* master' '
+test_expect_success 'rev-list --glob=heads/someref/* main' '
- compare rev-list "master" "--glob=heads/someref/* master"
+ compare rev-list "main" "--glob=heads/someref/* main"
'
@@ -287,7 +290,7 @@ test_expect_success 'rev-list --glob=heads/subspace/* --glob=heads/other/*' '
test_expect_success 'rev-list --glob=heads/*' '
- compare rev-list "master other/three someref subspace-x subspace/one subspace/two" "--glob=heads/*"
+ compare rev-list "main other/three someref subspace-x subspace/one subspace/two" "--glob=heads/*"
'
@@ -310,7 +313,7 @@ test_expect_success 'rev-list --remotes=foo' '
'
test_expect_success 'rev-list --exclude with --branches' '
- compare rev-list "--exclude=*/* --branches" "master someref subspace-x"
+ compare rev-list "--exclude=*/* --branches" "main someref subspace-x"
'
test_expect_success 'rev-list --exclude with --all' '
@@ -354,13 +357,13 @@ test_expect_success 'shortlog accepts --glob/--tags/--remotes' '
compare shortlog "subspace/one subspace/two" --branches=subspace &&
compare shortlog \
- "master subspace-x someref other/three subspace/one subspace/two" \
+ "main subspace-x someref other/three subspace/one subspace/two" \
--branches &&
- compare shortlog master "--glob=heads/someref/* master" &&
+ compare shortlog main "--glob=heads/someref/* main" &&
compare shortlog "subspace/one subspace/two other/three" \
"--glob=heads/subspace/* --glob=heads/other/*" &&
compare shortlog \
- "master other/three someref subspace-x subspace/one subspace/two" \
+ "main other/three someref subspace-x subspace/one subspace/two" \
"--glob=heads/*" &&
compare shortlog foo/bar --tags=foo &&
compare shortlog "foo/bar qux/one qux/two qux/x" --tags &&
@@ -371,14 +374,14 @@ test_expect_success 'shortlog accepts --glob/--tags/--remotes' '
test_expect_failure 'shortlog accepts --glob as detached option' '
compare shortlog \
- "master other/three someref subspace-x subspace/one subspace/two" \
+ "main other/three someref subspace-x subspace/one subspace/two" \
"--glob heads/*"
'
test_expect_failure 'shortlog --glob is not confused by option-like argument' '
- compare shortlog master "--glob -e master"
+ compare shortlog main "--glob -e main"
'
diff --git a/t/t6019-rev-list-ancestry-path.sh b/t/t6019-rev-list-ancestry-path.sh
index 353f84313f..20adbece65 100755
--- a/t/t6019-rev-list-ancestry-path.sh
+++ b/t/t6019-rev-list-ancestry-path.sh
@@ -21,6 +21,9 @@ test_description='--ancestry-path'
# --ancestry-path G..M -- G.t == L
# --ancestry-path --simplify-merges G^..M -- G.t == G L
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_merge () {
@@ -128,15 +131,15 @@ test_expect_success 'setup criss-cross' '
(cd criss-cross &&
git init &&
test_commit A &&
- git checkout -b xb master &&
+ git checkout -b xb main &&
test_commit B &&
- git checkout -b xc master &&
+ git checkout -b xc main &&
test_commit C &&
git checkout -b xbc xb -- &&
git merge xc &&
git checkout -b xcb xc -- &&
git merge xb &&
- git checkout master)
+ git checkout main)
'
# no commits in bc descend from cb
diff --git a/t/t6020-bundle-misc.sh b/t/t6020-bundle-misc.sh
new file mode 100755
index 0000000000..6249420a80
--- /dev/null
+++ b/t/t6020-bundle-misc.sh
@@ -0,0 +1,463 @@
+#!/bin/sh
+#
+# Copyright (c) 2021 Jiang Xin
+#
+
+test_description='Test git-bundle'
+
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
+. ./test-lib.sh
+. "$TEST_DIRECTORY"/test-bundle-functions.sh
+
+# Create a commit or tag and set the variable with the object ID.
+test_commit_setvar () {
+ notick=
+ signoff=
+ indir=
+ merge=
+ tag=
+ var=
+
+ while test $# != 0
+ do
+ case "$1" in
+ --merge)
+ merge=t
+ ;;
+ --tag)
+ tag=t
+ ;;
+ --notick)
+ notick=t
+ ;;
+ --signoff)
+ signoff="$1"
+ ;;
+ -C)
+ shift
+ indir="$1"
+ ;;
+ -*)
+ echo >&2 "error: unknown option $1"
+ return 1
+ ;;
+ *)
+ break
+ ;;
+ esac
+ shift
+ done
+ if test $# -lt 2
+ then
+ echo >&2 "error: test_commit_setvar must have at least 2 arguments"
+ return 1
+ fi
+ var=$1
+ shift
+ indir=${indir:+"$indir"/}
+ if test -z "$notick"
+ then
+ test_tick
+ fi &&
+ if test -n "$merge"
+ then
+ git ${indir:+ -C "$indir"} merge --no-edit --no-ff \
+ ${2:+-m "$2"} "$1" &&
+ oid=$(git ${indir:+ -C "$indir"} rev-parse HEAD)
+ elif test -n "$tag"
+ then
+ git ${indir:+ -C "$indir"} tag -m "$1" "$1" "${2:-HEAD}" &&
+ oid=$(git ${indir:+ -C "$indir"} rev-parse "$1")
+ else
+ file=${2:-"$1.t"} &&
+ echo "${3-$1}" >"$indir$file" &&
+ git ${indir:+ -C "$indir"} add "$file" &&
+ git ${indir:+ -C "$indir"} commit $signoff -m "$1" &&
+ oid=$(git ${indir:+ -C "$indir"} rev-parse HEAD)
+ fi &&
+ eval $var=$oid
+}
+
+# Format the output of git commands to make a user-friendly and stable
+# text. We can easily prepare the expect text without having to worry
+# about future changes of the commit ID and spaces of the output.
+make_user_friendly_and_stable_output () {
+ sed \
+ -e "s/${A%${A#???????}}[0-9a-f]*/<COMMIT-A>/g" \
+ -e "s/${B%${B#???????}}[0-9a-f]*/<COMMIT-B>/g" \
+ -e "s/${C%${C#???????}}[0-9a-f]*/<COMMIT-C>/g" \
+ -e "s/${D%${D#???????}}[0-9a-f]*/<COMMIT-D>/g" \
+ -e "s/${E%${E#???????}}[0-9a-f]*/<COMMIT-E>/g" \
+ -e "s/${F%${F#???????}}[0-9a-f]*/<COMMIT-F>/g" \
+ -e "s/${G%${G#???????}}[0-9a-f]*/<COMMIT-G>/g" \
+ -e "s/${H%${H#???????}}[0-9a-f]*/<COMMIT-H>/g" \
+ -e "s/${I%${I#???????}}[0-9a-f]*/<COMMIT-I>/g" \
+ -e "s/${J%${J#???????}}[0-9a-f]*/<COMMIT-J>/g" \
+ -e "s/${K%${K#???????}}[0-9a-f]*/<COMMIT-K>/g" \
+ -e "s/${L%${L#???????}}[0-9a-f]*/<COMMIT-L>/g" \
+ -e "s/${M%${M#???????}}[0-9a-f]*/<COMMIT-M>/g" \
+ -e "s/${N%${N#???????}}[0-9a-f]*/<COMMIT-N>/g" \
+ -e "s/${O%${O#???????}}[0-9a-f]*/<COMMIT-O>/g" \
+ -e "s/${P%${P#???????}}[0-9a-f]*/<COMMIT-P>/g" \
+ -e "s/${TAG1%${TAG1#???????}}[0-9a-f]*/<TAG-1>/g" \
+ -e "s/${TAG2%${TAG2#???????}}[0-9a-f]*/<TAG-2>/g" \
+ -e "s/${TAG3%${TAG3#???????}}[0-9a-f]*/<TAG-3>/g" \
+ -e "s/ *\$//"
+}
+
+# (C) (D, pull/1/head, topic/1)
+# o --- o
+# / \ (L)
+# / \ o (H, topic/2) (M, tag:v2)
+# / (F) \ / (N, tag:v3)
+# / o --------- o (G, pull/2/head) o --- o --- o (release)
+# / / \ \ / \
+# o --- o --- o -------- o -- o ------------------ o ------- o --- o (main)
+# (A) (B) (E, tag:v1) (I) (J) (K) (O) (P)
+#
+test_expect_success 'setup' '
+ # Try to make a stable fixed width for abbreviated commit ID,
+ # this fixed-width oid will be replaced with "<OID>".
+ git config core.abbrev 7 &&
+
+ # branch main: commit A & B
+ test_commit_setvar A "Commit A" main.txt &&
+ test_commit_setvar B "Commit B" main.txt &&
+
+ # branch topic/1: commit C & D, refs/pull/1/head
+ git checkout -b topic/1 &&
+ test_commit_setvar C "Commit C" topic-1.txt &&
+ test_commit_setvar D "Commit D" topic-1.txt &&
+ git update-ref refs/pull/1/head HEAD &&
+
+ # branch topic/1: commit E, tag v1
+ git checkout main &&
+ test_commit_setvar E "Commit E" main.txt &&
+ test_commit_setvar --tag TAG1 v1 &&
+
+ # branch topic/2: commit F & G, refs/pull/2/head
+ git checkout -b topic/2 &&
+ test_commit_setvar F "Commit F" topic-2.txt &&
+ test_commit_setvar G "Commit G" topic-2.txt &&
+ git update-ref refs/pull/2/head HEAD &&
+ test_commit_setvar H "Commit H" topic-2.txt &&
+
+ # branch main: merge commit I & J
+ git checkout main &&
+ test_commit_setvar --merge I topic/1 "Merge commit I" &&
+ test_commit_setvar --merge J refs/pull/2/head "Merge commit J" &&
+
+ # branch main: commit K
+ git checkout main &&
+ test_commit_setvar K "Commit K" main.txt &&
+
+ # branch release:
+ git checkout -b release &&
+ test_commit_setvar L "Commit L" release.txt &&
+ test_commit_setvar M "Commit M" release.txt &&
+ test_commit_setvar --tag TAG2 v2 &&
+ test_commit_setvar N "Commit N" release.txt &&
+ test_commit_setvar --tag TAG3 v3 &&
+
+ # branch main: merge commit O, commit P
+ git checkout main &&
+ test_commit_setvar --merge O tags/v2 "Merge commit O" &&
+ test_commit_setvar P "Commit P" main.txt
+'
+
+test_expect_success 'create bundle from special rev: main^!' '
+ git bundle create special-rev.bdl "main^!" &&
+
+ git bundle list-heads special-rev.bdl |
+ make_user_friendly_and_stable_output >actual &&
+ cat >expect <<-\EOF &&
+ <COMMIT-P> refs/heads/main
+ EOF
+ test_i18ncmp expect actual &&
+
+ git bundle verify special-rev.bdl |
+ make_user_friendly_and_stable_output >actual &&
+ cat >expect <<-\EOF &&
+ The bundle contains this ref:
+ <COMMIT-P> refs/heads/main
+ The bundle requires this ref:
+ <COMMIT-O>
+ EOF
+ test_i18ncmp expect actual &&
+
+ test_bundle_object_count special-rev.bdl 3
+'
+
+test_expect_success 'create bundle with --max-count option' '
+ git bundle create max-count.bdl --max-count 1 \
+ main \
+ "^release" \
+ refs/tags/v1 \
+ refs/pull/1/head \
+ refs/pull/2/head &&
+
+ git bundle verify max-count.bdl |
+ make_user_friendly_and_stable_output >actual &&
+ cat >expect <<-\EOF &&
+ The bundle contains these 2 refs:
+ <COMMIT-P> refs/heads/main
+ <TAG-1> refs/tags/v1
+ The bundle requires this ref:
+ <COMMIT-O>
+ EOF
+ test_i18ncmp expect actual &&
+
+ test_bundle_object_count max-count.bdl 4
+'
+
+test_expect_success 'create bundle with --since option' '
+ git log -1 --pretty="%ad" $M >actual &&
+ cat >expect <<-\EOF &&
+ Thu Apr 7 15:26:13 2005 -0700
+ EOF
+ test_cmp expect actual &&
+
+ git bundle create since.bdl \
+ --since "Thu Apr 7 15:27:00 2005 -0700" \
+ --all &&
+
+ git bundle verify since.bdl |
+ make_user_friendly_and_stable_output >actual &&
+ cat >expect <<-\EOF &&
+ The bundle contains these 5 refs:
+ <COMMIT-P> refs/heads/main
+ <COMMIT-N> refs/heads/release
+ <TAG-2> refs/tags/v2
+ <TAG-3> refs/tags/v3
+ <COMMIT-P> HEAD
+ The bundle requires these 2 refs:
+ <COMMIT-M>
+ <COMMIT-K>
+ EOF
+ test_i18ncmp expect actual &&
+
+ test_bundle_object_count --thin since.bdl 13
+'
+
+test_expect_success 'create bundle 1 - no prerequisites' '
+ # create bundle from args
+ git bundle create 1.bdl topic/1 topic/2 &&
+
+ # create bundle from stdin
+ cat >input <<-\EOF &&
+ topic/1
+ topic/2
+ EOF
+ git bundle create stdin-1.bdl --stdin <input &&
+
+ cat >expect <<-\EOF &&
+ The bundle contains these 2 refs:
+ <COMMIT-D> refs/heads/topic/1
+ <COMMIT-H> refs/heads/topic/2
+ The bundle records a complete history.
+ EOF
+
+ # verify bundle, which has no prerequisites
+ git bundle verify 1.bdl |
+ make_user_friendly_and_stable_output >actual &&
+ test_i18ncmp expect actual &&
+
+ git bundle verify stdin-1.bdl |
+ make_user_friendly_and_stable_output >actual &&
+ test_i18ncmp expect actual &&
+
+ test_bundle_object_count 1.bdl 24 &&
+ test_bundle_object_count stdin-1.bdl 24
+'
+
+test_expect_success 'create bundle 2 - has prerequisites' '
+ # create bundle from args
+ git bundle create 2.bdl \
+ --ignore-missing \
+ ^topic/deleted \
+ ^$D \
+ ^topic/2 \
+ release &&
+
+ # create bundle from stdin
+ # input has a non-exist reference: "topic/deleted"
+ cat >input <<-EOF &&
+ ^topic/deleted
+ ^$D
+ ^topic/2
+ EOF
+ git bundle create stdin-2.bdl \
+ --ignore-missing \
+ --stdin \
+ release <input &&
+
+ cat >expect <<-\EOF &&
+ The bundle contains this ref:
+ <COMMIT-N> refs/heads/release
+ The bundle requires these 3 refs:
+ <COMMIT-D>
+ <COMMIT-E>
+ <COMMIT-G>
+ EOF
+
+ git bundle verify 2.bdl |
+ make_user_friendly_and_stable_output >actual &&
+ test_i18ncmp expect actual &&
+
+ git bundle verify stdin-2.bdl |
+ make_user_friendly_and_stable_output >actual &&
+ test_i18ncmp expect actual &&
+
+ test_bundle_object_count 2.bdl 16 &&
+ test_bundle_object_count stdin-2.bdl 16
+'
+
+test_expect_success 'fail to verify bundle without prerequisites' '
+ git init --bare test1.git &&
+
+ cat >expect <<-\EOF &&
+ error: Repository lacks these prerequisite commits:
+ error: <COMMIT-D>
+ error: <COMMIT-E>
+ error: <COMMIT-G>
+ EOF
+
+ test_must_fail git -C test1.git bundle verify ../2.bdl 2>&1 |
+ make_user_friendly_and_stable_output >actual &&
+ test_i18ncmp expect actual &&
+
+ test_must_fail git -C test1.git bundle verify ../stdin-2.bdl 2>&1 |
+ make_user_friendly_and_stable_output >actual &&
+ test_i18ncmp expect actual
+'
+
+test_expect_success 'create bundle 3 - two refs, same object' '
+ # create bundle from args
+ git bundle create --version=3 3.bdl \
+ ^release \
+ ^topic/1 \
+ ^topic/2 \
+ main \
+ HEAD &&
+
+ # create bundle from stdin
+ cat >input <<-\EOF &&
+ ^release
+ ^topic/1
+ ^topic/2
+ EOF
+ git bundle create --version=3 stdin-3.bdl \
+ --stdin \
+ main HEAD <input &&
+
+ cat >expect <<-\EOF &&
+ The bundle contains these 2 refs:
+ <COMMIT-P> refs/heads/main
+ <COMMIT-P> HEAD
+ The bundle requires these 2 refs:
+ <COMMIT-M>
+ <COMMIT-K>
+ EOF
+
+ git bundle verify 3.bdl |
+ make_user_friendly_and_stable_output >actual &&
+ test_i18ncmp expect actual &&
+
+ git bundle verify stdin-3.bdl |
+ make_user_friendly_and_stable_output >actual &&
+ test_i18ncmp expect actual &&
+
+ test_bundle_object_count 3.bdl 4 &&
+ test_bundle_object_count stdin-3.bdl 4
+'
+
+test_expect_success 'create bundle 4 - with tags' '
+ # create bundle from args
+ git bundle create 4.bdl \
+ ^main \
+ ^release \
+ ^topic/1 \
+ ^topic/2 \
+ --all &&
+
+ # create bundle from stdin
+ cat >input <<-\EOF &&
+ ^main
+ ^release
+ ^topic/1
+ ^topic/2
+ EOF
+ git bundle create stdin-4.bdl \
+ --ignore-missing \
+ --stdin \
+ --all <input &&
+
+ cat >expect <<-\EOF &&
+ The bundle contains these 3 refs:
+ <TAG-1> refs/tags/v1
+ <TAG-2> refs/tags/v2
+ <TAG-3> refs/tags/v3
+ The bundle records a complete history.
+ EOF
+
+ git bundle verify 4.bdl |
+ make_user_friendly_and_stable_output >actual &&
+ test_i18ncmp expect actual &&
+
+ git bundle verify stdin-4.bdl |
+ make_user_friendly_and_stable_output >actual &&
+ test_i18ncmp expect actual &&
+
+ test_bundle_object_count 4.bdl 3 &&
+ test_bundle_object_count stdin-4.bdl 3
+'
+
+test_expect_success 'clone from bundle' '
+ git clone --mirror 1.bdl mirror.git &&
+ git -C mirror.git show-ref |
+ make_user_friendly_and_stable_output >actual &&
+ cat >expect <<-\EOF &&
+ <COMMIT-D> refs/heads/topic/1
+ <COMMIT-H> refs/heads/topic/2
+ EOF
+ test_cmp expect actual &&
+
+ git -C mirror.git fetch ../2.bdl "+refs/*:refs/*" &&
+ git -C mirror.git show-ref |
+ make_user_friendly_and_stable_output >actual &&
+ cat >expect <<-\EOF &&
+ <COMMIT-N> refs/heads/release
+ <COMMIT-D> refs/heads/topic/1
+ <COMMIT-H> refs/heads/topic/2
+ EOF
+ test_cmp expect actual &&
+
+ git -C mirror.git fetch ../3.bdl "+refs/*:refs/*" &&
+ git -C mirror.git show-ref |
+ make_user_friendly_and_stable_output >actual &&
+ cat >expect <<-\EOF &&
+ <COMMIT-P> refs/heads/main
+ <COMMIT-N> refs/heads/release
+ <COMMIT-D> refs/heads/topic/1
+ <COMMIT-H> refs/heads/topic/2
+ EOF
+ test_cmp expect actual &&
+
+ git -C mirror.git fetch ../4.bdl "+refs/*:refs/*" &&
+ git -C mirror.git show-ref |
+ make_user_friendly_and_stable_output >actual &&
+ cat >expect <<-\EOF &&
+ <COMMIT-P> refs/heads/main
+ <COMMIT-N> refs/heads/release
+ <COMMIT-D> refs/heads/topic/1
+ <COMMIT-H> refs/heads/topic/2
+ <TAG-1> refs/tags/v1
+ <TAG-2> refs/tags/v2
+ <TAG-3> refs/tags/v3
+ EOF
+ test_cmp expect actual
+'
+
+test_done
diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh
index aa226381be..7bcde054d7 100755
--- a/t/t6030-bisect-porcelain.sh
+++ b/t/t6030-bisect-porcelain.sh
@@ -6,6 +6,9 @@ test_description='Tests git bisect functionality'
exec </dev/null
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
add_line_into_file()
@@ -89,9 +92,9 @@ test_expect_success 'bisect start without -- takes unknown arg as pathspec' '
grep bar ".git/BISECT_NAMES"
'
-test_expect_success 'bisect reset: back in the master branch' '
+test_expect_success 'bisect reset: back in the main branch' '
git bisect reset &&
- echo "* master" > branch.expect &&
+ echo "* main" > branch.expect &&
git branch > branch.output &&
cmp branch.expect branch.output
'
@@ -102,7 +105,7 @@ test_expect_success 'bisect reset: back in another branch' '
git bisect good $HASH1 &&
git bisect bad $HASH3 &&
git bisect reset &&
- echo " master" > branch.expect &&
+ echo " main" > branch.expect &&
echo "* other" >> branch.expect &&
git branch > branch.output &&
cmp branch.expect branch.output
@@ -348,7 +351,7 @@ test_expect_success 'bisect skip many ranges' '
test_expect_success 'bisect starting with a detached HEAD' '
git bisect reset &&
- git checkout master^ &&
+ git checkout main^ &&
HEAD=$(git rev-parse --verify HEAD) &&
git bisect start &&
test $HEAD = $(cat .git/BISECT_START) &&
@@ -716,7 +719,7 @@ test_expect_success 'bisect: --no-checkout - target after breakage' '
test_expect_success 'bisect: demonstrate identification of damage boundary' "
git bisect reset &&
git checkout broken &&
- git bisect start broken master --no-checkout &&
+ git bisect start broken main --no-checkout &&
test_must_fail git bisect run \"\$SHELL_PATH\" -c '
GOOD=\$(git for-each-ref \"--format=%(objectname)\" refs/bisect/good-*) &&
git rev-list --objects BISECT_HEAD --not \$GOOD >tmp.\$\$ &&
@@ -926,14 +929,14 @@ test_expect_success 'git bisect reset cleans bisection state properly' '
git bisect bad $HASH4 &&
git bisect reset &&
test -z "$(git for-each-ref "refs/bisect/*")" &&
- test_path_is_missing "$GIT_DIR/BISECT_EXPECTED_REV" &&
- test_path_is_missing "$GIT_DIR/BISECT_ANCESTORS_OK" &&
- test_path_is_missing "$GIT_DIR/BISECT_LOG" &&
- test_path_is_missing "$GIT_DIR/BISECT_RUN" &&
- test_path_is_missing "$GIT_DIR/BISECT_TERMS" &&
- test_path_is_missing "$GIT_DIR/head-name" &&
- test_path_is_missing "$GIT_DIR/BISECT_HEAD" &&
- test_path_is_missing "$GIT_DIR/BISECT_START"
+ test_path_is_missing ".git/BISECT_EXPECTED_REV" &&
+ test_path_is_missing ".git/BISECT_ANCESTORS_OK" &&
+ test_path_is_missing ".git/BISECT_LOG" &&
+ test_path_is_missing ".git/BISECT_RUN" &&
+ test_path_is_missing ".git/BISECT_TERMS" &&
+ test_path_is_missing ".git/head-name" &&
+ test_path_is_missing ".git/BISECT_HEAD" &&
+ test_path_is_missing ".git/BISECT_START"
'
test_done
diff --git a/t/t6040-tracking-info.sh b/t/t6040-tracking-info.sh
index 50a934e1b2..a160b2bf99 100755
--- a/t/t6040-tracking-info.sh
+++ b/t/t6040-tracking-info.sh
@@ -2,6 +2,9 @@
test_description='remote tracking stats'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
advance () {
@@ -34,7 +37,7 @@ test_expect_success setup '
git branch -d brokenbase &&
git checkout -b b6 origin
) &&
- git checkout -b follower --track master &&
+ git checkout -b follower --track main &&
advance h
'
@@ -58,12 +61,12 @@ test_expect_success 'branch -v' '
'
cat >expect <<\EOF
-b1 [origin/master: ahead 1, behind 1] d
-b2 [origin/master: ahead 1, behind 1] d
-b3 [origin/master: behind 1] b
-b4 [origin/master: ahead 2] f
+b1 [origin/main: ahead 1, behind 1] d
+b2 [origin/main: ahead 1, behind 1] d
+b3 [origin/main: behind 1] b
+b4 [origin/main: ahead 2] f
b5 [brokenbase: gone] g
-b6 [origin/master] c
+b6 [origin/main] c
EOF
test_expect_success 'branch -vv' '
@@ -83,7 +86,7 @@ test_expect_success 'checkout (diverged from upstream)' '
'
test_expect_success 'checkout with local tracked branch' '
- git checkout master &&
+ git checkout main &&
git checkout follower >actual &&
test_i18ngrep "is ahead of" actual
'
@@ -100,7 +103,7 @@ test_expect_success 'checkout (up-to-date with upstream)' '
(
cd test && git checkout b6
) >actual &&
- test_i18ngrep "Your branch is up to date with .origin/master" actual
+ test_i18ngrep "Your branch is up to date with .origin/main" actual
'
test_expect_success 'status (diverged from upstream)' '
@@ -130,11 +133,11 @@ test_expect_success 'status (up-to-date with upstream)' '
# reports nothing to commit
test_must_fail git commit --dry-run
) >actual &&
- test_i18ngrep "Your branch is up to date with .origin/master" actual
+ test_i18ngrep "Your branch is up to date with .origin/main" actual
'
cat >expect <<\EOF
-## b1...origin/master [ahead 1, behind 1]
+## b1...origin/main [ahead 1, behind 1]
EOF
test_expect_success 'status -s -b (diverged from upstream)' '
@@ -147,7 +150,7 @@ test_expect_success 'status -s -b (diverged from upstream)' '
'
cat >expect <<\EOF
-## b1...origin/master [different]
+## b1...origin/main [different]
EOF
test_expect_success 'status -s -b --no-ahead-behind (diverged from upstream)' '
@@ -160,7 +163,7 @@ test_expect_success 'status -s -b --no-ahead-behind (diverged from upstream)' '
'
cat >expect <<\EOF
-## b1...origin/master [different]
+## b1...origin/main [different]
EOF
test_expect_success 'status.aheadbehind=false status -s -b (diverged from upstream)' '
@@ -174,7 +177,7 @@ test_expect_success 'status.aheadbehind=false status -s -b (diverged from upstre
cat >expect <<\EOF
On branch b1
-Your branch and 'origin/master' have diverged,
+Your branch and 'origin/main' have diverged,
and have 1 and 1 different commits each, respectively.
EOF
@@ -198,7 +201,7 @@ test_expect_success 'status --long --branch' '
cat >expect <<\EOF
On branch b1
-Your branch and 'origin/master' refer to different commits.
+Your branch and 'origin/main' refer to different commits.
EOF
test_expect_success 'status --long --branch --no-ahead-behind' '
@@ -233,7 +236,7 @@ test_expect_success 'status -s -b (upstream is gone)' '
'
cat >expect <<\EOF
-## b6...origin/master
+## b6...origin/main
EOF
test_expect_success 'status -s -b (up-to-date with upstream)' '
@@ -246,7 +249,7 @@ test_expect_success 'status -s -b (up-to-date with upstream)' '
'
test_expect_success 'fail to track lightweight tags' '
- git checkout master &&
+ git checkout main &&
git tag light &&
test_must_fail git branch --track lighttrack light >actual &&
test_i18ngrep ! "set up to track" actual &&
@@ -254,7 +257,7 @@ test_expect_success 'fail to track lightweight tags' '
'
test_expect_success 'fail to track annotated tags' '
- git checkout master &&
+ git checkout main &&
git tag -m heavy heavy &&
test_must_fail git branch --track heavytrack heavy >actual &&
test_i18ngrep ! "set up to track" actual &&
@@ -262,17 +265,17 @@ test_expect_success 'fail to track annotated tags' '
'
test_expect_success '--set-upstream-to does not change branch' '
- git branch from-master master &&
- git branch --set-upstream-to master from-master &&
- git branch from-topic_2 master &&
+ git branch from-main main &&
+ git branch --set-upstream-to main from-main &&
+ git branch from-topic_2 main &&
test_must_fail git config branch.from-topic_2.merge > actual &&
git rev-list from-topic_2 &&
git update-ref refs/heads/from-topic_2 from-topic_2^ &&
git rev-parse from-topic_2 >expect2 &&
- git branch --set-upstream-to master from-topic_2 &&
- git config branch.from-master.merge > actual &&
+ git branch --set-upstream-to main from-topic_2 &&
+ git config branch.from-main.merge > actual &&
git rev-parse from-topic_2 >actual2 &&
- grep -q "^refs/heads/master$" actual &&
+ grep -q "^refs/heads/main$" actual &&
cmp expect2 actual2
'
@@ -280,11 +283,11 @@ test_expect_success '--set-upstream-to @{-1}' '
git checkout follower &&
git checkout from-topic_2 &&
git config branch.from-topic_2.merge > expect2 &&
- git branch --set-upstream-to @{-1} from-master &&
- git config branch.from-master.merge > actual &&
+ git branch --set-upstream-to @{-1} from-main &&
+ git config branch.from-main.merge > actual &&
git config branch.from-topic_2.merge > actual2 &&
- git branch --set-upstream-to follower from-master &&
- git config branch.from-master.merge > expect &&
+ git branch --set-upstream-to follower from-main &&
+ git config branch.from-main.merge > expect &&
test_cmp expect2 actual2 &&
test_cmp expect actual
'
diff --git a/t/t6050-replace.sh b/t/t6050-replace.sh
index c80dc10b8f..e33d512ec1 100755
--- a/t/t6050-replace.sh
+++ b/t/t6050-replace.sh
@@ -4,6 +4,9 @@
#
test_description='Tests replace refs functionality'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY/lib-gpg.sh"
@@ -129,13 +132,13 @@ tagger T A Gger <> 0 +0000
EOF
test_expect_success 'tag replaced commit' '
- git mktag <tag.sig >.git/refs/tags/mytag 2>message
+ git mktag <tag.sig >.git/refs/tags/mytag
'
test_expect_success '"git fsck" works' '
- git fsck master >fsck_master.out &&
- test_i18ngrep "dangling commit $R" fsck_master.out &&
- test_i18ngrep "dangling tag $(git show-ref -s refs/tags/mytag)" fsck_master.out &&
+ git fsck main >fsck_main.out &&
+ test_i18ngrep "dangling commit $R" fsck_main.out &&
+ test_i18ngrep "dangling tag $(git show-ref -s refs/tags/mytag)" fsck_main.out &&
test -z "$(git fsck)"
'
@@ -218,7 +221,7 @@ test_expect_success 'create parallel branch without the bug' '
git cherry-pick $HASH6 &&
PARA6=$(git rev-parse --verify HEAD) &&
git replace $HASH6 $PARA6 &&
- git checkout master &&
+ git checkout main &&
cur=$(git rev-parse --verify HEAD) &&
test "$cur" = "$HASH7" &&
git log --pretty=oneline | grep $PARA2 &&
@@ -461,7 +464,7 @@ test_expect_success GPG 'set up a merge commit with a mergetag' '
git commit -m "hello: 2 more lines from a test branch" &&
HASH9=$(git rev-parse --verify HEAD) &&
git tag -s -m "tag for testing with a mergetag" test_tag HEAD &&
- git checkout master &&
+ git checkout main &&
git merge -s ours test_tag &&
HASH10=$(git rev-parse --verify HEAD) &&
git cat-file commit $HASH10 | grep "^mergetag object"
diff --git a/t/t6101-rev-parse-parents.sh b/t/t6101-rev-parse-parents.sh
index 7531262a5e..78b5851780 100755
--- a/t/t6101-rev-parse-parents.sh
+++ b/t/t6101-rev-parse-parents.sh
@@ -5,6 +5,9 @@
test_description='Test git rev-parse with different parent options'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_cmp_rev_output () {
@@ -18,7 +21,7 @@ test_expect_success 'setup' '
test_commit second &&
git checkout --orphan tmp &&
test_commit start2 &&
- git checkout master &&
+ git checkout main &&
git merge -m next --allow-unrelated-histories start2 &&
test_commit final &&
diff --git a/t/t6110-rev-list-sparse.sh b/t/t6110-rev-list-sparse.sh
index 656ac7fe9d..13c1da5352 100755
--- a/t/t6110-rev-list-sparse.sh
+++ b/t/t6110-rev-list-sparse.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='operations that cull histories in unusual ways'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -10,7 +13,7 @@ test_expect_success setup '
git checkout -b side HEAD^ &&
test_commit D &&
test_commit E &&
- git merge master
+ git merge main
'
test_expect_success 'rev-list --first-parent --boundary' '
diff --git a/t/t6111-rev-list-treesame.sh b/t/t6111-rev-list-treesame.sh
index 4244638285..e07b6070e0 100755
--- a/t/t6111-rev-list-treesame.sh
+++ b/t/t6111-rev-list-treesame.sh
@@ -13,6 +13,9 @@
test_description='TREESAME and limiting'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
note () {
@@ -33,13 +36,13 @@ test_expect_success setup '
git checkout other-branch &&
test_commit "Added other" other "Hello" C &&
- git checkout master &&
+ git checkout main &&
test_merge D other-branch &&
git checkout third-branch &&
test_commit "Third file" third "Nothing" E &&
- git checkout master &&
+ git checkout main &&
test_commit "file=Blah" file "Blah" F &&
test_tick && git merge --no-commit third-branch &&
@@ -56,7 +59,7 @@ test_expect_success setup '
test_tick && git revert I && note J &&
- git checkout master &&
+ git checkout main &&
test_tick && git merge --no-ff fiddler-branch &&
note K &&
diff --git a/t/t6112-rev-list-filters-objects.sh b/t/t6112-rev-list-filters-objects.sh
index de0e5a5d36..31457d13b9 100755
--- a/t/t6112-rev-list-filters-objects.sh
+++ b/t/t6112-rev-list-filters-objects.sh
@@ -2,6 +2,9 @@
test_description='git rev-list using object filtering'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# Test the blob:none filter.
@@ -223,7 +226,7 @@ test_expect_success 'verify sparse:oid=oid-ish omits top-level files' '
sort >expected &&
git -C r3 rev-list --quiet --objects --filter-print-omitted \
- --filter=sparse:oid=master:pattern HEAD >revs &&
+ --filter=sparse:oid=main:pattern HEAD >revs &&
awk -f print_1.awk revs |
sed "s/~//" |
sort >observed &&
@@ -436,7 +439,7 @@ test_expect_success 'add sparse pattern blobs whose paths have reserved chars' '
test_expect_success 'combine:... with more than two sub-filters' '
git -C r3 rev-list --objects \
- --filter=combine:tree:3+blob:limit=40+sparse:oid=master:pattern \
+ --filter=combine:tree:3+blob:limit=40+sparse:oid=main:pattern \
HEAD >actual &&
expect_has HEAD "" &&
@@ -454,7 +457,7 @@ test_expect_success 'combine:... with more than two sub-filters' '
cp actual expect &&
git -C r3 rev-list --objects \
- --filter=combine:tree:3+blob:limit=40+sparse:oid=master:pattern1%2brenamed%25 \
+ --filter=combine:tree:3+blob:limit=40+sparse:oid=main:pattern1%2brenamed%25 \
HEAD >actual &&
test_cmp expect actual &&
@@ -464,23 +467,23 @@ test_expect_success 'combine:... with more than two sub-filters' '
test_when_finished "rm -f trace1" &&
GIT_TRACE=$(pwd)/trace1 git -C r3 rev-list --objects \
--filter=tree:3 --filter=blob:limit=40 \
- --filter=sparse:oid="master:p;at%ter+n" \
+ --filter=sparse:oid="main:p;at%ter+n" \
HEAD >actual &&
test_cmp expect actual &&
- grep "Add to combine filter-spec: sparse:oid=master:p%3bat%25ter%2bn" \
+ grep "Add to combine filter-spec: sparse:oid=main:p%3bat%25ter%2bn" \
trace1 &&
# Repeat the above test, but this time, the characters to encode are in
# the LHS of the combined filter.
test_when_finished "rm -f trace2" &&
GIT_TRACE=$(pwd)/trace2 git -C r3 rev-list --objects \
- --filter=sparse:oid=master:^~pattern \
+ --filter=sparse:oid=main:^~pattern \
--filter=tree:3 --filter=blob:limit=40 \
HEAD >actual &&
test_cmp expect actual &&
- grep "Add to combine filter-spec: sparse:oid=master:%5e%7epattern" \
+ grep "Add to combine filter-spec: sparse:oid=main:%5e%7epattern" \
trace2
'
diff --git a/t/t6120-describe.sh b/t/t6120-describe.sh
index f822d5d328..546796f847 100755
--- a/t/t6120-describe.sh
+++ b/t/t6120-describe.sh
@@ -11,6 +11,9 @@ test_description='test describe'
#
# First parent of a merge commit is on the same line, second parent below.
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
check_describe () {
@@ -102,7 +105,7 @@ check_describe c-* --tags HEAD^^2
check_describe B --tags HEAD^^2^
check_describe e --tags HEAD^^^
-check_describe heads/master --all HEAD
+check_describe heads/main --all HEAD
check_describe tags/c-* --all HEAD^
check_describe tags/e --all HEAD^^^
@@ -403,15 +406,15 @@ test_expect_success ULIMIT_STACK_SIZE 'name-rev works in a deep repo' '
i=1 &&
while test $i -lt 8000
do
- echo "commit refs/heads/master
+ echo "commit refs/heads/main
committer A U Thor <author@example.com> $((1000000000 + $i * 100)) +0200
data <<EOF
commit #$i
EOF"
- test $i = 1 && echo "from refs/heads/master^0"
+ test $i = 1 && echo "from refs/heads/main^0"
i=$(($i + 1))
done | git fast-import &&
- git checkout master &&
+ git checkout main &&
git tag far-far-away HEAD^ &&
echo "HEAD~4000 tags/far-far-away~3999" >expect &&
git name-rev HEAD~4000 >actual &&
@@ -442,7 +445,7 @@ test_expect_success 'describe complains about missing object' '
'
test_expect_success 'name-rev a rev shortly after epoch' '
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
git checkout --orphan no-timestamp-underflow &&
# Any date closer to epoch than the CUTOFF_DATE_SLOP constant
@@ -456,7 +459,7 @@ test_expect_success 'name-rev a rev shortly after epoch' '
test_cmp expect actual
'
-# A--------------master
+# A--------------main
# \ /
# \----------M2
# \ /
@@ -487,10 +490,10 @@ test_expect_success 'name-rev covers all conditions while looking at parents' '
git checkout $A &&
git merge --no-ff HEAD@{1} && # M2
- git checkout master &&
+ git checkout main &&
git merge --no-ff HEAD@{1} &&
- echo "$B master^2^2~1^2" >expect &&
+ echo "$B main^2^2~1^2" >expect &&
git name-rev $B >actual &&
test_cmp expect actual
@@ -516,7 +519,7 @@ test_expect_success 'describe commits with disjoint bases' '
git checkout --orphan branch && rm file &&
echo B > file2 && git add file2 && git commit -m B &&
git tag B -a -m B &&
- git merge --no-ff --allow-unrelated-histories master -m x &&
+ git merge --no-ff --allow-unrelated-histories main -m x &&
check_describe "A-3-*" HEAD
)
@@ -542,7 +545,7 @@ test_expect_success 'describe commits with disjoint bases 2' '
echo o >> file2 && git add file2 && GIT_COMMITTER_DATE="2020-01-01 15:01" git commit -m o &&
echo B >> file2 && git add file2 && GIT_COMMITTER_DATE="2020-01-01 15:02" git commit -m B &&
git tag B -a -m B &&
- git merge --no-ff --allow-unrelated-histories master -m x &&
+ git merge --no-ff --allow-unrelated-histories main -m x &&
check_describe "B-3-*" HEAD
)
diff --git a/t/t6200-fmt-merge-msg.sh b/t/t6200-fmt-merge-msg.sh
index 7d549748ef..44f55d93fe 100755
--- a/t/t6200-fmt-merge-msg.sh
+++ b/t/t6200-fmt-merge-msg.sh
@@ -5,6 +5,9 @@
test_description='fmt-merge-msg test'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY/lib-gpg.sh"
@@ -81,7 +84,7 @@ test_expect_success GPG 'set up a signed tag' '
test_expect_success 'message for merging local branch' '
echo "Merge branch ${apos}left${apos}" >expected &&
- git checkout master &&
+ git checkout main &&
git fetch . left &&
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
@@ -89,7 +92,7 @@ test_expect_success 'message for merging local branch' '
'
test_expect_success GPG 'message for merging local tag signed by good key' '
- git checkout master &&
+ git checkout main &&
git fetch . signed-good-tag &&
git fmt-merge-msg <.git/FETCH_HEAD >actual 2>&1 &&
grep "^Merge tag ${apos}signed-good-tag${apos}" actual &&
@@ -98,7 +101,7 @@ test_expect_success GPG 'message for merging local tag signed by good key' '
'
test_expect_success GPG 'message for merging local tag signed by unknown key' '
- git checkout master &&
+ git checkout main &&
git fetch . signed-good-tag &&
GNUPGHOME=. git fmt-merge-msg <.git/FETCH_HEAD >actual 2>&1 &&
grep "^Merge tag ${apos}signed-good-tag${apos}" actual &&
@@ -109,7 +112,7 @@ test_expect_success GPG 'message for merging local tag signed by unknown key' '
test_expect_success 'message for merging external branch' '
echo "Merge branch ${apos}left${apos} of $(pwd)" >expected &&
- git checkout master &&
+ git checkout main &&
git fetch "$(pwd)" left &&
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
@@ -133,7 +136,7 @@ test_expect_success '[merge] summary/log configuration' '
test_config merge.log true &&
test_unconfig merge.summary &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git fetch . left &&
@@ -142,7 +145,7 @@ test_expect_success '[merge] summary/log configuration' '
test_unconfig merge.log &&
test_config merge.summary true &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git fetch . left &&
@@ -153,7 +156,7 @@ test_expect_success '[merge] summary/log configuration' '
'
test_expect_success 'setup FETCH_HEAD' '
- git checkout master &&
+ git checkout main &&
test_tick &&
git fetch . left
'
@@ -281,7 +284,7 @@ test_expect_success 'fmt-merge-msg -m' '
test_unconfig merge.log &&
test_unconfig merge.summary &&
- git checkout master &&
+ git checkout main &&
git fetch "$(pwd)" left &&
git fmt-merge-msg -m "Sync with left" <.git/FETCH_HEAD >actual &&
git fmt-merge-msg --log -m "Sync with left" \
@@ -323,28 +326,28 @@ test_expect_success 'setup: expected shortlog for two branches' '
test_expect_success 'shortlog for two branches' '
test_config merge.log true &&
test_unconfig merge.summary &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git fetch . left right &&
git fmt-merge-msg <.git/FETCH_HEAD >actual1 &&
test_unconfig merge.log &&
test_config merge.summary true &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git fetch . left right &&
git fmt-merge-msg <.git/FETCH_HEAD >actual2 &&
test_config merge.log yes &&
test_unconfig merge.summary &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git fetch . left right &&
git fmt-merge-msg <.git/FETCH_HEAD >actual3 &&
test_unconfig merge.log &&
test_config merge.summary yes &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git fetch . left right &&
git fmt-merge-msg <.git/FETCH_HEAD >actual4 &&
@@ -358,7 +361,7 @@ test_expect_success 'shortlog for two branches' '
test_expect_success 'merge-msg -F' '
test_unconfig merge.log &&
test_config merge.summary yes &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git fetch . left right &&
git fmt-merge-msg -F .git/FETCH_HEAD >actual &&
@@ -368,7 +371,7 @@ test_expect_success 'merge-msg -F' '
test_expect_success 'merge-msg -F in subdirectory' '
test_unconfig merge.log &&
test_config merge.summary yes &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git fetch . left right &&
mkdir sub &&
@@ -408,7 +411,7 @@ test_expect_success 'merge-msg tag' '
test_unconfig merge.log &&
test_config merge.summary yes &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git fetch . tag tag-r3 &&
@@ -438,7 +441,7 @@ test_expect_success 'merge-msg two tags' '
test_unconfig merge.log &&
test_config merge.summary yes &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git fetch . tag tag-r3 tag tag-l5 &&
@@ -468,7 +471,7 @@ test_expect_success 'merge-msg tag and branch' '
test_unconfig merge.log &&
test_config merge.summary yes &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git fetch . tag tag-r3 left &&
@@ -495,7 +498,7 @@ test_expect_success 'merge-msg lots of commits' '
test_config merge.summary yes &&
- git checkout master &&
+ git checkout main &&
test_tick &&
git fetch . long &&
@@ -506,11 +509,11 @@ test_expect_success 'merge-msg lots of commits' '
test_expect_success 'merge-msg with "merging" an annotated tag' '
test_config merge.log true &&
- git checkout master^0 &&
+ git checkout main^0 &&
git commit --allow-empty -m "One step ahead" &&
git tag -a -m "An annotated one" annote HEAD &&
- git checkout master &&
+ git checkout main &&
git fetch . annote &&
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
@@ -543,23 +546,23 @@ test_expect_success 'merge-msg with "merging" an annotated tag' '
'
test_expect_success 'merge.suppressDest configuration' '
- git checkout -B side master &&
+ git checkout -B side main &&
git commit --allow-empty -m "One step ahead" &&
- git checkout master &&
+ git checkout main &&
git fetch . side &&
git -c merge.suppressDest="" fmt-merge-msg <.git/FETCH_HEAD >full.1 &&
head -n1 full.1 >actual &&
- grep -e "Merge branch .side. into master" actual &&
+ grep -e "Merge branch .side. into main" actual &&
git -c merge.suppressDest="mast" fmt-merge-msg <.git/FETCH_HEAD >full.2 &&
head -n1 full.2 >actual &&
- grep -e "Merge branch .side. into master$" actual &&
+ grep -e "Merge branch .side. into main$" actual &&
- git -c merge.suppressDest="ma??er" fmt-merge-msg <.git/FETCH_HEAD >full.3 &&
+ git -c merge.suppressDest="ma?*[rn]" fmt-merge-msg <.git/FETCH_HEAD >full.3 &&
head -n1 full.3 >actual &&
grep -e "Merge branch .side." actual &&
- ! grep -e " into master$" actual
+ ! grep -e " into main$" actual
'
test_done
diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh
index b359023189..ca62e764b5 100755
--- a/t/t6300-for-each-ref.sh
+++ b/t/t6300-for-each-ref.sh
@@ -5,6 +5,9 @@
test_description='for-each-ref test'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-gpg.sh
. "$TEST_DIRECTORY"/lib-terminal.sh
@@ -28,12 +31,13 @@ test_expect_success setup '
echo "Using $datestamp" > one &&
git add one &&
git commit -m "Initial" &&
+ git branch -M main &&
setdate_and_increment &&
git tag -a -m "Tagging at $datestamp" testtag &&
- git update-ref refs/remotes/origin/master master &&
+ git update-ref refs/remotes/origin/main main &&
git remote add origin nowhere &&
- git config branch.master.remote origin &&
- git config branch.master.merge refs/heads/master &&
+ git config branch.main.remote origin &&
+ git config branch.main.merge refs/heads/main &&
git remote add myfork elsewhere &&
git config remote.pushdefault myfork &&
git config push.default current
@@ -41,7 +45,7 @@ test_expect_success setup '
test_atom() {
case "$1" in
- head) ref=refs/heads/master ;;
+ head) ref=refs/heads/main ;;
tag) ref=refs/tags/testtag ;;
sym) ref=refs/heads/sym ;;
*) ref=$1 ;;
@@ -76,49 +80,49 @@ test_atom() {
hexlen=$(test_oid hexsz)
disklen=$(test_oid disklen)
-test_atom head refname refs/heads/master
-test_atom head refname: refs/heads/master
-test_atom head refname:short master
-test_atom head refname:lstrip=1 heads/master
-test_atom head refname:lstrip=2 master
-test_atom head refname:lstrip=-1 master
-test_atom head refname:lstrip=-2 heads/master
+test_atom head refname refs/heads/main
+test_atom head refname: refs/heads/main
+test_atom head refname:short main
+test_atom head refname:lstrip=1 heads/main
+test_atom head refname:lstrip=2 main
+test_atom head refname:lstrip=-1 main
+test_atom head refname:lstrip=-2 heads/main
test_atom head refname:rstrip=1 refs/heads
test_atom head refname:rstrip=2 refs
test_atom head refname:rstrip=-1 refs
test_atom head refname:rstrip=-2 refs/heads
-test_atom head refname:strip=1 heads/master
-test_atom head refname:strip=2 master
-test_atom head refname:strip=-1 master
-test_atom head refname:strip=-2 heads/master
-test_atom head upstream refs/remotes/origin/master
-test_atom head upstream:short origin/master
-test_atom head upstream:lstrip=2 origin/master
-test_atom head upstream:lstrip=-2 origin/master
+test_atom head refname:strip=1 heads/main
+test_atom head refname:strip=2 main
+test_atom head refname:strip=-1 main
+test_atom head refname:strip=-2 heads/main
+test_atom head upstream refs/remotes/origin/main
+test_atom head upstream:short origin/main
+test_atom head upstream:lstrip=2 origin/main
+test_atom head upstream:lstrip=-2 origin/main
test_atom head upstream:rstrip=2 refs/remotes
test_atom head upstream:rstrip=-2 refs/remotes
-test_atom head upstream:strip=2 origin/master
-test_atom head upstream:strip=-2 origin/master
-test_atom head push refs/remotes/myfork/master
-test_atom head push:short myfork/master
-test_atom head push:lstrip=1 remotes/myfork/master
-test_atom head push:lstrip=-1 master
+test_atom head upstream:strip=2 origin/main
+test_atom head upstream:strip=-2 origin/main
+test_atom head push refs/remotes/myfork/main
+test_atom head push:short myfork/main
+test_atom head push:lstrip=1 remotes/myfork/main
+test_atom head push:lstrip=-1 main
test_atom head push:rstrip=1 refs/remotes/myfork
test_atom head push:rstrip=-1 refs
-test_atom head push:strip=1 remotes/myfork/master
-test_atom head push:strip=-1 master
+test_atom head push:strip=1 remotes/myfork/main
+test_atom head push:strip=-1 main
test_atom head objecttype commit
test_atom head objectsize $((131 + hexlen))
test_atom head objectsize:disk $disklen
test_atom head deltabase $ZERO_OID
-test_atom head objectname $(git rev-parse refs/heads/master)
-test_atom head objectname:short $(git rev-parse --short refs/heads/master)
-test_atom head objectname:short=1 $(git rev-parse --short=1 refs/heads/master)
-test_atom head objectname:short=10 $(git rev-parse --short=10 refs/heads/master)
-test_atom head tree $(git rev-parse refs/heads/master^{tree})
-test_atom head tree:short $(git rev-parse --short refs/heads/master^{tree})
-test_atom head tree:short=1 $(git rev-parse --short=1 refs/heads/master^{tree})
-test_atom head tree:short=10 $(git rev-parse --short=10 refs/heads/master^{tree})
+test_atom head objectname $(git rev-parse refs/heads/main)
+test_atom head objectname:short $(git rev-parse --short refs/heads/main)
+test_atom head objectname:short=1 $(git rev-parse --short=1 refs/heads/main)
+test_atom head objectname:short=10 $(git rev-parse --short=10 refs/heads/main)
+test_atom head tree $(git rev-parse refs/heads/main^{tree})
+test_atom head tree:short $(git rev-parse --short refs/heads/main^{tree})
+test_atom head tree:short=1 $(git rev-parse --short=1 refs/heads/main^{tree})
+test_atom head tree:short=10 $(git rev-parse --short=10 refs/heads/main^{tree})
test_atom head parent ''
test_atom head parent:short ''
test_atom head parent:short=1 ''
@@ -171,8 +175,8 @@ test_atom tag deltabase $ZERO_OID
test_atom tag '*deltabase' $ZERO_OID
test_atom tag objectname $(git rev-parse refs/tags/testtag)
test_atom tag objectname:short $(git rev-parse --short refs/tags/testtag)
-test_atom head objectname:short=1 $(git rev-parse --short=1 refs/heads/master)
-test_atom head objectname:short=10 $(git rev-parse --short=10 refs/heads/master)
+test_atom head objectname:short=1 $(git rev-parse --short=1 refs/heads/main)
+test_atom head objectname:short=10 $(git rev-parse --short=10 refs/heads/main)
test_atom tag tree ''
test_atom tag tree:short ''
test_atom tag tree:short=1 ''
@@ -253,7 +257,7 @@ test_date () {
author_date=$3 &&
tagger_date=$4 &&
cat >expected <<-EOF &&
- 'refs/heads/master' '$committer_date' '$author_date'
+ 'refs/heads/main' '$committer_date' '$author_date'
'refs/tags/testtag' '$tagger_date'
EOF
(
@@ -375,8 +379,8 @@ test_expect_success 'exercise strftime with odd fields' '
'
cat >expected <<\EOF
-refs/heads/master
-refs/remotes/origin/master
+refs/heads/main
+refs/remotes/origin/main
refs/tags/testtag
EOF
@@ -388,8 +392,8 @@ test_expect_success 'Verify ascending sort' '
cat >expected <<\EOF
refs/tags/testtag
-refs/remotes/origin/master
-refs/heads/master
+refs/remotes/origin/main
+refs/heads/main
EOF
test_expect_success 'Verify descending sort' '
@@ -424,8 +428,8 @@ test_expect_success 'exercise glob patterns with prefixes' '
'
cat >expected <<\EOF
-'refs/heads/master'
-'refs/remotes/origin/master'
+'refs/heads/main'
+'refs/remotes/origin/main'
'refs/tags/testtag'
EOF
@@ -445,8 +449,8 @@ test_expect_success 'Quoting style: python' '
'
cat >expected <<\EOF
-"refs/heads/master"
-"refs/remotes/origin/master"
+"refs/heads/main"
+"refs/remotes/origin/main"
"refs/tags/testtag"
EOF
@@ -473,8 +477,8 @@ test_atom head upstream:nobracket,track 'ahead 1'
test_expect_success 'setup for push:track[short]' '
test_commit third &&
- git update-ref refs/remotes/myfork/master master &&
- git reset master~1
+ git update-ref refs/remotes/myfork/main main &&
+ git reset main~1
'
test_atom head push:track '[behind 1]'
@@ -490,8 +494,8 @@ test_expect_success 'Check that :track[short] works when upstream is invalid' '
[gone]
EOF
- test_when_finished "git config branch.master.merge refs/heads/master" &&
- git config branch.master.merge refs/heads/does-not-exist &&
+ test_when_finished "git config branch.main.merge refs/heads/main" &&
+ git config branch.main.merge refs/heads/does-not-exist &&
git for-each-ref \
--format="%(upstream:track)$LF%(upstream:trackshort)" \
refs/heads >actual &&
@@ -504,9 +508,9 @@ test_expect_success 'Check for invalid refname format' '
test_expect_success 'set up color tests' '
cat >expected.color <<-EOF &&
- $(git rev-parse --short refs/heads/master) <GREEN>master<RESET>
- $(git rev-parse --short refs/remotes/myfork/master) <GREEN>myfork/master<RESET>
- $(git rev-parse --short refs/remotes/origin/master) <GREEN>origin/master<RESET>
+ $(git rev-parse --short refs/heads/main) <GREEN>main<RESET>
+ $(git rev-parse --short refs/remotes/myfork/main) <GREEN>myfork/main<RESET>
+ $(git rev-parse --short refs/remotes/origin/main) <GREEN>origin/main<RESET>
$(git rev-parse --short refs/tags/testtag) <GREEN>testtag<RESET>
$(git rev-parse --short refs/tags/third) <GREEN>third<RESET>
$(git rev-parse --short refs/tags/two) <GREEN>two<RESET>
@@ -538,8 +542,8 @@ test_expect_success 'color.ui=always does not override tty check' '
'
cat >expected <<\EOF
-heads/master
-tags/master
+heads/main
+tags/main
EOF
test_expect_success 'Check ambiguous head and tag refs (strict)' '
@@ -549,19 +553,19 @@ test_expect_success 'Check ambiguous head and tag refs (strict)' '
git add one &&
git commit -m "Branch" &&
setdate_and_increment &&
- git tag -m "Tagging at $datestamp" master &&
- git for-each-ref --format "%(refname:short)" refs/heads/master refs/tags/master >actual &&
+ git tag -m "Tagging at $datestamp" main &&
+ git for-each-ref --format "%(refname:short)" refs/heads/main refs/tags/main >actual &&
test_cmp expected actual
'
cat >expected <<\EOF
-heads/master
-master
+heads/main
+main
EOF
test_expect_success 'Check ambiguous head and tag refs (loose)' '
git config --bool core.warnambiguousrefs false &&
- git for-each-ref --format "%(refname:short)" refs/heads/master refs/tags/master >actual &&
+ git for-each-ref --format "%(refname:short)" refs/heads/main refs/tags/main >actual &&
test_cmp expected actual
'
@@ -571,7 +575,7 @@ ambiguous
EOF
test_expect_success 'Check ambiguous head and tag refs II (loose)' '
- git checkout master &&
+ git checkout main &&
git tag ambiguous testtag^0 &&
git branch ambiguous testtag^0 &&
git for-each-ref --format "%(refname:short)" refs/heads/ambiguous refs/tags/ambiguous >actual &&
@@ -705,8 +709,8 @@ body contents
$sig"
test_expect_success 'set up refs pointing to tree and blob' '
- git update-ref refs/mytrees/first refs/heads/master^{tree} &&
- git update-ref refs/myblobs/first refs/heads/master:one
+ git update-ref refs/mytrees/first refs/heads/main^{tree} &&
+ git update-ref refs/myblobs/first refs/heads/main:one
'
test_atom refs/mytrees/first subject ""
@@ -778,7 +782,7 @@ test_expect_success 'equivalent sorts fall back on refname' '
'
test_expect_success 'do not dereference NULL upon %(HEAD) on unborn branch' '
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
git for-each-ref --format="%(HEAD) %(refname:short)" refs/heads/ >actual &&
sed -e "s/^\* / /" actual >expect &&
git checkout --orphan orphaned-branch &&
@@ -815,9 +819,9 @@ test_expect_success '%(trailers:unfold) unfolds trailers' '
unfold <trailers
echo
} >expect &&
- git for-each-ref --format="%(trailers:unfold)" refs/heads/master >actual &&
+ git for-each-ref --format="%(trailers:unfold)" refs/heads/main >actual &&
test_cmp expect actual &&
- git for-each-ref --format="%(contents:trailers:unfold)" refs/heads/master >actual &&
+ git for-each-ref --format="%(contents:trailers:unfold)" refs/heads/main >actual &&
test_cmp expect actual
'
@@ -826,9 +830,9 @@ test_expect_success '%(trailers:only) shows only "key: value" trailers' '
grep -v patch.description <trailers &&
echo
} >expect &&
- git for-each-ref --format="%(trailers:only)" refs/heads/master >actual &&
+ git for-each-ref --format="%(trailers:only)" refs/heads/main >actual &&
test_cmp expect actual &&
- git for-each-ref --format="%(contents:trailers:only)" refs/heads/master >actual &&
+ git for-each-ref --format="%(contents:trailers:only)" refs/heads/main >actual &&
test_cmp expect actual
'
@@ -837,13 +841,13 @@ test_expect_success '%(trailers:only) and %(trailers:unfold) work together' '
grep -v patch.description <trailers | unfold &&
echo
} >expect &&
- git for-each-ref --format="%(trailers:only,unfold)" refs/heads/master >actual &&
+ git for-each-ref --format="%(trailers:only,unfold)" refs/heads/main >actual &&
test_cmp expect actual &&
- git for-each-ref --format="%(trailers:unfold,only)" refs/heads/master >actual &&
+ git for-each-ref --format="%(trailers:unfold,only)" refs/heads/main >actual &&
test_cmp actual actual &&
- git for-each-ref --format="%(contents:trailers:only,unfold)" refs/heads/master >actual &&
+ git for-each-ref --format="%(contents:trailers:only,unfold)" refs/heads/main >actual &&
test_cmp expect actual &&
- git for-each-ref --format="%(contents:trailers:unfold,only)" refs/heads/master >actual &&
+ git for-each-ref --format="%(contents:trailers:unfold,only)" refs/heads/main >actual &&
test_cmp actual actual
'
@@ -867,7 +871,7 @@ test_expect_success 'if arguments, %(contents:trailers) shows error if colon is
'
test_expect_success 'basic atom: head contents:trailers' '
- git for-each-ref --format="%(contents:trailers)" refs/heads/master >actual &&
+ git for-each-ref --format="%(contents:trailers)" refs/heads/main >actual &&
sanitize_pgp <actual >actual.clean &&
# git for-each-ref ends with a blank line
cat >expect <<-EOF &&
@@ -896,16 +900,16 @@ test_expect_success 'trailer parsing not fooled by --- line' '
echo "trailer: right" &&
echo
} >expect &&
- git for-each-ref --format="%(trailers)" refs/heads/master >actual &&
+ git for-each-ref --format="%(trailers)" refs/heads/main >actual &&
test_cmp expect actual
'
test_expect_success 'Add symbolic ref for the following tests' '
- git symbolic-ref refs/heads/sym refs/heads/master
+ git symbolic-ref refs/heads/sym refs/heads/main
'
cat >expected <<EOF
-refs/heads/master
+refs/heads/main
EOF
test_expect_success 'Verify usage of %(symref) atom' '
@@ -914,7 +918,7 @@ test_expect_success 'Verify usage of %(symref) atom' '
'
cat >expected <<EOF
-heads/master
+heads/main
EOF
test_expect_success 'Verify usage of %(symref:short) atom' '
@@ -923,8 +927,8 @@ test_expect_success 'Verify usage of %(symref:short) atom' '
'
cat >expected <<EOF
-master
-heads/master
+main
+heads/main
EOF
test_expect_success 'Verify usage of %(symref:lstrip) atom' '
@@ -953,22 +957,23 @@ test_expect_success ':remotename and :remoteref' '
(
cd remote-tests &&
test_commit initial &&
+ git branch -M main &&
git remote add from fifth.coffee:blub &&
- git config branch.master.remote from &&
- git config branch.master.merge refs/heads/stable &&
+ git config branch.main.remote from &&
+ git config branch.main.merge refs/heads/stable &&
git remote add to southridge.audio:repo &&
git config remote.to.push "refs/heads/*:refs/heads/pushed/*" &&
- git config branch.master.pushRemote to &&
+ git config branch.main.pushRemote to &&
for pair in "%(upstream)=refs/remotes/from/stable" \
"%(upstream:remotename)=from" \
"%(upstream:remoteref)=refs/heads/stable" \
- "%(push)=refs/remotes/to/pushed/master" \
+ "%(push)=refs/remotes/to/pushed/main" \
"%(push:remotename)=to" \
- "%(push:remoteref)=refs/heads/pushed/master"
+ "%(push:remoteref)=refs/heads/pushed/main"
do
echo "${pair#*=}" >expect &&
git for-each-ref --format="${pair%=*}" \
- refs/heads/master >actual &&
+ refs/heads/main >actual &&
test_cmp expect actual
done &&
git branch push-simple &&
@@ -981,12 +986,12 @@ test_expect_success ':remotename and :remoteref' '
'
test_expect_success 'for-each-ref --ignore-case ignores case' '
- git for-each-ref --format="%(refname)" refs/heads/MASTER >actual &&
+ git for-each-ref --format="%(refname)" refs/heads/MAIN >actual &&
test_must_be_empty actual &&
- echo refs/heads/master >expect &&
+ echo refs/heads/main >expect &&
git for-each-ref --format="%(refname)" --ignore-case \
- refs/heads/MASTER >actual &&
+ refs/heads/MAIN >actual &&
test_cmp expect actual
'
diff --git a/t/t6302-for-each-ref-filter.sh b/t/t6302-for-each-ref-filter.sh
index 781e470aea..9866b1b573 100755
--- a/t/t6302-for-each-ref-filter.sh
+++ b/t/t6302-for-each-ref-filter.sh
@@ -2,11 +2,15 @@
test_description='test for-each-refs usage of ref-filter APIs'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-gpg.sh
test_expect_success 'setup some history and refs' '
test_commit one &&
+ git branch -M main &&
test_commit two &&
test_commit three &&
git checkout -b side &&
@@ -26,17 +30,17 @@ test_expect_success 'setup some history and refs' '
git tag $sign -m "A signed tag" signed-tag &&
git tag $sign -m "Signed doubly" doubly-signed-tag signed-tag &&
- git checkout master &&
- git update-ref refs/odd/spot master
+ git checkout main &&
+ git update-ref refs/odd/spot main
'
test_expect_success 'filtering with --points-at' '
cat >expect <<-\EOF &&
- refs/heads/master
+ refs/heads/main
refs/odd/spot
refs/tags/three
EOF
- git for-each-ref --format="%(refname)" --points-at=master >actual &&
+ git for-each-ref --format="%(refname)" --points-at=main >actual &&
test_cmp expect actual
'
@@ -53,13 +57,13 @@ test_expect_success 'check signed tags with --points-at' '
test_expect_success 'filtering with --merged' '
cat >expect <<-\EOF &&
- refs/heads/master
+ refs/heads/main
refs/odd/spot
refs/tags/one
refs/tags/three
refs/tags/two
EOF
- git for-each-ref --format="%(refname)" --merged=master >actual &&
+ git for-each-ref --format="%(refname)" --merged=main >actual &&
test_cmp expect actual
'
@@ -72,13 +76,13 @@ test_expect_success 'filtering with --no-merged' '
refs/tags/four
refs/tags/signed-tag
EOF
- git for-each-ref --format="%(refname)" --no-merged=master >actual &&
+ git for-each-ref --format="%(refname)" --no-merged=main >actual &&
test_cmp expect actual
'
test_expect_success 'filtering with --contains' '
cat >expect <<-\EOF &&
- refs/heads/master
+ refs/heads/main
refs/heads/side
refs/odd/spot
refs/tags/annotated-tag
@@ -115,7 +119,7 @@ test_expect_success '%(color) must fail' '
test_expect_success 'left alignment is default' '
cat >expect <<-\EOF &&
- refname is refs/heads/master |refs/heads/master
+ refname is refs/heads/main |refs/heads/main
refname is refs/heads/side |refs/heads/side
refname is refs/odd/spot |refs/odd/spot
refname is refs/tags/annotated-tag|refs/tags/annotated-tag
@@ -133,7 +137,7 @@ test_expect_success 'left alignment is default' '
test_expect_success 'middle alignment' '
cat >expect <<-\EOF &&
- | refname is refs/heads/master |refs/heads/master
+ | refname is refs/heads/main |refs/heads/main
| refname is refs/heads/side |refs/heads/side
| refname is refs/odd/spot |refs/odd/spot
|refname is refs/tags/annotated-tag|refs/tags/annotated-tag
@@ -151,7 +155,7 @@ test_expect_success 'middle alignment' '
test_expect_success 'right alignment' '
cat >expect <<-\EOF &&
- | refname is refs/heads/master|refs/heads/master
+ | refname is refs/heads/main|refs/heads/main
| refname is refs/heads/side|refs/heads/side
| refname is refs/odd/spot|refs/odd/spot
|refname is refs/tags/annotated-tag|refs/tags/annotated-tag
@@ -168,7 +172,7 @@ test_expect_success 'right alignment' '
'
cat >expect <<-\EOF
-| refname is refs/heads/master |refs/heads/master
+| refname is refs/heads/main |refs/heads/main
| refname is refs/heads/side |refs/heads/side
| refname is refs/odd/spot |refs/odd/spot
| refname is refs/tags/annotated-tag |refs/tags/annotated-tag
@@ -215,7 +219,7 @@ EOF
test_expect_success 'alignment with format quote' "
cat >expect <<-\EOF &&
- |' '\''master| A U Thor'\'' '|
+ |' '\''main| A U Thor'\'' '|
|' '\''side| A U Thor'\'' '|
|' '\''odd/spot| A U Thor'\'' '|
|' '\''annotated-tag| '\'' '|
@@ -233,7 +237,7 @@ test_expect_success 'alignment with format quote' "
test_expect_success 'nested alignment with quote formatting' "
cat >expect <<-\EOF &&
- |' master '|
+ |' main '|
|' side '|
|' odd/spot '|
|' annotated-tag '|
@@ -251,7 +255,7 @@ test_expect_success 'nested alignment with quote formatting' "
test_expect_success 'check `%(contents:lines=1)`' '
cat >expect <<-\EOF &&
- master |three
+ main |three
side |four
odd/spot |three
annotated-tag |An annotated tag
@@ -269,7 +273,7 @@ test_expect_success 'check `%(contents:lines=1)`' '
test_expect_success 'check `%(contents:lines=0)`' '
cat >expect <<-\EOF &&
- master |
+ main |
side |
odd/spot |
annotated-tag |
@@ -287,7 +291,7 @@ test_expect_success 'check `%(contents:lines=0)`' '
test_expect_success 'check `%(contents:lines=99999)`' '
cat >expect <<-\EOF &&
- master |three
+ main |three
side |four
odd/spot |three
annotated-tag |An annotated tag
@@ -360,7 +364,7 @@ test_expect_success 'improper usage of %(if), %(then), %(else) and %(end) atoms'
test_expect_success 'check %(if)...%(then)...%(end) atoms' '
git for-each-ref --format="%(refname)%(if)%(authorname)%(then) Author: %(authorname)%(end)" >actual &&
cat >expect <<-\EOF &&
- refs/heads/master Author: A U Thor
+ refs/heads/main Author: A U Thor
refs/heads/side Author: A U Thor
refs/odd/spot Author: A U Thor
refs/tags/annotated-tag
@@ -381,7 +385,7 @@ test_expect_success 'check %(if)...%(then)...%(end) atoms' '
test_expect_success 'check %(if)...%(then)...%(else)...%(end) atoms' '
git for-each-ref --format="%(if)%(authorname)%(then)%(authorname)%(else)No author%(end): %(refname)" >actual &&
cat >expect <<-\EOF &&
- A U Thor: refs/heads/master
+ A U Thor: refs/heads/main
A U Thor: refs/heads/side
A U Thor: refs/odd/spot
No author: refs/tags/annotated-tag
@@ -401,7 +405,7 @@ test_expect_success 'check %(if)...%(then)...%(else)...%(end) atoms' '
test_expect_success 'ignore spaces in %(if) atom usage' '
git for-each-ref --format="%(refname:short): %(if)%(HEAD)%(then)Head ref%(else)Not Head ref%(end)" >actual &&
cat >expect <<-\EOF &&
- master: Head ref
+ main: Head ref
side: Not Head ref
odd/spot: Not Head ref
annotated-tag: Not Head ref
@@ -420,19 +424,19 @@ test_expect_success 'ignore spaces in %(if) atom usage' '
'
test_expect_success 'check %(if:equals=<string>)' '
- git for-each-ref --format="%(if:equals=master)%(refname:short)%(then)Found master%(else)Not master%(end)" refs/heads/ >actual &&
+ git for-each-ref --format="%(if:equals=main)%(refname:short)%(then)Found main%(else)Not main%(end)" refs/heads/ >actual &&
cat >expect <<-\EOF &&
- Found master
- Not master
+ Found main
+ Not main
EOF
test_cmp expect actual
'
test_expect_success 'check %(if:notequals=<string>)' '
- git for-each-ref --format="%(if:notequals=master)%(refname:short)%(then)Not master%(else)Found master%(end)" refs/heads/ >actual &&
+ git for-each-ref --format="%(if:notequals=main)%(refname:short)%(then)Not main%(else)Found main%(end)" refs/heads/ >actual &&
cat >expect <<-\EOF &&
- Found master
- Not master
+ Found main
+ Not main
EOF
test_cmp expect actual
'
@@ -443,11 +447,11 @@ test_expect_success '--merged is compatible with --no-merged' '
test_expect_success 'validate worktree atom' '
cat >expect <<-EOF &&
- master: $(pwd)
- master_worktree: $(pwd)/worktree_dir
+ main: $(pwd)
+ main_worktree: $(pwd)/worktree_dir
side: not checked out
EOF
- git worktree add -b master_worktree worktree_dir master &&
+ git worktree add -b main_worktree worktree_dir main &&
git for-each-ref --format="%(refname:short): %(if)%(worktreepath)%(then)%(worktreepath)%(else)not checked out%(end)" refs/heads/ >actual &&
rm -r worktree_dir &&
git worktree prune &&
diff --git a/t/t6400-merge-df.sh b/t/t6400-merge-df.sh
index f1b84617af..38700d29b5 100755
--- a/t/t6400-merge-df.sh
+++ b/t/t6400-merge-df.sh
@@ -4,6 +4,9 @@
#
test_description='Test merge with directory/file conflicts'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'prepare repository' '
@@ -24,12 +27,12 @@ test_expect_success 'prepare repository' '
'
test_expect_success 'Merge with d/f conflicts' '
- test_expect_code 1 git merge -m "merge msg" master
+ test_expect_code 1 git merge -m "merge msg" main
'
test_expect_success 'F/D conflict' '
git reset --hard &&
- git checkout master &&
+ git checkout main &&
rm .git/index &&
mkdir before &&
@@ -47,7 +50,7 @@ test_expect_success 'F/D conflict' '
git add . &&
git commit -m para &&
- git merge master
+ git merge main
'
test_expect_success 'setup modify/delete + directory/file conflict' '
@@ -81,7 +84,12 @@ test_expect_success 'modify/delete + directory/file conflict' '
test 5 -eq $(git ls-files -s | wc -l) &&
test 4 -eq $(git ls-files -u | wc -l) &&
- test 1 -eq $(git ls-files -o | wc -l) &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test 0 -eq $(git ls-files -o | wc -l)
+ else
+ test 1 -eq $(git ls-files -o | wc -l)
+ fi &&
test_path_is_file letters/file &&
test_path_is_file letters.txt &&
@@ -97,7 +105,12 @@ test_expect_success 'modify/delete + directory/file conflict; other way' '
test 5 -eq $(git ls-files -s | wc -l) &&
test 4 -eq $(git ls-files -u | wc -l) &&
- test 1 -eq $(git ls-files -o | wc -l) &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test 0 -eq $(git ls-files -o | wc -l)
+ else
+ test 1 -eq $(git ls-files -o | wc -l)
+ fi &&
test_path_is_file letters/file &&
test_path_is_file letters.txt &&
diff --git a/t/t6402-merge-rename.sh b/t/t6402-merge-rename.sh
index bbbba3dcbf..425dad97d5 100755
--- a/t/t6402-merge-rename.sh
+++ b/t/t6402-merge-rename.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='Merge-recursive merging renames'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
modify () {
@@ -54,9 +57,9 @@ test_expect_success 'setup' '
git branch change &&
git branch change+rename &&
- sed -e "/^g /s/.*/g : master changes a line/" <A >A+ &&
+ sed -e "/^g /s/.*/g : main changes a line/" <A >A+ &&
mv A+ A &&
- git commit -a -m "master updates A" &&
+ git commit -a -m "main updates A" &&
git checkout yellow &&
rm -f M &&
@@ -94,7 +97,7 @@ test_expect_success 'setup' '
git update-index --add B &&
git commit -q -a -m "changed and renamed" &&
- git checkout master
+ git checkout main
'
test_expect_success 'pull renaming branch into unrenaming one' \
@@ -109,7 +112,7 @@ test_expect_success 'pull renaming branch into unrenaming one' \
sed -ne "/^g/{
p
q
- }" B | grep master &&
+ }" B | grep main &&
git diff --exit-code white N
'
@@ -134,7 +137,7 @@ test_expect_success 'pull unrenaming branch into renaming one' \
'
git reset --hard &&
git show-branch &&
- test_expect_code 1 git pull . master &&
+ test_expect_code 1 git pull . main &&
git ls-files -u B >b.stages &&
test_line_count = 3 b.stages &&
git ls-files -s N >n.stages &&
@@ -187,7 +190,7 @@ test_expect_success 'interference with untracked working tree file' '
test_expect_success 'interference with untracked working tree file' '
git reset --hard &&
rm -f A M &&
- git checkout -f master &&
+ git checkout -f main &&
git tag -f anchor &&
git show-branch &&
git pull . yellow &&
@@ -198,7 +201,7 @@ test_expect_success 'interference with untracked working tree file' '
test_expect_success 'updated working tree file should prevent the merge' '
git reset --hard &&
rm -f A M &&
- git checkout -f master &&
+ git checkout -f main &&
git tag -f anchor &&
git show-branch &&
echo >>M one line addition &&
@@ -211,7 +214,7 @@ test_expect_success 'updated working tree file should prevent the merge' '
test_expect_success 'updated working tree file should prevent the merge' '
git reset --hard &&
rm -f A M &&
- git checkout -f master &&
+ git checkout -f main &&
git tag -f anchor &&
git show-branch &&
echo >>M one line addition &&
@@ -229,7 +232,7 @@ test_expect_success 'interference with untracked working tree file' '
git tag -f anchor &&
git show-branch &&
echo >M this file should not matter &&
- git pull . master &&
+ git pull . main &&
test_path_is_file M &&
! {
git ls-files -s |
@@ -320,7 +323,12 @@ test_expect_success 'Rename+D/F conflict; renamed file merges but dir in way' '
test_i18ngrep "CONFLICT (modify/delete): dir/file-in-the-way" output &&
test_i18ngrep "Auto-merging dir" output &&
- test_i18ngrep "Adding as dir~HEAD instead" output &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_i18ngrep "moving it to dir~HEAD instead" output
+ else
+ test_i18ngrep "Adding as dir~HEAD instead" output
+ fi &&
test 3 -eq "$(git ls-files -u | wc -l)" &&
test 2 -eq "$(git ls-files -u dir/file-in-the-way | wc -l)" &&
@@ -342,7 +350,12 @@ test_expect_success 'Same as previous, but merged other way' '
! grep "error: refusing to lose untracked file at" errors &&
test_i18ngrep "CONFLICT (modify/delete): dir/file-in-the-way" output &&
test_i18ngrep "Auto-merging dir" output &&
- test_i18ngrep "Adding as dir~renamed-file-has-no-conflicts instead" output &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_i18ngrep "moving it to dir~renamed-file-has-no-conflicts instead" output
+ else
+ test_i18ngrep "Adding as dir~renamed-file-has-no-conflicts instead" output
+ fi &&
test 3 -eq "$(git ls-files -u | wc -l)" &&
test 2 -eq "$(git ls-files -u dir/file-in-the-way | wc -l)" &&
@@ -397,7 +410,12 @@ test_expect_success 'Rename+D/F conflict; renamed file cannot merge and dir in t
test_must_fail git merge --strategy=recursive dir-in-way &&
test 5 -eq "$(git ls-files -u | wc -l)" &&
- test 3 -eq "$(git ls-files -u dir | grep -v file-in-the-way | wc -l)" &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test 3 -eq "$(git ls-files -u dir~HEAD | wc -l)"
+ else
+ test 3 -eq "$(git ls-files -u dir | grep -v file-in-the-way | wc -l)"
+ fi &&
test 2 -eq "$(git ls-files -u dir/file-in-the-way | wc -l)" &&
test_must_fail git diff --quiet &&
@@ -415,7 +433,12 @@ test_expect_success 'Same as previous, but merged other way' '
test_must_fail git merge --strategy=recursive renamed-file-has-conflicts &&
test 5 -eq "$(git ls-files -u | wc -l)" &&
- test 3 -eq "$(git ls-files -u dir | grep -v file-in-the-way | wc -l)" &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test 3 -eq "$(git ls-files -u dir~renamed-file-has-conflicts | wc -l)"
+ else
+ test 3 -eq "$(git ls-files -u dir | grep -v file-in-the-way | wc -l)"
+ fi &&
test 2 -eq "$(git ls-files -u dir/file-in-the-way | wc -l)" &&
test_must_fail git diff --quiet &&
@@ -471,7 +494,12 @@ test_expect_success 'both rename source and destination involved in D/F conflict
git checkout -q rename-dest^0 &&
test_must_fail git merge --strategy=recursive source-conflict &&
- test 1 -eq "$(git ls-files -u | wc -l)" &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test 2 -eq "$(git ls-files -u | wc -l)"
+ else
+ test 1 -eq "$(git ls-files -u | wc -l)"
+ fi &&
test_must_fail git diff --quiet &&
@@ -505,34 +533,63 @@ test_expect_success 'setup pair rename to parent of other (D/F conflicts)' '
git commit -m "Rename one/file -> two"
'
-test_expect_success 'pair rename to parent of other (D/F conflicts) w/ untracked dir' '
- git checkout -q rename-one^0 &&
- mkdir one &&
- test_must_fail git merge --strategy=recursive rename-two &&
+if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+then
+ test_expect_success 'pair rename to parent of other (D/F conflicts) w/ untracked dir' '
+ git checkout -q rename-one^0 &&
+ mkdir one &&
+ test_must_fail git merge --strategy=recursive rename-two &&
- test 2 -eq "$(git ls-files -u | wc -l)" &&
- test 1 -eq "$(git ls-files -u one | wc -l)" &&
- test 1 -eq "$(git ls-files -u two | wc -l)" &&
+ test 4 -eq "$(git ls-files -u | wc -l)" &&
+ test 2 -eq "$(git ls-files -u one | wc -l)" &&
+ test 2 -eq "$(git ls-files -u two | wc -l)" &&
- test_must_fail git diff --quiet &&
+ test_must_fail git diff --quiet &&
- test 4 -eq $(find . | grep -v .git | wc -l) &&
+ test 3 -eq $(find . | grep -v .git | wc -l) &&
- test_path_is_dir one &&
- test_path_is_file one~rename-two &&
- test_path_is_file two &&
- test "other" = $(cat one~rename-two) &&
- test "stuff" = $(cat two)
-'
+ test_path_is_file one &&
+ test_path_is_file two &&
+ test "other" = $(cat one) &&
+ test "stuff" = $(cat two)
+ '
+else
+ test_expect_success 'pair rename to parent of other (D/F conflicts) w/ untracked dir' '
+ git checkout -q rename-one^0 &&
+ mkdir one &&
+ test_must_fail git merge --strategy=recursive rename-two &&
+
+ test 2 -eq "$(git ls-files -u | wc -l)" &&
+ test 1 -eq "$(git ls-files -u one | wc -l)" &&
+ test 1 -eq "$(git ls-files -u two | wc -l)" &&
+
+ test_must_fail git diff --quiet &&
+
+ test 4 -eq $(find . | grep -v .git | wc -l) &&
+
+ test_path_is_dir one &&
+ test_path_is_file one~rename-two &&
+ test_path_is_file two &&
+ test "other" = $(cat one~rename-two) &&
+ test "stuff" = $(cat two)
+ '
+fi
test_expect_success 'pair rename to parent of other (D/F conflicts) w/ clean start' '
git reset --hard &&
git clean -fdqx &&
test_must_fail git merge --strategy=recursive rename-two &&
- test 2 -eq "$(git ls-files -u | wc -l)" &&
- test 1 -eq "$(git ls-files -u one | wc -l)" &&
- test 1 -eq "$(git ls-files -u two | wc -l)" &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test 4 -eq "$(git ls-files -u | wc -l)" &&
+ test 2 -eq "$(git ls-files -u one | wc -l)" &&
+ test 2 -eq "$(git ls-files -u two | wc -l)"
+ else
+ test 2 -eq "$(git ls-files -u | wc -l)" &&
+ test 1 -eq "$(git ls-files -u one | wc -l)" &&
+ test 1 -eq "$(git ls-files -u two | wc -l)"
+ fi &&
test_must_fail git diff --quiet &&
@@ -572,12 +629,22 @@ test_expect_success 'check handling of differently renamed file with D/F conflic
git checkout -q first-rename^0 &&
test_must_fail git merge --strategy=recursive second-rename &&
- test 5 -eq "$(git ls-files -s | wc -l)" &&
- test 3 -eq "$(git ls-files -u | wc -l)" &&
- test 1 -eq "$(git ls-files -u one | wc -l)" &&
- test 1 -eq "$(git ls-files -u two | wc -l)" &&
- test 1 -eq "$(git ls-files -u original | wc -l)" &&
- test 2 -eq "$(git ls-files -o | wc -l)" &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test 5 -eq "$(git ls-files -s | wc -l)" &&
+ test 3 -eq "$(git ls-files -u | wc -l)" &&
+ test 1 -eq "$(git ls-files -u one~HEAD | wc -l)" &&
+ test 1 -eq "$(git ls-files -u two~second-rename | wc -l)" &&
+ test 1 -eq "$(git ls-files -u original | wc -l)" &&
+ test 0 -eq "$(git ls-files -o | wc -l)"
+ else
+ test 5 -eq "$(git ls-files -s | wc -l)" &&
+ test 3 -eq "$(git ls-files -u | wc -l)" &&
+ test 1 -eq "$(git ls-files -u one | wc -l)" &&
+ test 1 -eq "$(git ls-files -u two | wc -l)" &&
+ test 1 -eq "$(git ls-files -u original | wc -l)" &&
+ test 2 -eq "$(git ls-files -o | wc -l)"
+ fi &&
test_path_is_file one/file &&
test_path_is_file two/file &&
@@ -700,7 +767,7 @@ test_expect_success 'setup avoid unnecessary update, dir->(file,nothing)' '
git rm -rf df &&
git commit -mB &&
- git checkout master &&
+ git checkout main &&
git rm -rf df &&
echo bla >df &&
git add -A &&
@@ -708,7 +775,7 @@ test_expect_success 'setup avoid unnecessary update, dir->(file,nothing)' '
'
test_expect_success 'avoid unnecessary update, dir->(file,nothing)' '
- git checkout -q master^0 &&
+ git checkout -q main^0 &&
test-tool chmtime --get -3600 df >expect &&
git merge side &&
test-tool chmtime --get df >actual &&
@@ -730,14 +797,14 @@ test_expect_success 'setup avoid unnecessary update, modify/delete' '
git rm -f file &&
git commit -m "Delete file" &&
- git checkout master &&
+ git checkout main &&
echo bla >file &&
git add -A &&
git commit -m "Modify file"
'
test_expect_success 'avoid unnecessary update, modify/delete' '
- git checkout -q master^0 &&
+ git checkout -q main^0 &&
test-tool chmtime --get -3600 file >expect &&
test_must_fail git merge side &&
test-tool chmtime --get file >actual &&
@@ -759,13 +826,13 @@ test_expect_success 'setup avoid unnecessary update, rename/add-dest' '
git add -A &&
git commit -m "Add file copy" &&
- git checkout master &&
+ git checkout main &&
git mv file newfile &&
git commit -m "Rename file"
'
test_expect_success 'avoid unnecessary update, rename/add-dest' '
- git checkout -q master^0 &&
+ git checkout -q main^0 &&
test-tool chmtime --get -3600 newfile >expect &&
git merge side &&
test-tool chmtime --get newfile >actual &&
@@ -815,15 +882,15 @@ test_expect_success 'setup for use of extended merge markers' '
git mv original_file renamed_file &&
git commit -mB &&
- git checkout master &&
+ git checkout main &&
echo 8.5 >>original_file &&
git add original_file &&
git commit -mC
'
-test_expect_success 'merge master into rename has correct extended markers' '
+test_expect_success 'merge main into rename has correct extended markers' '
git checkout rename^0 &&
- test_must_fail git merge -s recursive master^0 &&
+ test_must_fail git merge -s recursive main^0 &&
cat >expected <<-\EOF &&
1
@@ -838,14 +905,14 @@ test_expect_success 'merge master into rename has correct extended markers' '
9
=======
8.5
- >>>>>>> master^0:original_file
+ >>>>>>> main^0:original_file
EOF
test_cmp expected renamed_file
'
-test_expect_success 'merge rename into master has correct extended markers' '
+test_expect_success 'merge rename into main has correct extended markers' '
git reset --hard &&
- git checkout master^0 &&
+ git checkout main^0 &&
test_must_fail git merge -s recursive rename^0 &&
cat >expected <<-\EOF &&
@@ -881,13 +948,13 @@ test_expect_success 'setup spurious "refusing to lose untracked" message' '
git mv original_file renamed_file &&
git commit -mB &&
- git checkout master &&
+ git checkout main &&
git rm original_file &&
git commit -mC
'
test_expect_success 'no spurious "refusing to lose untracked" message' '
- git checkout master^0 &&
+ git checkout main^0 &&
test_must_fail git merge rename^0 2>errors.txt &&
! grep "refusing to lose untracked file" errors.txt
'
diff --git a/t/t6404-recursive-merge.sh b/t/t6404-recursive-merge.sh
index 332cfc53fd..c7ab7048f5 100755
--- a/t/t6404-recursive-merge.sh
+++ b/t/t6404-recursive-merge.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='Test merge without common ancestors'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# This scenario is based on a real-world repository of Shawn Pearce.
@@ -19,11 +22,11 @@ test_expect_success 'setup tests' '
git add a1 &&
GIT_AUTHOR_DATE="2006-12-12 23:00:00" git commit -m 1 a1 &&
- git checkout -b A master &&
+ git checkout -b A main &&
echo A >a1 &&
GIT_AUTHOR_DATE="2006-12-12 23:00:01" git commit -m A a1 &&
- git checkout -b B master &&
+ git checkout -b B main &&
echo B >a1 &&
GIT_AUTHOR_DATE="2006-12-12 23:00:02" git commit -m B a1 &&
@@ -118,12 +121,22 @@ test_expect_success 'mark rename/delete as unmerged' '
test_tick &&
git commit -m rename &&
test_must_fail git merge delete &&
- test 1 = $(git ls-files --unmerged | wc -l) &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test 2 = $(git ls-files --unmerged | wc -l)
+ else
+ test 1 = $(git ls-files --unmerged | wc -l)
+ fi &&
git rev-parse --verify :2:a2 &&
test_must_fail git rev-parse --verify :3:a2 &&
git checkout -f delete &&
test_must_fail git merge rename &&
- test 1 = $(git ls-files --unmerged | wc -l) &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test 2 = $(git ls-files --unmerged | wc -l)
+ else
+ test 1 = $(git ls-files --unmerged | wc -l)
+ fi &&
test_must_fail git rev-parse --verify :2:a2 &&
git rev-parse --verify :3:a2
'
diff --git a/t/t6405-merge-symlinks.sh b/t/t6405-merge-symlinks.sh
index 6c0a90d044..7435fce71e 100755
--- a/t/t6405-merge-symlinks.sh
+++ b/t/t6405-merge-symlinks.sh
@@ -8,6 +8,9 @@ test_description='merging symlinks on filesystem w/o symlink support.
This tests that git merge-recursive writes merge results as plain files
if core.symlinks is false.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -19,7 +22,7 @@ test_expect_success 'setup' '
git branch b-file &&
l=$(printf file | git hash-object -t blob -w --stdin) &&
echo "120000 $l symlink" | git update-index --index-info &&
- git commit -m master &&
+ git commit -m main &&
git checkout b-symlink &&
l=$(printf file-different | git hash-object -t blob -w --stdin) &&
echo "120000 $l symlink" | git update-index --index-info &&
@@ -30,28 +33,28 @@ test_expect_success 'setup' '
git commit -m b-file
'
-test_expect_success 'merge master into b-symlink, which has a different symbolic link' '
+test_expect_success 'merge main into b-symlink, which has a different symbolic link' '
git checkout b-symlink &&
- test_must_fail git merge master
+ test_must_fail git merge main
'
test_expect_success 'the merge result must be a file' '
test_path_is_file symlink
'
-test_expect_success 'merge master into b-file, which has a file instead of a symbolic link' '
+test_expect_success 'merge main into b-file, which has a file instead of a symbolic link' '
git reset --hard &&
git checkout b-file &&
- test_must_fail git merge master
+ test_must_fail git merge main
'
test_expect_success 'the merge result must be a file' '
test_path_is_file symlink
'
-test_expect_success 'merge b-file, which has a file instead of a symbolic link, into master' '
+test_expect_success 'merge b-file, which has a file instead of a symbolic link, into main' '
git reset --hard &&
- git checkout master &&
+ git checkout main &&
test_must_fail git merge b-file
'
diff --git a/t/t6406-merge-attr.sh b/t/t6406-merge-attr.sh
index 76a55f838c..d5a4ac2d81 100755
--- a/t/t6406-merge-attr.sh
+++ b/t/t6406-merge-attr.sh
@@ -5,6 +5,9 @@
test_description='per path merge controlled by merge attribute'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -19,10 +22,10 @@ test_expect_success setup '
git branch side &&
for f in text binary union
do
- echo Master >>$f && git add $f || return 1
+ echo Main >>$f && git add $f || return 1
done &&
test_tick &&
- git commit -m Master &&
+ git commit -m Main &&
git checkout side &&
for f in text binary union
@@ -64,7 +67,7 @@ test_expect_success merge '
echo "union merge=union"
} >.gitattributes &&
- if git merge master
+ if git merge main
then
echo Gaah, should have conflicted
false
@@ -87,7 +90,7 @@ test_expect_success 'check merge result in working tree' '
grep "<<<<<<<" text &&
cmp binary-orig binary &&
! grep "<<<<<<<" union &&
- grep Master union &&
+ grep Main union &&
grep Side union
'
@@ -115,13 +118,13 @@ test_expect_success 'custom merge backend' '
git config --replace-all \
merge.custom.name "custom merge driver for testing" &&
- git merge master &&
+ git merge main &&
cmp binary union &&
sed -e 1,3d text >check-1 &&
- o=$(git unpack-file master^:text) &&
+ o=$(git unpack-file main^:text) &&
a=$(git unpack-file side^:text) &&
- b=$(git unpack-file master:text) &&
+ b=$(git unpack-file main:text) &&
sh -c "./custom-merge $o $a $b 0 text" &&
sed -e 1,3d $a >check-2 &&
cmp check-1 check-2 &&
@@ -136,7 +139,7 @@ test_expect_success 'custom merge backend' '
git config --replace-all \
merge.custom.name "custom merge driver for testing" &&
- if git merge master
+ if git merge main
then
echo "Eh? should have conflicted"
false
@@ -146,9 +149,9 @@ test_expect_success 'custom merge backend' '
cmp binary union &&
sed -e 1,3d text >check-1 &&
- o=$(git unpack-file master^:text) &&
+ o=$(git unpack-file main^:text) &&
a=$(git unpack-file anchor:text) &&
- b=$(git unpack-file master:text) &&
+ b=$(git unpack-file main:text) &&
sh -c "./custom-merge $o $a $b 0 text" &&
sed -e 1,3d $a >check-2 &&
cmp check-1 check-2 &&
@@ -176,7 +179,7 @@ test_expect_success 'up-to-date merge without common ancestor' '
test_tick &&
(
cd repo1 &&
- git fetch ../repo2 master &&
+ git fetch ../repo2 main &&
git merge --allow-unrelated-histories FETCH_HEAD
)
'
@@ -201,7 +204,7 @@ test_expect_success 'custom merge does not lock index' '
# By packaging the command in test_when_finished, we get both
# the correctness check and the clean-up.
test_when_finished "kill \$(cat sleep.pid)" &&
- git merge master
+ git merge main
'
test_done
diff --git a/t/t6407-merge-binary.sh b/t/t6407-merge-binary.sh
index 4e6c7cb77e..d4273f2575 100755
--- a/t/t6407-merge-binary.sh
+++ b/t/t6407-merge-binary.sh
@@ -2,6 +2,9 @@
test_description='ask merge-recursive to merge binary files'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -20,7 +23,7 @@ test_expect_success setup '
git ls-files -s a >E0 &&
git ls-files -s m | sed -e "s/ 0 / 3 /" >E3 &&
test_tick &&
- git commit -m "master adds some" &&
+ git commit -m "main adds some" &&
git checkout side &&
echo rezrov >>m &&
@@ -39,7 +42,7 @@ test_expect_success resolve '
rm -f a* m* &&
git reset --hard anchor &&
- if git merge -s resolve master
+ if git merge -s resolve main
then
echo Oops, should not have succeeded
false
@@ -54,7 +57,7 @@ test_expect_success recursive '
rm -f a* m* &&
git reset --hard anchor &&
- if git merge -s recursive master
+ if git merge -s recursive main
then
echo Oops, should not have succeeded
false
diff --git a/t/t6409-merge-subtree.sh b/t/t6409-merge-subtree.sh
index b8e8b6f642..d406b2343c 100755
--- a/t/t6409-merge-subtree.sh
+++ b/t/t6409-merge-subtree.sh
@@ -2,6 +2,9 @@
test_description='subtree merge strategy'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -14,10 +17,10 @@ test_expect_success setup '
echo >>hello world &&
git add hello &&
git commit -m second &&
- git checkout master &&
+ git checkout main &&
for i in mundo $s; do echo $i; done >hello &&
git add hello &&
- git commit -m master
+ git commit -m main
'
@@ -36,7 +39,7 @@ test_expect_success 'setup branch sub' '
'
test_expect_success 'setup topic branch' '
- git checkout -b topic master &&
+ git checkout -b topic main &&
git merge -s ours --no-commit --allow-unrelated-histories sub &&
git read-tree --prefix=dir/ -u sub &&
git commit -m "initial merge of sub into topic" &&
@@ -77,8 +80,8 @@ test_expect_success 'setup' '
test_expect_success 'initial merge' '
git remote add -f gui ../git-gui &&
- git merge -s ours --no-commit --allow-unrelated-histories gui/master &&
- git read-tree --prefix=git-gui/ -u gui/master &&
+ git merge -s ours --no-commit --allow-unrelated-histories gui/main &&
+ git read-tree --prefix=git-gui/ -u gui/main &&
git commit -m "Merge git-gui as our subdirectory" &&
git checkout -b work &&
git ls-files -s >actual &&
@@ -108,10 +111,10 @@ test_expect_success 'merge update' '
test_expect_success 'initial ambiguous subtree' '
cd ../git &&
- git reset --hard master &&
+ git reset --hard main &&
git checkout -b topic_2 &&
- git merge -s ours --no-commit gui/master &&
- git read-tree --prefix=git-gui2/ -u gui/master &&
+ git merge -s ours --no-commit gui/main &&
+ git read-tree --prefix=git-gui2/ -u gui/main &&
git commit -m "Merge git-gui2 as our subdirectory" &&
git checkout -b work2 &&
git ls-files -s >actual &&
diff --git a/t/t6411-merge-filemode.sh b/t/t6411-merge-filemode.sh
index 87741efad3..f54c915d6a 100755
--- a/t/t6411-merge-filemode.sh
+++ b/t/t6411-merge-filemode.sh
@@ -1,17 +1,20 @@
#!/bin/sh
test_description='merge: handle file mode'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'set up mode change in one branch' '
: >file1 &&
git add file1 &&
git commit -m initial &&
- git checkout -b a1 master &&
+ git checkout -b a1 main &&
: >dummy &&
git add dummy &&
git commit -m a &&
- git checkout -b b1 master &&
+ git checkout -b b1 main &&
test_chmod +x file1 &&
git add file1 &&
git commit -m b1
@@ -39,12 +42,12 @@ do_one_mode resolve b1 a1
test_expect_success 'set up mode change in both branches' '
git reset --hard HEAD &&
- git checkout -b a2 master &&
+ git checkout -b a2 main &&
: >file2 &&
H=$(git hash-object file2) &&
test_chmod +x file2 &&
git commit -m a2 &&
- git checkout -b b2 master &&
+ git checkout -b b2 main &&
: >file2 &&
git add file2 &&
git commit -m b2 &&
@@ -76,7 +79,7 @@ do_both_modes resolve
test_expect_success 'set up delete/modechange scenario' '
git reset --hard &&
- git checkout -b deletion master &&
+ git checkout -b deletion main &&
git rm file1 &&
git commit -m deletion
'
diff --git a/t/t6412-merge-large-rename.sh b/t/t6412-merge-large-rename.sh
index 80777386dc..c50d315722 100755
--- a/t/t6412-merge-large-rename.sh
+++ b/t/t6412-merge-large-rename.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='merging with large rename matrix'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
count() {
@@ -30,7 +33,7 @@ test_rename() {
test_expect_success "rename ($1, $2)" '
n='$1' &&
expect='$2' &&
- git checkout -f master &&
+ git checkout -f main &&
test_might_fail git branch -D test$n &&
git reset --hard initial &&
for i in $(count $n); do
@@ -50,8 +53,8 @@ test_rename() {
git add . &&
git commit -m change+rename=$n &&
case "$expect" in
- ok) git merge master ;;
- *) test_must_fail git merge master ;;
+ ok) git merge main ;;
+ *) test_must_fail git merge main ;;
esac
'
}
diff --git a/t/t6413-merge-crlf.sh b/t/t6413-merge-crlf.sh
index e8d65eefb5..affea255fe 100755
--- a/t/t6413-merge-crlf.sh
+++ b/t/t6413-merge-crlf.sh
@@ -8,6 +8,9 @@ test_description='merge conflict in crlf repo
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -24,7 +27,7 @@ test_expect_success setup '
echo line from b | append_cr >file &&
git commit -m "add line from b" file &&
git tag b &&
- git checkout master
+ git checkout main
'
test_expect_success 'Check "ours" is CRLF' '
diff --git a/t/t6414-merge-rename-nocruft.sh b/t/t6414-merge-rename-nocruft.sh
index a25e730460..d7e3c1fa6e 100755
--- a/t/t6414-merge-rename-nocruft.sh
+++ b/t/t6414-merge-rename-nocruft.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='Merge-recursive merging renames'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -65,7 +68,7 @@ test_expect_success 'setup' '
git update-index A &&
git commit -m "blue modify A" &&
- git checkout master
+ git checkout main
'
# This test broke in 65ac6e9c3f47807cb603af07a6a9e1a43bc119ae
diff --git a/t/t6415-merge-dir-to-symlink.sh b/t/t6415-merge-dir-to-symlink.sh
index 2eddcc7664..2ce104aca7 100755
--- a/t/t6415-merge-dir-to-symlink.sh
+++ b/t/t6415-merge-dir-to-symlink.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='merging when a directory was replaced with a symlink'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'create a commit where dir a/b changed to symlink' '
@@ -19,7 +22,7 @@ test_expect_success 'create a commit where dir a/b changed to symlink' '
test_expect_success 'checkout does not clobber untracked symlink' '
git checkout HEAD^0 &&
- git reset --hard master &&
+ git reset --hard main &&
git rm --cached a/b &&
git commit -m "untracked symlink remains" &&
test_must_fail git checkout start^0
@@ -27,7 +30,7 @@ test_expect_success 'checkout does not clobber untracked symlink' '
test_expect_success 'a/b-2/c/d is kept when clobbering symlink b' '
git checkout HEAD^0 &&
- git reset --hard master &&
+ git reset --hard main &&
git rm --cached a/b &&
git commit -m "untracked symlink remains" &&
git checkout -f start^0 &&
@@ -36,7 +39,7 @@ test_expect_success 'a/b-2/c/d is kept when clobbering symlink b' '
test_expect_success 'checkout should not have deleted a/b-2/c/d' '
git checkout HEAD^0 &&
- git reset --hard master &&
+ git reset --hard main &&
git checkout start^0 &&
test_path_is_file a/b-2/c/d
'
@@ -53,7 +56,7 @@ test_expect_success 'setup for merge test' '
test_expect_success 'Handle D/F conflict, do not lose a/b-2/c/d in merge (resolve)' '
git reset --hard &&
git checkout baseline^0 &&
- git merge -s resolve master &&
+ git merge -s resolve main &&
test_path_is_file a/b-2/c/d
'
@@ -64,7 +67,7 @@ test_expect_success SYMLINKS 'a/b was resolved as symlink' '
test_expect_success 'Handle D/F conflict, do not lose a/b-2/c/d in merge (recursive)' '
git reset --hard &&
git checkout baseline^0 &&
- git merge -s recursive master &&
+ git merge -s recursive main &&
test_path_is_file a/b-2/c/d
'
@@ -74,7 +77,7 @@ test_expect_success SYMLINKS 'a/b was resolved as symlink' '
test_expect_success 'Handle F/D conflict, do not lose a/b-2/c/d in merge (resolve)' '
git reset --hard &&
- git checkout master^0 &&
+ git checkout main^0 &&
git merge -s resolve baseline^0 &&
test_path_is_file a/b-2/c/d
'
@@ -85,7 +88,7 @@ test_expect_success SYMLINKS 'a/b was resolved as symlink' '
test_expect_success 'Handle F/D conflict, do not lose a/b-2/c/d in merge (recursive)' '
git reset --hard &&
- git checkout master^0 &&
+ git checkout main^0 &&
git merge -s recursive baseline^0 &&
test_path_is_file a/b-2/c/d
'
@@ -98,7 +101,7 @@ test_expect_failure 'do not lose untracked in merge (resolve)' '
git reset --hard &&
git checkout baseline^0 &&
>a/b/c/e &&
- test_must_fail git merge -s resolve master &&
+ test_must_fail git merge -s resolve main &&
test_path_is_file a/b/c/e &&
test_path_is_file a/b-2/c/d
'
@@ -107,7 +110,7 @@ test_expect_success 'do not lose untracked in merge (recursive)' '
git reset --hard &&
git checkout baseline^0 &&
>a/b/c/e &&
- test_must_fail git merge -s recursive master &&
+ test_must_fail git merge -s recursive main &&
test_path_is_file a/b/c/e &&
test_path_is_file a/b-2/c/d
'
@@ -116,14 +119,14 @@ test_expect_success 'do not lose modifications in merge (resolve)' '
git reset --hard &&
git checkout baseline^0 &&
echo more content >>a/b/c/d &&
- test_must_fail git merge -s resolve master
+ test_must_fail git merge -s resolve main
'
test_expect_success 'do not lose modifications in merge (recursive)' '
git reset --hard &&
git checkout baseline^0 &&
echo more content >>a/b/c/d &&
- test_must_fail git merge -s recursive master
+ test_must_fail git merge -s recursive main
'
test_expect_success 'setup a merge where dir a/b-2 changed to symlink' '
diff --git a/t/t6416-recursive-corner-cases.sh b/t/t6416-recursive-corner-cases.sh
index fd98989b14..84f5082366 100755
--- a/t/t6416-recursive-corner-cases.sh
+++ b/t/t6416-recursive-corner-cases.sh
@@ -2,7 +2,11 @@
test_description='recursive merge corner cases involving criss-cross merges'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
+. "$TEST_DIRECTORY"/lib-merge.sh
#
# L1 L2
@@ -384,7 +388,7 @@ test_expect_success 'git detects conflict merging criss-cross+modify/delete' '
test_line_count = 2 out &&
git rev-parse >expect \
- master:file B:file &&
+ main:file B:file &&
git rev-parse >actual \
:1:file :2:file &&
test_cmp expect actual
@@ -406,7 +410,7 @@ test_expect_success 'git detects conflict merging criss-cross+modify/delete, rev
test_line_count = 2 out &&
git rev-parse >expect \
- master:file B:file &&
+ main:file B:file &&
git rev-parse >actual \
:1:file :3:file &&
test_cmp expect actual
@@ -537,9 +541,15 @@ test_expect_success 'setup differently handled merges of directory/file conflict
git checkout B^0 &&
test_must_fail git merge C^0 &&
- git clean -fd &&
- git rm -rf a/ &&
- git rm a &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ git rm -rf a/ &&
+ git rm a~HEAD
+ else
+ git clean -fd &&
+ git rm -rf a/ &&
+ git rm a
+ fi &&
git cat-file -p B:a >a2 &&
git add a2 &&
git commit -m D2 &&
@@ -558,7 +568,12 @@ test_expect_success 'setup differently handled merges of directory/file conflict
git checkout C^0 &&
test_must_fail git merge B^0 &&
- git clean -fd &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ git rm a~B^0
+ else
+ git clean -fd
+ fi &&
git rm -rf a/ &&
test_write_lines 1 2 3 4 5 6 7 8 >a &&
git add a &&
@@ -567,9 +582,15 @@ test_expect_success 'setup differently handled merges of directory/file conflict
git checkout C^0 &&
test_must_fail git merge B^0 &&
- git clean -fd &&
- git rm -rf a/ &&
- git rm a &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ git rm -rf a/ &&
+ git rm a~B^0
+ else
+ git clean -fd &&
+ git rm -rf a/ &&
+ git rm a
+ fi &&
test_write_lines 1 2 3 4 5 6 7 8 >a2 &&
git add a2 &&
git commit -m E4 &&
@@ -587,18 +608,34 @@ test_expect_success 'merge of D1 & E1 fails but has appropriate contents' '
test_must_fail git merge -s recursive E1^0 &&
- git ls-files -s >out &&
- test_line_count = 2 out &&
- git ls-files -u >out &&
- test_line_count = 1 out &&
- git ls-files -o >out &&
- test_line_count = 1 out &&
-
- git rev-parse >expect \
- A:ignore-me B:a &&
- git rev-parse >actual \
- :0:ignore-me :2:a &&
- test_cmp expect actual
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ git ls-files -s >out &&
+ test_line_count = 3 out &&
+ git ls-files -u >out &&
+ test_line_count = 2 out &&
+ git ls-files -o >out &&
+ test_line_count = 1 out &&
+
+ git rev-parse >expect \
+ A:ignore-me B:a D1:a &&
+ git rev-parse >actual \
+ :0:ignore-me :1:a :2:a &&
+ test_cmp expect actual
+ else
+ git ls-files -s >out &&
+ test_line_count = 2 out &&
+ git ls-files -u >out &&
+ test_line_count = 1 out &&
+ git ls-files -o >out &&
+ test_line_count = 1 out &&
+
+ git rev-parse >expect \
+ A:ignore-me B:a &&
+ git rev-parse >actual \
+ :0:ignore-me :2:a &&
+ test_cmp expect actual
+ fi
)
'
@@ -612,18 +649,34 @@ test_expect_success 'merge of E1 & D1 fails but has appropriate contents' '
test_must_fail git merge -s recursive D1^0 &&
- git ls-files -s >out &&
- test_line_count = 2 out &&
- git ls-files -u >out &&
- test_line_count = 1 out &&
- git ls-files -o >out &&
- test_line_count = 1 out &&
-
- git rev-parse >expect \
- A:ignore-me B:a &&
- git rev-parse >actual \
- :0:ignore-me :3:a &&
- test_cmp expect actual
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ git ls-files -s >out &&
+ test_line_count = 3 out &&
+ git ls-files -u >out &&
+ test_line_count = 2 out &&
+ git ls-files -o >out &&
+ test_line_count = 1 out &&
+
+ git rev-parse >expect \
+ A:ignore-me B:a D1:a &&
+ git rev-parse >actual \
+ :0:ignore-me :1:a :3:a &&
+ test_cmp expect actual
+ else
+ git ls-files -s >out &&
+ test_line_count = 2 out &&
+ git ls-files -u >out &&
+ test_line_count = 1 out &&
+ git ls-files -o >out &&
+ test_line_count = 1 out &&
+
+ git rev-parse >expect \
+ A:ignore-me B:a &&
+ git rev-parse >actual \
+ :0:ignore-me :3:a &&
+ test_cmp expect actual
+ fi
)
'
@@ -637,17 +690,32 @@ test_expect_success 'merge of D1 & E2 fails but has appropriate contents' '
test_must_fail git merge -s recursive E2^0 &&
- git ls-files -s >out &&
- test_line_count = 4 out &&
- git ls-files -u >out &&
- test_line_count = 3 out &&
- git ls-files -o >out &&
- test_line_count = 2 out &&
-
- git rev-parse >expect \
- B:a E2:a/file C:a/file A:ignore-me &&
- git rev-parse >actual \
- :2:a :3:a/file :1:a/file :0:ignore-me &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ git ls-files -s >out &&
+ test_line_count = 5 out &&
+ git ls-files -u >out &&
+ test_line_count = 4 out &&
+ git ls-files -o >out &&
+ test_line_count = 1 out &&
+
+ git rev-parse >expect \
+ B:a D1:a E2:a/file C:a/file A:ignore-me &&
+ git rev-parse >actual \
+ :1:a~HEAD :2:a~HEAD :3:a/file :1:a/file :0:ignore-me
+ else
+ git ls-files -s >out &&
+ test_line_count = 4 out &&
+ git ls-files -u >out &&
+ test_line_count = 3 out &&
+ git ls-files -o >out &&
+ test_line_count = 2 out &&
+
+ git rev-parse >expect \
+ B:a E2:a/file C:a/file A:ignore-me &&
+ git rev-parse >actual \
+ :2:a :3:a/file :1:a/file :0:ignore-me
+ fi &&
test_cmp expect actual &&
test_path_is_file a~HEAD
@@ -664,17 +732,32 @@ test_expect_success 'merge of E2 & D1 fails but has appropriate contents' '
test_must_fail git merge -s recursive D1^0 &&
- git ls-files -s >out &&
- test_line_count = 4 out &&
- git ls-files -u >out &&
- test_line_count = 3 out &&
- git ls-files -o >out &&
- test_line_count = 2 out &&
-
- git rev-parse >expect \
- B:a E2:a/file C:a/file A:ignore-me &&
- git rev-parse >actual \
- :3:a :2:a/file :1:a/file :0:ignore-me &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ git ls-files -s >out &&
+ test_line_count = 5 out &&
+ git ls-files -u >out &&
+ test_line_count = 4 out &&
+ git ls-files -o >out &&
+ test_line_count = 1 out &&
+
+ git rev-parse >expect \
+ B:a D1:a E2:a/file C:a/file A:ignore-me &&
+ git rev-parse >actual \
+ :1:a~D1^0 :3:a~D1^0 :2:a/file :1:a/file :0:ignore-me
+ else
+ git ls-files -s >out &&
+ test_line_count = 4 out &&
+ git ls-files -u >out &&
+ test_line_count = 3 out &&
+ git ls-files -o >out &&
+ test_line_count = 2 out &&
+
+ git rev-parse >expect \
+ B:a E2:a/file C:a/file A:ignore-me &&
+ git rev-parse >actual \
+ :3:a :2:a/file :1:a/file :0:ignore-me
+ fi &&
test_cmp expect actual &&
test_path_is_file a~D1^0
@@ -706,7 +789,7 @@ test_expect_success 'merge of D1 & E3 succeeds' '
)
'
-test_expect_success 'merge of D1 & E4 notifies user a and a2 are related' '
+test_expect_merge_algorithm failure success 'merge of D1 & E4 puts merge of a and a2 in both a and a2' '
test_when_finished "git -C directory-file reset --hard" &&
test_when_finished "git -C directory-file clean -fdqx" &&
(
@@ -724,7 +807,7 @@ test_expect_success 'merge of D1 & E4 notifies user a and a2 are related' '
test_line_count = 1 out &&
git rev-parse >expect \
- A:ignore-me B:a D1:a E4:a2 &&
+ A:ignore-me B:a E4:a2 E4:a2 &&
git rev-parse >actual \
:0:ignore-me :1:a~Temporary\ merge\ branch\ 2 :2:a :3:a2 &&
test_cmp expect actual
@@ -1069,7 +1152,7 @@ test_expect_success 'setup symlink modify/modify' '
)
'
-test_expect_failure 'check symlink modify/modify' '
+test_expect_merge_algorithm failure success 'check symlink modify/modify' '
(
cd symlink-modify-modify &&
@@ -1135,7 +1218,7 @@ test_expect_success 'setup symlink add/add' '
)
'
-test_expect_failure 'check symlink add/add' '
+test_expect_merge_algorithm failure success 'check symlink add/add' '
(
cd symlink-add-add &&
@@ -1223,7 +1306,7 @@ test_expect_success 'setup submodule modify/modify' '
)
'
-test_expect_failure 'check submodule modify/modify' '
+test_expect_merge_algorithm failure success 'check submodule modify/modify' '
(
cd submodule-modify-modify &&
@@ -1311,7 +1394,7 @@ test_expect_success 'setup submodule add/add' '
)
'
-test_expect_failure 'check submodule add/add' '
+test_expect_merge_algorithm failure success 'check submodule add/add' '
(
cd submodule-add-add &&
@@ -1386,7 +1469,7 @@ test_expect_success 'setup conflicting entry types (submodule vs symlink)' '
)
'
-test_expect_failure 'check conflicting entry types (submodule vs symlink)' '
+test_expect_merge_algorithm failure success 'check conflicting entry types (submodule vs symlink)' '
(
cd submodule-symlink-add-add &&
@@ -1473,12 +1556,12 @@ test_expect_failure 'check conflicting modes for regular file' '
# Setup:
# L1---L2
# / \ / \
-# master X ?
+# main X ?
# \ / \ /
# R1---R2
#
# Where:
-# master has two files, named 'b' and 'a'
+# main has two files, named 'b' and 'a'
# branches L1 and R1 both modify each of the two files in conflicting ways
#
# L2 is a merge of R1 into L1; more on it later.
@@ -1583,7 +1666,7 @@ test_expect_success 'check nested conflicts' '
cd nested_conflicts &&
git clean -f &&
- MASTER=$(git rev-parse --short master) &&
+ MAIN=$(git rev-parse --short main) &&
git checkout L2^0 &&
# Merge must fail; there is a conflict
@@ -1599,24 +1682,24 @@ test_expect_success 'check nested conflicts' '
test_line_count = 1 out &&
# Create a and b from virtual merge base X
- git cat-file -p master:a >base &&
+ git cat-file -p main:a >base &&
git cat-file -p L1:a >ours &&
git cat-file -p R1:a >theirs &&
test_must_fail git merge-file --diff3 \
-L "Temporary merge branch 1" \
- -L "$MASTER" \
+ -L "$MAIN" \
-L "Temporary merge branch 2" \
ours \
base \
theirs &&
sed -e "s/^\([<|=>]\)/\1\1/" ours >vmb_a &&
- git cat-file -p master:b >base &&
+ git cat-file -p main:b >base &&
git cat-file -p L1:b >ours &&
git cat-file -p R1:b >theirs &&
test_must_fail git merge-file --diff3 \
-L "Temporary merge branch 1" \
- -L "$MASTER" \
+ -L "$MAIN" \
-L "Temporary merge branch 2" \
ours \
base \
@@ -1668,12 +1751,12 @@ test_expect_success 'check nested conflicts' '
# Setup:
# L1---L2---L3
# / \ / \ / \
-# master X1 X2 ?
+# main X1 X2 ?
# \ / \ / \ /
# R1---R2---R3
#
# Where:
-# master has one file named 'content'
+# main has one file named 'content'
# branches L1 and R1 both modify each of the two files in conflicting ways
#
# L<n> (n>1) is a merge of R<n-1> into L<n-1>
@@ -1754,7 +1837,7 @@ test_expect_success 'check virtual merge base with nested conflicts' '
(
cd virtual_merge_base_has_nested_conflicts &&
- MASTER=$(git rev-parse --short master) &&
+ MAIN=$(git rev-parse --short main) &&
git checkout L3^0 &&
# Merge must fail; there is a conflict
@@ -1777,13 +1860,13 @@ test_expect_success 'check virtual merge base with nested conflicts' '
# Imitate X1 merge base, except without long enough conflict
# markers because a subsequent sed will modify them. Put
# result into vmb.
- git cat-file -p master:content >base &&
+ git cat-file -p main:content >base &&
git cat-file -p L:content >left &&
git cat-file -p R:content >right &&
cp left merged-once &&
test_must_fail git merge-file --diff3 \
-L "Temporary merge branch 1" \
- -L "$MASTER" \
+ -L "$MAIN" \
-L "Temporary merge branch 2" \
merged-once \
base \
diff --git a/t/t6417-merge-ours-theirs.sh b/t/t6417-merge-ours-theirs.sh
index 0aebc6c028..ac9aee9a66 100755
--- a/t/t6417-merge-ours-theirs.sh
+++ b/t/t6417-merge-ours-theirs.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='Merge-recursive ours and theirs variants'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -20,11 +23,11 @@ test_expect_success setup '
sed -e "s/9/nueve/" >file <elif &&
git commit -a -m theirs &&
- git checkout master^0
+ git checkout main^0
'
test_expect_success 'plain recursive - should conflict' '
- git reset --hard master &&
+ git reset --hard main &&
test_must_fail git merge -s recursive side &&
grep nine file &&
grep nueve file &&
@@ -34,7 +37,7 @@ test_expect_success 'plain recursive - should conflict' '
'
test_expect_success 'recursive favouring theirs' '
- git reset --hard master &&
+ git reset --hard main &&
git merge -s recursive -Xtheirs side &&
! grep nine file &&
grep nueve file &&
@@ -44,7 +47,7 @@ test_expect_success 'recursive favouring theirs' '
'
test_expect_success 'recursive favouring ours' '
- git reset --hard master &&
+ git reset --hard main &&
git merge -s recursive -X ours side &&
grep nine file &&
! grep nueve file &&
@@ -56,26 +59,26 @@ test_expect_success 'recursive favouring ours' '
test_expect_success 'binary file with -Xours/-Xtheirs' '
echo file binary >.gitattributes &&
- git reset --hard master &&
+ git reset --hard main &&
git merge -s recursive -X theirs side &&
git diff --exit-code side HEAD -- file &&
- git reset --hard master &&
+ git reset --hard main &&
git merge -s recursive -X ours side &&
- git diff --exit-code master HEAD -- file
+ git diff --exit-code main HEAD -- file
'
test_expect_success 'pull passes -X to underlying merge' '
- git reset --hard master && git pull -s recursive -Xours . side &&
- git reset --hard master && git pull -s recursive -X ours . side &&
- git reset --hard master && git pull -s recursive -Xtheirs . side &&
- git reset --hard master && git pull -s recursive -X theirs . side &&
- git reset --hard master && test_must_fail git pull -s recursive -X bork . side
+ git reset --hard main && git pull -s recursive -Xours . side &&
+ git reset --hard main && git pull -s recursive -X ours . side &&
+ git reset --hard main && git pull -s recursive -Xtheirs . side &&
+ git reset --hard main && git pull -s recursive -X theirs . side &&
+ git reset --hard main && test_must_fail git pull -s recursive -X bork . side
'
test_expect_success SYMLINKS 'symlink with -Xours/-Xtheirs' '
- git reset --hard master &&
- git checkout -b two master &&
+ git reset --hard main &&
+ git checkout -b two main &&
ln -s target-zero link &&
git add link &&
git commit -m "add link pointing to zero" &&
diff --git a/t/t6418-merge-text-auto.sh b/t/t6418-merge-text-auto.sh
index 30983d18b1..1e0296dd17 100755
--- a/t/t6418-merge-text-auto.sh
+++ b/t/t6418-merge-text-auto.sh
@@ -2,16 +2,19 @@
test_description='CRLF merge conflict across text=auto change
-* [master] remove .gitattributes
+* [main] remove .gitattributes
! [side] add line from b
--
+ [side] add line from b
-* [master] remove .gitattributes
-* [master^] add line from a
-* [master~2] normalize file
+* [main] remove .gitattributes
+* [main^] add line from a
+* [main~2] normalize file
*+ [side^] Initial
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_have_prereq SED_STRIPS_CR && SED_OPTIONS=-b
@@ -64,7 +67,7 @@ test_expect_success setup '
git commit -m "add line from b" &&
git tag b &&
- git checkout master
+ git checkout main
'
test_expect_success 'set up fuzz_conflict() helper' '
@@ -195,7 +198,7 @@ test_expect_success 'Test delete/normalize conflict' '
git reset --hard initial &&
git rm file &&
git commit -m "remove file" &&
- git checkout master &&
+ git checkout main &&
git reset --hard a^ &&
git merge side &&
test_path_is_missing file
diff --git a/t/t6419-merge-ignorecase.sh b/t/t6419-merge-ignorecase.sh
index 531850d834..b64b75acf5 100755
--- a/t/t6419-merge-ignorecase.sh
+++ b/t/t6419-merge-ignorecase.sh
@@ -2,6 +2,9 @@
test_description='git-merge with case-changing rename on case-insensitive file system'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
if ! test_have_prereq CASE_INSENSITIVE_FS
@@ -20,18 +23,18 @@ test_expect_success 'merge with case-changing rename' '
>foo &&
git add foo &&
git commit -m "intervening commit" &&
- git checkout master &&
+ git checkout main &&
git rm TestCase &&
>testcase &&
git add testcase &&
git commit -m "rename to testcase" &&
git checkout with-camel &&
- git merge master -m "merge" &&
+ git merge main -m "merge" &&
test_path_is_file testcase
'
test_expect_success 'merge with case-changing rename on both sides' '
- git checkout master &&
+ git checkout main &&
git reset --hard baseline &&
git branch -D with-camel &&
git checkout -b with-camel &&
@@ -40,13 +43,13 @@ test_expect_success 'merge with case-changing rename on both sides' '
>foo &&
git add foo &&
git commit -m "intervening commit" &&
- git checkout master &&
+ git checkout main &&
git rm TestCase &&
>testcase &&
git add testcase &&
git commit -m "rename to testcase" &&
git checkout with-camel &&
- git merge master -m "merge" &&
+ git merge main -m "merge" &&
test_path_is_file testcase
'
diff --git a/t/t6422-merge-rename-corner-cases.sh b/t/t6422-merge-rename-corner-cases.sh
index 3375eaf4e7..bf4ce3c63d 100755
--- a/t/t6422-merge-rename-corner-cases.sh
+++ b/t/t6422-merge-rename-corner-cases.sh
@@ -3,7 +3,11 @@
test_description="recursive merge corner cases w/ renames but not criss-crosses"
# t6036 has corner cases that involve both criss-cross merges and renames
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
+. "$TEST_DIRECTORY"/lib-merge.sh
test_setup_rename_delete_untracked () {
test_create_repo rename-delete-untracked &&
@@ -312,15 +316,18 @@ test_expect_success 'rename/directory conflict + clean content merge' '
git ls-files -u >out &&
test_line_count = 1 out &&
git ls-files -o >out &&
- test_line_count = 2 out &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_line_count = 1 out
+ else
+ test_line_count = 2 out
+ fi &&
echo 0 >expect &&
git cat-file -p base:file >>expect &&
echo 7 >>expect &&
test_cmp expect newfile~HEAD &&
- test $(git rev-parse :2:newfile) = $(git hash-object expect) &&
-
test_path_is_file newfile/realfile &&
test_path_is_file newfile~HEAD
)
@@ -343,7 +350,12 @@ test_expect_success 'rename/directory conflict + content merge conflict' '
git ls-files -u >out &&
test_line_count = 3 out &&
git ls-files -o >out &&
- test_line_count = 2 out &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_line_count = 1 out
+ else
+ test_line_count = 2 out
+ fi &&
git cat-file -p left-conflict:newfile >left &&
git cat-file -p base:file >base &&
@@ -355,10 +367,16 @@ test_expect_success 'rename/directory conflict + content merge conflict' '
left base right &&
test_cmp left newfile~HEAD &&
- git rev-parse >expect \
- base:file left-conflict:newfile right:file &&
- git rev-parse >actual \
- :1:newfile :2:newfile :3:newfile &&
+ git rev-parse >expect \
+ base:file left-conflict:newfile right:file &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ git rev-parse >actual \
+ :1:newfile~HEAD :2:newfile~HEAD :3:newfile~HEAD
+ else
+ git rev-parse >actual \
+ :1:newfile :2:newfile :3:newfile
+ fi &&
test_cmp expect actual &&
test_path_is_file newfile/realfile &&
@@ -878,7 +896,7 @@ test_setup_rad () {
)
}
-test_expect_failure 'rad-check: rename/add/delete conflict' '
+test_expect_merge_algorithm failure success 'rad-check: rename/add/delete conflict' '
test_setup_rad &&
(
cd rad &&
@@ -951,7 +969,7 @@ test_setup_rrdd () {
)
}
-test_expect_failure 'rrdd-check: rename/rename(2to1)/delete/delete conflict' '
+test_expect_merge_algorithm failure success 'rrdd-check: rename/rename(2to1)/delete/delete conflict' '
test_setup_rrdd &&
(
cd rrdd &&
@@ -1040,7 +1058,7 @@ test_setup_mod6 () {
)
}
-test_expect_failure 'mod6-check: chains of rename/rename(1to2) and rename/rename(2to1)' '
+test_expect_merge_algorithm failure success 'mod6-check: chains of rename/rename(1to2) and rename/rename(2to1)' '
test_setup_mod6 &&
(
cd mod6 &&
@@ -1115,7 +1133,7 @@ test_conflicts_with_adds_and_renames() {
# Setup:
# L
# / \
- # master ?
+ # main ?
# \ /
# R
#
@@ -1245,7 +1263,7 @@ test_conflicts_with_adds_and_renames() {
:2:three \
:3:three &&
git rev-parse >expected \
- master:irrelevant_file \
+ main:irrelevant_file \
file_v2 \
file_v4 &&
test_cmp expected actual &&
@@ -1275,12 +1293,12 @@ test_conflicts_with_adds_and_renames add add
# Setup:
# L
# / \
-# master ?
+# main ?
# \ /
# R
#
# Where:
-# master has two files, named 'one' and 'two'.
+# main has two files, named 'one' and 'two'.
# branches L and R both modify 'one', in conflicting ways.
# branches L and R both modify 'two', in conflicting ways.
# branch L also renames 'one' to 'three'.
@@ -1361,7 +1379,7 @@ test_expect_success 'check nested conflicts from rename/rename(2to1)' '
test_line_count = 1 out &&
# Compare :2:three to expected values
- git cat-file -p master:one >base &&
+ git cat-file -p main:one >base &&
git cat-file -p L:three >ours &&
git cat-file -p R:one >theirs &&
test_must_fail git merge-file \
@@ -1372,7 +1390,7 @@ test_expect_success 'check nested conflicts from rename/rename(2to1)' '
test_cmp expect L-three &&
# Compare :2:three to expected values
- git cat-file -p master:two >base &&
+ git cat-file -p main:two >base &&
git cat-file -p L:two >ours &&
git cat-file -p R:three >theirs &&
test_must_fail git merge-file \
diff --git a/t/t6423-merge-rename-directories.sh b/t/t6423-merge-rename-directories.sh
index f7ecbb886d..4ab133f489 100755
--- a/t/t6423-merge-rename-directories.sh
+++ b/t/t6423-merge-rename-directories.sh
@@ -26,6 +26,7 @@ test_description="recursive merge with directory renames"
# files that might be renamed into each other's paths.)
. ./test-lib.sh
+. "$TEST_DIRECTORY"/lib-merge.sh
###########################################################################
@@ -301,11 +302,20 @@ test_expect_success '1d: Directory renames cause a rename/rename(2to1) conflict'
git cat-file -p :2:x/wham >expect &&
git cat-file -p :3:x/wham >other &&
>empty &&
- test_must_fail git merge-file \
- -L "HEAD" \
- -L "" \
- -L "B^0" \
- expect empty other &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_must_fail git merge-file \
+ -L "HEAD:y/wham" \
+ -L "" \
+ -L "B^0:z/wham" \
+ expect empty other
+ else
+ test_must_fail git merge-file \
+ -L "HEAD" \
+ -L "" \
+ -L "B^0" \
+ expect empty other
+ fi &&
test_cmp expect x/wham
)
'
@@ -1176,10 +1186,18 @@ test_expect_success '5d: Directory/file/file conflict due to directory rename' '
git ls-files -u >out &&
test_line_count = 1 out &&
git ls-files -o >out &&
- test_line_count = 2 out &&
-
- git rev-parse >actual \
- :0:y/b :0:y/c :0:z/d :0:y/f :2:y/d :0:y/d/e &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_line_count = 1 out &&
+
+ git rev-parse >actual \
+ :0:y/b :0:y/c :0:z/d :0:y/f :2:y/d~HEAD :0:y/d/e
+ else
+ test_line_count = 2 out &&
+
+ git rev-parse >actual \
+ :0:y/b :0:y/c :0:z/d :0:y/f :2:y/d :0:y/d/e
+ fi &&
git rev-parse >expect \
O:z/b O:z/c B:z/d B:z/f A:y/d B:y/d/e &&
test_cmp expect actual &&
@@ -1262,35 +1280,144 @@ test_expect_success '6a: Tricky rename/delete' '
test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out &&
test_i18ngrep "CONFLICT (rename/delete).*z/c.*y/c" out &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ git ls-files -s >out &&
+ test_line_count = 3 out &&
+ git ls-files -u >out &&
+ test_line_count = 2 out &&
+ git ls-files -o >out &&
+ test_line_count = 1 out &&
+
+ git rev-parse >actual \
+ :0:y/b :1:y/c :3:y/c &&
+ git rev-parse >expect \
+ O:z/b O:z/c O:z/c
+ else
+ git ls-files -s >out &&
+ test_line_count = 2 out &&
+ git ls-files -u >out &&
+ test_line_count = 1 out &&
+ git ls-files -o >out &&
+ test_line_count = 1 out &&
+
+ git rev-parse >actual \
+ :0:y/b :3:y/c &&
+ git rev-parse >expect \
+ O:z/b O:z/c
+ fi &&
+ test_cmp expect actual
+ )
+'
+
+# Testcase 6b1, Same rename done on both sides
+# (Related to testcase 6b2 and 8e)
+# Commit O: z/{b,c,d,e}
+# Commit A: y/{b,c,d}, x/e
+# Commit B: y/{b,c,d}, z/{e,f}
+# Expected: y/{b,c,d,f}, x/e
+# Note: Directory rename detection says A renamed z/ -> y/ (3 paths renamed
+# to y/ and only 1 renamed to x/), therefore the new file 'z/f' in B
+# should be moved to 'y/f'.
+#
+# This is a bit of an edge case where any behavior might surprise users,
+# whether that is treating A as renaming z/ -> y/, treating A as renaming
+# z/ -> x/, or treating A as not doing any directory rename. However, I
+# think this answer is the least confusing and most consistent with the
+# rules elsewhere.
+#
+# A note about z/ -> x/, since it may not be clear how that could come
+# about: If we were to ignore files renamed by both sides
+# (i.e. z/{b,c,d}), as directory rename detection did in git-2.18 thru
+# at least git-2.28, then we would note there are no renames from z/ to
+# y/ and one rename from z/ to x/ and thus come to the conclusion that
+# A renamed z/ -> x/. This seems more confusing for end users than a
+# rename of z/ to y/, it makes directory rename detection behavior
+# harder for them to predict. As such, we modified the rule, changed
+# the behavior on testcases 6b2 and 8e, and introduced this 6b1 testcase.
+
+test_setup_6b1 () {
+ test_create_repo 6b1 &&
+ (
+ cd 6b1 &&
+
+ mkdir z &&
+ echo b >z/b &&
+ echo c >z/c &&
+ echo d >z/d &&
+ echo e >z/e &&
+ git add z &&
+ test_tick &&
+ git commit -m "O" &&
+
+ git branch O &&
+ git branch A &&
+ git branch B &&
+
+ git checkout A &&
+ git mv z y &&
+ mkdir x &&
+ git mv y/e x/e &&
+ test_tick &&
+ git commit -m "A" &&
+
+ git checkout B &&
+ git mv z y &&
+ mkdir z &&
+ git mv y/e z/e &&
+ echo f >z/f &&
+ git add z/f &&
+ test_tick &&
+ git commit -m "B"
+ )
+}
+
+test_expect_merge_algorithm failure success '6b1: Same renames done on both sides, plus another rename' '
+ test_setup_6b1 &&
+ (
+ cd 6b1 &&
+
+ git checkout A^0 &&
+
+ git -c merge.directoryRenames=true merge -s recursive B^0 &&
+
git ls-files -s >out &&
- test_line_count = 2 out &&
+ test_line_count = 5 out &&
git ls-files -u >out &&
- test_line_count = 1 out &&
+ test_line_count = 0 out &&
git ls-files -o >out &&
test_line_count = 1 out &&
git rev-parse >actual \
- :0:y/b :3:y/c &&
+ HEAD:y/b HEAD:y/c HEAD:y/d HEAD:x/e HEAD:y/f &&
git rev-parse >expect \
- O:z/b O:z/c &&
+ O:z/b O:z/c O:z/d O:z/e B:z/f &&
test_cmp expect actual
)
'
-# Testcase 6b, Same rename done on both sides
+# Testcase 6b2, Same rename done on both sides
# (Related to testcases 6c and 8e)
# Commit O: z/{b,c}
# Commit A: y/{b,c}
# Commit B: y/{b,c}, z/d
-# Expected: y/{b,c}, z/d
-# Note: If we did directory rename detection here, we'd move z/d into y/,
-# but B did that rename and still decided to put the file into z/,
-# so we probably shouldn't apply directory rename detection for it.
-
-test_setup_6b () {
- test_create_repo 6b &&
+# Expected: y/{b,c,d}
+# Alternate: y/{b,c}, z/d
+# Note: Directory rename detection says A renamed z/ -> y/, therefore the new
+# file 'z/d' in B should be moved to 'y/d'.
+#
+# We could potentially ignore the renames of z/{b,c} on side A since
+# those were renamed on both sides. However, it's a bit of a corner
+# case because what if there was also a z/e that side A moved to x/e
+# and side B left alone? If we used the "ignore renames done on both
+# sides" logic, then we'd compute that A renamed z/ -> x/, and move
+# z/d to x/d. That seems more surprising and uglier than allowing
+# the z/ -> y/ rename.
+
+test_setup_6b2 () {
+ test_create_repo 6b2 &&
(
- cd 6b &&
+ cd 6b2 &&
mkdir z &&
echo b >z/b &&
@@ -1318,10 +1445,10 @@ test_setup_6b () {
)
}
-test_expect_success '6b: Same rename done on both sides' '
- test_setup_6b &&
+test_expect_merge_algorithm failure success '6b2: Same rename done on both sides' '
+ test_setup_6b2 &&
(
- cd 6b &&
+ cd 6b2 &&
git checkout A^0 &&
@@ -1335,7 +1462,7 @@ test_expect_success '6b: Same rename done on both sides' '
test_line_count = 1 out &&
git rev-parse >actual \
- HEAD:y/b HEAD:y/c HEAD:z/d &&
+ HEAD:y/b HEAD:y/c HEAD:y/d &&
git rev-parse >expect \
O:z/b O:z/c B:z/d &&
test_cmp expect actual
@@ -1343,7 +1470,7 @@ test_expect_success '6b: Same rename done on both sides' '
'
# Testcase 6c, Rename only done on same side
-# (Related to testcases 6b and 8e)
+# (Related to testcases 6b1, 6b2, and 8e)
# Commit O: z/{b,c}
# Commit A: z/{b,c} (no change)
# Commit B: y/{b,c}, z/d
@@ -1705,11 +1832,20 @@ test_expect_success '7b: rename/rename(2to1), but only due to transitive rename'
git cat-file -p :2:y/d >expect &&
git cat-file -p :3:y/d >other &&
>empty &&
- test_must_fail git merge-file \
- -L "HEAD" \
- -L "" \
- -L "B^0" \
- expect empty other &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_must_fail git merge-file \
+ -L "HEAD:y/d" \
+ -L "" \
+ -L "B^0:z/d" \
+ expect empty other
+ else
+ test_must_fail git merge-file \
+ -L "HEAD" \
+ -L "" \
+ -L "B^0" \
+ expect empty other
+ fi &&
test_cmp expect y/d
)
'
@@ -1831,17 +1967,32 @@ test_expect_success '7d: transitive rename involved in rename/delete; how is it
test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out &&
test_i18ngrep "CONFLICT (rename/delete).*x/d.*y/d" out &&
- git ls-files -s >out &&
- test_line_count = 3 out &&
- git ls-files -u >out &&
- test_line_count = 1 out &&
- git ls-files -o >out &&
- test_line_count = 1 out &&
-
- git rev-parse >actual \
- :0:y/b :0:y/c :3:y/d &&
- git rev-parse >expect \
- O:z/b O:z/c O:x/d &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ git ls-files -s >out &&
+ test_line_count = 4 out &&
+ git ls-files -u >out &&
+ test_line_count = 2 out &&
+ git ls-files -o >out &&
+ test_line_count = 1 out &&
+
+ git rev-parse >actual \
+ :0:y/b :0:y/c :1:y/d :3:y/d &&
+ git rev-parse >expect \
+ O:z/b O:z/c O:x/d O:x/d
+ else
+ git ls-files -s >out &&
+ test_line_count = 3 out &&
+ git ls-files -u >out &&
+ test_line_count = 1 out &&
+ git ls-files -o >out &&
+ test_line_count = 1 out &&
+
+ git rev-parse >actual \
+ :0:y/b :0:y/c :3:y/d &&
+ git rev-parse >expect \
+ O:z/b O:z/c O:x/d
+ fi &&
test_cmp expect actual
)
'
@@ -1922,17 +2073,32 @@ test_expect_success '7e: transitive rename in rename/delete AND dirs in the way'
test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out &&
test_i18ngrep "CONFLICT (rename/delete).*x/d.*y/d" out &&
- git ls-files -s >out &&
- test_line_count = 5 out &&
- git ls-files -u >out &&
- test_line_count = 1 out &&
- git ls-files -o >out &&
- test_line_count = 2 out &&
-
- git rev-parse >actual \
- :0:x/d/f :0:y/d/g :0:y/b :0:y/c :3:y/d &&
- git rev-parse >expect \
- A:x/d/f A:y/d/g O:z/b O:z/c O:x/d &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ git ls-files -s >out &&
+ test_line_count = 6 out &&
+ git ls-files -u >out &&
+ test_line_count = 2 out &&
+ git ls-files -o >out &&
+ test_line_count = 1 out &&
+
+ git rev-parse >actual \
+ :0:x/d/f :0:y/d/g :0:y/b :0:y/c :1:y/d~B^0 :3:y/d~B^0 &&
+ git rev-parse >expect \
+ A:x/d/f A:y/d/g O:z/b O:z/c O:x/d O:x/d
+ else
+ git ls-files -s >out &&
+ test_line_count = 5 out &&
+ git ls-files -u >out &&
+ test_line_count = 1 out &&
+ git ls-files -o >out &&
+ test_line_count = 2 out &&
+
+ git rev-parse >actual \
+ :0:x/d/f :0:y/d/g :0:y/b :0:y/c :3:y/d &&
+ git rev-parse >expect \
+ A:x/d/f A:y/d/g O:z/b O:z/c O:x/d
+ fi &&
test_cmp expect actual &&
git hash-object y/d~B^0 >actual &&
@@ -2269,14 +2435,22 @@ test_expect_success '8d: rename/delete...or not?' '
# Notes: In commit A, directory z got renamed to y. In commit B, directory z
# did NOT get renamed; the directory is still present; instead it is
# considered to have just renamed a subset of paths in directory z
-# elsewhere. However, this is much like testcase 6b (where commit B
-# moves all the original paths out of z/ but opted to keep d
-# within z/). This makes it hard to judge where d should end up.
+# elsewhere. This is much like testcase 6b2 (where commit B moves all
+# the original paths out of z/ but opted to keep d within z/).
+#
+# It was not clear in the past what should be done with this testcase;
+# in fact, I noted that I "just picked one" previously. However,
+# following the new logic for testcase 6b2, we should take the rename
+# and move z/d to y/d.
#
-# It's possible that users would get confused about this, but what
-# should we do instead? It's not at all clear to me whether z/d or
-# y/d or something else is a better resolution here, and other cases
-# start getting really tricky, so I just picked one.
+# 6b1, 6b2, and this case are definitely somewhat fuzzy in terms of
+# whether they are optimal for end users, but (a) the default for
+# directory rename detection is to mark these all as conflicts
+# anyway, (b) it feels like this is less prone to higher order corner
+# case confusion, and (c) the current algorithm requires less global
+# knowledge (i.e. less coupling in the algorithm between renames done
+# on both sides) which thus means users are better able to predict
+# the behavior, and predict it without computing as many details.
test_setup_8e () {
test_create_repo 8e &&
@@ -3040,6 +3214,7 @@ test_expect_success '10a: Overwrite untracked with normal rename/delete' '
echo important >z/d &&
test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err &&
+ test_path_is_missing .git/MERGE_HEAD &&
test_i18ngrep "The following untracked working tree files would be overwritten by merge" err &&
git ls-files -s >out &&
@@ -3109,21 +3284,34 @@ test_expect_success '10b: Overwrite untracked with dir rename + delete' '
echo contents >y/e &&
test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err &&
- test_i18ngrep "CONFLICT (rename/delete).*Version B\^0 of y/d left in tree at y/d~B\^0" out &&
- test_i18ngrep "Error: Refusing to lose untracked file at y/e; writing to y/e~B\^0 instead" out &&
-
- git ls-files -s >out &&
- test_line_count = 3 out &&
- git ls-files -u >out &&
- test_line_count = 2 out &&
- git ls-files -o >out &&
- test_line_count = 5 out &&
-
- git rev-parse >actual \
- :0:y/b :3:y/d :3:y/e &&
- git rev-parse >expect \
- O:z/b O:z/c B:z/e &&
- test_cmp expect actual &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_path_is_missing .git/MERGE_HEAD &&
+ test_i18ngrep "error: The following untracked working tree files would be overwritten by merge" err &&
+
+ git ls-files -s >out &&
+ test_line_count = 1 out &&
+ git ls-files -u >out &&
+ test_line_count = 0 out &&
+ git ls-files -o >out &&
+ test_line_count = 5 out
+ else
+ test_i18ngrep "CONFLICT (rename/delete).*Version B\^0 of y/d left in tree at y/d~B\^0" out &&
+ test_i18ngrep "Error: Refusing to lose untracked file at y/e; writing to y/e~B\^0 instead" out &&
+
+ git ls-files -s >out &&
+ test_line_count = 3 out &&
+ git ls-files -u >out &&
+ test_line_count = 2 out &&
+ git ls-files -o >out &&
+ test_line_count = 5 out &&
+
+ git rev-parse >actual \
+ :0:y/b :3:y/d :3:y/e &&
+ git rev-parse >expect \
+ O:z/b O:z/c B:z/e &&
+ test_cmp expect actual
+ fi &&
echo very >expect &&
test_cmp expect y/c &&
@@ -3186,25 +3374,38 @@ test_expect_success '10c1: Overwrite untracked with dir rename/rename(1to2)' '
echo important >y/c &&
test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err &&
- test_i18ngrep "CONFLICT (rename/rename)" out &&
- test_i18ngrep "Refusing to lose untracked file at y/c; adding as y/c~B\^0 instead" out &&
-
- git ls-files -s >out &&
- test_line_count = 6 out &&
- git ls-files -u >out &&
- test_line_count = 3 out &&
- git ls-files -o >out &&
- test_line_count = 3 out &&
-
- git rev-parse >actual \
- :0:y/a :0:y/b :0:x/d :1:x/c :2:w/c :3:y/c &&
- git rev-parse >expect \
- O:z/a O:z/b O:x/d O:x/c O:x/c O:x/c &&
- test_cmp expect actual &&
-
- git hash-object y/c~B^0 >actual &&
- git rev-parse O:x/c >expect &&
- test_cmp expect actual &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_path_is_missing .git/MERGE_HEAD &&
+ test_i18ngrep "error: The following untracked working tree files would be overwritten by merge" err &&
+
+ git ls-files -s >out &&
+ test_line_count = 4 out &&
+ git ls-files -u >out &&
+ test_line_count = 0 out &&
+ git ls-files -o >out &&
+ test_line_count = 3 out
+ else
+ test_i18ngrep "CONFLICT (rename/rename)" out &&
+ test_i18ngrep "Refusing to lose untracked file at y/c; adding as y/c~B\^0 instead" out &&
+
+ git ls-files -s >out &&
+ test_line_count = 6 out &&
+ git ls-files -u >out &&
+ test_line_count = 3 out &&
+ git ls-files -o >out &&
+ test_line_count = 3 out &&
+
+ git rev-parse >actual \
+ :0:y/a :0:y/b :0:x/d :1:x/c :2:w/c :3:y/c &&
+ git rev-parse >expect \
+ O:z/a O:z/b O:x/d O:x/c O:x/c O:x/c &&
+ test_cmp expect actual &&
+
+ git hash-object y/c~B^0 >actual &&
+ git rev-parse O:x/c >expect &&
+ test_cmp expect actual
+ fi &&
echo important >expect &&
test_cmp expect y/c
@@ -3224,25 +3425,38 @@ test_expect_success '10c2: Overwrite untracked with dir rename/rename(1to2), oth
echo important >y/c &&
test_must_fail git -c merge.directoryRenames=true merge -s recursive A^0 >out 2>err &&
- test_i18ngrep "CONFLICT (rename/rename)" out &&
- test_i18ngrep "Refusing to lose untracked file at y/c; adding as y/c~HEAD instead" out &&
-
- git ls-files -s >out &&
- test_line_count = 6 out &&
- git ls-files -u >out &&
- test_line_count = 3 out &&
- git ls-files -o >out &&
- test_line_count = 3 out &&
-
- git rev-parse >actual \
- :0:y/a :0:y/b :0:x/d :1:x/c :3:w/c :2:y/c &&
- git rev-parse >expect \
- O:z/a O:z/b O:x/d O:x/c O:x/c O:x/c &&
- test_cmp expect actual &&
-
- git hash-object y/c~HEAD >actual &&
- git rev-parse O:x/c >expect &&
- test_cmp expect actual &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_path_is_missing .git/MERGE_HEAD &&
+ test_i18ngrep "error: The following untracked working tree files would be overwritten by merge" err &&
+
+ git ls-files -s >out &&
+ test_line_count = 4 out &&
+ git ls-files -u >out &&
+ test_line_count = 0 out &&
+ git ls-files -o >out &&
+ test_line_count = 3 out
+ else
+ test_i18ngrep "CONFLICT (rename/rename)" out &&
+ test_i18ngrep "Refusing to lose untracked file at y/c; adding as y/c~HEAD instead" out &&
+
+ git ls-files -s >out &&
+ test_line_count = 6 out &&
+ git ls-files -u >out &&
+ test_line_count = 3 out &&
+ git ls-files -o >out &&
+ test_line_count = 3 out &&
+
+ git rev-parse >actual \
+ :0:y/a :0:y/b :0:x/d :1:x/c :3:w/c :2:y/c &&
+ git rev-parse >expect \
+ O:z/a O:z/b O:x/d O:x/c O:x/c O:x/c &&
+ test_cmp expect actual &&
+
+ git hash-object y/c~HEAD >actual &&
+ git rev-parse O:x/c >expect &&
+ test_cmp expect actual
+ fi &&
echo important >expect &&
test_cmp expect y/c
@@ -3300,37 +3514,50 @@ test_expect_success '10d: Delete untracked with dir rename/rename(2to1)' '
echo important >y/wham &&
test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err &&
- test_i18ngrep "CONFLICT (rename/rename)" out &&
- test_i18ngrep "Refusing to lose untracked file at y/wham" out &&
-
- git ls-files -s >out &&
- test_line_count = 6 out &&
- git ls-files -u >out &&
- test_line_count = 2 out &&
- git ls-files -o >out &&
- test_line_count = 3 out &&
-
- git rev-parse >actual \
- :0:y/a :0:y/b :0:y/d :0:y/e :2:y/wham :3:y/wham &&
- git rev-parse >expect \
- O:z/a O:z/b O:x/d O:x/e O:z/c O:x/f &&
- test_cmp expect actual &&
-
- test_must_fail git rev-parse :1:y/wham &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_path_is_missing .git/MERGE_HEAD &&
+ test_i18ngrep "error: The following untracked working tree files would be overwritten by merge" err &&
+
+ git ls-files -s >out &&
+ test_line_count = 6 out &&
+ git ls-files -u >out &&
+ test_line_count = 0 out &&
+ git ls-files -o >out &&
+ test_line_count = 3 out
+ else
+ test_i18ngrep "CONFLICT (rename/rename)" out &&
+ test_i18ngrep "Refusing to lose untracked file at y/wham" out &&
+
+ git ls-files -s >out &&
+ test_line_count = 6 out &&
+ git ls-files -u >out &&
+ test_line_count = 2 out &&
+ git ls-files -o >out &&
+ test_line_count = 3 out &&
+
+ git rev-parse >actual \
+ :0:y/a :0:y/b :0:y/d :0:y/e :2:y/wham :3:y/wham &&
+ git rev-parse >expect \
+ O:z/a O:z/b O:x/d O:x/e O:z/c O:x/f &&
+ test_cmp expect actual &&
+
+ test_must_fail git rev-parse :1:y/wham &&
+
+ # Test that two-way merge in y/wham~merged is as expected
+ git cat-file -p :2:y/wham >expect &&
+ git cat-file -p :3:y/wham >other &&
+ >empty &&
+ test_must_fail git merge-file \
+ -L "HEAD" \
+ -L "" \
+ -L "B^0" \
+ expect empty other &&
+ test_cmp expect y/wham~merged
+ fi &&
echo important >expect &&
- test_cmp expect y/wham &&
-
- # Test that the two-way merge in y/wham~merged is as expected
- git cat-file -p :2:y/wham >expect &&
- git cat-file -p :3:y/wham >other &&
- >empty &&
- test_must_fail git merge-file \
- -L "HEAD" \
- -L "" \
- -L "B^0" \
- expect empty other &&
- test_cmp expect y/wham~merged
+ test_cmp expect y/wham
)
'
@@ -3369,7 +3596,7 @@ test_setup_10e () {
)
}
-test_expect_failure '10e: Does git complain about untracked file that is not really in the way?' '
+test_expect_merge_algorithm failure success '10e: Does git complain about untracked file that is not really in the way?' '
test_setup_10e &&
(
cd 10e &&
@@ -3460,28 +3687,35 @@ test_expect_success '11a: Avoid losing dirty contents with simple rename' '
echo stuff >>z/c &&
test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err &&
- test_i18ngrep "Refusing to lose dirty file at z/c" out &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_path_is_missing .git/MERGE_HEAD &&
+ test_i18ngrep "error: Your local changes to the following files would be overwritten by merge" err
+ else
+ test_i18ngrep "Refusing to lose dirty file at z/c" out &&
+
+ git ls-files -s >out &&
+ test_line_count = 2 out &&
+ git ls-files -u >out &&
+ test_line_count = 1 out &&
+ git ls-files -o >out &&
+ test_line_count = 3 out &&
+
+ git rev-parse >actual \
+ :0:z/a :2:z/c &&
+ git rev-parse >expect \
+ O:z/a B:z/b &&
+ test_cmp expect actual &&
+
+ git hash-object z/c~HEAD >actual &&
+ git rev-parse B:z/b >expect &&
+ test_cmp expect actual
+ fi &&
test_seq 1 10 >expected &&
echo stuff >>expected &&
- test_cmp expected z/c &&
-
- git ls-files -s >out &&
- test_line_count = 2 out &&
- git ls-files -u >out &&
- test_line_count = 1 out &&
- git ls-files -o >out &&
- test_line_count = 4 out &&
+ test_cmp expected z/c
- git rev-parse >actual \
- :0:z/a :2:z/c &&
- git rev-parse >expect \
- O:z/a B:z/b &&
- test_cmp expect actual &&
-
- git hash-object z/c~HEAD >actual &&
- git rev-parse B:z/b >expect &&
- test_cmp expect actual
)
'
@@ -3532,32 +3766,39 @@ test_expect_success '11b: Avoid losing dirty file involved in directory rename'
git checkout A^0 &&
echo stuff >>z/c &&
- git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err &&
- test_i18ngrep "Refusing to lose dirty file at z/c" out &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err &&
+ test_path_is_missing .git/MERGE_HEAD &&
+ test_i18ngrep "error: Your local changes to the following files would be overwritten by merge" err
+ else
+ git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err &&
+ test_i18ngrep "Refusing to lose dirty file at z/c" out &&
+
+ git ls-files -s >out &&
+ test_line_count = 3 out &&
+ git ls-files -u >out &&
+ test_line_count = 0 out &&
+ git ls-files -m >out &&
+ test_line_count = 0 out &&
+ git ls-files -o >out &&
+ test_line_count = 3 out &&
+
+ git rev-parse >actual \
+ :0:x/b :0:y/a :0:y/c &&
+ git rev-parse >expect \
+ O:x/b O:z/a B:x/c &&
+ test_cmp expect actual &&
+
+ git hash-object y/c >actual &&
+ git rev-parse B:x/c >expect &&
+ test_cmp expect actual
+ fi &&
grep -q stuff z/c &&
test_seq 1 10 >expected &&
echo stuff >>expected &&
- test_cmp expected z/c &&
-
- git ls-files -s >out &&
- test_line_count = 3 out &&
- git ls-files -u >out &&
- test_line_count = 0 out &&
- git ls-files -m >out &&
- test_line_count = 0 out &&
- git ls-files -o >out &&
- test_line_count = 4 out &&
-
- git rev-parse >actual \
- :0:x/b :0:y/a :0:y/c &&
- git rev-parse >expect \
- O:x/b O:z/a B:x/c &&
- test_cmp expect actual &&
-
- git hash-object y/c >actual &&
- git rev-parse B:x/c >expect &&
- test_cmp expect actual
+ test_cmp expected z/c
)
'
@@ -3609,7 +3850,13 @@ test_expect_success '11c: Avoid losing not-uptodate with rename + D/F conflict'
echo stuff >>y/c &&
test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err &&
- test_i18ngrep "following files would be overwritten by merge" err &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_path_is_missing .git/MERGE_HEAD &&
+ test_i18ngrep "error: Your local changes to the following files would be overwritten by merge" err
+ else
+ test_i18ngrep "following files would be overwritten by merge" err
+ fi &&
grep -q stuff y/c &&
test_seq 1 10 >expected &&
@@ -3677,29 +3924,35 @@ test_expect_success '11d: Avoid losing not-uptodate with rename + D/F conflict'
echo stuff >>z/c &&
test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err &&
- test_i18ngrep "Refusing to lose dirty file at z/c" out &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_path_is_missing .git/MERGE_HEAD &&
+ test_i18ngrep "error: Your local changes to the following files would be overwritten by merge" err
+ else
+ test_i18ngrep "Refusing to lose dirty file at z/c" out &&
+
+ git ls-files -s >out &&
+ test_line_count = 4 out &&
+ git ls-files -u >out &&
+ test_line_count = 1 out &&
+ git ls-files -o >out &&
+ test_line_count = 4 out &&
+
+ git rev-parse >actual \
+ :0:x/b :0:y/a :0:y/c/d :3:y/c &&
+ git rev-parse >expect \
+ O:x/b O:z/a B:y/c/d B:x/c &&
+ test_cmp expect actual &&
+
+ git hash-object y/c~HEAD >actual &&
+ git rev-parse B:x/c >expect &&
+ test_cmp expect actual
+ fi &&
grep -q stuff z/c &&
test_seq 1 10 >expected &&
echo stuff >>expected &&
- test_cmp expected z/c &&
-
- git ls-files -s >out &&
- test_line_count = 4 out &&
- git ls-files -u >out &&
- test_line_count = 1 out &&
- git ls-files -o >out &&
- test_line_count = 5 out &&
-
- git rev-parse >actual \
- :0:x/b :0:y/a :0:y/c/d :3:y/c &&
- git rev-parse >expect \
- O:x/b O:z/a B:y/c/d B:x/c &&
- test_cmp expect actual &&
-
- git hash-object y/c~HEAD >actual &&
- git rev-parse B:x/c >expect &&
- test_cmp expect actual
+ test_cmp expected z/c
)
'
@@ -3757,37 +4010,43 @@ test_expect_success '11e: Avoid deleting not-uptodate with dir rename/rename(1to
echo mods >>y/c &&
test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err &&
- test_i18ngrep "CONFLICT (rename/rename)" out &&
- test_i18ngrep "Refusing to lose dirty file at y/c" out &&
-
- git ls-files -s >out &&
- test_line_count = 7 out &&
- git ls-files -u >out &&
- test_line_count = 4 out &&
- git ls-files -o >out &&
- test_line_count = 3 out &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_path_is_missing .git/MERGE_HEAD &&
+ test_i18ngrep "error: Your local changes to the following files would be overwritten by merge" err
+ else
+ test_i18ngrep "CONFLICT (rename/rename)" out &&
+ test_i18ngrep "Refusing to lose dirty file at y/c" out &&
+
+ git ls-files -s >out &&
+ test_line_count = 7 out &&
+ git ls-files -u >out &&
+ test_line_count = 4 out &&
+ git ls-files -o >out &&
+ test_line_count = 3 out &&
+
+ git rev-parse >actual \
+ :0:y/a :0:y/b :0:x/d :1:x/c :2:w/c :2:y/c :3:y/c &&
+ git rev-parse >expect \
+ O:z/a O:z/b O:x/d O:x/c O:x/c A:y/c O:x/c &&
+ test_cmp expect actual &&
+
+ # See if y/c~merged has expected contents; requires manually
+ # doing the expected file merge
+ git cat-file -p A:y/c >c1 &&
+ git cat-file -p B:z/c >c2 &&
+ >empty &&
+ test_must_fail git merge-file \
+ -L "HEAD" \
+ -L "" \
+ -L "B^0" \
+ c1 empty c2 &&
+ test_cmp c1 y/c~merged
+ fi &&
echo different >expected &&
echo mods >>expected &&
- test_cmp expected y/c &&
-
- git rev-parse >actual \
- :0:y/a :0:y/b :0:x/d :1:x/c :2:w/c :2:y/c :3:y/c &&
- git rev-parse >expect \
- O:z/a O:z/b O:x/d O:x/c O:x/c A:y/c O:x/c &&
- test_cmp expect actual &&
-
- # See if y/c~merged has expected contents; requires manually
- # doing the expected file merge
- git cat-file -p A:y/c >c1 &&
- git cat-file -p B:z/c >c2 &&
- >empty &&
- test_must_fail git merge-file \
- -L "HEAD" \
- -L "" \
- -L "B^0" \
- c1 empty c2 &&
- test_cmp c1 y/c~merged
+ test_cmp expected y/c
)
'
@@ -3840,38 +4099,44 @@ test_expect_success '11f: Avoid deleting not-uptodate with dir rename/rename(2to
echo important >>y/wham &&
test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err &&
- test_i18ngrep "CONFLICT (rename/rename)" out &&
- test_i18ngrep "Refusing to lose dirty file at y/wham" out &&
-
- git ls-files -s >out &&
- test_line_count = 4 out &&
- git ls-files -u >out &&
- test_line_count = 2 out &&
- git ls-files -o >out &&
- test_line_count = 3 out &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_path_is_missing .git/MERGE_HEAD &&
+ test_i18ngrep "error: Your local changes to the following files would be overwritten by merge" err
+ else
+ test_i18ngrep "CONFLICT (rename/rename)" out &&
+ test_i18ngrep "Refusing to lose dirty file at y/wham" out &&
+
+ git ls-files -s >out &&
+ test_line_count = 4 out &&
+ git ls-files -u >out &&
+ test_line_count = 2 out &&
+ git ls-files -o >out &&
+ test_line_count = 3 out &&
+
+ test_must_fail git rev-parse :1:y/wham &&
+
+ git rev-parse >actual \
+ :0:y/a :0:y/b :2:y/wham :3:y/wham &&
+ git rev-parse >expect \
+ O:z/a O:z/b O:x/c O:x/d &&
+ test_cmp expect actual &&
+
+ # Test that two-way merge in y/wham~merged is as expected
+ git cat-file -p :2:y/wham >expect &&
+ git cat-file -p :3:y/wham >other &&
+ >empty &&
+ test_must_fail git merge-file \
+ -L "HEAD" \
+ -L "" \
+ -L "B^0" \
+ expect empty other &&
+ test_cmp expect y/wham~merged
+ fi &&
test_seq 1 10 >expected &&
echo important >>expected &&
- test_cmp expected y/wham &&
-
- test_must_fail git rev-parse :1:y/wham &&
-
- git rev-parse >actual \
- :0:y/a :0:y/b :2:y/wham :3:y/wham &&
- git rev-parse >expect \
- O:z/a O:z/b O:x/c O:x/d &&
- test_cmp expect actual &&
-
- # Test that the two-way merge in y/wham~merged is as expected
- git cat-file -p :2:y/wham >expect &&
- git cat-file -p :3:y/wham >other &&
- >empty &&
- test_must_fail git merge-file \
- -L "HEAD" \
- -L "" \
- -L "B^0" \
- expect empty other &&
- test_cmp expect y/wham~merged
+ test_cmp expected y/wham
)
'
@@ -3947,31 +4212,124 @@ test_expect_success '12a: Moving one directory hierarchy into another' '
)
'
-# Testcase 12b, Moving two directory hierarchies into each other
+# Testcase 12b1, Moving two directory hierarchies into each other
# (Related to testcases 1c and 12c)
# Commit O: node1/{leaf1, leaf2}, node2/{leaf3, leaf4}
# Commit A: node1/{leaf1, leaf2, node2/{leaf3, leaf4}}
# Commit B: node2/{leaf3, leaf4, node1/{leaf1, leaf2}}
-# Expected: node1/node2/node1/{leaf1, leaf2},
+# Expected: node1/node2/{leaf3, leaf4}
+# node2/node1/{leaf1, leaf2}
+# NOTE: If there were new files added to the old node1/ or node2/ directories,
+# then we would need to detect renames for those directories and would
+# find that:
+# commit A renames node2/ -> node1/node2/
+# commit B renames node1/ -> node2/node1/
+# Applying those directory renames to the initial result (making all
+# four paths experience a transitive renaming), yields
+# node1/node2/node1/{leaf1, leaf2}
# node2/node1/node2/{leaf3, leaf4}
+# as the result. It may be really weird to have two directories
+# rename each other, but simple rules give weird results when given
+# weird inputs. HOWEVER, the "If" at the beginning of those NOTE was
+# false; there were no new files added and thus there is no directory
+# rename detection to perform. As such, we just have simple renames
+# and the expected answer is:
+# node1/node2/{leaf3, leaf4}
+# node2/node1/{leaf1, leaf2}
+
+test_setup_12b1 () {
+ test_create_repo 12b1 &&
+ (
+ cd 12b1 &&
+
+ mkdir -p node1 node2 &&
+ echo leaf1 >node1/leaf1 &&
+ echo leaf2 >node1/leaf2 &&
+ echo leaf3 >node2/leaf3 &&
+ echo leaf4 >node2/leaf4 &&
+ git add node1 node2 &&
+ test_tick &&
+ git commit -m "O" &&
+
+ git branch O &&
+ git branch A &&
+ git branch B &&
+
+ git checkout A &&
+ git mv node2/ node1/ &&
+ test_tick &&
+ git commit -m "A" &&
+
+ git checkout B &&
+ git mv node1/ node2/ &&
+ test_tick &&
+ git commit -m "B"
+ )
+}
+
+test_expect_merge_algorithm failure success '12b1: Moving two directory hierarchies into each other' '
+ test_setup_12b1 &&
+ (
+ cd 12b1 &&
+
+ git checkout A^0 &&
+
+ git -c merge.directoryRenames=true merge -s recursive B^0 &&
+
+ git ls-files -s >out &&
+ test_line_count = 4 out &&
+
+ git rev-parse >actual \
+ HEAD:node2/node1/leaf1 \
+ HEAD:node2/node1/leaf2 \
+ HEAD:node1/node2/leaf3 \
+ HEAD:node1/node2/leaf4 &&
+ git rev-parse >expect \
+ O:node1/leaf1 \
+ O:node1/leaf2 \
+ O:node2/leaf3 \
+ O:node2/leaf4 &&
+ test_cmp expect actual
+ )
+'
+
+# Testcase 12b2, Moving two directory hierarchies into each other
+# (Related to testcases 1c and 12c)
+# Commit O: node1/{leaf1, leaf2}, node2/{leaf3, leaf4}
+# Commit A: node1/{leaf1, leaf2, leaf5, node2/{leaf3, leaf4}}
+# Commit B: node2/{leaf3, leaf4, leaf6, node1/{leaf1, leaf2}}
+# Expected: node1/node2/{node1/{leaf1, leaf2}, leaf6}
+# node2/node1/{node2/{leaf3, leaf4}, leaf5}
# NOTE: Without directory renames, we would expect
-# node2/node1/{leaf1, leaf2},
-# node1/node2/{leaf3, leaf4}
+# A: node2/leaf3 -> node1/node2/leaf3
+# A: node2/leaf1 -> node1/node2/leaf4
+# A: Adds node1/leaf5
+# B: node1/leaf1 -> node2/node1/leaf1
+# B: node1/leaf2 -> node2/node1/leaf2
+# B: Adds node2/leaf6
# with directory rename detection, we note that
# commit A renames node2/ -> node1/node2/
# commit B renames node1/ -> node2/node1/
-# therefore, applying those directory renames to the initial result
-# (making all four paths experience a transitive renaming), yields
-# the expected result.
+# therefore, applying A's directory rename to the paths added in B gives:
+# B: node1/leaf1 -> node1/node2/node1/leaf1
+# B: node1/leaf2 -> node1/node2/node1/leaf2
+# B: Adds node1/node2/leaf6
+# and applying B's directory rename to the paths added in A gives:
+# A: node2/leaf3 -> node2/node1/node2/leaf3
+# A: node2/leaf1 -> node2/node1/node2/leaf4
+# A: Adds node2/node1/leaf5
+# resulting in the expected
+# node1/node2/{node1/{leaf1, leaf2}, leaf6}
+# node2/node1/{node2/{leaf3, leaf4}, leaf5}
#
# You may ask, is it weird to have two directories rename each other?
# To which, I can do no more than shrug my shoulders and say that
# even simple rules give weird results when given weird inputs.
-test_setup_12b () {
- test_create_repo 12b &&
+test_setup_12b2 () {
+ test_create_repo 12b2 &&
(
- cd 12b &&
+ cd 12b2 &&
mkdir -p node1 node2 &&
echo leaf1 >node1/leaf1 &&
@@ -3988,43 +4346,51 @@ test_setup_12b () {
git checkout A &&
git mv node2/ node1/ &&
+ echo leaf5 >node1/leaf5 &&
+ git add node1/leaf5 &&
test_tick &&
git commit -m "A" &&
git checkout B &&
git mv node1/ node2/ &&
+ echo leaf6 >node2/leaf6 &&
+ git add node2/leaf6 &&
test_tick &&
git commit -m "B"
)
}
-test_expect_success '12b: Moving two directory hierarchies into each other' '
- test_setup_12b &&
+test_expect_success '12b2: Moving two directory hierarchies into each other' '
+ test_setup_12b2 &&
(
- cd 12b &&
+ cd 12b2 &&
git checkout A^0 &&
git -c merge.directoryRenames=true merge -s recursive B^0 &&
git ls-files -s >out &&
- test_line_count = 4 out &&
+ test_line_count = 6 out &&
git rev-parse >actual \
HEAD:node1/node2/node1/leaf1 \
HEAD:node1/node2/node1/leaf2 \
HEAD:node2/node1/node2/leaf3 \
- HEAD:node2/node1/node2/leaf4 &&
+ HEAD:node2/node1/node2/leaf4 \
+ HEAD:node2/node1/leaf5 \
+ HEAD:node1/node2/leaf6 &&
git rev-parse >expect \
O:node1/leaf1 \
O:node1/leaf2 \
O:node2/leaf3 \
- O:node2/leaf4 &&
+ O:node2/leaf4 \
+ A:node1/leaf5 \
+ B:node2/leaf6 &&
test_cmp expect actual
)
'
-# Testcase 12c, Moving two directory hierarchies into each other w/ content merge
+# Testcase 12c1, Moving two directory hierarchies into each other w/ content merge
# (Related to testcase 12b)
# Commit O: node1/{ leaf1_1, leaf2_1}, node2/{leaf3_1, leaf4_1}
# Commit A: node1/{ leaf1_2, leaf2_2, node2/{leaf3_2, leaf4_2}}
@@ -4032,13 +4398,103 @@ test_expect_success '12b: Moving two directory hierarchies into each other' '
# Expected: Content merge conflicts for each of:
# node1/node2/node1/{leaf1, leaf2},
# node2/node1/node2/{leaf3, leaf4}
-# NOTE: This is *exactly* like 12c, except that every path is modified on
+# NOTE: This is *exactly* like 12b1, except that every path is modified on
# each side of the merge.
-test_setup_12c () {
- test_create_repo 12c &&
+test_setup_12c1 () {
+ test_create_repo 12c1 &&
+ (
+ cd 12c1 &&
+
+ mkdir -p node1 node2 &&
+ printf "1\n2\n3\n4\n5\n6\n7\n8\nleaf1\n" >node1/leaf1 &&
+ printf "1\n2\n3\n4\n5\n6\n7\n8\nleaf2\n" >node1/leaf2 &&
+ printf "1\n2\n3\n4\n5\n6\n7\n8\nleaf3\n" >node2/leaf3 &&
+ printf "1\n2\n3\n4\n5\n6\n7\n8\nleaf4\n" >node2/leaf4 &&
+ git add node1 node2 &&
+ test_tick &&
+ git commit -m "O" &&
+
+ git branch O &&
+ git branch A &&
+ git branch B &&
+
+ git checkout A &&
+ git mv node2/ node1/ &&
+ for i in `git ls-files`; do echo side A >>$i; done &&
+ git add -u &&
+ test_tick &&
+ git commit -m "A" &&
+
+ git checkout B &&
+ git mv node1/ node2/ &&
+ for i in `git ls-files`; do echo side B >>$i; done &&
+ git add -u &&
+ test_tick &&
+ git commit -m "B"
+ )
+}
+
+test_expect_merge_algorithm failure success '12c1: Moving one directory hierarchy into another w/ content merge' '
+ test_setup_12c1 &&
+ (
+ cd 12c1 &&
+
+ git checkout A^0 &&
+
+ test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 &&
+
+ git ls-files -u >out &&
+ test_line_count = 12 out &&
+
+ git rev-parse >actual \
+ :1:node2/node1/leaf1 \
+ :1:node2/node1/leaf2 \
+ :1:node1/node2/leaf3 \
+ :1:node1/node2/leaf4 \
+ :2:node2/node1/leaf1 \
+ :2:node2/node1/leaf2 \
+ :2:node1/node2/leaf3 \
+ :2:node1/node2/leaf4 \
+ :3:node2/node1/leaf1 \
+ :3:node2/node1/leaf2 \
+ :3:node1/node2/leaf3 \
+ :3:node1/node2/leaf4 &&
+ git rev-parse >expect \
+ O:node1/leaf1 \
+ O:node1/leaf2 \
+ O:node2/leaf3 \
+ O:node2/leaf4 \
+ A:node1/leaf1 \
+ A:node1/leaf2 \
+ A:node1/node2/leaf3 \
+ A:node1/node2/leaf4 \
+ B:node2/node1/leaf1 \
+ B:node2/node1/leaf2 \
+ B:node2/leaf3 \
+ B:node2/leaf4 &&
+ test_cmp expect actual
+ )
+'
+
+# Testcase 12c2, Moving two directory hierarchies into each other w/ content merge
+# (Related to testcase 12b)
+# Commit O: node1/{ leaf1_1, leaf2_1}, node2/{leaf3_1, leaf4_1}
+# Commit A: node1/{ leaf1_2, leaf2_2, node2/{leaf3_2, leaf4_2}, leaf5}
+# Commit B: node2/{node1/{leaf1_3, leaf2_3}, leaf3_3, leaf4_3, leaf6}
+# Expected: Content merge conflicts for each of:
+# node1/node2/node1/{leaf1, leaf2}
+# node2/node1/node2/{leaf3, leaf4}
+# plus
+# node2/node1/leaf5
+# node1/node2/leaf6
+# NOTE: This is *exactly* like 12b2, except that every path from O is modified
+# on each side of the merge.
+
+test_setup_12c2 () {
+ test_create_repo 12c2 &&
(
- cd 12c &&
+ cd 12c2 &&
mkdir -p node1 node2 &&
printf "1\n2\n3\n4\n5\n6\n7\n8\nleaf1\n" >node1/leaf1 &&
@@ -4057,6 +4513,8 @@ test_setup_12c () {
git mv node2/ node1/ &&
for i in `git ls-files`; do echo side A >>$i; done &&
git add -u &&
+ echo leaf5 >node1/leaf5 &&
+ git add node1/leaf5 &&
test_tick &&
git commit -m "A" &&
@@ -4064,20 +4522,24 @@ test_setup_12c () {
git mv node1/ node2/ &&
for i in `git ls-files`; do echo side B >>$i; done &&
git add -u &&
+ echo leaf6 >node2/leaf6 &&
+ git add node2/leaf6 &&
test_tick &&
git commit -m "B"
)
}
-test_expect_success '12c: Moving one directory hierarchy into another w/ content merge' '
- test_setup_12c &&
+test_expect_success '12c2: Moving one directory hierarchy into another w/ content merge' '
+ test_setup_12c2 &&
(
- cd 12c &&
+ cd 12c2 &&
git checkout A^0 &&
test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 &&
+ git ls-files -s >out &&
+ test_line_count = 14 out &&
git ls-files -u >out &&
test_line_count = 12 out &&
@@ -4093,7 +4555,9 @@ test_expect_success '12c: Moving one directory hierarchy into another w/ content
:3:node1/node2/node1/leaf1 \
:3:node1/node2/node1/leaf2 \
:3:node2/node1/node2/leaf3 \
- :3:node2/node1/node2/leaf4 &&
+ :3:node2/node1/node2/leaf4 \
+ :0:node2/node1/leaf5 \
+ :0:node1/node2/leaf6 &&
git rev-parse >expect \
O:node1/leaf1 \
O:node1/leaf2 \
@@ -4106,7 +4570,9 @@ test_expect_success '12c: Moving one directory hierarchy into another w/ content
B:node2/node1/leaf1 \
B:node2/node1/leaf2 \
B:node2/leaf3 \
- B:node2/leaf4 &&
+ B:node2/leaf4 \
+ A:node1/leaf5 \
+ B:node2/leaf6 &&
test_cmp expect actual
)
'
@@ -4227,6 +4693,208 @@ test_expect_success '12e: Rename/merge subdir into the root, variant 2' '
)
'
+# Testcase 12f, Rebase of patches with big directory rename
+# Commit O:
+# dir/subdir/{a,b,c,d,e_O,Makefile_TOP_O}
+# dir/subdir/tweaked/{f,g,h,Makefile_SUB_O}
+# dir/unchanged/<LOTS OF FILES>
+# Commit A:
+# (Remove f & g, move e into newsubdir, rename dir/->folder/, modify files)
+# folder/subdir/{a,b,c,d,Makefile_TOP_A}
+# folder/subdir/newsubdir/e_A
+# folder/subdir/tweaked/{h,Makefile_SUB_A}
+# folder/unchanged/<LOTS OF FILES>
+# Commit B1:
+# (add newfile.{c,py}, modify underscored files)
+# dir/{a,b,c,d,e_B1,Makefile_TOP_B1,newfile.c}
+# dir/tweaked/{f,g,h,Makefile_SUB_B1,newfile.py}
+# dir/unchanged/<LOTS OF FILES>
+# Commit B2:
+# (Modify e further, add newfile.rs)
+# dir/{a,b,c,d,e_B2,Makefile_TOP_B1,newfile.c,newfile.rs}
+# dir/tweaked/{f,g,h,Makefile_SUB_B1,newfile.py}
+# dir/unchanged/<LOTS OF FILES>
+# Expected:
+# B1-picked:
+# folder/subdir/{a,b,c,d,Makefile_TOP_Merge1,newfile.c}
+# folder/subdir/newsubdir/e_Merge1
+# folder/subdir/tweaked/{h,Makefile_SUB_Merge1,newfile.py}
+# folder/unchanged/<LOTS OF FILES>
+# B2-picked:
+# folder/subdir/{a,b,c,d,Makefile_TOP_Merge1,newfile.c,newfile.rs}
+# folder/subdir/newsubdir/e_Merge2
+# folder/subdir/tweaked/{h,Makefile_SUB_Merge1,newfile.py}
+# folder/unchanged/<LOTS OF FILES>
+# Things being checked here:
+# 1. dir/subdir/newfile.c does not get pushed into folder/subdir/newsubdir/.
+# dir/subdir/{a,b,c,d} -> folder/subdir/{a,b,c,d} looks like
+# dir/ -> folder/,
+# whereas dir/subdir/e -> folder/subdir/newsubdir/e looks like
+# dir/subdir/ -> folder/subdir/newsubdir/
+# and if we note that newfile.c is found in dir/subdir/, we might overlook
+# the dir/ -> folder/ rule that has more weight. Older git versions did
+# this.
+# 2. The code to do trivial directory resolves. Note that
+# dir/subdir/unchanged/ is unchanged and can be deleted, and files in the
+# new folder/subdir/unchanged/ are not needed as a target to any renames.
+# Thus, in the second collect_merge_info_callback() we can just resolve
+# these two directories trivially without recursing.)
+# 3. Exercising the codepaths for caching renames and deletes from one cherry
+# pick and re-applying them in the subsequent one.
+
+test_setup_12f () {
+ test_create_repo 12f &&
+ (
+ cd 12f &&
+
+ mkdir -p dir/unchanged &&
+ mkdir -p dir/subdir/tweaked &&
+ echo a >dir/subdir/a &&
+ echo b >dir/subdir/b &&
+ echo c >dir/subdir/c &&
+ echo d >dir/subdir/d &&
+ test_seq 1 10 >dir/subdir/e &&
+ test_seq 10 20 >dir/subdir/Makefile &&
+ echo f >dir/subdir/tweaked/f &&
+ echo g >dir/subdir/tweaked/g &&
+ echo h >dir/subdir/tweaked/h &&
+ test_seq 20 30 >dir/subdir/tweaked/Makefile &&
+ for i in `test_seq 1 88`; do
+ echo content $i >dir/unchanged/file_$i
+ done &&
+ git add . &&
+ git commit -m "O" &&
+
+ git branch O &&
+ git branch A &&
+ git branch B &&
+
+ git switch A &&
+ git rm dir/subdir/tweaked/f dir/subdir/tweaked/g &&
+ test_seq 2 10 >dir/subdir/e &&
+ test_seq 11 20 >dir/subdir/Makefile &&
+ test_seq 21 30 >dir/subdir/tweaked/Makefile &&
+ mkdir dir/subdir/newsubdir &&
+ git mv dir/subdir/e dir/subdir/newsubdir/ &&
+ git mv dir folder &&
+ git add . &&
+ git commit -m "A" &&
+
+ git switch B &&
+ mkdir dir/subdir/newsubdir/ &&
+ echo c code >dir/subdir/newfile.c &&
+ echo python code >dir/subdir/newsubdir/newfile.py &&
+ test_seq 1 11 >dir/subdir/e &&
+ test_seq 10 21 >dir/subdir/Makefile &&
+ test_seq 20 31 >dir/subdir/tweaked/Makefile &&
+ git add . &&
+ git commit -m "B1" &&
+
+ echo rust code >dir/subdir/newfile.rs &&
+ test_seq 1 12 >dir/subdir/e &&
+ git add . &&
+ git commit -m "B2"
+ )
+}
+
+test_expect_merge_algorithm failure success '12f: Trivial directory resolve, caching, all kinds of fun' '
+ test_setup_12f &&
+ (
+ cd 12f &&
+
+ git checkout A^0 &&
+ git branch Bmod B &&
+
+ GIT_TRACE2_PERF="$(pwd)/trace.output" git -c merge.directoryRenames=true rebase A Bmod &&
+
+ echo Checking the pick of B1... &&
+
+ test_must_fail git rev-parse Bmod~1:dir &&
+
+ git ls-tree -r Bmod~1 >out &&
+ test_line_count = 98 out &&
+
+ git diff --name-status A Bmod~1 >actual &&
+ q_to_tab >expect <<-\EOF &&
+ MQfolder/subdir/Makefile
+ AQfolder/subdir/newfile.c
+ MQfolder/subdir/newsubdir/e
+ AQfolder/subdir/newsubdir/newfile.py
+ MQfolder/subdir/tweaked/Makefile
+ EOF
+ test_cmp expect actual &&
+
+ # Three-way merged files
+ test_seq 2 11 >e_Merge1 &&
+ test_seq 11 21 >Makefile_TOP &&
+ test_seq 21 31 >Makefile_SUB &&
+ git hash-object >expect \
+ e_Merge1 \
+ Makefile_TOP \
+ Makefile_SUB &&
+ git rev-parse >actual \
+ Bmod~1:folder/subdir/newsubdir/e \
+ Bmod~1:folder/subdir/Makefile \
+ Bmod~1:folder/subdir/tweaked/Makefile &&
+ test_cmp expect actual &&
+
+ # New files showed up at the right location with right contents
+ git rev-parse >expect \
+ B~1:dir/subdir/newfile.c \
+ B~1:dir/subdir/newsubdir/newfile.py &&
+ git rev-parse >actual \
+ Bmod~1:folder/subdir/newfile.c \
+ Bmod~1:folder/subdir/newsubdir/newfile.py &&
+ test_cmp expect actual &&
+
+ # Removed files
+ test_path_is_missing folder/subdir/tweaked/f &&
+ test_path_is_missing folder/subdir/tweaked/g &&
+
+ # Unchanged files or directories
+ git rev-parse >actual \
+ Bmod~1:folder/subdir/a \
+ Bmod~1:folder/subdir/b \
+ Bmod~1:folder/subdir/c \
+ Bmod~1:folder/subdir/d \
+ Bmod~1:folder/unchanged \
+ Bmod~1:folder/subdir/tweaked/h &&
+ git rev-parse >expect \
+ O:dir/subdir/a \
+ O:dir/subdir/b \
+ O:dir/subdir/c \
+ O:dir/subdir/d \
+ O:dir/unchanged \
+ O:dir/subdir/tweaked/h &&
+ test_cmp expect actual &&
+
+ echo Checking the pick of B2... &&
+
+ test_must_fail git rev-parse Bmod:dir &&
+
+ git ls-tree -r Bmod >out &&
+ test_line_count = 99 out &&
+
+ git diff --name-status Bmod~1 Bmod >actual &&
+ q_to_tab >expect <<-\EOF &&
+ AQfolder/subdir/newfile.rs
+ MQfolder/subdir/newsubdir/e
+ EOF
+ test_cmp expect actual &&
+
+ # Three-way merged file
+ test_seq 2 12 >e_Merge2 &&
+ git hash-object e_Merge2 >expect &&
+ git rev-parse Bmod:folder/subdir/newsubdir/e >actual &&
+ test_cmp expect actual &&
+
+ grep region_enter.*collect_merge_info trace.output >collect &&
+ test_line_count = 4 collect &&
+ grep region_enter.*process_entries$ trace.output >process &&
+ test_line_count = 2 process
+ )
+'
+
###########################################################################
# SECTION 13: Checking informational and conflict messages
#
diff --git a/t/t6425-merge-rename-delete.sh b/t/t6425-merge-rename-delete.sh
index f79d021590..459b431a60 100755
--- a/t/t6425-merge-rename-delete.sh
+++ b/t/t6425-merge-rename-delete.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='Merge-recursive rename/delete conflict message'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'rename/delete' '
@@ -12,7 +15,7 @@ test_expect_success 'rename/delete' '
git mv A B &&
git commit -m "rename" &&
- git checkout master &&
+ git checkout main &&
git rm A &&
git commit -m "delete" &&
diff --git a/t/t6426-merge-skip-unneeded-updates.sh b/t/t6426-merge-skip-unneeded-updates.sh
index 699813671c..d7eeee4310 100755
--- a/t/t6426-merge-skip-unneeded-updates.sh
+++ b/t/t6426-merge-skip-unneeded-updates.sh
@@ -23,6 +23,7 @@ test_description="merge cases"
# files that might be renamed into each other's paths.)
. ./test-lib.sh
+. "$TEST_DIRECTORY"/lib-merge.sh
###########################################################################
@@ -666,7 +667,7 @@ test_setup_4a () {
# correct requires doing the merge in-memory first, then realizing that no
# updates to the file are necessary, and thus that we can just leave the path
# alone.
-test_expect_failure '4a: Change on A, change on B subset of A, dirty mods present' '
+test_expect_merge_algorithm failure success '4a: Change on A, change on B subset of A, dirty mods present' '
test_setup_4a &&
(
cd 4a &&
diff --git a/t/t6427-diff3-conflict-markers.sh b/t/t6427-diff3-conflict-markers.sh
index f4655bb358..25c4b720e7 100755
--- a/t/t6427-diff3-conflict-markers.sh
+++ b/t/t6427-diff3-conflict-markers.sh
@@ -2,6 +2,9 @@
test_description='recursive merge diff3 style conflict markers'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# Setup:
@@ -43,7 +46,7 @@ test_expect_success 'check no merge base' '
# Setup:
# L1
# / \
-# master ?
+# main ?
# \ /
# R1
#
@@ -90,18 +93,18 @@ test_expect_success 'check unique merge base' '
cd unique_merge_base &&
git checkout L^0 &&
- MASTER=$(git rev-parse --short master) &&
+ MAIN=$(git rev-parse --short main) &&
test_must_fail git -c merge.conflictstyle=diff3 merge -s recursive R^0 &&
- grep "|||||| $MASTER:content" renamed
+ grep "|||||| $MAIN:content" renamed
)
'
# Setup:
# L1---L2--L3
# / \ / \
-# master X1 ?
+# main X1 ?
# \ / \ /
# R1---R2--R3
#
@@ -191,10 +194,10 @@ test_expect_success 'rebase --merge describes parent of commit being picked' '
(
cd rebase &&
test_commit base file &&
- test_commit master file &&
+ test_commit main file &&
git checkout -b side HEAD^ &&
test_commit side file &&
- test_must_fail git -c merge.conflictstyle=diff3 rebase --merge master &&
+ test_must_fail git -c merge.conflictstyle=diff3 rebase --merge main &&
grep "||||||| parent of" file
)
'
@@ -203,7 +206,7 @@ test_expect_success 'rebase --apply describes fake ancestor base' '
(
cd rebase &&
git rebase --abort &&
- test_must_fail git -c merge.conflictstyle=diff3 rebase --apply master &&
+ test_must_fail git -c merge.conflictstyle=diff3 rebase --apply main &&
grep "||||||| constructed merge base" file
)
'
diff --git a/t/t6430-merge-recursive.sh b/t/t6430-merge-recursive.sh
index a328260d42..ffcc01fe65 100755
--- a/t/t6430-merge-recursive.sh
+++ b/t/t6430-merge-recursive.sh
@@ -2,7 +2,11 @@
test_description='merge-recursive backend test'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
+. "$TEST_DIRECTORY"/lib-merge.sh
test_expect_success 'setup 1' '
@@ -34,7 +38,7 @@ test_expect_success 'setup 1' '
git add a d/e &&
test_tick &&
- git commit -m "master modifies a and d/e" &&
+ git commit -m "main modifies a and d/e" &&
c1=$(git rev-parse --verify HEAD) &&
( git ls-tree -r HEAD && git ls-files -s ) >actual &&
(
@@ -465,7 +469,7 @@ test_expect_success SYMLINKS 'dir in working tree with symlink ancestor does not
git checkout -b branch1 &&
git commit --allow-empty -m "empty commit" &&
- git checkout master &&
+ git checkout main &&
git rm foo &&
mkdir foo &&
>foo/bar &&
@@ -474,7 +478,7 @@ test_expect_success SYMLINKS 'dir in working tree with symlink ancestor does not
git checkout branch1 &&
- git cherry-pick master &&
+ git cherry-pick main &&
test_path_is_dir foo &&
test_path_is_file foo/bar
)
@@ -489,8 +493,8 @@ test_expect_success 'reset and 3-way merge' '
test_expect_success 'reset and bind merge' '
- git reset --hard master &&
- git read-tree --prefix=M/ master &&
+ git reset --hard main &&
+ git read-tree --prefix=M/ main &&
git ls-files -s >actual &&
(
echo "100644 $o1 0 M/a" &&
@@ -504,7 +508,7 @@ test_expect_success 'reset and bind merge' '
) >expected &&
test_cmp expected actual &&
- git read-tree --prefix=a1/ master &&
+ git read-tree --prefix=a1/ main &&
git ls-files -s >actual &&
(
echo "100644 $o1 0 M/a" &&
@@ -522,7 +526,7 @@ test_expect_success 'reset and bind merge' '
) >expected &&
test_cmp expected actual &&
- git read-tree --prefix=z/ master &&
+ git read-tree --prefix=z/ main &&
git ls-files -s >actual &&
(
echo "100644 $o1 0 M/a" &&
@@ -598,11 +602,11 @@ test_expect_success 'merge-recursive w/ empty work tree - theirs has rename' '
test_expect_success 'merge removes empty directories' '
- git reset --hard master &&
+ git reset --hard main &&
git checkout -b rm &&
git rm d/e &&
git commit -mremoved-d/e &&
- git checkout master &&
+ git checkout main &&
git merge -s recursive rm &&
test_path_is_missing d
'
@@ -641,7 +645,7 @@ test_expect_success 'merge-recursive copy vs. rename' '
test_cmp expected actual
'
-test_expect_failure 'merge-recursive rename vs. rename/symlink' '
+test_expect_merge_algorithm failure success 'merge-recursive rename vs. rename/symlink' '
git checkout -f rename &&
git merge rename-ln &&
diff --git a/t/t6432-merge-recursive-space-options.sh b/t/t6432-merge-recursive-space-options.sh
index b56180ee4a..db4b77e63d 100755
--- a/t/t6432-merge-recursive-space-options.sh
+++ b/t/t6432-merge-recursive-space-options.sh
@@ -2,15 +2,18 @@
test_description='merge-recursive space options
-* [master] Clarify
+* [main] Clarify
! [remote] Remove cruft
--
+ [remote] Remove cruft
-* [master] Clarify
+* [main] Clarify
*+ [remote^] Initial revision
* ok 1: setup
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_have_prereq SED_STRIPS_CR && SED_OPTIONS=-b
@@ -87,7 +90,7 @@ test_expect_success 'setup' '
mv text.txt+ text.txt &&
git commit -a -m "Remove cruft" &&
- git checkout master &&
+ git checkout main &&
sed -e "
s/\(not in his right mind\),\(.*\)/\1;\2Q/
s/Quite correct\(.*\)/It is too correct\1Q/
diff --git a/t/t6433-merge-toplevel.sh b/t/t6433-merge-toplevel.sh
index e29c284b9b..b16031465f 100755
--- a/t/t6433-merge-toplevel.sh
+++ b/t/t6433-merge-toplevel.sh
@@ -2,10 +2,13 @@
test_description='"git merge" top-level frontend'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
t3033_reset () {
- git checkout -B master two &&
+ git checkout -B main two &&
git branch -f left three &&
git branch -f right four
}
@@ -21,7 +24,7 @@ test_expect_success setup '
test_commit four &&
git checkout --orphan newroot &&
test_commit five &&
- git checkout master
+ git checkout main
'
# Local branches
@@ -61,7 +64,7 @@ test_expect_success 'merge octopus, non-fast-forward (ff)' '
test_expect_success 'merge octopus, fast-forward (does not ff)' '
t3033_reset &&
git merge left right &&
- # two (master) is not an ancestor of three (left) and four (right)
+ # two (main) is not an ancestor of three (left) and four (right)
test_must_fail git rev-parse --verify HEAD^4 &&
git rev-parse HEAD^1 HEAD^2 HEAD^3 | sort >actual &&
git rev-parse two three four | sort >expect &&
@@ -118,7 +121,7 @@ test_expect_success 'merge FETCH_HEAD octopus fast-forward (does not ff)' '
t3033_reset &&
git fetch . left right &&
git merge FETCH_HEAD &&
- # two (master) is not an ancestor of three (left) and four (right)
+ # two (main) is not an ancestor of three (left) and four (right)
test_must_fail git rev-parse --verify HEAD^4 &&
git rev-parse HEAD^1 HEAD^2 HEAD^3 | sort >actual &&
git rev-parse two three four | sort >expect &&
diff --git a/t/t6434-merge-recursive-rename-options.sh b/t/t6434-merge-recursive-rename-options.sh
index 3d9fae68c4..a11707835b 100755
--- a/t/t6434-merge-recursive-rename-options.sh
+++ b/t/t6434-merge-recursive-rename-options.sh
@@ -5,11 +5,11 @@ test_description='merge-recursive rename options
Test rename detection by examining rename/delete conflicts.
* (HEAD -> rename) rename
-| * (master) delete
+| * (main) delete
|/
* base
-git diff --name-status base master
+git diff --name-status base main
D 0-old
D 1-old
D 2-old
@@ -26,6 +26,9 @@ they are rounded down (see, e.g., Documentation/diff-generate-patch.txt, which
mentions this in a different context).
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
get_expected_stages () {
@@ -118,7 +121,7 @@ test_expect_success 'setup repo' '
get_expected_stages 2 &&
get_expected_stages 3 &&
check_50="false" &&
- tail="HEAD^ -- HEAD master"
+ tail="HEAD^ -- HEAD main"
'
test_expect_success 'setup thresholds' '
diff --git a/t/t6436-merge-overwrite.sh b/t/t6436-merge-overwrite.sh
index dd8ab7ede1..362ae37a12 100755
--- a/t/t6436-merge-overwrite.sh
+++ b/t/t6436-merge-overwrite.sh
@@ -4,6 +4,9 @@ test_description='git-merge
Do not overwrite changes.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -97,11 +100,19 @@ test_expect_success 'will not overwrite unstaged changes in renamed file' '
git mv c1.c other.c &&
git commit -m rename &&
cp important other.c &&
- test_must_fail git merge c1a >out &&
- test_i18ngrep "Refusing to lose dirty file at other.c" out &&
- test_path_is_file other.c~HEAD &&
- test $(git hash-object other.c~HEAD) = $(git rev-parse c1a:c1.c) &&
- test_cmp important other.c
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_must_fail git merge c1a >out 2>err &&
+ test_i18ngrep "would be overwritten by merge" err &&
+ test_cmp important other.c &&
+ test_path_is_missing .git/MERGE_HEAD
+ else
+ test_must_fail git merge c1a >out &&
+ test_i18ngrep "Refusing to lose dirty file at other.c" out &&
+ test_path_is_file other.c~HEAD &&
+ test $(git hash-object other.c~HEAD) = $(git rev-parse c1a:c1.c) &&
+ test_cmp important other.c
+ fi
'
test_expect_success 'will not overwrite untracked subtree' '
@@ -185,7 +196,7 @@ test_expect_success 'set up unborn branch and content' '
'
test_expect_success 'will not clobber WT/index when merging into unborn' '
- git merge master &&
+ git merge main &&
grep foo tracked-file &&
git show :tracked-file >expect &&
grep foo expect &&
diff --git a/t/t6437-submodule-merge.sh b/t/t6437-submodule-merge.sh
index 6a1e5f8232..0f92bcf326 100755
--- a/t/t6437-submodule-merge.sh
+++ b/t/t6437-submodule-merge.sh
@@ -2,6 +2,9 @@
test_description='merging with submodules'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
#
@@ -27,7 +30,7 @@ test_expect_success setup '
test_tick &&
git commit -m root &&
- git checkout -b a master &&
+ git checkout -b a main &&
(cd sub &&
echo A > file &&
git add file &&
@@ -37,7 +40,7 @@ test_expect_success setup '
test_tick &&
git commit -m a &&
- git checkout -b b master &&
+ git checkout -b b main &&
(cd sub &&
echo B > file &&
git add file &&
@@ -127,7 +130,12 @@ test_expect_success 'merging should conflict for non fast-forward' '
git checkout -b test-nonforward b &&
(cd sub &&
git rev-parse sub-d > ../expect) &&
- test_must_fail git merge c 2> actual &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_must_fail git merge c >actual
+ else
+ test_must_fail git merge c 2> actual
+ fi &&
grep $(cat expect) actual > /dev/null &&
git reset --hard)
'
@@ -138,9 +146,21 @@ test_expect_success 'merging should fail for ambiguous common parent' '
(cd sub &&
git checkout -b ambiguous sub-b &&
git merge sub-c &&
- git rev-parse sub-d > ../expect1 &&
- git rev-parse ambiguous > ../expect2) &&
- test_must_fail git merge c 2> actual &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ git rev-parse --short sub-d >../expect1 &&
+ git rev-parse --short ambiguous >../expect2
+ else
+ git rev-parse sub-d > ../expect1 &&
+ git rev-parse ambiguous > ../expect2
+ fi
+ ) &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ test_must_fail git merge c >actual
+ else
+ test_must_fail git merge c 2> actual
+ fi &&
grep $(cat expect1) actual > /dev/null &&
grep $(cat expect2) actual > /dev/null &&
git reset --hard)
@@ -237,22 +257,22 @@ test_expect_success 'setup for recursive merge with submodule' '
(cd sub &&
git init &&
test_commit a &&
- git checkout -b sub-b master &&
+ git checkout -b sub-b main &&
test_commit b &&
- git checkout -b sub-c master &&
+ git checkout -b sub-c main &&
test_commit c &&
git checkout -b sub-bc sub-b &&
git merge sub-c &&
git checkout -b sub-cb sub-c &&
git merge sub-b &&
- git checkout master) &&
+ git checkout main) &&
git add sub &&
git commit -m a &&
- git checkout -b top-b master &&
+ git checkout -b top-b main &&
(cd sub && git checkout sub-b) &&
git add sub &&
git commit -m b &&
- git checkout -b top-c master &&
+ git checkout -b top-c main &&
(cd sub && git checkout sub-c) &&
git add sub &&
git commit -m c &&
diff --git a/t/t6439-merge-co-error-msgs.sh b/t/t6439-merge-co-error-msgs.sh
index 5c8894d94f..e176475ed5 100755
--- a/t/t6439-merge-co-error-msgs.sh
+++ b/t/t6439-merge-co-error-msgs.sh
@@ -2,6 +2,9 @@
test_description='unpack-trees error messages'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
@@ -18,7 +21,7 @@ test_expect_success 'setup' '
git add two three four five &&
git commit -m Second &&
- git checkout master &&
+ git checkout main &&
echo other >two &&
echo other >three &&
echo other >four &&
@@ -83,7 +86,7 @@ test_expect_success 'cannot switch branches because of local changes' '
echo two >rep/two &&
git add rep/one rep/two &&
git commit -m Fourth &&
- git checkout master &&
+ git checkout main &&
echo uno >rep/one &&
echo dos >rep/two &&
test_must_fail git checkout branch 2>out &&
@@ -128,7 +131,7 @@ test_expect_success 'not_uptodate_dir porcelain checkout error' '
>rep2 &&
git add rep rep2 &&
git commit -m "added test as a file" &&
- git checkout master &&
+ git checkout main &&
>rep/untracked-file &&
>rep2/untracked-file &&
test_must_fail git checkout branch 2>out &&
diff --git a/t/t6501-freshen-objects.sh b/t/t6501-freshen-objects.sh
index 8a3bb4105b..75210f012b 100755
--- a/t/t6501-freshen-objects.sh
+++ b/t/t6501-freshen-objects.sh
@@ -25,6 +25,9 @@
# to refer to an existing tree).
test_description='check pruning of dependent objects'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# We care about reachability, so we do not want to use
@@ -67,7 +70,7 @@ for repack in '' true; do
git checkout -b experiment &&
commit abandon &&
maybe_repack &&
- git checkout master &&
+ git checkout main &&
git branch -D experiment
'
diff --git a/t/t7003-filter-branch.sh b/t/t7003-filter-branch.sh
index 36477cb1f4..1c55695034 100755
--- a/t/t7003-filter-branch.sh
+++ b/t/t7003-filter-branch.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='git filter-branch'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY/lib-gpg.sh"
@@ -13,7 +16,7 @@ test_expect_success 'setup' '
mkdir dir &&
test_commit dir/D &&
test_commit E &&
- git checkout master &&
+ git checkout main &&
test_commit C &&
git checkout branch &&
git merge C &&
@@ -25,7 +28,7 @@ test_expect_success 'setup' '
# * G
# * Merge commit 'C' into branch
# |\
-# | * (master) C
+# | * (main) C
# * | E
# * | dir/D
# * | D
@@ -162,15 +165,15 @@ test_expect_success 'subdirectory filter result looks okay' '
'
test_expect_success 'more setup' '
- git checkout master &&
+ git checkout main &&
mkdir subdir &&
echo A > subdir/new &&
git add subdir/new &&
test_tick &&
- git commit -m "subdir on master" subdir/new &&
+ git commit -m "subdir on main" subdir/new &&
git rm A.t &&
test_tick &&
- git commit -m "again subdir on master" &&
+ git commit -m "again subdir on main" &&
git merge branch
'
@@ -199,7 +202,7 @@ test_expect_success 'author information is preserved' '
git branch preserved-author &&
(sane_unset GIT_AUTHOR_NAME &&
git filter-branch -f --msg-filter "cat; \
- test \$GIT_COMMIT != $(git rev-parse master) || \
+ test \$GIT_COMMIT != $(git rev-parse main) || \
echo Hallo" \
preserved-author) &&
git rev-list --author="B V Uips" preserved-author >actual &&
@@ -218,7 +221,7 @@ test_expect_success "remove a certain author's commits" '
else\
git commit-tree \"\$@\";\
fi" removed-author &&
- cnt1=$(git rev-list master | wc -l) &&
+ cnt1=$(git rev-list main | wc -l) &&
cnt2=$(git rev-list removed-author | wc -l) &&
test $cnt1 -eq $(($cnt2 + 1)) &&
git rev-list --author="B V Uips" removed-author >actual &&
@@ -226,7 +229,7 @@ test_expect_success "remove a certain author's commits" '
'
test_expect_success 'barf on invalid name' '
- test_must_fail git filter-branch -f master xy-problem &&
+ test_must_fail git filter-branch -f main xy-problem &&
test_must_fail git filter-branch -f HEAD^
'
@@ -236,8 +239,8 @@ test_expect_success '"map" works in commit filter' '
mapped=\$(map \$parent) &&
actual=\$(echo \"\$@\" | sed \"s/^.*-p //\") &&
test \$mapped = \$actual &&
- git commit-tree \"\$@\";" master~2..master &&
- git rev-parse --verify master
+ git commit-tree \"\$@\";" main~2..main &&
+ git rev-parse --verify main
'
test_expect_success 'Name needing quotes' '
@@ -256,7 +259,7 @@ test_expect_success 'Name needing quotes' '
test_expect_success 'Subdirectory filter with disappearing trees' '
git reset --hard &&
- git checkout master &&
+ git checkout main &&
mkdir foo &&
touch foo/bar &&
@@ -275,7 +278,7 @@ test_expect_success 'Subdirectory filter with disappearing trees' '
git commit -m "Re-adding foo" &&
git filter-branch -f --subdirectory-filter foo &&
- git rev-list master >actual &&
+ git rev-list main >actual &&
test_line_count = 3 actual
'
@@ -332,7 +335,7 @@ test_expect_success 'Tag name filtering allows slashes in tag names' '
test_cmp expect actual
'
test_expect_success 'setup --prune-empty comparisons' '
- git checkout --orphan master-no-a &&
+ git checkout --orphan main-no-a &&
git rm -rf . &&
unset test_tick &&
test_tick &&
@@ -343,7 +346,7 @@ test_expect_success 'setup --prune-empty comparisons' '
mkdir dir &&
test_commit dir/D dir/D.t dir/D dir/Dx &&
test_commit E E.t E Ex &&
- git checkout master-no-a &&
+ git checkout main-no-a &&
test_commit C C.t C Cx &&
git checkout branch-no-a &&
git merge Cx -m "Merge tag '\''C'\'' into branch" &&
@@ -397,7 +400,7 @@ test_expect_success '--prune-empty is able to prune entire branch' '
'
test_expect_success '--remap-to-ancestor with filename filters' '
- git checkout master &&
+ git checkout main &&
git reset --hard A &&
test_commit add-foo foo 1 &&
git branch moved-foo &&
@@ -407,15 +410,15 @@ test_expect_success '--remap-to-ancestor with filename filters' '
git branch moved-bar &&
test_commit change-foo foo 2 &&
git filter-branch -f --remap-to-ancestor \
- moved-foo moved-bar A..master \
+ moved-foo moved-bar A..main \
-- -- foo &&
test $(git rev-parse moved-foo) = $(git rev-parse moved-bar) &&
- test $(git rev-parse moved-foo) = $(git rev-parse master^) &&
+ test $(git rev-parse moved-foo) = $(git rev-parse main^) &&
test $orig_invariant = $(git rev-parse invariant)
'
test_expect_success 'automatic remapping to ancestor with filename filters' '
- git checkout master &&
+ git checkout main &&
git reset --hard A &&
test_commit add-foo2 foo 1 &&
git branch moved-foo2 &&
@@ -425,10 +428,10 @@ test_expect_success 'automatic remapping to ancestor with filename filters' '
git branch moved-bar2 &&
test_commit change-foo2 foo 2 &&
git filter-branch -f \
- moved-foo2 moved-bar2 A..master \
+ moved-foo2 moved-bar2 A..main \
-- -- foo &&
test $(git rev-parse moved-foo2) = $(git rev-parse moved-bar2) &&
- test $(git rev-parse moved-foo2) = $(git rev-parse master^) &&
+ test $(git rev-parse moved-foo2) = $(git rev-parse main^) &&
test $orig_invariant = $(git rev-parse invariant2)
'
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh
index 05f411c821..943a7d5c1d 100755
--- a/t/t7004-tag.sh
+++ b/t/t7004-tag.sh
@@ -7,6 +7,9 @@ test_description='git tag
Tests for operations with tags.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-gpg.sh
. "$TEST_DIRECTORY"/lib-terminal.sh
@@ -1583,7 +1586,7 @@ test_expect_success 'checking that branch head with --no-contains lists all but
"
test_expect_success 'merging original branch into this branch' '
- git merge --strategy=ours master &&
+ git merge --strategy=ours main &&
git tag v4.0
'
@@ -1944,15 +1947,15 @@ test_expect_success ULIMIT_STACK_SIZE '--contains and --no-contains work in a de
i=1 &&
while test $i -lt 8000
do
- echo "commit refs/heads/master
+ echo "commit refs/heads/main
committer A U Thor <author@example.com> $((1000000000 + $i * 100)) +0200
data <<EOF
commit #$i
EOF"
- test $i = 1 && echo "from refs/heads/master^0"
+ test $i = 1 && echo "from refs/heads/main^0"
i=$(($i + 1))
done | git fast-import &&
- git checkout master &&
+ git checkout main &&
git tag far-far-away HEAD^ &&
run_with_limited_stack git tag --contains HEAD >actual &&
test_must_be_empty actual &&
diff --git a/t/t7006-pager.sh b/t/t7006-pager.sh
index 00e09a375c..fdb450e446 100755
--- a/t/t7006-pager.sh
+++ b/t/t7006-pager.sh
@@ -19,7 +19,7 @@ test_expect_success 'setup' '
test_expect_success TTY 'some commands use a pager' '
rm -f paginated.out &&
test_terminal git log &&
- test -e paginated.out
+ test_path_is_file paginated.out
'
test_expect_failure TTY 'pager runs from subdir' '
@@ -65,49 +65,49 @@ test_expect_success !MINGW,TTY 'LESS and LV envvars set by git-sh-setup' '
test_expect_success TTY 'some commands do not use a pager' '
rm -f paginated.out &&
test_terminal git rev-list HEAD &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success 'no pager when stdout is a pipe' '
rm -f paginated.out &&
git log | cat &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success 'no pager when stdout is a regular file' '
rm -f paginated.out &&
git log >file &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git --paginate rev-list uses a pager' '
rm -f paginated.out &&
test_terminal git --paginate rev-list HEAD &&
- test -e paginated.out
+ test_path_is_file paginated.out
'
test_expect_success 'no pager even with --paginate when stdout is a pipe' '
rm -f file paginated.out &&
git --paginate log | cat &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'no pager with --no-pager' '
rm -f paginated.out &&
test_terminal git --no-pager log &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'configuration can disable pager' '
rm -f paginated.out &&
test_unconfig pager.grep &&
test_terminal git grep initial &&
- test -e paginated.out &&
+ test_path_is_file paginated.out &&
rm -f paginated.out &&
test_config pager.grep false &&
test_terminal git grep initial &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'configuration can enable pager (from subdir)' '
@@ -122,107 +122,107 @@ test_expect_success TTY 'configuration can enable pager (from subdir)' '
test_terminal git bundle unbundle ../test.bundle
) &&
{
- test -e paginated.out ||
- test -e subdir/paginated.out
+ test_path_is_file paginated.out ||
+ test_path_is_file subdir/paginated.out
}
'
test_expect_success TTY 'git tag -l defaults to paging' '
rm -f paginated.out &&
test_terminal git tag -l &&
- test -e paginated.out
+ test_path_is_file paginated.out
'
test_expect_success TTY 'git tag -l respects pager.tag' '
rm -f paginated.out &&
test_terminal git -c pager.tag=false tag -l &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git tag -l respects --no-pager' '
rm -f paginated.out &&
test_terminal git -c pager.tag --no-pager tag -l &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git tag with no args defaults to paging' '
# no args implies -l so this should page like -l
rm -f paginated.out &&
test_terminal git tag &&
- test -e paginated.out
+ test_path_is_file paginated.out
'
test_expect_success TTY 'git tag with no args respects pager.tag' '
# no args implies -l so this should page like -l
rm -f paginated.out &&
test_terminal git -c pager.tag=false tag &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git tag --contains defaults to paging' '
# --contains implies -l so this should page like -l
rm -f paginated.out &&
test_terminal git tag --contains &&
- test -e paginated.out
+ test_path_is_file paginated.out
'
test_expect_success TTY 'git tag --contains respects pager.tag' '
# --contains implies -l so this should page like -l
rm -f paginated.out &&
test_terminal git -c pager.tag=false tag --contains &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git tag -a defaults to not paging' '
test_when_finished "git tag -d newtag" &&
rm -f paginated.out &&
test_terminal git tag -am message newtag &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git tag -a ignores pager.tag' '
test_when_finished "git tag -d newtag" &&
rm -f paginated.out &&
test_terminal git -c pager.tag tag -am message newtag &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git tag -a respects --paginate' '
test_when_finished "git tag -d newtag" &&
rm -f paginated.out &&
test_terminal git --paginate tag -am message newtag &&
- test -e paginated.out
+ test_path_is_file paginated.out
'
test_expect_success TTY 'git tag as alias ignores pager.tag with -a' '
test_when_finished "git tag -d newtag" &&
rm -f paginated.out &&
test_terminal git -c pager.tag -c alias.t=tag t -am message newtag &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git tag as alias respects pager.tag with -l' '
rm -f paginated.out &&
test_terminal git -c pager.tag=false -c alias.t=tag t -l &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git branch defaults to paging' '
rm -f paginated.out &&
test_terminal git branch &&
- test -e paginated.out
+ test_path_is_file paginated.out
'
test_expect_success TTY 'git branch respects pager.branch' '
rm -f paginated.out &&
test_terminal git -c pager.branch=false branch &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git branch respects --no-pager' '
rm -f paginated.out &&
test_terminal git --no-pager branch &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git branch --edit-description ignores pager.branch' '
@@ -232,8 +232,8 @@ test_expect_success TTY 'git branch --edit-description ignores pager.branch' '
touch editor.used
EOF
EDITOR=./editor test_terminal git -c pager.branch branch --edit-description &&
- ! test -e paginated.out &&
- test -e editor.used
+ test_path_is_missing paginated.out &&
+ test_path_is_file editor.used
'
test_expect_success TTY 'git branch --set-upstream-to ignores pager.branch' '
@@ -242,13 +242,13 @@ test_expect_success TTY 'git branch --set-upstream-to ignores pager.branch' '
test_when_finished "git branch -D other" &&
test_terminal git -c pager.branch branch --set-upstream-to=other &&
test_when_finished "git branch --unset-upstream" &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git config ignores pager.config when setting' '
rm -f paginated.out &&
test_terminal git -c pager.config config foo.bar bar &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git config --edit ignores pager.config' '
@@ -257,33 +257,33 @@ test_expect_success TTY 'git config --edit ignores pager.config' '
touch editor.used
EOF
EDITOR=./editor test_terminal git -c pager.config config --edit &&
- ! test -e paginated.out &&
- test -e editor.used
+ test_path_is_missing paginated.out &&
+ test_path_is_file editor.used
'
test_expect_success TTY 'git config --get ignores pager.config' '
rm -f paginated.out &&
test_terminal git -c pager.config config --get foo.bar &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git config --get-urlmatch defaults to paging' '
rm -f paginated.out &&
test_terminal git -c http."https://foo.com/".bar=foo \
config --get-urlmatch http https://foo.com &&
- test -e paginated.out
+ test_path_is_file paginated.out
'
test_expect_success TTY 'git config --get-all respects pager.config' '
rm -f paginated.out &&
test_terminal git -c pager.config=false config --get-all foo.bar &&
- ! test -e paginated.out
+ test_path_is_missing paginated.out
'
test_expect_success TTY 'git config --list defaults to paging' '
rm -f paginated.out &&
test_terminal git config --list &&
- test -e paginated.out
+ test_path_is_file paginated.out
'
@@ -392,7 +392,7 @@ test_default_pager() {
export PATH &&
$full_command
) &&
- test -e default_pager_used
+ test_path_is_file default_pager_used
"
}
@@ -406,7 +406,7 @@ test_PAGER_overrides() {
PAGER='wc >PAGER_used' &&
export PAGER &&
$full_command &&
- test -e PAGER_used
+ test_path_is_file PAGER_used
"
}
@@ -432,7 +432,7 @@ test_core_pager() {
export PAGER &&
test_config core.pager 'wc >core.pager_used' &&
$full_command &&
- ${if_local_config}test -e core.pager_used
+ ${if_local_config}test_path_is_file core.pager_used
"
}
@@ -464,7 +464,7 @@ test_pager_subdir_helper() {
cd sub &&
$full_command
) &&
- ${if_local_config}test -e core.pager_used
+ ${if_local_config}test_path_is_file core.pager_used
"
}
@@ -477,7 +477,7 @@ test_GIT_PAGER_overrides() {
GIT_PAGER='wc >GIT_PAGER_used' &&
export GIT_PAGER &&
$full_command &&
- test -e GIT_PAGER_used
+ test_path_is_file GIT_PAGER_used
"
}
@@ -489,7 +489,7 @@ test_doesnt_paginate() {
GIT_PAGER='wc >GIT_PAGER_used' &&
export GIT_PAGER &&
$full_command &&
- ! test -e GIT_PAGER_used
+ test_path_is_missing GIT_PAGER_used
"
}
diff --git a/t/t7012-skip-worktree-writing.sh b/t/t7012-skip-worktree-writing.sh
index 7476781979..e5c6a038fb 100755
--- a/t/t7012-skip-worktree-writing.sh
+++ b/t/t7012-skip-worktree-writing.sh
@@ -149,6 +149,94 @@ test_expect_success '--ignore-skip-worktree-entries leaves worktree alone' '
--diff-filter=D -- keep-me.t
'
+test_expect_success 'stash restore in sparse checkout' '
+ test_create_repo stash-restore &&
+ (
+ cd stash-restore &&
+
+ mkdir subdir &&
+ echo A >subdir/A &&
+ echo untouched >untouched &&
+ echo removeme >removeme &&
+ echo modified >modified &&
+ git add . &&
+ git commit -m Initial &&
+
+ echo AA >>subdir/A &&
+ echo addme >addme &&
+ echo tweaked >>modified &&
+ rm removeme &&
+ git add addme &&
+
+ git stash push &&
+
+ git sparse-checkout set subdir &&
+
+ # Ensure after sparse-checkout we only have expected files
+ cat >expect <<-EOF &&
+ S modified
+ S removeme
+ H subdir/A
+ S untouched
+ EOF
+ git ls-files -t >actual &&
+ test_cmp expect actual &&
+
+ test_path_is_missing addme &&
+ test_path_is_missing modified &&
+ test_path_is_missing removeme &&
+ test_path_is_file subdir/A &&
+ test_path_is_missing untouched &&
+
+ # Put a file in the working directory in the way
+ echo in the way >modified &&
+ git stash apply &&
+
+ # Ensure stash vivifies modifies paths...
+ cat >expect <<-EOF &&
+ H addme
+ H modified
+ H removeme
+ H subdir/A
+ S untouched
+ EOF
+ git ls-files -t >actual &&
+ test_cmp expect actual &&
+
+ # ...and that the paths show up in status as changed...
+ cat >expect <<-EOF &&
+ A addme
+ M modified
+ D removeme
+ M subdir/A
+ ?? actual
+ ?? expect
+ ?? modified.stash.XXXXXX
+ EOF
+ git status --porcelain | \
+ sed -e s/stash......./stash.XXXXXX/ >actual &&
+ test_cmp expect actual &&
+
+ # ...and that working directory reflects the files correctly
+ test_path_is_file addme &&
+ test_path_is_file modified &&
+ test_path_is_missing removeme &&
+ test_path_is_file subdir/A &&
+ test_path_is_missing untouched &&
+
+ # ...including that we have the expected "modified" file...
+ cat >expect <<-EOF &&
+ modified
+ tweaked
+ EOF
+ test_cmp expect modified &&
+
+ # ...and that the other "modified" file is still present...
+ echo in the way >expect &&
+ test_cmp expect modified.stash.*
+ )
+'
+
#TODO test_expect_failure 'git-apply adds file' false
#TODO test_expect_failure 'git-apply updates file' false
#TODO test_expect_failure 'git-apply removes file' false
diff --git a/t/t7030-verify-tag.sh b/t/t7030-verify-tag.sh
index 5c5bc32ccb..3cefde9602 100755
--- a/t/t7030-verify-tag.sh
+++ b/t/t7030-verify-tag.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='signed tag tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY/lib-gpg.sh"
@@ -17,7 +20,7 @@ test_expect_success GPG 'create signed tags' '
echo 3 >elif && git add elif &&
test_tick && git commit -m "third on side" &&
- git checkout master &&
+ git checkout main &&
test_tick && git merge -S side &&
git tag -s -m merge merge &&
diff --git a/t/t7060-wtstatus.sh b/t/t7060-wtstatus.sh
index d5218743e9..72fb418b89 100755
--- a/t/t7060-wtstatus.sh
+++ b/t/t7060-wtstatus.sh
@@ -2,6 +2,9 @@
test_description='basic work tree status reporting'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -51,7 +54,7 @@ EOF
git checkout -b side HEAD^ &&
git rm foo &&
git commit -m delete &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
test_must_fail git commit --dry-run >../actual &&
test_i18ncmp ../expect ../actual &&
git status >../actual &&
@@ -124,18 +127,18 @@ test_expect_success 'git diff-index --cached -C shows 2 copies + 1 unmerged' '
test_expect_success 'status when conflicts with add and rm advice (deleted by them)' '
git reset --hard &&
- git checkout master &&
+ git checkout main &&
test_commit init main.txt init &&
git checkout -b second_branch &&
git rm main.txt &&
git commit -m "main.txt deleted on second_branch" &&
test_commit second conflict.txt second &&
- git checkout master &&
+ git checkout main &&
test_commit on_second main.txt on_second &&
- test_commit master conflict.txt master &&
+ test_commit main conflict.txt main &&
test_must_fail git merge second_branch &&
cat >expected <<\EOF &&
-On branch master
+On branch main
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
@@ -157,8 +160,8 @@ test_expect_success 'prepare for conflicts' '
git checkout -b conflict &&
test_commit one main.txt one &&
git branch conflict_second &&
- git mv main.txt sub_master.txt &&
- git commit -m "main.txt renamed in sub_master.txt" &&
+ git mv main.txt sub_main.txt &&
+ git commit -m "main.txt renamed in sub_main.txt" &&
git checkout conflict_second &&
git mv main.txt sub_second.txt &&
git commit -m "main.txt renamed in sub_second.txt"
@@ -176,7 +179,7 @@ You have unmerged paths.
Unmerged paths:
(use "git add/rm <file>..." as appropriate to mark resolution)
both deleted: main.txt
- added by them: sub_master.txt
+ added by them: sub_main.txt
added by us: sub_second.txt
no changes added to commit (use "git add" and/or "git commit -a")
@@ -189,7 +192,7 @@ EOF
test_expect_success 'status when conflicts with only rm advice (both deleted)' '
git reset --hard conflict_second &&
test_must_fail git merge conflict &&
- git add sub_master.txt &&
+ git add sub_main.txt &&
git add sub_second.txt &&
cat >expected <<\EOF &&
On branch conflict_second
@@ -198,7 +201,7 @@ You have unmerged paths.
(use "git merge --abort" to abort the merge)
Changes to be committed:
- new file: sub_master.txt
+ new file: sub_main.txt
Unmerged paths:
(use "git rm <file>..." to mark resolution)
@@ -209,12 +212,12 @@ EOF
git status --untracked-files=no >actual &&
test_i18ncmp expected actual &&
git reset --hard &&
- git checkout master
+ git checkout main
'
test_expect_success 'status --branch with detached HEAD' '
git reset --hard &&
- git checkout master^0 &&
+ git checkout main^0 &&
git status --branch --porcelain >actual &&
cat >expected <<-EOF &&
## HEAD (no branch)
@@ -230,7 +233,7 @@ test_expect_success 'status --branch with detached HEAD' '
## Duplicate the above test and verify --porcelain=v1 arg parsing.
test_expect_success 'status --porcelain=v1 --branch with detached HEAD' '
git reset --hard &&
- git checkout master^0 &&
+ git checkout main^0 &&
git status --branch --porcelain=v1 >actual &&
cat >expected <<-EOF &&
## HEAD (no branch)
diff --git a/t/t7063-status-untracked-cache.sh b/t/t7063-status-untracked-cache.sh
index a682a3d826..f01bf27727 100755
--- a/t/t7063-status-untracked-cache.sh
+++ b/t/t7063-status-untracked-cache.sh
@@ -2,6 +2,9 @@
test_description='test untracked cache'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# On some filesystems (e.g. FreeBSD's ext2 and ufs) directory mtime
@@ -475,7 +478,7 @@ EOF
test_expect_success 'set up sparse checkout' '
echo "done/[a-z]*" >.git/info/sparse-checkout &&
test_config core.sparsecheckout true &&
- git checkout master &&
+ git checkout main &&
git update-index --force-untracked-cache &&
git status --porcelain >/dev/null && # prime the cache
test_path_is_missing done/.gitignore &&
@@ -734,13 +737,13 @@ test_expect_success 'test ident field is working' '
test_expect_success 'untracked cache survives a checkout' '
git commit --allow-empty -m empty &&
test-tool dump-untracked-cache >../before &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
git checkout -b other_branch &&
test-tool dump-untracked-cache >../after &&
test_cmp ../before ../after &&
test_commit test &&
test-tool dump-untracked-cache >../before &&
- git checkout master &&
+ git checkout main &&
test-tool dump-untracked-cache >../after &&
test_cmp ../before ../after
'
@@ -775,7 +778,7 @@ test_expect_success SYMLINKS '"status" after symlink replacement should be clean
git checkout HEAD~ &&
status_is_clean &&
status_is_clean &&
- git checkout master &&
+ git checkout main &&
avoid_racy &&
status_is_clean &&
status_is_clean
@@ -786,7 +789,7 @@ test_expect_success SYMLINKS '"status" after symlink replacement should be clean
git checkout HEAD~ &&
status_is_clean &&
status_is_clean &&
- git checkout master &&
+ git checkout main &&
avoid_racy &&
status_is_clean &&
status_is_clean
@@ -810,7 +813,7 @@ test_expect_success '"status" after file replacement should be clean with UC=tru
git checkout HEAD~ &&
status_is_clean &&
status_is_clean &&
- git checkout master &&
+ git checkout main &&
avoid_racy &&
status_is_clean &&
test-tool dump-untracked-cache >../actual &&
@@ -828,7 +831,7 @@ test_expect_success '"status" after file replacement should be clean with UC=fal
git checkout HEAD~ &&
status_is_clean &&
status_is_clean &&
- git checkout master &&
+ git checkout main &&
avoid_racy &&
status_is_clean &&
status_is_clean
diff --git a/t/t7064-wtstatus-pv2.sh b/t/t7064-wtstatus-pv2.sh
index 537787e598..4613882caf 100755
--- a/t/t7064-wtstatus-pv2.sh
+++ b/t/t7064-wtstatus-pv2.sh
@@ -5,10 +5,14 @@ test_description='git status --porcelain=v2
This test exercises porcelain V2 output for git status.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
+ git checkout -f --orphan initial-branch &&
test_tick &&
git config core.autocrlf false &&
echo x >file_x &&
@@ -22,7 +26,7 @@ test_expect_success setup '
test_expect_success 'before initial commit, nothing added, only untracked' '
cat >expect <<-EOF &&
# branch.oid (initial)
- # branch.head master
+ # branch.head initial-branch
? actual
? dir1/
? expect
@@ -45,7 +49,7 @@ test_expect_success 'before initial commit, things added' '
cat >expect <<-EOF &&
# branch.oid (initial)
- # branch.head master
+ # branch.head initial-branch
1 A. N... 000000 100644 100644 $ZERO_OID $OID_A dir1/file_a
1 A. N... 000000 100644 100644 $ZERO_OID $OID_B dir1/file_b
1 A. N... 000000 100644 100644 $ZERO_OID $OID_X file_x
@@ -62,7 +66,7 @@ test_expect_success 'before initial commit, things added' '
test_expect_success 'before initial commit, things added (-z)' '
lf_to_nul >expect <<-EOF &&
# branch.oid (initial)
- # branch.head master
+ # branch.head initial-branch
1 A. N... 000000 100644 100644 $ZERO_OID $OID_A dir1/file_a
1 A. N... 000000 100644 100644 $ZERO_OID $OID_B dir1/file_b
1 A. N... 000000 100644 100644 $ZERO_OID $OID_X file_x
@@ -81,7 +85,7 @@ test_expect_success 'make first commit, comfirm HEAD oid and branch' '
H0=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
# branch.oid $H0
- # branch.head master
+ # branch.head initial-branch
? actual
? expect
EOF
@@ -98,7 +102,7 @@ test_expect_success 'after first commit, create unstaged changes' '
cat >expect <<-EOF &&
# branch.oid $H0
- # branch.head master
+ # branch.head initial-branch
1 .M N... 100644 100644 100644 $OID_X $OID_X file_x
1 .D N... 100644 100644 000000 $OID_Z $OID_Z file_z
? actual
@@ -126,7 +130,7 @@ test_expect_success 'after first commit, stage existing changes' '
cat >expect <<-EOF &&
# branch.oid $H0
- # branch.head master
+ # branch.head initial-branch
1 M. N... 100644 100644 100644 $OID_X $OID_X1 file_x
1 D. N... 100644 000000 000000 $OID_Z $ZERO_OID file_z
? actual
@@ -143,7 +147,7 @@ test_expect_success 'rename causes 2 path lines' '
q_to_tab >expect <<-EOF &&
# branch.oid $H0
- # branch.head master
+ # branch.head initial-branch
1 M. N... 100644 100644 100644 $OID_X $OID_X1 file_x
1 D. N... 100644 000000 000000 $OID_Z $ZERO_OID file_z
2 R. N... 100644 100644 100644 $OID_Y $OID_Y R100 renamed_yQfile_y
@@ -161,7 +165,7 @@ test_expect_success 'rename causes 2 path lines (-z)' '
## Lines use NUL path separator and line terminator, so double transform here.
q_to_nul <<-EOF | lf_to_nul >expect &&
# branch.oid $H0
- # branch.head master
+ # branch.head initial-branch
1 M. N... 100644 100644 100644 $OID_X $OID_X1 file_x
1 D. N... 100644 000000 000000 $OID_Z $ZERO_OID file_z
2 R. N... 100644 100644 100644 $OID_Y $OID_Y R100 renamed_yQfile_y
@@ -179,7 +183,7 @@ test_expect_success 'make second commit, confirm clean and new HEAD oid' '
cat >expect <<-EOF &&
# branch.oid $H1
- # branch.head master
+ # branch.head initial-branch
? actual
? expect
EOF
@@ -231,7 +235,7 @@ test_expect_success 'create and commit permanent ignore file' '
cat >expect <<-EOF &&
# branch.oid $H1
- # branch.head master
+ # branch.head initial-branch
EOF
git status --porcelain=v2 --branch >actual &&
@@ -257,14 +261,14 @@ test_expect_success 'verify --intent-to-add output' '
test_expect_success 'verify AA (add-add) conflict' '
test_when_finished "git reset --hard" &&
- git branch AA_A master &&
+ git branch AA_A initial-branch &&
git checkout AA_A &&
echo "Branch AA_A" >conflict.txt &&
OID_AA_A=$(git hash-object -t blob -- conflict.txt) &&
git add conflict.txt &&
git commit -m "branch aa_a" &&
- git branch AA_B master &&
+ git branch AA_B initial-branch &&
git checkout AA_B &&
echo "Branch AA_B" >conflict.txt &&
OID_AA_B=$(git hash-object -t blob -- conflict.txt) &&
@@ -290,7 +294,7 @@ test_expect_success 'verify AA (add-add) conflict' '
test_expect_success 'verify UU (edit-edit) conflict' '
test_when_finished "git reset --hard" &&
- git branch UU_ANC master &&
+ git branch UU_ANC initial-branch &&
git checkout UU_ANC &&
echo "Ancestor" >conflict.txt &&
OID_UU_ANC=$(git hash-object -t blob -- conflict.txt) &&
@@ -328,18 +332,18 @@ test_expect_success 'verify UU (edit-edit) conflict' '
'
test_expect_success 'verify upstream fields in branch header' '
- git checkout master &&
+ git checkout initial-branch &&
test_when_finished "rm -rf sub_repo" &&
git clone . sub_repo &&
(
- ## Confirm local master tracks remote master.
+ ## Confirm local initial-branch tracks remote initial-branch.
cd sub_repo &&
HUF=$(git rev-parse HEAD) &&
cat >expect <<-EOF &&
# branch.oid $HUF
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +0 -0
EOF
@@ -355,8 +359,8 @@ test_expect_success 'verify upstream fields in branch header' '
cat >expect <<-EOF &&
# branch.oid $HUF
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +1 -0
EOF
@@ -367,9 +371,9 @@ test_expect_success 'verify upstream fields in branch header' '
git status --porcelain=v2 --untracked-files=all >actual &&
test_must_be_empty actual &&
- ## Test upstream-gone case. Fake this by pointing origin/master at
- ## a non-existing commit.
- OLD=$(git rev-parse origin/master) &&
+ ## Test upstream-gone case. Fake this by pointing
+ ## origin/initial-branch at a non-existing commit.
+ OLD=$(git rev-parse origin/initial-branch) &&
NEW=$ZERO_OID &&
mv .git/packed-refs .git/old-packed-refs &&
sed "s/$OLD/$NEW/g" <.git/old-packed-refs >.git/packed-refs &&
@@ -378,8 +382,8 @@ test_expect_success 'verify upstream fields in branch header' '
cat >expect <<-EOF &&
# branch.oid $HUF
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
EOF
git status --porcelain=v2 --branch --untracked-files=all >actual &&
@@ -388,19 +392,19 @@ test_expect_success 'verify upstream fields in branch header' '
'
test_expect_success 'verify --[no-]ahead-behind with V2 format' '
- git checkout master &&
+ git checkout initial-branch &&
test_when_finished "rm -rf sub_repo" &&
git clone . sub_repo &&
(
- ## Confirm local master tracks remote master.
+ ## Confirm local initial-branch tracks remote initial-branch.
cd sub_repo &&
HUF=$(git rev-parse HEAD) &&
# Confirm --no-ahead-behind reports traditional branch.ab with 0/0 for equal branches.
cat >expect <<-EOF &&
# branch.oid $HUF
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +0 -0
EOF
@@ -410,8 +414,8 @@ test_expect_success 'verify --[no-]ahead-behind with V2 format' '
# Confirm --ahead-behind reports traditional branch.ab with 0/0.
cat >expect <<-EOF &&
# branch.oid $HUF
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +0 -0
EOF
@@ -428,8 +432,8 @@ test_expect_success 'verify --[no-]ahead-behind with V2 format' '
# Confirm --no-ahead-behind reports branch.ab with ?/? for non-equal branches.
cat >expect <<-EOF &&
# branch.oid $HUF
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +? -?
EOF
@@ -439,8 +443,8 @@ test_expect_success 'verify --[no-]ahead-behind with V2 format' '
# Confirm --ahead-behind reports traditional branch.ab with 1/0.
cat >expect <<-EOF &&
# branch.oid $HUF
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +1 -0
EOF
@@ -458,7 +462,7 @@ test_expect_success 'verify --[no-]ahead-behind with V2 format' '
'
test_expect_success 'create and add submodule, submodule appears clean (A. S...)' '
- git checkout master &&
+ git checkout initial-branch &&
git clone . sub_repo &&
git clone . super_repo &&
( cd super_repo &&
@@ -471,8 +475,8 @@ test_expect_success 'create and add submodule, submodule appears clean (A. S...)
cat >expect <<-EOF &&
# branch.oid $HSUP
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +0 -0
1 A. N... 000000 100644 100644 $ZERO_OID $HMOD .gitmodules
1 A. S... 000000 160000 160000 $ZERO_OID $HSUB sub1
@@ -496,8 +500,8 @@ test_expect_success 'untracked changes in added submodule (AM S..U)' '
cat >expect <<-EOF &&
# branch.oid $HSUP
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +0 -0
1 A. N... 000000 100644 100644 $ZERO_OID $HMOD .gitmodules
1 AM S..U 000000 160000 160000 $ZERO_OID $HSUB sub1
@@ -521,8 +525,8 @@ test_expect_success 'staged changes in added submodule (AM S.M.)' '
cat >expect <<-EOF &&
# branch.oid $HSUP
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +0 -0
1 A. N... 000000 100644 100644 $ZERO_OID $HMOD .gitmodules
1 AM S.M. 000000 160000 160000 $ZERO_OID $HSUB sub1
@@ -548,8 +552,8 @@ test_expect_success 'staged and unstaged changes in added (AM S.M.)' '
cat >expect <<-EOF &&
# branch.oid $HSUP
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +0 -0
1 A. N... 000000 100644 100644 $ZERO_OID $HMOD .gitmodules
1 AM S.M. 000000 160000 160000 $ZERO_OID $HSUB sub1
@@ -575,8 +579,8 @@ test_expect_success 'staged and untracked changes in added submodule (AM S.MU)'
cat >expect <<-EOF &&
# branch.oid $HSUP
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +0 -0
1 A. N... 000000 100644 100644 $ZERO_OID $HMOD .gitmodules
1 AM S.MU 000000 160000 160000 $ZERO_OID $HSUB sub1
@@ -602,8 +606,8 @@ test_expect_success 'commit within the submodule appears as new commit in super
cat >expect <<-EOF &&
# branch.oid $HSUP
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +0 -0
1 A. N... 000000 100644 100644 $ZERO_OID $HMOD .gitmodules
1 AM SC.. 000000 160000 160000 $ZERO_OID $HSUB sub1
@@ -625,8 +629,8 @@ test_expect_success 'stage submodule in super and commit' '
cat >expect <<-EOF &&
# branch.oid $HSUP
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +1 -0
EOF
@@ -646,8 +650,8 @@ test_expect_success 'make unstaged changes in existing submodule (.M S.M.)' '
cat >expect <<-EOF &&
# branch.oid $HSUP
- # branch.head master
- # branch.upstream origin/master
+ # branch.head initial-branch
+ # branch.upstream origin/initial-branch
# branch.ab +1 -0
1 .M S.M. 160000 160000 160000 $HSUB $HSUB sub1
EOF
diff --git a/t/t7102-reset.sh b/t/t7102-reset.sh
index b1affb001f..7d8fb188ee 100755
--- a/t/t7102-reset.sh
+++ b/t/t7102-reset.sh
@@ -7,6 +7,9 @@ test_description='git reset
Documented tests for git reset'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
commit_msg () {
@@ -145,7 +148,7 @@ test_expect_success 'trying to do reset --soft with pending merge should fail' '
printf "1st line 2nd file\n2nd line 2nd file\n3rd line" >secondfile &&
git commit -a -m "the change in branch2" &&
- git checkout master &&
+ git checkout main &&
git branch -D branch1 branch2 &&
check_changes $head5
'
@@ -167,7 +170,7 @@ test_expect_success 'trying to do reset --soft with pending checkout merge shoul
printf "1st line 2nd file\n2nd line 2nd file\n3rd line" >secondfile &&
git commit -a -m "the line in branch3" &&
- git checkout master &&
+ git checkout main &&
git branch -D branch3 branch4 &&
check_changes $head5
'
@@ -380,7 +383,7 @@ test_expect_success '--hard reset to ORIG_HEAD should clear a fast-forward merge
git reset --hard ORIG_HEAD &&
check_changes $head5 &&
- git checkout master &&
+ git checkout main &&
git branch -D branch1 branch2 &&
check_changes $head5
'
diff --git a/t/t7113-post-index-change-hook.sh b/t/t7113-post-index-change-hook.sh
index f011ad7eec..688fa995c9 100755
--- a/t/t7113-post-index-change-hook.sh
+++ b/t/t7113-post-index-change-hook.sh
@@ -2,6 +2,9 @@
test_description='post index change hook'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -85,7 +88,7 @@ test_expect_success 'test checkout and reset trigger the hook' '
EOF
: force index to be dirty &&
test-tool chmtime +60 dir1/file1.txt &&
- git checkout master &&
+ git checkout main &&
test_path_is_file testsuccess && rm -f testsuccess &&
test_path_is_missing testfailure &&
test-tool chmtime +60 dir1/file1.txt &&
diff --git a/t/t7201-co.sh b/t/t7201-co.sh
index b36a93056f..daf8678b8a 100755
--- a/t/t7201-co.sh
+++ b/t/t7201-co.sh
@@ -5,10 +5,10 @@
test_description='git checkout tests.
-Creates master, forks renamer and side branches from it.
+Creates main, forks renamer and side branches from it.
Test switching across them.
- ! [master] Initial A one, A two
+ ! [main] Initial A one, A two
* [renamer] Renamer R one->uno, M two
! [side] Side M one, D two, A three
! [simple] Simple D one, M two
@@ -16,10 +16,13 @@ Test switching across them.
+ [simple] Simple D one, M two
+ [side] Side M one, D two, A three
* [renamer] Renamer R one->uno, M two
- +*++ [master] Initial A one, A two
+ +*++ [main] Initial A one, A two
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_tick
@@ -46,27 +49,27 @@ test_expect_success setup '
fill a b c d e f >two &&
git commit -a -m "Renamer R one->uno, M two" &&
- git checkout -b side master &&
+ git checkout -b side main &&
fill 1 2 3 4 5 6 7 >one &&
fill A B C D E >three &&
rm -f two &&
git update-index --add --remove one two three &&
git commit -m "Side M one, D two, A three" &&
- git checkout -b simple master &&
+ git checkout -b simple main &&
rm -f one &&
fill a c e >two &&
git commit -a -m "Simple D one, M two" &&
- git checkout master
+ git checkout main
'
test_expect_success 'checkout from non-existing branch' '
- git checkout -b delete-me master &&
+ git checkout -b delete-me main &&
git update-ref -d --no-deref refs/heads/delete-me &&
test refs/heads/delete-me = "$(git symbolic-ref HEAD)" &&
- git checkout master &&
- test refs/heads/master = "$(git symbolic-ref HEAD)"
+ git checkout main &&
+ test refs/heads/main = "$(git symbolic-ref HEAD)"
'
test_expect_success 'checkout with dirty tree without -m' '
@@ -81,7 +84,7 @@ test_expect_success 'checkout with dirty tree without -m' '
'
test_expect_success 'checkout with unrelated dirty tree without -m' '
- git checkout -f master &&
+ git checkout -f main &&
fill 0 1 2 3 4 5 6 7 8 >same &&
cp same kept &&
git checkout side >messages &&
@@ -91,7 +94,7 @@ test_expect_success 'checkout with unrelated dirty tree without -m' '
'
test_expect_success 'checkout -m with dirty tree' '
- git checkout -f master &&
+ git checkout -f main &&
git clean -f &&
fill 0 1 2 3 4 5 6 7 8 >one &&
@@ -102,9 +105,9 @@ test_expect_success 'checkout -m with dirty tree' '
printf "M\t%s\n" one >expect.messages &&
test_cmp expect.messages messages &&
- fill "M one" "A three" "D two" >expect.master &&
- git diff --name-status master >current.master &&
- test_cmp expect.master current.master &&
+ fill "M one" "A three" "D two" >expect.main &&
+ git diff --name-status main >current.main &&
+ test_cmp expect.main current.main &&
fill "M one" >expect.side &&
git diff --name-status side >current.side &&
@@ -115,7 +118,7 @@ test_expect_success 'checkout -m with dirty tree' '
'
test_expect_success 'checkout -m with dirty tree, renamed' '
- git checkout -f master && git clean -f &&
+ git checkout -f main && git clean -f &&
fill 1 2 3 4 5 7 8 >one &&
if git checkout renamer
@@ -135,7 +138,7 @@ test_expect_success 'checkout -m with dirty tree, renamed' '
'
test_expect_success 'checkout -m with merge conflict' '
- git checkout -f master && git clean -f &&
+ git checkout -f main && git clean -f &&
fill 1 T 3 4 5 6 S 8 >one &&
if git checkout renamer
@@ -148,7 +151,7 @@ test_expect_success 'checkout -m with merge conflict' '
git checkout -m renamer &&
- git diff master:one :3:uno |
+ git diff main:one :3:uno |
sed -e "1,/^@@/d" -e "/^ /d" -e "s/^-/d/" -e "s/^+/a/" >current &&
fill d2 aT d7 aS >expect &&
test_cmp expect current &&
@@ -157,7 +160,7 @@ test_expect_success 'checkout -m with merge conflict' '
'
test_expect_success 'format of merge conflict from checkout -m' '
- git checkout -f master &&
+ git checkout -f main &&
git clean -f &&
fill b d >two &&
@@ -181,7 +184,7 @@ test_expect_success 'format of merge conflict from checkout -m' '
'
test_expect_success 'checkout --merge --conflict=diff3 <branch>' '
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard &&
git clean -f &&
@@ -193,7 +196,7 @@ test_expect_success 'checkout --merge --conflict=diff3 <branch>' '
a
c
e
- ||||||| master
+ ||||||| main
a
b
c
@@ -208,7 +211,7 @@ test_expect_success 'checkout --merge --conflict=diff3 <branch>' '
'
test_expect_success 'switch to another branch while carrying a deletion' '
- git checkout -f master &&
+ git checkout -f main &&
git reset --hard &&
git clean -f &&
git rm two &&
@@ -229,7 +232,7 @@ test_expect_success 'checkout to detach HEAD (with advice declined)' '
test_i18ngrep "HEAD is now at $rev" messages &&
test_line_count = 1 messages &&
H=$(git rev-parse --verify HEAD) &&
- M=$(git show-ref -s --verify refs/heads/master) &&
+ M=$(git show-ref -s --verify refs/heads/main) &&
test "z$H" = "z$M" &&
if git symbolic-ref HEAD >/dev/null 2>&1
then
@@ -249,7 +252,7 @@ test_expect_success 'checkout to detach HEAD' '
grep "HEAD is now at $rev" messages &&
test_line_count -gt 1 messages &&
H=$(git rev-parse --verify HEAD) &&
- M=$(git show-ref -s --verify refs/heads/master) &&
+ M=$(git show-ref -s --verify refs/heads/main) &&
test "z$H" = "z$M" &&
if git symbolic-ref HEAD >/dev/null 2>&1
then
@@ -261,11 +264,11 @@ test_expect_success 'checkout to detach HEAD' '
'
test_expect_success 'checkout to detach HEAD with branchname^' '
- git checkout -f master &&
+ git checkout -f main &&
git clean -f &&
git checkout renamer^ &&
H=$(git rev-parse --verify HEAD) &&
- M=$(git show-ref -s --verify refs/heads/master) &&
+ M=$(git show-ref -s --verify refs/heads/main) &&
test "z$H" = "z$M" &&
if git symbolic-ref HEAD >/dev/null 2>&1
then
@@ -277,11 +280,11 @@ test_expect_success 'checkout to detach HEAD with branchname^' '
'
test_expect_success 'checkout to detach HEAD with :/message' '
- git checkout -f master &&
+ git checkout -f main &&
git clean -f &&
git checkout ":/Initial" &&
H=$(git rev-parse --verify HEAD) &&
- M=$(git show-ref -s --verify refs/heads/master) &&
+ M=$(git show-ref -s --verify refs/heads/main) &&
test "z$H" = "z$M" &&
if git symbolic-ref HEAD >/dev/null 2>&1
then
@@ -293,11 +296,11 @@ test_expect_success 'checkout to detach HEAD with :/message' '
'
test_expect_success 'checkout to detach HEAD with HEAD^0' '
- git checkout -f master &&
+ git checkout -f main &&
git clean -f &&
git checkout HEAD^0 &&
H=$(git rev-parse --verify HEAD) &&
- M=$(git show-ref -s --verify refs/heads/master) &&
+ M=$(git show-ref -s --verify refs/heads/main) &&
test "z$H" = "z$M" &&
if git symbolic-ref HEAD >/dev/null 2>&1
then
@@ -310,13 +313,13 @@ test_expect_success 'checkout to detach HEAD with HEAD^0' '
test_expect_success 'checkout with ambiguous tag/branch names' '
git tag both side &&
- git branch both master &&
+ git branch both main &&
git reset --hard &&
- git checkout master &&
+ git checkout main &&
git checkout both &&
H=$(git rev-parse --verify HEAD) &&
- M=$(git show-ref -s --verify refs/heads/master) &&
+ M=$(git show-ref -s --verify refs/heads/main) &&
test "z$H" = "z$M" &&
name=$(git symbolic-ref HEAD 2>/dev/null) &&
test "z$name" = zrefs/heads/both
@@ -324,12 +327,12 @@ test_expect_success 'checkout with ambiguous tag/branch names' '
test_expect_success 'checkout with ambiguous tag/branch names' '
git reset --hard &&
- git checkout master &&
+ git checkout main &&
git tag frotz side &&
- git branch frotz master &&
+ git branch frotz main &&
git reset --hard &&
- git checkout master &&
+ git checkout main &&
git checkout tags/frotz &&
H=$(git rev-parse --verify HEAD) &&
@@ -346,7 +349,7 @@ test_expect_success 'checkout with ambiguous tag/branch names' '
test_expect_success 'switch branches while in subdirectory' '
git reset --hard &&
- git checkout master &&
+ git checkout main &&
mkdir subs &&
git -C subs checkout side &&
@@ -362,7 +365,7 @@ test_expect_success 'checkout specific path while in subdirectory' '
git add subs/bero &&
git commit -m "add subs/bero" &&
- git checkout master &&
+ git checkout main &&
mkdir -p subs &&
git -C subs checkout side -- bero &&
test -f subs/bero
@@ -370,7 +373,7 @@ test_expect_success 'checkout specific path while in subdirectory' '
test_expect_success 'checkout w/--track sets up tracking' '
git config branch.autosetupmerge false &&
- git checkout master &&
+ git checkout main &&
git checkout --track -b track1 &&
test "$(git config branch.track1.remote)" &&
test "$(git config branch.track1.merge)"
@@ -379,40 +382,40 @@ test_expect_success 'checkout w/--track sets up tracking' '
test_expect_success 'checkout w/autosetupmerge=always sets up tracking' '
test_when_finished git config branch.autosetupmerge false &&
git config branch.autosetupmerge always &&
- git checkout master &&
+ git checkout main &&
git checkout -b track2 &&
test "$(git config branch.track2.remote)" &&
test "$(git config branch.track2.merge)"
'
test_expect_success 'checkout w/--track from non-branch HEAD fails' '
- git checkout master^0 &&
+ git checkout main^0 &&
test_must_fail git symbolic-ref HEAD &&
test_must_fail git checkout --track -b track &&
test_must_fail git rev-parse --verify track &&
test_must_fail git symbolic-ref HEAD &&
- test "z$(git rev-parse master^0)" = "z$(git rev-parse HEAD)"
+ test "z$(git rev-parse main^0)" = "z$(git rev-parse HEAD)"
'
test_expect_success 'checkout w/--track from tag fails' '
- git checkout master^0 &&
+ git checkout main^0 &&
test_must_fail git symbolic-ref HEAD &&
test_must_fail git checkout --track -b track frotz &&
test_must_fail git rev-parse --verify track &&
test_must_fail git symbolic-ref HEAD &&
- test "z$(git rev-parse master^0)" = "z$(git rev-parse HEAD)"
+ test "z$(git rev-parse main^0)" = "z$(git rev-parse HEAD)"
'
test_expect_success 'detach a symbolic link HEAD' '
- git checkout master &&
+ git checkout main &&
git config --bool core.prefersymlinkrefs yes &&
git checkout side &&
- git checkout master &&
+ git checkout main &&
it=$(git symbolic-ref HEAD) &&
- test "z$it" = zrefs/heads/master &&
- here=$(git rev-parse --verify refs/heads/master) &&
+ test "z$it" = zrefs/heads/main &&
+ here=$(git rev-parse --verify refs/heads/main) &&
git checkout side^ &&
- test "z$(git rev-parse --verify refs/heads/master)" = "z$here"
+ test "z$(git rev-parse --verify refs/heads/main)" = "z$here"
'
test_expect_success 'checkout with --track fakes a sensible -b <name>' '
@@ -423,13 +426,13 @@ test_expect_success 'checkout with --track fakes a sensible -b <name>' '
test "refs/heads/koala/bear" = "$(git symbolic-ref HEAD)" &&
test "$(git rev-parse HEAD)" = "$(git rev-parse renamer)" &&
- git checkout master && git branch -D koala/bear &&
+ git checkout main && git branch -D koala/bear &&
git checkout --track refs/remotes/origin/koala/bear &&
test "refs/heads/koala/bear" = "$(git symbolic-ref HEAD)" &&
test "$(git rev-parse HEAD)" = "$(git rev-parse renamer)" &&
- git checkout master && git branch -D koala/bear &&
+ git checkout main && git branch -D koala/bear &&
git checkout --track remotes/origin/koala/bear &&
test "refs/heads/koala/bear" = "$(git symbolic-ref HEAD)" &&
@@ -582,17 +585,17 @@ test_expect_success 'checkout --conflict=diff3' '
'
test_expect_success 'failing checkout -b should not break working tree' '
- git reset --hard master &&
- git symbolic-ref HEAD refs/heads/master &&
+ git reset --hard main &&
+ git symbolic-ref HEAD refs/heads/main &&
test_must_fail git checkout -b renamer side^ &&
- test $(git symbolic-ref HEAD) = refs/heads/master &&
+ test $(git symbolic-ref HEAD) = refs/heads/main &&
git diff --exit-code &&
git diff --cached --exit-code
'
test_expect_success 'switch out of non-branch' '
- git reset --hard master &&
- git checkout master^0 &&
+ git reset --hard main &&
+ git checkout main^0 &&
echo modified >one &&
test_must_fail git checkout renamer 2>error.log &&
! grep "^Previous HEAD" error.log
diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
index fec7e0299d..d44f696293 100755
--- a/t/t7400-submodule-basic.sh
+++ b/t/t7400-submodule-basic.sh
@@ -9,6 +9,9 @@ This test tries to verify basic sanity of the init, update and status
subcommands of git submodule.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'submodule deinit works on empty repository' '
@@ -124,7 +127,7 @@ inspect() {
}
test_expect_success 'submodule add' '
- echo "refs/heads/master" >expect &&
+ echo "refs/heads/main" >expect &&
(
cd addtest &&
@@ -223,7 +226,7 @@ test_expect_success 'submodule add --branch' '
echo "refs/heads/initial" >expect-head &&
cat <<-\EOF >expect-heads &&
refs/heads/initial
- refs/heads/master
+ refs/heads/main
EOF
(
@@ -241,7 +244,7 @@ test_expect_success 'submodule add --branch' '
'
test_expect_success 'submodule add with ./ in path' '
- echo "refs/heads/master" >expect &&
+ echo "refs/heads/main" >expect &&
(
cd addtest &&
@@ -257,7 +260,7 @@ test_expect_success 'submodule add with ./ in path' '
'
test_expect_success 'submodule add with /././ in path' '
- echo "refs/heads/master" >expect &&
+ echo "refs/heads/main" >expect &&
(
cd addtest &&
@@ -273,7 +276,7 @@ test_expect_success 'submodule add with /././ in path' '
'
test_expect_success 'submodule add with // in path' '
- echo "refs/heads/master" >expect &&
+ echo "refs/heads/main" >expect &&
(
cd addtest &&
@@ -289,7 +292,7 @@ test_expect_success 'submodule add with // in path' '
'
test_expect_success 'submodule add with /.. in path' '
- echo "refs/heads/master" >expect &&
+ echo "refs/heads/main" >expect &&
(
cd addtest &&
@@ -305,7 +308,7 @@ test_expect_success 'submodule add with /.. in path' '
'
test_expect_success 'submodule add with ./, /.. and // in path' '
- echo "refs/heads/master" >expect &&
+ echo "refs/heads/main" >expect &&
(
cd addtest &&
@@ -335,7 +338,7 @@ test_expect_success !CYGWIN 'submodule add with \\ in path' '
'
test_expect_success 'submodule add in subdirectory' '
- echo "refs/heads/master" >expect &&
+ echo "refs/heads/main" >expect &&
mkdir addtest/sub &&
(
@@ -557,7 +560,7 @@ test_expect_success 'status should be "up-to-date" after update' '
test_expect_success 'checkout superproject with subproject already present' '
git checkout initial &&
- git checkout master
+ git checkout main
'
test_expect_success 'apply submodule diff' '
@@ -574,7 +577,7 @@ test_expect_success 'apply submodule diff' '
git checkout second &&
git apply --index P.diff &&
- git diff --cached master >staged &&
+ git diff --cached main >staged &&
test_must_be_empty staged
'
diff --git a/t/t7403-submodule-sync.sh b/t/t7403-submodule-sync.sh
index 0726799e74..7d2ac3322b 100755
--- a/t/t7403-submodule-sync.sh
+++ b/t/t7403-submodule-sync.sh
@@ -8,6 +8,9 @@ test_description='git submodule sync
These tests exercise the "git submodule sync" subcommand.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success setup '
@@ -78,7 +81,7 @@ test_expect_success 'change submodule url' '
(
cd super &&
cd submodule &&
- git checkout master &&
+ git checkout main &&
git pull
) &&
mv submodule moved-submodule &&
@@ -112,7 +115,7 @@ test_expect_success '"git submodule sync" should update submodule URLs' '
)" &&
(
cd super-clone/submodule &&
- git checkout master &&
+ git checkout main &&
git pull
) &&
(
@@ -140,7 +143,7 @@ test_expect_success '"git submodule sync --recursive" should update all submodul
)" &&
(
cd super-clone/submodule/sub-submodule &&
- git checkout master &&
+ git checkout main &&
git pull
)
'
@@ -168,7 +171,7 @@ test_expect_success '"git submodule sync" should update submodule URLs - subdire
)" &&
(
cd super-clone/submodule &&
- git checkout master &&
+ git checkout main &&
git pull
) &&
(
@@ -199,7 +202,7 @@ test_expect_success '"git submodule sync --recursive" should update all submodul
)" &&
(
cd super-clone/submodule/sub-submodule &&
- git checkout master &&
+ git checkout main &&
git pull
)
'
diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh
index acb8766ac2..b9c1624fba 100755
--- a/t/t7406-submodule-update.sh
+++ b/t/t7406-submodule-update.sh
@@ -9,15 +9,18 @@ This test verifies that "git submodule update" detaches the HEAD of the
submodule and "git submodule update --rebase/--merge" does not detach the HEAD.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
compare_head()
{
- sha_master=$(git rev-list --max-count=1 master)
+ sha_main=$(git rev-list --max-count=1 main)
sha_head=$(git rev-list --max-count=1 HEAD)
- test "$sha_master" = "$sha_head"
+ test "$sha_main" = "$sha_head"
}
@@ -262,14 +265,14 @@ test_expect_success 'submodule update --remote should fetch upstream changes wit
cd super &&
git submodule update --remote --force submodule &&
git -C submodule log -1 --oneline >actual &&
- git -C ../submodule log -1 --oneline master >expect &&
+ git -C ../submodule log -1 --oneline main >expect &&
test_cmp expect actual &&
git checkout -b test-branch &&
git submodule update --remote --force submodule &&
git -C submodule log -1 --oneline >actual &&
git -C ../submodule log -1 --oneline test-branch >expect &&
test_cmp expect actual &&
- git checkout master &&
+ git checkout main &&
git branch -d test-branch &&
git reset --hard HEAD^
)
@@ -282,7 +285,7 @@ test_expect_success 'local config should override .gitmodules branch' '
git add file &&
test_tick &&
git commit -m "upstream line5" &&
- git checkout master
+ git checkout main
) &&
(cd super &&
git config submodule.submodule.branch test-branch &&
@@ -292,9 +295,9 @@ test_expect_success 'local config should override .gitmodules branch' '
)
'
-test_expect_success 'submodule update --rebase staying on master' '
+test_expect_success 'submodule update --rebase staying on main' '
(cd super/submodule &&
- git checkout master
+ git checkout main
) &&
(cd super &&
(cd submodule &&
@@ -306,7 +309,7 @@ test_expect_success 'submodule update --rebase staying on master' '
)
'
-test_expect_success 'submodule update --merge staying on master' '
+test_expect_success 'submodule update --merge staying on main' '
(cd super/submodule &&
git reset --hard HEAD~1
) &&
@@ -609,7 +612,7 @@ test_expect_success 'submodule update - update=none in .git/config' '
(cd super &&
git config submodule.submodule.update none &&
(cd submodule &&
- git checkout master &&
+ git checkout main &&
compare_head
) &&
git diff --name-only >out &&
@@ -629,7 +632,7 @@ test_expect_success 'submodule update - update=none in .git/config but --checkou
(cd super &&
git config submodule.submodule.update none &&
(cd submodule &&
- git checkout master &&
+ git checkout main &&
compare_head
) &&
git diff --name-only >out &&
@@ -689,7 +692,7 @@ test_expect_success 'submodule update continues after checkout error' '
test_expect_success 'submodule update continues after recursive checkout error' '
(cd super &&
git reset --hard HEAD &&
- git checkout master &&
+ git checkout main &&
git submodule update &&
(cd submodule &&
git submodule add ../submodule subsubmodule &&
@@ -733,7 +736,7 @@ test_expect_success 'submodule update continues after recursive checkout error'
test_expect_success 'submodule update exit immediately in case of merge conflict' '
(cd super &&
- git checkout master &&
+ git checkout main &&
git reset --hard HEAD &&
(cd submodule &&
(cd subsubmodule &&
@@ -751,7 +754,7 @@ test_expect_success 'submodule update exit immediately in case of merge conflict
git add submodule2 &&
git commit -m "two_new_submodule_commits" &&
(cd submodule &&
- git checkout master &&
+ git checkout main &&
test_commit "conflict" file &&
echo "conflict" > file
) &&
@@ -770,7 +773,7 @@ test_expect_success 'submodule update exit immediately in case of merge conflict
test_expect_success 'submodule update exit immediately after recursive rebase error' '
(cd super &&
- git checkout master &&
+ git checkout main &&
git reset --hard HEAD &&
(cd submodule &&
git reset --hard HEAD &&
@@ -786,7 +789,7 @@ test_expect_success 'submodule update exit immediately after recursive rebase er
git add submodule2 &&
git commit -m "two_new_submodule_commits" &&
(cd submodule &&
- git checkout master &&
+ git checkout main &&
test_commit "conflict2" file &&
echo "conflict" > file
) &&
@@ -878,21 +881,21 @@ test_expect_success 'submodule update places git-dir in superprojects git-dir re
git clone subsubsuper_update_r subsubsuper_update_r2 &&
(cd subsubsuper_update_r2 &&
test_commit "update_subsubsuper" file &&
- git push origin master
+ git push origin main
) &&
git clone subsuper_update_r subsuper_update_r2 &&
(cd subsuper_update_r2 &&
test_commit "update_subsuper" file &&
git submodule add ../subsubsuper_update_r subsubmodule &&
git commit -am "subsubmodule" &&
- git push origin master
+ git push origin main
) &&
git clone super_update_r super_update_r2 &&
(cd super_update_r2 &&
test_commit "update_super" file &&
git submodule add ../subsuper_update_r submodule &&
git commit -am "submodule" &&
- git push origin master
+ git push origin main
) &&
rm -rf super_update_r2 &&
git clone super_update_r super_update_r2 &&
@@ -911,7 +914,7 @@ test_expect_success 'submodule update places git-dir in superprojects git-dir re
test_expect_success 'submodule add properly re-creates deeper level submodules' '
(cd super &&
- git reset --hard master &&
+ git reset --hard main &&
rm -rf deeper/ &&
git submodule add --force ../submodule deeper/submodule
)
diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh
index 6b2aa917e1..79981b51eb 100755
--- a/t/t7407-submodule-foreach.sh
+++ b/t/t7407-submodule-foreach.sh
@@ -9,6 +9,9 @@ This test verifies that "git submodule foreach" correctly visits all submodules
that are currently checked out.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
@@ -277,13 +280,13 @@ sub1sha1_short=$(cd clone3/sub1 && git rev-parse --short HEAD)
sub2sha1_short=$(cd clone3/sub2 && git rev-parse --short HEAD)
cat > expect <<EOF
- $nested1sha1 nested1 (heads/master)
- $nested2sha1 nested1/nested2 (heads/master)
- $nested3sha1 nested1/nested2/nested3 (heads/master)
- $submodulesha1 nested1/nested2/nested3/submodule (heads/master)
+ $nested1sha1 nested1 (heads/main)
+ $nested2sha1 nested1/nested2 (heads/main)
+ $nested3sha1 nested1/nested2/nested3 (heads/main)
+ $submodulesha1 nested1/nested2/nested3/submodule (heads/main)
$sub1sha1 sub1 ($sub1sha1_short)
$sub2sha1 sub2 ($sub2sha1_short)
- $sub3sha1 sub3 (heads/master)
+ $sub3sha1 sub3 (heads/main)
EOF
test_expect_success 'test "status --recursive"' '
@@ -295,10 +298,10 @@ test_expect_success 'test "status --recursive"' '
'
cat > expect <<EOF
- $nested1sha1 nested1 (heads/master)
+ $nested1sha1 nested1 (heads/main)
+$nested2sha1 nested1/nested2 (file2~1)
- $nested3sha1 nested1/nested2/nested3 (heads/master)
- $submodulesha1 nested1/nested2/nested3/submodule (heads/master)
+ $nested3sha1 nested1/nested2/nested3 (heads/main)
+ $submodulesha1 nested1/nested2/nested3/submodule (heads/main)
EOF
test_expect_success 'ensure "status --cached --recursive" preserves the --cached flag' '
@@ -316,13 +319,13 @@ test_expect_success 'ensure "status --cached --recursive" preserves the --cached
nested2sha1=$(git -C clone3/nested1/nested2 rev-parse HEAD)
cat > expect <<EOF
- $nested1sha1 ../nested1 (heads/master)
+ $nested1sha1 ../nested1 (heads/main)
+$nested2sha1 ../nested1/nested2 (file2)
- $nested3sha1 ../nested1/nested2/nested3 (heads/master)
- $submodulesha1 ../nested1/nested2/nested3/submodule (heads/master)
+ $nested3sha1 ../nested1/nested2/nested3 (heads/main)
+ $submodulesha1 ../nested1/nested2/nested3/submodule (heads/main)
$sub1sha1 ../sub1 ($sub1sha1_short)
$sub2sha1 ../sub2 ($sub2sha1_short)
- $sub3sha1 ../sub3 (heads/master)
+ $sub3sha1 ../sub3 (heads/main)
EOF
test_expect_success 'test "status --recursive" from sub directory' '
diff --git a/t/t7409-submodule-detached-work-tree.sh b/t/t7409-submodule-detached-work-tree.sh
index fc018e3638..e17ac81a89 100755
--- a/t/t7409-submodule-detached-work-tree.sh
+++ b/t/t7409-submodule-detached-work-tree.sh
@@ -10,6 +10,9 @@ on detached working trees
'
TEST_NO_CREATE_REPO=1
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'submodule on detached working tree' '
@@ -35,7 +38,7 @@ test_expect_success 'submodule on detached working tree' '
git rev-parse --verify HEAD >actual &&
test_cmp ../../../../expect actual
) &&
- git push origin master
+ git push origin main
) &&
mkdir home2 &&
(
@@ -44,7 +47,7 @@ test_expect_success 'submodule on detached working tree' '
GIT_WORK_TREE="$(pwd)" &&
GIT_DIR="$(pwd)/.dotfiles" &&
export GIT_WORK_TREE GIT_DIR &&
- git checkout master &&
+ git checkout main &&
git submodule update --init &&
(
unset GIT_WORK_TREE GIT_DIR &&
@@ -64,10 +67,10 @@ test_expect_success 'submodule on detached working pointed by core.worktree' '
git clone --bare ../remote "$GIT_DIR" &&
git config core.bare false &&
git config core.worktree .. &&
- git checkout master &&
+ git checkout main &&
git submodule add ../bundle1 .vim/bundle/dupe &&
test_commit "dupe" &&
- git push origin master
+ git push origin main
) &&
(
cd home &&
diff --git a/t/t7416-submodule-dash-url.sh b/t/t7416-submodule-dash-url.sh
index eec96e0ba9..d21dc8b009 100755
--- a/t/t7416-submodule-dash-url.sh
+++ b/t/t7416-submodule-dash-url.sh
@@ -201,4 +201,19 @@ test_expect_success 'fsck rejects embedded newline in relative url' '
grep gitmodulesUrl err
'
+test_expect_success 'fsck rejects embedded newline in git url' '
+ git checkout --orphan git-newline &&
+ cat >.gitmodules <<-\EOF &&
+ [submodule "foo"]
+ url = "git://example.com:1234/repo%0a.git"
+ EOF
+ git add .gitmodules &&
+ git commit -m "git url with newline" &&
+ test_when_finished "rm -rf dst" &&
+ git init --bare dst &&
+ git -C dst config transfer.fsckObjects true &&
+ test_must_fail git push dst HEAD 2>err &&
+ grep gitmodulesUrl err
+'
+
test_done
diff --git a/t/t7417-submodule-path-url.sh b/t/t7417-submodule-path-url.sh
index f7e7e94d7b..f0f6b9fa9e 100755
--- a/t/t7417-submodule-path-url.sh
+++ b/t/t7417-submodule-path-url.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='check handling of .gitmodule path with dash'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'create submodule with dash in path' '
@@ -36,7 +39,7 @@ test_expect_success MINGW 'submodule paths disallows trailing spaces' '
sed "s/sub/sub /" <tree >tree.new &&
tree=$(git -C super mktree <tree.new) &&
commit=$(echo with space | git -C super commit-tree $tree) &&
- git -C super update-ref refs/heads/master $commit &&
+ git -C super update-ref refs/heads/main $commit &&
test_must_fail git clone --recurse-submodules super dst 2>err &&
test_i18ngrep "sub " err
diff --git a/t/t7501-commit-basic-functionality.sh b/t/t7501-commit-basic-functionality.sh
index 110b4bf459..0f936182e4 100755
--- a/t/t7501-commit-basic-functionality.sh
+++ b/t/t7501-commit-basic-functionality.sh
@@ -7,6 +7,9 @@
# signoff
test_description='git commit'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY/diff-lib.sh"
@@ -603,7 +606,7 @@ test_expect_success 'same tree (merge and amend merge)' '
echo zero >zero &&
git add zero &&
git commit -m "add zero" &&
- git checkout master &&
+ git checkout main &&
git merge -s ours side -m "empty ok" &&
git diff HEAD^ HEAD >actual &&
diff --git a/t/t7502-commit-porcelain.sh b/t/t7502-commit-porcelain.sh
index 14c92e4c25..e5332adc9a 100755
--- a/t/t7502-commit-porcelain.sh
+++ b/t/t7502-commit-porcelain.sh
@@ -2,6 +2,9 @@
test_description='git commit porcelain-ish'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
commit_msg_is () {
@@ -76,7 +79,7 @@ test_expect_success 'output summary format for merges' '
output_tests_cleanup() {
# this is needed for "do not fire editor in the presence of conflicts"
- git checkout master &&
+ git checkout main &&
# this is needed for the "partial removal" test to pass
git rm file1 &&
@@ -440,7 +443,7 @@ test_expect_success 'do not fire editor in the presence of conflicts' '
git add g &&
git commit -m "add g" &&
git branch second &&
- echo master >g &&
+ echo main >g &&
echo g >h &&
git add g h &&
git commit -m "modify g and add h" &&
@@ -449,7 +452,7 @@ test_expect_success 'do not fire editor in the presence of conflicts' '
git add g &&
git commit -m second &&
# Must fail due to conflict
- test_must_fail git cherry-pick -n master &&
+ test_must_fail git cherry-pick -n main &&
echo "editor not started" >.git/result &&
(
GIT_EDITOR="\"$(pwd)/.git/FAKE_EDITOR\"" &&
@@ -478,9 +481,9 @@ git reset -q --hard
test_expect_success 'Hand committing of a redundant merge removes dups' '
- git rev-parse second master >expect &&
- test_must_fail git merge second master &&
- git checkout master g &&
+ git rev-parse second main >expect &&
+ test_must_fail git merge second main &&
+ git checkout main g &&
EDITOR=: git commit -a &&
git cat-file commit HEAD >raw &&
sed -n -e "s/^parent //p" -e "/^$/q" raw >actual &&
diff --git a/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh b/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh
index b3485450a2..606d8d0f08 100755
--- a/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh
+++ b/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh
@@ -2,6 +2,9 @@
test_description='pre-commit and pre-merge-commit hooks'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
HOOKDIR="$(git rev-parse --git-dir)/hooks"
@@ -44,16 +47,16 @@ test_expect_success 'root commit' '
git add foo &&
git commit -m "make it non-ff" &&
git branch side-orig side &&
- git checkout master
+ git checkout main
'
test_expect_success 'setup conflicting branches' '
- test_when_finished "git checkout master" &&
- git checkout -b conflicting-a master &&
+ test_when_finished "git checkout main" &&
+ git checkout -b conflicting-a main &&
echo a >conflicting &&
git add conflicting &&
git commit -m conflicting-a &&
- git checkout -b conflicting-b master &&
+ git checkout -b conflicting-b main &&
echo b >conflicting &&
git add conflicting &&
git commit -m conflicting-b
@@ -71,8 +74,8 @@ test_expect_success 'with no hook (merge)' '
test_when_finished "rm -f actual_hooks" &&
git branch -f side side-orig &&
git checkout side &&
- git merge -m "merge master" master &&
- git checkout master &&
+ git merge -m "merge main" main &&
+ git checkout main &&
test_path_is_missing actual_hooks
'
@@ -88,8 +91,8 @@ test_expect_success '--no-verify with no hook (merge)' '
test_when_finished "rm -f actual_hooks" &&
git branch -f side side-orig &&
git checkout side &&
- git merge --no-verify -m "merge master" master &&
- git checkout master &&
+ git merge --no-verify -m "merge main" main &&
+ git checkout main &&
test_path_is_missing actual_hooks
'
@@ -108,15 +111,15 @@ test_expect_success 'with succeeding hook (merge)' '
cp "$HOOKDIR/success.sample" "$PREMERGE" &&
echo "$PREMERGE" >expected_hooks &&
git checkout side &&
- git merge -m "merge master" master &&
- git checkout master &&
+ git merge -m "merge main" main &&
+ git checkout main &&
test_cmp expected_hooks actual_hooks
'
test_expect_success 'automatic merge fails; both hooks are available' '
test_when_finished "rm -f \"$PREMERGE\" \"$PRECOMMIT\"" &&
test_when_finished "rm -f expected_hooks actual_hooks" &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
cp "$HOOKDIR/success.sample" "$PREMERGE" &&
cp "$HOOKDIR/success.sample" "$PRECOMMIT" &&
@@ -145,8 +148,8 @@ test_expect_success '--no-verify with succeeding hook (merge)' '
cp "$HOOKDIR/success.sample" "$PREMERGE" &&
git branch -f side side-orig &&
git checkout side &&
- git merge --no-verify -m "merge master" master &&
- git checkout master &&
+ git merge --no-verify -m "merge main" main &&
+ git checkout main &&
test_path_is_missing actual_hooks
'
@@ -174,8 +177,8 @@ test_expect_success 'with failing hook (merge)' '
cp "$HOOKDIR/fail.sample" "$PREMERGE" &&
echo "$PREMERGE" >expected_hooks &&
git checkout side &&
- test_must_fail git merge -m "merge master" master &&
- git checkout master &&
+ test_must_fail git merge -m "merge main" main &&
+ git checkout main &&
test_cmp expected_hooks actual_hooks
'
@@ -184,8 +187,8 @@ test_expect_success '--no-verify with failing hook (merge)' '
cp "$HOOKDIR/fail.sample" "$PREMERGE" &&
git branch -f side side-orig &&
git checkout side &&
- git merge --no-verify -m "merge master" master &&
- git checkout master &&
+ git merge --no-verify -m "merge main" main &&
+ git checkout main &&
test_path_is_missing actual_hooks
'
@@ -212,8 +215,8 @@ test_expect_success POSIXPERM 'with non-executable hook (merge)' '
cp "$HOOKDIR/non-exec.sample" "$PREMERGE" &&
git branch -f side side-orig &&
git checkout side &&
- git merge -m "merge master" master &&
- git checkout master &&
+ git merge -m "merge main" main &&
+ git checkout main &&
test_path_is_missing actual_hooks
'
@@ -222,8 +225,8 @@ test_expect_success POSIXPERM '--no-verify with non-executable hook (merge)' '
cp "$HOOKDIR/non-exec.sample" "$PREMERGE" &&
git branch -f side side-orig &&
git checkout side &&
- git merge --no-verify -m "merge master" master &&
- git checkout master &&
+ git merge --no-verify -m "merge main" main &&
+ git checkout main &&
test_path_is_missing actual_hooks
'
diff --git a/t/t7504-commit-msg-hook.sh b/t/t7504-commit-msg-hook.sh
index 31b9c6a2c1..4e7592522a 100755
--- a/t/t7504-commit-msg-hook.sh
+++ b/t/t7504-commit-msg-hook.sh
@@ -2,6 +2,9 @@
test_description='commit-msg hook'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'with no hook' '
@@ -142,12 +145,12 @@ test_expect_success '--no-verify with failing hook (editor)' '
test_expect_success 'merge fails with failing hook' '
test_when_finished "git branch -D newbranch" &&
- test_when_finished "git checkout -f master" &&
+ test_when_finished "git checkout -f main" &&
git checkout --orphan newbranch &&
: >file2 &&
git add file2 &&
git commit --no-verify file2 -m in-side-branch &&
- test_must_fail git merge --allow-unrelated-histories master &&
+ test_must_fail git merge --allow-unrelated-histories main &&
commit_msg_is "in-side-branch" # HEAD before merge
'
@@ -155,14 +158,14 @@ test_expect_success 'merge fails with failing hook' '
test_expect_success 'merge bypasses failing hook with --no-verify' '
test_when_finished "git branch -D newbranch" &&
- test_when_finished "git checkout -f master" &&
+ test_when_finished "git checkout -f main" &&
git checkout --orphan newbranch &&
git rm -f file &&
: >file2 &&
git add file2 &&
git commit --no-verify file2 -m in-side-branch &&
- git merge --no-verify --allow-unrelated-histories master &&
- commit_msg_is "Merge branch '\''master'\'' into newbranch"
+ git merge --no-verify --allow-unrelated-histories main &&
+ commit_msg_is "Merge branch '\''main'\'' into newbranch"
'
@@ -248,28 +251,28 @@ test_expect_success "hook doesn't edit commit message (editor)" '
test_expect_success 'hook called in git-merge picks up commit message' '
test_when_finished "git branch -D newbranch" &&
- test_when_finished "git checkout -f master" &&
+ test_when_finished "git checkout -f main" &&
git checkout --orphan newbranch &&
git rm -f file &&
: >file2 &&
git add file2 &&
git commit --no-verify file2 -m in-side-branch &&
- git merge --allow-unrelated-histories master &&
+ git merge --allow-unrelated-histories main &&
commit_msg_is "new message"
'
test_expect_failure 'merge --continue remembers --no-verify' '
test_when_finished "git branch -D newbranch" &&
- test_when_finished "git checkout -f master" &&
- git checkout master &&
+ test_when_finished "git checkout -f main" &&
+ git checkout main &&
echo a >file2 &&
git add file2 &&
- git commit --no-verify -m "add file2 to master" &&
- git checkout -b newbranch master^ &&
+ git commit --no-verify -m "add file2 to main" &&
+ git checkout -b newbranch main^ &&
echo b >file2 &&
git add file2 &&
git commit --no-verify file2 -m in-side-branch &&
- git merge --no-verify -m not-rewritten-by-hook master &&
+ git merge --no-verify -m not-rewritten-by-hook main &&
# resolve conflict:
echo c >file2 &&
git add file2 &&
diff --git a/t/t7505-prepare-commit-msg-hook.sh b/t/t7505-prepare-commit-msg-hook.sh
index 94f85cdf83..321b4bc0fc 100755
--- a/t/t7505-prepare-commit-msg-hook.sh
+++ b/t/t7505-prepare-commit-msg-hook.sh
@@ -2,6 +2,9 @@
test_description='prepare-commit-msg hook'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'set up commits for rebasing' '
@@ -15,7 +18,7 @@ test_expect_success 'set up commits for rebasing' '
do
test_commit rebase-$i c $i
done &&
- git checkout master &&
+ git checkout main &&
cat >rebase-todo <<-EOF
pick $(git rev-parse rebase-a)
@@ -190,7 +193,7 @@ test_expect_success 'with hook (-c)' '
test_expect_success 'with hook (merge)' '
- test_when_finished "git checkout -f master" &&
+ test_when_finished "git checkout -f main" &&
git checkout -B other HEAD@{1} &&
echo "more" >>file &&
git add file &&
@@ -202,7 +205,7 @@ test_expect_success 'with hook (merge)' '
test_expect_success 'with hook and editor (merge)' '
- test_when_finished "git checkout -f master" &&
+ test_when_finished "git checkout -f main" &&
git checkout -B other HEAD@{1} &&
echo "more" >>file &&
git add file &&
@@ -218,7 +221,7 @@ test_rebase () {
test_expect_$expect C_LOCALE_OUTPUT "with hook (rebase ${mode:--i})" '
test_when_finished "\
git rebase --abort
- git checkout -f master
+ git checkout -f main
git branch -D tmp" &&
git checkout -b tmp rebase-me &&
GIT_SEQUENCE_EDITOR="cp rebase-todo" &&
@@ -250,14 +253,14 @@ test_rebase success
test_have_prereq !REBASE_P || test_rebase success -p
test_expect_success 'with hook (cherry-pick)' '
- test_when_finished "git checkout -f master" &&
+ test_when_finished "git checkout -f main" &&
git checkout -B other b &&
git cherry-pick rebase-1 &&
test "$(git log -1 --pretty=format:%s)" = "message (no editor)"
'
test_expect_success 'with hook and editor (cherry-pick)' '
- test_when_finished "git checkout -f master" &&
+ test_when_finished "git checkout -f main" &&
git checkout -B other b &&
git cherry-pick -e rebase-1 &&
test "$(git log -1 --pretty=format:%s)" = merge
@@ -270,7 +273,7 @@ EOF
test_expect_success 'with failing hook' '
- test_when_finished "git checkout -f master" &&
+ test_when_finished "git checkout -f main" &&
head=$(git rev-parse HEAD) &&
echo "more" >> file &&
git add file &&
@@ -280,7 +283,7 @@ test_expect_success 'with failing hook' '
test_expect_success 'with failing hook (--no-verify)' '
- test_when_finished "git checkout -f master" &&
+ test_when_finished "git checkout -f main" &&
head=$(git rev-parse HEAD) &&
echo "more" >> file &&
git add file &&
@@ -290,7 +293,7 @@ test_expect_success 'with failing hook (--no-verify)' '
test_expect_success 'with failing hook (merge)' '
- test_when_finished "git checkout -f master" &&
+ test_when_finished "git checkout -f main" &&
git checkout -B other HEAD@{1} &&
echo "more" >> file &&
git add file &&
@@ -305,7 +308,7 @@ test_expect_success 'with failing hook (merge)' '
'
test_expect_success C_LOCALE_OUTPUT 'with failing hook (cherry-pick)' '
- test_when_finished "git checkout -f master" &&
+ test_when_finished "git checkout -f main" &&
git checkout -B other b &&
test_must_fail git cherry-pick rebase-1 2>actual &&
test $(grep -c prepare-commit-msg actual) = 1
diff --git a/t/t7508-status.sh b/t/t7508-status.sh
index 963fed6821..d01aacb66b 100755
--- a/t/t7508-status.sh
+++ b/t/t7508-status.sh
@@ -37,11 +37,11 @@ test_expect_success 'create upstream branch' '
git checkout -b upstream &&
test_commit upstream1 &&
test_commit upstream2 &&
- # leave the first commit on master as root because several
+ # leave the first commit on main as root because several
# tests depend on this case; for our upstream we only
# care about commit counts anyway, so a totally divergent
# history is OK
- git checkout --orphan master
+ git checkout --orphan main
'
test_expect_success 'setup' '
@@ -88,7 +88,7 @@ EOF
test_expect_success 'status --column' '
cat >expect <<\EOF &&
-# On branch master
+# On branch main
# Your branch and '\''upstream'\'' have diverged,
# and have 1 and 2 different commits each, respectively.
# (use "git pull" to merge the remote branch into yours)
@@ -119,7 +119,7 @@ test_expect_success 'status --column status.displayCommentPrefix=false' '
'
cat >expect <<\EOF
-# On branch master
+# On branch main
# Your branch and 'upstream' have diverged,
# and have 1 and 2 different commits each, respectively.
# (use "git pull" to merge the remote branch into yours)
@@ -193,7 +193,7 @@ test_expect_success 'commit ignores status.displayCommentPrefix=false in COMMIT_
'
cat >expect <<\EOF
-On branch master
+On branch main
Your branch and 'upstream' have diverged,
and have 1 and 2 different commits each, respectively.
@@ -266,7 +266,7 @@ test_expect_success 'status with gitignore' '
test_cmp expect output &&
cat >expect <<\EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 1 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -331,7 +331,7 @@ test_expect_success 'status with gitignore (nothing untracked)' '
test_cmp expect output &&
cat >expect <<\EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 1 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -368,7 +368,7 @@ output*
EOF
cat >expect <<\EOF
-## master...upstream [ahead 1, behind 2]
+## main...upstream [ahead 1, behind 2]
M dir1/modified
A dir2/added
?? dir1/untracked
@@ -401,7 +401,7 @@ test_expect_success 'setup dir3' '
test_expect_success 'status -uno' '
cat >expect <<EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 1 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -429,7 +429,7 @@ test_expect_success 'status (status.showUntrackedFiles no)' '
test_expect_success 'status -uno (advice.statusHints false)' '
cat >expect <<EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 1 and 2 different commits each, respectively.
@@ -463,7 +463,7 @@ test_expect_success 'status -s (status.showUntrackedFiles no)' '
test_expect_success 'status -unormal' '
cat >expect <<EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 1 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -518,7 +518,7 @@ test_expect_success 'status -s (status.showUntrackedFiles normal)' '
test_expect_success 'status -uall' '
cat >expect <<EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 1 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -578,7 +578,7 @@ test_expect_success 'status -s (status.showUntrackedFiles all)' '
test_expect_success 'status with relative paths' '
cat >expect <<\EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 1 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -646,7 +646,7 @@ test_expect_success 'setup unique colors' '
test_expect_success TTY 'status with color.ui' '
cat >expect <<\EOF &&
-On branch <GREEN>master<RESET>
+On branch <GREEN>main<RESET>
Your branch and '\''upstream'\'' have diverged,
and have 1 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -706,7 +706,7 @@ test_expect_success TTY 'status -s with color.status' '
'
cat >expect <<\EOF
-## <YELLOW>master<RESET>...<CYAN>upstream<RESET> [ahead <YELLOW>1<RESET>, behind <CYAN>2<RESET>]
+## <YELLOW>main<RESET>...<CYAN>upstream<RESET> [ahead <YELLOW>1<RESET>, behind <CYAN>2<RESET>]
<RED>M<RESET> dir1/modified
<GREEN>A<RESET> dir2/added
<BLUE>??<RESET> dir1/untracked
@@ -757,7 +757,7 @@ test_expect_success 'status --porcelain respects -b' '
git status --porcelain -b >output &&
{
- echo "## master...upstream [ahead 1, behind 2]" &&
+ echo "## main...upstream [ahead 1, behind 2]" &&
cat expect
} >tmp &&
mv tmp expect &&
@@ -769,7 +769,7 @@ test_expect_success 'status --porcelain respects -b' '
test_expect_success 'status without relative paths' '
cat >expect <<\EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 1 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -843,7 +843,7 @@ test_expect_success 'status -s without relative paths' '
test_expect_success 'dry-run of partial commit excluding new file in index' '
cat >expect <<EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 1 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -897,7 +897,7 @@ test_expect_success 'setup status submodule summary' '
test_expect_success 'status submodule summary is disabled by default' '
cat >expect <<EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 1 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -954,7 +954,7 @@ head=$(cd sm && git rev-parse --short=7 --verify HEAD)
test_expect_success 'status submodule summary' '
cat >expect <<EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 1 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -1013,7 +1013,7 @@ test_expect_success 'status -s submodule summary' '
test_expect_success 'status submodule summary (clean submodule): commit' '
cat >expect <<EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 2 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -1061,7 +1061,7 @@ test_expect_success 'status -z implies porcelain' '
test_expect_success 'commit --dry-run submodule summary (--amend)' '
cat >expect <<EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 2 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -1113,7 +1113,7 @@ touch .gitmodules
test_expect_success '--ignore-submodules=untracked suppresses submodules with untracked content' '
cat > expect << EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 2 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -1222,7 +1222,7 @@ test_expect_success '.git/config ignore=dirty suppresses submodules with modifie
test_expect_success "--ignore-submodules=untracked doesn't suppress submodules with modified content" '
cat > expect << EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 2 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -1279,7 +1279,7 @@ head2=$(cd sm && git commit -q -m "2nd commit" foo && git rev-parse --short=7 --
test_expect_success "--ignore-submodules=untracked doesn't suppress submodule summary" '
cat > expect << EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 2 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -1360,7 +1360,7 @@ test_expect_success ".git/config ignore=dirty doesn't suppress submodule summary
'
cat > expect << EOF
-; On branch master
+; On branch main
; Your branch and 'upstream' have diverged,
; and have 2 and 2 different commits each, respectively.
; (use "git pull" to merge the remote branch into yours)
@@ -1408,7 +1408,7 @@ test_expect_success "status (core.commentchar with two chars with submodule summ
test_expect_success "--ignore-submodules=all suppresses submodule summary" '
cat > expect << EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 2 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -1434,7 +1434,7 @@ EOF
test_expect_success '.gitmodules ignore=all suppresses unstaged submodule summary' '
cat > expect << EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 2 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
@@ -1554,7 +1554,7 @@ test_expect_success 'git commit --dry-run will show a staged but ignored submodu
git reset HEAD^ &&
git add sm &&
cat >expect << EOF &&
-On branch master
+On branch main
Your branch and '\''upstream'\'' have diverged,
and have 2 and 2 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
diff --git a/t/t7509-commit-authorship.sh b/t/t7509-commit-authorship.sh
index 500ab2fe72..ee6c47416e 100755
--- a/t/t7509-commit-authorship.sh
+++ b/t/t7509-commit-authorship.sh
@@ -18,11 +18,8 @@ message_body () {
}
test_expect_success '-C option copies authorship and message' '
- echo "Initial" >foo &&
- git add foo &&
- test_tick &&
- git commit -m "Initial Commit" --author Frigate\ \<flying@over.world\> &&
- git tag Initial &&
+ test_commit --author Frigate\ \<flying@over.world\> \
+ "Initial Commit" foo Initial Initial &&
echo "Test 1" >>foo &&
test_tick &&
git commit -a -C Initial &&
diff --git a/t/t7510-signed-commit.sh b/t/t7510-signed-commit.sh
index 6baaa1ad91..f4bf925bdd 100755
--- a/t/t7510-signed-commit.sh
+++ b/t/t7510-signed-commit.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='signed commit tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
GNUPGHOME_NOT_USED=$GNUPGHOME
. "$TEST_DIRECTORY/lib-gpg.sh"
@@ -25,7 +28,7 @@ test_expect_success GPG 'create signed commits' '
echo 3 >elif && git add elif &&
test_tick && git commit -m "third on side" &&
- git checkout master &&
+ git checkout main &&
test_tick && git merge -S side &&
git tag merge &&
diff --git a/t/t7512-status-help.sh b/t/t7512-status-help.sh
index 29518e0949..9f5e3ce793 100755
--- a/t/t7512-status-help.sh
+++ b/t/t7512-status-help.sh
@@ -7,6 +7,9 @@
test_description='git status advice'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-rebase.sh
@@ -17,14 +20,14 @@ test_expect_success 'prepare for conflicts' '
git config --global advice.statusuoption false &&
test_commit init main.txt init &&
git branch conflicts &&
- test_commit on_master main.txt on_master &&
+ test_commit on_main main.txt on_main &&
git checkout conflicts &&
test_commit on_conflicts main.txt on_conflicts
'
test_expect_success 'status when conflicts unresolved' '
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
cat >expected <<\EOF &&
On branch conflicts
You have unmerged paths.
@@ -44,7 +47,7 @@ EOF
test_expect_success 'status when conflicts resolved before commit' '
git reset --hard conflicts &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
echo one >main.txt &&
git add main.txt &&
cat >expected <<\EOF &&
@@ -63,7 +66,7 @@ EOF
test_expect_success 'prepare for rebase conflicts' '
- git reset --hard master &&
+ git reset --hard main &&
git checkout -b rebase_conflicts &&
test_commit one_rebase main.txt one &&
test_commit two_rebase main.txt two &&
@@ -118,11 +121,11 @@ EOF
test_expect_success 'prepare for rebase_i_conflicts' '
- git reset --hard master &&
+ git reset --hard main &&
git checkout -b rebase_i_conflicts &&
test_commit one_unmerge main.txt one_unmerge &&
git branch rebase_i_conflicts_second &&
- test_commit one_master main.txt one_master &&
+ test_commit one_main main.txt one_main &&
git checkout rebase_i_conflicts_second &&
test_commit one_second main.txt one_second
'
@@ -182,7 +185,7 @@ EOF
test_expect_success 'status when rebasing -i in edit mode' '
- git reset --hard master &&
+ git reset --hard main &&
git checkout -b rebase_i_edit &&
test_commit one_rebase_i main.txt one &&
test_commit two_rebase_i main.txt two &&
@@ -212,7 +215,7 @@ EOF
test_expect_success 'status when splitting a commit' '
- git reset --hard master &&
+ git reset --hard main &&
git checkout -b split_commit &&
test_commit one_split main.txt one &&
test_commit two_split main.txt two &&
@@ -251,7 +254,7 @@ EOF
test_expect_success 'status after editing the last commit with --amend during a rebase -i' '
- git reset --hard master &&
+ git reset --hard main &&
git checkout -b amend_last &&
test_commit one_amend main.txt one &&
test_commit two_amend main.txt two &&
@@ -284,7 +287,7 @@ EOF
test_expect_success 'prepare for several edits' '
- git reset --hard master &&
+ git reset --hard main &&
git checkout -b several_edits &&
test_commit one_edits main.txt one &&
test_commit two_edits main.txt two &&
@@ -593,7 +596,7 @@ EOF
test_expect_success 'prepare am_session' '
- git reset --hard master &&
+ git reset --hard main &&
git checkout -b am_session &&
test_commit one_am one.txt "one" &&
test_commit two_am two.txt "two" &&
@@ -666,7 +669,7 @@ EOF
test_expect_success 'status when bisecting' '
- git reset --hard master &&
+ git reset --hard main &&
git checkout -b bisect &&
test_commit one_bisect main.txt one &&
test_commit two_bisect main.txt two &&
@@ -689,7 +692,7 @@ EOF
test_expect_success 'status when rebase --apply conflicts with statushints disabled' '
- git reset --hard master &&
+ git reset --hard main &&
git checkout -b statushints_disabled &&
test_when_finished "git config --local advice.statushints true" &&
git config --local advice.statushints false &&
@@ -714,7 +717,7 @@ EOF
test_expect_success 'prepare for cherry-pick conflicts' '
- git reset --hard master &&
+ git reset --hard main &&
git checkout -b cherry_branch &&
test_commit one_cherry main.txt one &&
test_commit two_cherries main.txt two &&
@@ -825,7 +828,7 @@ EOF
'
test_expect_success 'status while reverting commit (conflicts)' '
- git checkout master &&
+ git checkout main &&
echo before >to-revert.txt &&
test_commit before to-revert.txt &&
echo old >to-revert.txt &&
@@ -835,7 +838,7 @@ test_expect_success 'status while reverting commit (conflicts)' '
TO_REVERT=$(git rev-parse --short HEAD^) &&
test_must_fail git revert $TO_REVERT &&
cat >expected <<EOF &&
-On branch master
+On branch main
You are currently reverting commit $TO_REVERT.
(fix conflicts and run "git revert --continue")
(use "git revert --skip" to skip this patch)
@@ -856,7 +859,7 @@ test_expect_success 'status while reverting commit (conflicts resolved)' '
echo reverted >to-revert.txt &&
git add to-revert.txt &&
cat >expected <<EOF &&
-On branch master
+On branch main
You are currently reverting commit $TO_REVERT.
(all conflicts fixed: run "git revert --continue")
(use "git revert --skip" to skip this patch)
@@ -875,7 +878,7 @@ EOF
test_expect_success 'status after reverting commit' '
git revert --continue &&
cat >expected <<\EOF &&
-On branch master
+On branch main
nothing to commit (use -u to show untracked files)
EOF
git status --untracked-files=no >actual &&
@@ -889,7 +892,7 @@ test_expect_success 'status while reverting after committing conflict resolution
echo reverted >to-revert.txt &&
git commit -a &&
cat >expected <<EOF &&
-On branch master
+On branch main
Revert currently in progress.
(run "git revert --continue" to continue)
(use "git revert --skip" to skip this patch)
@@ -902,7 +905,7 @@ EOF
'
test_expect_success 'prepare for different number of commits rebased' '
- git reset --hard master &&
+ git reset --hard main &&
git checkout -b several_commits &&
test_commit one_commit main.txt one &&
test_commit two_commit main.txt two &&
diff --git a/t/t7517-per-repo-email.sh b/t/t7517-per-repo-email.sh
index b2401cec3e..405420ae4d 100755
--- a/t/t7517-per-repo-email.sh
+++ b/t/t7517-per-repo-email.sh
@@ -6,6 +6,9 @@
test_description='per-repo forced setting of email address'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup a likely user.useConfigOnly use case' '
@@ -47,24 +50,24 @@ test_expect_success 'set up rebase scenarios' '
test_expect_success 'fast-forward rebase does not care about ident' '
git checkout -B tmp side-without-commit &&
- git rebase master
+ git rebase main
'
test_expect_success 'non-fast-forward rebase refuses to write commits' '
test_when_finished "git rebase --abort || true" &&
git checkout -B tmp side-with-commit &&
- test_must_fail git rebase master
+ test_must_fail git rebase main
'
test_expect_success 'fast-forward rebase does not care about ident (interactive)' '
git checkout -B tmp side-without-commit &&
- git rebase -i master
+ git rebase -i main
'
test_expect_success 'non-fast-forward rebase refuses to write commits (interactive)' '
test_when_finished "git rebase --abort || true" &&
git checkout -B tmp side-with-commit &&
- test_must_fail git rebase -i master
+ test_must_fail git rebase -i main
'
test_expect_success 'noop interactive rebase does not care about ident' '
@@ -75,14 +78,14 @@ test_expect_success 'noop interactive rebase does not care about ident' '
test_expect_success REBASE_P \
'fast-forward rebase does not care about ident (preserve)' '
git checkout -B tmp side-without-commit &&
- git rebase -p master
+ git rebase -p main
'
test_expect_success REBASE_P \
'non-fast-forward rebase refuses to write commits (preserve)' '
test_when_finished "git rebase --abort || true" &&
git checkout -B tmp side-with-commit &&
- test_must_fail git rebase -p master
+ test_must_fail git rebase -p main
'
test_expect_success 'author.name overrides user.name' '
diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh
index 1c85f75555..b2c1d861dc 100755
--- a/t/t7600-merge.sh
+++ b/t/t7600-merge.sh
@@ -14,9 +14,9 @@ Testing basic merge operations/option parsing.
! [c4] c4
! [c5] c5
! [c6] c6
- * [master] Merge commit 'c1'
+ * [main] Merge commit 'c1'
--------
- - [master] Merge commit 'c1'
+ - [main] Merge commit 'c1'
+ * [c1] commit 1
+ [c6] c6
+ [c5] c5
@@ -26,6 +26,9 @@ Testing basic merge operations/option parsing.
+++++++* [c0] commit 0
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-gpg.sh
@@ -203,13 +206,13 @@ test_expect_success 'merge c0 with c1 with --ff-only' '
test_debug 'git log --graph --decorate --oneline --all'
test_expect_success 'merge from unborn branch' '
- git checkout -f master &&
+ git checkout -f main &&
test_might_fail git branch -D kid &&
echo "OBJID HEAD@{0}: initial pull" >reflog.expected &&
git checkout --orphan kid &&
- test_when_finished "git checkout -f master" &&
+ test_when_finished "git checkout -f main" &&
git rm -fr . &&
test_tick &&
git merge --ff-only c1 &&
@@ -413,7 +416,7 @@ test_debug 'git log --graph --decorate --oneline --all'
test_expect_success 'merge c1 with c2 (no-commit in config)' '
git reset --hard c1 &&
- test_config branch.master.mergeoptions "--no-commit" &&
+ test_config branch.main.mergeoptions "--no-commit" &&
git merge c2 &&
verify_merge file result.1-5 &&
verify_head $c1 &&
@@ -427,7 +430,7 @@ test_expect_success 'merge c1 with c2 (log in config)' '
git merge --log c2 &&
git show -s --pretty=tformat:%s%n%b >expect &&
- test_config branch.master.mergeoptions "--log" &&
+ test_config branch.main.mergeoptions "--log" &&
git reset --hard c1 &&
git merge c2 &&
git show -s --pretty=tformat:%s%n%b >actual &&
@@ -440,7 +443,7 @@ test_expect_success 'merge c1 with c2 (log in config gets overridden)' '
git merge c2 &&
git show -s --pretty=tformat:%s%n%b >expect &&
- test_config branch.master.mergeoptions "--no-log" &&
+ test_config branch.main.mergeoptions "--no-log" &&
test_config merge.log "true" &&
git reset --hard c1 &&
git merge c2 &&
@@ -451,7 +454,7 @@ test_expect_success 'merge c1 with c2 (log in config gets overridden)' '
test_expect_success 'merge c1 with c2 (squash in config)' '
git reset --hard c1 &&
- test_config branch.master.mergeoptions "--squash" &&
+ test_config branch.main.mergeoptions "--squash" &&
git merge c2 &&
verify_merge file result.1-5 &&
verify_head $c1 &&
@@ -463,7 +466,7 @@ test_debug 'git log --graph --decorate --oneline --all'
test_expect_success 'override config option -n with --summary' '
git reset --hard c1 &&
- test_config branch.master.mergeoptions "-n" &&
+ test_config branch.main.mergeoptions "-n" &&
test_tick &&
git merge --summary c2 >diffstat.txt &&
verify_merge file result.1-5 msg.1-5 &&
@@ -477,7 +480,7 @@ test_expect_success 'override config option -n with --summary' '
test_expect_success 'override config option -n with --stat' '
git reset --hard c1 &&
- test_config branch.master.mergeoptions "-n" &&
+ test_config branch.main.mergeoptions "-n" &&
test_tick &&
git merge --stat c2 >diffstat.txt &&
verify_merge file result.1-5 msg.1-5 &&
@@ -493,7 +496,7 @@ test_debug 'git log --graph --decorate --oneline --all'
test_expect_success 'override config option --stat' '
git reset --hard c1 &&
- test_config branch.master.mergeoptions "--stat" &&
+ test_config branch.main.mergeoptions "--stat" &&
test_tick &&
git merge -n c2 >diffstat.txt &&
verify_merge file result.1-5 msg.1-5 &&
@@ -509,7 +512,7 @@ test_debug 'git log --graph --decorate --oneline --all'
test_expect_success 'merge c1 with c2 (override --no-commit)' '
git reset --hard c1 &&
- test_config branch.master.mergeoptions "--no-commit" &&
+ test_config branch.main.mergeoptions "--no-commit" &&
test_tick &&
git merge --commit c2 &&
verify_merge file result.1-5 msg.1-5 &&
@@ -520,7 +523,7 @@ test_debug 'git log --graph --decorate --oneline --all'
test_expect_success 'merge c1 with c2 (override --squash)' '
git reset --hard c1 &&
- test_config branch.master.mergeoptions "--squash" &&
+ test_config branch.main.mergeoptions "--squash" &&
test_tick &&
git merge --no-squash c2 &&
verify_merge file result.1-5 msg.1-5 &&
@@ -549,9 +552,9 @@ test_expect_success 'merge c0 with c1 (merge.ff=false)' '
'
test_debug 'git log --graph --decorate --oneline --all'
-test_expect_success 'combine branch.master.mergeoptions with merge.ff' '
+test_expect_success 'combine branch.main.mergeoptions with merge.ff' '
git reset --hard c0 &&
- test_config branch.master.mergeoptions "--ff" &&
+ test_config branch.main.mergeoptions "--ff" &&
test_config merge.ff "false" &&
test_tick &&
git merge c1 &&
@@ -593,7 +596,7 @@ test_expect_success 'option --no-ff overrides merge.ff=only config' '
test_expect_success 'merge c0 with c1 (ff overrides no-ff)' '
git reset --hard c0 &&
- test_config branch.master.mergeoptions "--no-ff" &&
+ test_config branch.main.mergeoptions "--no-ff" &&
git merge --ff c1 &&
verify_merge file result.1 &&
verify_head $c1
@@ -606,7 +609,7 @@ test_expect_success 'merge log message' '
test_must_be_empty msg.act &&
git reset --hard c0 &&
- test_config branch.master.mergeoptions "--no-ff" &&
+ test_config branch.main.mergeoptions "--no-ff" &&
git merge --no-log c2 &&
git show -s --pretty=format:%b HEAD >msg.act &&
test_must_be_empty msg.act &&
@@ -950,10 +953,10 @@ test_expect_success 'set up mod-256 conflict scenario' '
git add file &&
git commit -m base &&
- # one side changes the first line of each to "master"
- sed s/-1/-master/ file >tmp &&
+ # one side changes the first line of each to "main"
+ sed s/-1/-main/ file >tmp &&
mv tmp file &&
- git commit -am master &&
+ git commit -am main &&
# and the other to "side"; merging the two will
# yield 256 separate conflicts
@@ -965,12 +968,12 @@ test_expect_success 'set up mod-256 conflict scenario' '
test_expect_success 'merge detects mod-256 conflicts (recursive)' '
git reset --hard &&
- test_must_fail git merge -s recursive master
+ test_must_fail git merge -s recursive main
'
test_expect_success 'merge detects mod-256 conflicts (resolve)' '
git reset --hard &&
- test_must_fail git merge -s resolve master
+ test_must_fail git merge -s resolve main
'
test_expect_success 'merge nothing into void' '
diff --git a/t/t7601-merge-pull-config.sh b/t/t7601-merge-pull-config.sh
index c5c4ea5fc0..52e8ccc933 100755
--- a/t/t7601-merge-pull-config.sh
+++ b/t/t7601-merge-pull-config.sh
@@ -30,7 +30,7 @@ test_expect_success 'setup' '
test_expect_success 'pull.rebase not set' '
git reset --hard c0 &&
git pull . c1 2>err &&
- test_i18ngrep "Pulling without specifying how to reconcile" err
+ test_i18ngrep ! "Pulling without specifying how to reconcile" err
'
test_expect_success 'pull.rebase not set and pull.ff=true' '
@@ -84,6 +84,65 @@ test_expect_success 'pull.rebase not set and --ff-only given' '
test_i18ngrep ! "Pulling without specifying how to reconcile" err
'
+test_expect_success 'pull.rebase not set (not-fast-forward)' '
+ git reset --hard c2 &&
+ git -c color.advice=always pull . c1 2>err &&
+ test_decode_color <err >decoded &&
+ test_i18ngrep "<YELLOW>hint: " decoded &&
+ test_i18ngrep "Pulling without specifying how to reconcile" decoded
+'
+
+test_expect_success 'pull.rebase not set and pull.ff=true (not-fast-forward)' '
+ git reset --hard c2 &&
+ test_config pull.ff true &&
+ git pull . c1 2>err &&
+ test_i18ngrep ! "Pulling without specifying how to reconcile" err
+'
+
+test_expect_success 'pull.rebase not set and pull.ff=false (not-fast-forward)' '
+ git reset --hard c2 &&
+ test_config pull.ff false &&
+ git pull . c1 2>err &&
+ test_i18ngrep ! "Pulling without specifying how to reconcile" err
+'
+
+test_expect_success 'pull.rebase not set and pull.ff=only (not-fast-forward)' '
+ git reset --hard c2 &&
+ test_config pull.ff only &&
+ test_must_fail git pull . c1 2>err &&
+ test_i18ngrep ! "Pulling without specifying how to reconcile" err
+'
+
+test_expect_success 'pull.rebase not set and --rebase given (not-fast-forward)' '
+ git reset --hard c2 &&
+ git pull --rebase . c1 2>err &&
+ test_i18ngrep ! "Pulling without specifying how to reconcile" err
+'
+
+test_expect_success 'pull.rebase not set and --no-rebase given (not-fast-forward)' '
+ git reset --hard c2 &&
+ git pull --no-rebase . c1 2>err &&
+ test_i18ngrep ! "Pulling without specifying how to reconcile" err
+'
+
+test_expect_success 'pull.rebase not set and --ff given (not-fast-forward)' '
+ git reset --hard c2 &&
+ git pull --ff . c1 2>err &&
+ test_i18ngrep ! "Pulling without specifying how to reconcile" err
+'
+
+test_expect_success 'pull.rebase not set and --no-ff given (not-fast-forward)' '
+ git reset --hard c2 &&
+ git pull --no-ff . c1 2>err &&
+ test_i18ngrep ! "Pulling without specifying how to reconcile" err
+'
+
+test_expect_success 'pull.rebase not set and --ff-only given (not-fast-forward)' '
+ git reset --hard c2 &&
+ test_must_fail git pull --ff-only . c1 2>err &&
+ test_i18ngrep ! "Pulling without specifying how to reconcile" err
+'
+
test_expect_success 'merge c1 with c2' '
git reset --hard c1 &&
test -f c0.c &&
diff --git a/t/t7602-merge-octopus-many.sh b/t/t7602-merge-octopus-many.sh
index 6abe441ae3..13859ec859 100755
--- a/t/t7602-merge-octopus-many.sh
+++ b/t/t7602-merge-octopus-many.sh
@@ -77,6 +77,12 @@ Merge made by the 'recursive' strategy.
EOF
test_expect_success 'merge reduces irrelevant remote heads' '
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ mv expected expected.tmp &&
+ sed s/recursive/ort/ expected.tmp >expected &&
+ rm expected.tmp
+ fi &&
GIT_MERGE_VERBOSITY=0 git merge c4 c5 >actual &&
test_i18ncmp expected actual
'
diff --git a/t/t7606-merge-custom.sh b/t/t7606-merge-custom.sh
index 8e8c4d7246..81fb7c474c 100755
--- a/t/t7606-merge-custom.sh
+++ b/t/t7606-merge-custom.sh
@@ -4,7 +4,7 @@ test_description="git merge
Testing a custom strategy.
-* (HEAD, master) Merge commit 'c3'
+* (HEAD, main) Merge commit 'c3'
|\
| * (tag: c3) c3
* | (tag: c1) c1
diff --git a/t/t7608-merge-messages.sh b/t/t7608-merge-messages.sh
index 8e7e0a5865..0b908ab2e7 100755
--- a/t/t7608-merge-messages.sh
+++ b/t/t7608-merge-messages.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='test auto-generated merge messages'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
check_oneline() {
@@ -10,51 +13,51 @@ check_oneline() {
}
test_expect_success 'merge local branch' '
- test_commit master-1 &&
+ test_commit main-1 &&
git checkout -b local-branch &&
test_commit branch-1 &&
- git checkout master &&
- test_commit master-2 &&
+ git checkout main &&
+ test_commit main-2 &&
git merge local-branch &&
check_oneline "Merge branch Qlocal-branchQ"
'
test_expect_success 'merge octopus branches' '
- git checkout -b octopus-a master &&
+ git checkout -b octopus-a main &&
test_commit octopus-1 &&
- git checkout -b octopus-b master &&
+ git checkout -b octopus-b main &&
test_commit octopus-2 &&
- git checkout master &&
+ git checkout main &&
git merge octopus-a octopus-b &&
check_oneline "Merge branches Qoctopus-aQ and Qoctopus-bQ"
'
test_expect_success 'merge tag' '
- git checkout -b tag-branch master &&
+ git checkout -b tag-branch main &&
test_commit tag-1 &&
- git checkout master &&
- test_commit master-3 &&
+ git checkout main &&
+ test_commit main-3 &&
git merge tag-1 &&
check_oneline "Merge tag Qtag-1Q"
'
test_expect_success 'ambiguous tag' '
- git checkout -b ambiguous master &&
+ git checkout -b ambiguous main &&
test_commit ambiguous &&
- git checkout master &&
- test_commit master-4 &&
+ git checkout main &&
+ test_commit main-4 &&
git merge ambiguous &&
check_oneline "Merge tag QambiguousQ"
'
test_expect_success 'remote-tracking branch' '
- git checkout -b remote master &&
+ git checkout -b remote main &&
test_commit remote-1 &&
- git update-ref refs/remotes/origin/master remote &&
- git checkout master &&
- test_commit master-5 &&
- git merge origin/master &&
- check_oneline "Merge remote-tracking branch Qorigin/masterQ"
+ git update-ref refs/remotes/origin/main remote &&
+ git checkout main &&
+ test_commit main-5 &&
+ git merge origin/main &&
+ check_oneline "Merge remote-tracking branch Qorigin/mainQ"
'
test_done
diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh
index ad288ddc69..04b0095072 100755
--- a/t/t7610-mergetool.sh
+++ b/t/t7610-mergetool.sh
@@ -7,22 +7,25 @@ test_description='git mergetool
Testing basic merge tool invocation'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# All the mergetool test work by checking out a temporary branch based
-# off 'branch1' and then merging in master and checking the results of
+# off 'branch1' and then merging in main and checking the results of
# running mergetool
test_expect_success 'setup' '
test_config rerere.enabled true &&
- echo master >file1 &&
- echo master spaced >"spaced name" &&
- echo master file11 >file11 &&
- echo master file12 >file12 &&
- echo master file13 >file13 &&
- echo master file14 >file14 &&
+ echo main >file1 &&
+ echo main spaced >"spaced name" &&
+ echo main file11 >file11 &&
+ echo main file12 >file12 &&
+ echo main file13 >file13 &&
+ echo main file14 >file14 &&
mkdir subdir &&
- echo master sub >subdir/file3 &&
+ echo main sub >subdir/file3 &&
test_create_repo submod &&
(
cd submod &&
@@ -34,7 +37,7 @@ test_expect_success 'setup' '
git add file1 "spaced name" file1[1-4] subdir/file3 .gitmodules submod &&
git commit -m "add initial versions" &&
- git checkout -b branch1 master &&
+ git checkout -b branch1 main &&
git submodule update -N &&
echo branch1 change >file1 &&
echo branch1 newfile >file2 &&
@@ -71,39 +74,39 @@ test_expect_success 'setup' '
test_write_lines one two 3 >c/c/file.txt &&
git commit -a -m"move to c" &&
- git checkout -b stash1 master &&
+ git checkout -b stash1 main &&
echo stash1 change file11 >file11 &&
git add file11 &&
git commit -m "stash1 changes" &&
- git checkout -b stash2 master &&
+ git checkout -b stash2 main &&
echo stash2 change file11 >file11 &&
git add file11 &&
git commit -m "stash2 changes" &&
- git checkout master &&
+ git checkout main &&
git submodule update -N &&
- echo master updated >file1 &&
- echo master new >file2 &&
- echo master updated spaced >"spaced name" &&
- echo master both added >both &&
- echo master updated file12 >file12 &&
- echo master updated file14 >file14 &&
- echo master new sub >subdir/file3 &&
+ echo main updated >file1 &&
+ echo main new >file2 &&
+ echo main updated spaced >"spaced name" &&
+ echo main both added >both &&
+ echo main updated file12 >file12 &&
+ echo main updated file14 >file14 &&
+ echo main new sub >subdir/file3 &&
(
cd submod &&
- echo master submodule >bar &&
+ echo main submodule >bar &&
git add bar &&
- git commit -m "Add bar on master" &&
- git checkout -b submod-master
+ git commit -m "Add bar on main" &&
+ git checkout -b submod-main
) &&
git add file1 "spaced name" file12 file14 file2 subdir/file3 submod &&
git add both &&
git rm file11 &&
- git commit -m "master updates" &&
+ git commit -m "main updates" &&
git clean -fdx &&
- git checkout -b order-file-start master &&
+ git checkout -b order-file-start main &&
echo start >a &&
echo start >b &&
git add a b &&
@@ -130,7 +133,7 @@ test_expect_success 'custom mergetool' '
test_when_finished "git reset --hard" &&
git checkout -b test$test_count branch1 &&
git submodule update -N &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
yes "" | git mergetool both &&
yes "" | git mergetool file1 file1 &&
yes "" | git mergetool file2 "spaced name" &&
@@ -138,11 +141,11 @@ test_expect_success 'custom mergetool' '
yes "d" | git mergetool file11 &&
yes "d" | git mergetool file12 &&
yes "l" | git mergetool submod &&
- echo "master updated" >expect &&
+ echo "main updated" >expect &&
test_cmp expect file1 &&
- echo "master new" >expect &&
+ echo "main new" >expect &&
test_cmp expect file2 &&
- echo "master new sub" >expect &&
+ echo "main new sub" >expect &&
test_cmp expect subdir/file3 &&
echo "branch1 submodule" >expect &&
test_cmp expect submod/bar &&
@@ -156,7 +159,7 @@ test_expect_success 'gui mergetool' '
test_when_finished "git reset --hard" &&
git checkout -b test$test_count branch1 &&
git submodule update -N &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
yes "" | git mergetool --gui both &&
yes "" | git mergetool -g file1 file1 &&
yes "" | git mergetool --gui file2 "spaced name" &&
@@ -164,11 +167,11 @@ test_expect_success 'gui mergetool' '
yes "d" | git mergetool --gui file11 &&
yes "d" | git mergetool --gui file12 &&
yes "l" | git mergetool --gui submod &&
- echo "gui master updated" >expect &&
+ echo "gui main updated" >expect &&
test_cmp expect file1 &&
- echo "gui master new" >expect &&
+ echo "gui main new" >expect &&
test_cmp expect file2 &&
- echo "gui master new sub" >expect &&
+ echo "gui main new sub" >expect &&
test_cmp expect subdir/file3 &&
echo "branch1 submodule" >expect &&
test_cmp expect submod/bar &&
@@ -179,7 +182,7 @@ test_expect_success 'gui mergetool without merge.guitool set falls back to merge
test_when_finished "git reset --hard" &&
git checkout -b test$test_count branch1 &&
git submodule update -N &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
yes "" | git mergetool --gui both &&
yes "" | git mergetool -g file1 file1 &&
yes "" | git mergetool --gui file2 "spaced name" &&
@@ -187,11 +190,11 @@ test_expect_success 'gui mergetool without merge.guitool set falls back to merge
yes "d" | git mergetool --gui file11 &&
yes "d" | git mergetool --gui file12 &&
yes "l" | git mergetool --gui submod &&
- echo "master updated" >expect &&
+ echo "main updated" >expect &&
test_cmp expect file1 &&
- echo "master new" >expect &&
+ echo "main new" >expect &&
test_cmp expect file2 &&
- echo "master new sub" >expect &&
+ echo "main new sub" >expect &&
test_cmp expect subdir/file3 &&
echo "branch1 submodule" >expect &&
test_cmp expect submod/bar &&
@@ -206,7 +209,7 @@ test_expect_success 'mergetool crlf' '
# test_when_finished is LIFO.)
test_config core.autocrlf true &&
git checkout -b test$test_count branch1 &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
yes "" | git mergetool file1 &&
yes "" | git mergetool file2 &&
yes "" | git mergetool "spaced name" &&
@@ -215,11 +218,11 @@ test_expect_success 'mergetool crlf' '
yes "d" | git mergetool file11 &&
yes "d" | git mergetool file12 &&
yes "r" | git mergetool submod &&
- test "$(printf x | cat file1 -)" = "$(printf "master updated\r\nx")" &&
- test "$(printf x | cat file2 -)" = "$(printf "master new\r\nx")" &&
- test "$(printf x | cat subdir/file3 -)" = "$(printf "master new sub\r\nx")" &&
+ test "$(printf x | cat file1 -)" = "$(printf "main updated\r\nx")" &&
+ test "$(printf x | cat file2 -)" = "$(printf "main new\r\nx")" &&
+ test "$(printf x | cat subdir/file3 -)" = "$(printf "main new sub\r\nx")" &&
git submodule update -N &&
- echo "master submodule" >expect &&
+ echo "main submodule" >expect &&
test_cmp expect submod/bar &&
git commit -m "branch1 resolved with mergetool - autocrlf"
'
@@ -230,9 +233,9 @@ test_expect_success 'mergetool in subdir' '
git submodule update -N &&
(
cd subdir &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
yes "" | git mergetool file3 &&
- echo "master new sub" >expect &&
+ echo "main new sub" >expect &&
test_cmp expect file3
)
'
@@ -243,7 +246,7 @@ test_expect_success 'mergetool on file in parent dir' '
git submodule update -N &&
(
cd subdir &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
yes "" | git mergetool file3 &&
yes "" | git mergetool ../file1 &&
yes "" | git mergetool ../file2 ../spaced\ name &&
@@ -251,9 +254,9 @@ test_expect_success 'mergetool on file in parent dir' '
yes "d" | git mergetool ../file11 &&
yes "d" | git mergetool ../file12 &&
yes "l" | git mergetool ../submod &&
- echo "master updated" >expect &&
+ echo "main updated" >expect &&
test_cmp expect ../file1 &&
- echo "master new" >expect &&
+ echo "main new" >expect &&
test_cmp expect ../file2 &&
echo "branch1 submodule" >expect &&
test_cmp expect ../submod/bar &&
@@ -265,7 +268,7 @@ test_expect_success 'mergetool skips autoresolved' '
test_when_finished "git reset --hard" &&
git checkout -b test$test_count branch1 &&
git submodule update -N &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
test -n "$(git ls-files -u)" &&
yes "d" | git mergetool file11 &&
yes "d" | git mergetool file12 &&
@@ -280,17 +283,17 @@ test_expect_success 'mergetool merges all from subdir (rerere disabled)' '
test_config rerere.enabled false &&
(
cd subdir &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
yes "r" | git mergetool ../submod &&
yes "d" "d" | git mergetool --no-prompt &&
- echo "master updated" >expect &&
+ echo "main updated" >expect &&
test_cmp expect ../file1 &&
- echo "master new" >expect &&
+ echo "main new" >expect &&
test_cmp expect ../file2 &&
- echo "master new sub" >expect &&
+ echo "main new sub" >expect &&
test_cmp expect file3 &&
( cd .. && git submodule update -N ) &&
- echo "master submodule" >expect &&
+ echo "main submodule" >expect &&
test_cmp expect ../submod/bar &&
git commit -m "branch2 resolved by mergetool from subdir"
)
@@ -303,17 +306,17 @@ test_expect_success 'mergetool merges all from subdir (rerere enabled)' '
rm -rf .git/rr-cache &&
(
cd subdir &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
yes "r" | git mergetool ../submod &&
yes "d" "d" | git mergetool --no-prompt &&
- echo "master updated" >expect &&
+ echo "main updated" >expect &&
test_cmp expect ../file1 &&
- echo "master new" >expect &&
+ echo "main new" >expect &&
test_cmp expect ../file2 &&
- echo "master new sub" >expect &&
+ echo "main new sub" >expect &&
test_cmp expect file3 &&
( cd .. && git submodule update -N ) &&
- echo "master submodule" >expect &&
+ echo "main submodule" >expect &&
test_cmp expect ../submod/bar &&
git commit -m "branch2 resolved by mergetool from subdir"
)
@@ -325,7 +328,7 @@ test_expect_success 'mergetool skips resolved paths when rerere is active' '
rm -rf .git/rr-cache &&
git checkout -b test$test_count branch1 &&
git submodule update -N &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
yes "l" | git mergetool --no-prompt submod &&
yes "d" "d" | git mergetool --no-prompt &&
git submodule update -N &&
@@ -366,11 +369,11 @@ test_expect_success 'mergetool takes partial path' '
test_config rerere.enabled false &&
git checkout -b test$test_count branch1 &&
git submodule update -N &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
yes "" | git mergetool subdir &&
- echo "master new sub" >expect &&
+ echo "main new sub" >expect &&
test_cmp expect subdir/file3
'
@@ -434,7 +437,7 @@ test_expect_success 'deleted vs modified submodule' '
git rm --cached submod &&
git commit -m "Submodule deleted from branch" &&
git checkout -b test$test_count.a test$test_count &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
test -n "$(git ls-files -u)" &&
yes "" | git mergetool file1 file2 spaced\ name subdir/file3 &&
yes "" | git mergetool both &&
@@ -444,7 +447,7 @@ test_expect_success 'deleted vs modified submodule' '
echo "branch1 submodule" >expect &&
test_cmp expect submod/bar &&
git submodule update -N &&
- echo "master submodule" >expect &&
+ echo "main submodule" >expect &&
test_cmp expect submod/bar &&
output="$(git mergetool --no-prompt)" &&
test "$output" = "No files need merging" &&
@@ -453,7 +456,7 @@ test_expect_success 'deleted vs modified submodule' '
mv submod submod-movedaside &&
git checkout -b test$test_count.b test$test_count &&
git submodule update -N &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
test -n "$(git ls-files -u)" &&
yes "" | git mergetool file1 file2 spaced\ name subdir/file3 &&
yes "" | git mergetool both &&
@@ -465,7 +468,7 @@ test_expect_success 'deleted vs modified submodule' '
git commit -m "Merge resolved by deleting module" &&
mv submod-movedaside submod &&
- git checkout -b test$test_count.c master &&
+ git checkout -b test$test_count.c main &&
git submodule update -N &&
test_must_fail git merge test$test_count &&
test -n "$(git ls-files -u)" &&
@@ -481,7 +484,7 @@ test_expect_success 'deleted vs modified submodule' '
git commit -m "Merge resolved by deleting module" &&
mv submod.orig submod &&
- git checkout -b test$test_count.d master &&
+ git checkout -b test$test_count.d main &&
git submodule update -N &&
test_must_fail git merge test$test_count &&
test -n "$(git ls-files -u)" &&
@@ -489,10 +492,10 @@ test_expect_success 'deleted vs modified submodule' '
yes "" | git mergetool both &&
yes "d" | git mergetool file11 file12 &&
yes "l" | git mergetool submod &&
- echo "master submodule" >expect &&
+ echo "main submodule" >expect &&
test_cmp expect submod/bar &&
git submodule update -N &&
- echo "master submodule" >expect &&
+ echo "main submodule" >expect &&
test_cmp expect submod/bar &&
output="$(git mergetool --no-prompt)" &&
test "$output" = "No files need merging" &&
@@ -509,7 +512,7 @@ test_expect_success 'file vs modified submodule' '
git add submod &&
git commit -m "Submodule path becomes file" &&
git checkout -b test$test_count.a branch1 &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
test -n "$(git ls-files -u)" &&
yes "" | git mergetool file1 file2 spaced\ name subdir/file3 &&
yes "" | git mergetool both &&
@@ -519,7 +522,7 @@ test_expect_success 'file vs modified submodule' '
echo "branch1 submodule" >expect &&
test_cmp expect submod/bar &&
git submodule update -N &&
- echo "master submodule" >expect &&
+ echo "main submodule" >expect &&
test_cmp expect submod/bar &&
output="$(git mergetool --no-prompt)" &&
test "$output" = "No files need merging" &&
@@ -527,12 +530,19 @@ test_expect_success 'file vs modified submodule' '
mv submod submod-movedaside &&
git checkout -b test$test_count.b test$test_count &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
test -n "$(git ls-files -u)" &&
yes "" | git mergetool file1 file2 spaced\ name subdir/file3 &&
yes "" | git mergetool both &&
yes "d" | git mergetool file11 file12 &&
- yes "l" | git mergetool submod &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ yes "c" | git mergetool submod~HEAD &&
+ git rm submod &&
+ git mv submod~HEAD submod
+ else
+ yes "l" | git mergetool submod
+ fi &&
git submodule update -N &&
echo "not a submodule" >expect &&
test_cmp expect submod &&
@@ -540,7 +550,7 @@ test_expect_success 'file vs modified submodule' '
test "$output" = "No files need merging" &&
git commit -m "Merge resolved by keeping file" &&
- git checkout -b test$test_count.c master &&
+ git checkout -b test$test_count.c main &&
rmdir submod && mv submod-movedaside submod &&
test ! -e submod.orig &&
git submodule update -N &&
@@ -549,7 +559,15 @@ test_expect_success 'file vs modified submodule' '
yes "" | git mergetool file1 file2 spaced\ name subdir/file3 &&
yes "" | git mergetool both &&
yes "d" | git mergetool file11 file12 &&
- yes "r" | git mergetool submod &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ mv submod submod.orig &&
+ git rm --cached submod &&
+ yes "c" | git mergetool submod~test19 &&
+ git mv submod~test19 submod
+ else
+ yes "r" | git mergetool submod
+ fi &&
test -d submod.orig &&
git submodule update -N &&
echo "not a submodule" >expect &&
@@ -558,7 +576,7 @@ test_expect_success 'file vs modified submodule' '
test "$output" = "No files need merging" &&
git commit -m "Merge resolved by keeping file" &&
- git checkout -b test$test_count.d master &&
+ git checkout -b test$test_count.d main &&
rmdir submod && mv submod.orig submod &&
git submodule update -N &&
test_must_fail git merge test$test_count &&
@@ -567,10 +585,14 @@ test_expect_success 'file vs modified submodule' '
yes "" | git mergetool both &&
yes "d" | git mergetool file11 file12 &&
yes "l" | git mergetool submod &&
- echo "master submodule" >expect &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ yes "d" | git mergetool submod~test19
+ fi &&
+ echo "main submodule" >expect &&
test_cmp expect submod/bar &&
git submodule update -N &&
- echo "master submodule" >expect &&
+ echo "main submodule" >expect &&
test_cmp expect submod/bar &&
output="$(git mergetool --no-prompt)" &&
test "$output" = "No files need merging" &&
@@ -653,7 +675,7 @@ test_expect_success 'directory vs modified submodule' '
git add submod/file16 &&
git commit -m "Submodule path becomes directory" &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
test -n "$(git ls-files -u)" &&
yes "l" | git mergetool submod &&
echo "not a submodule" >expect &&
@@ -661,10 +683,17 @@ test_expect_success 'directory vs modified submodule' '
rm -rf submod.orig &&
git reset --hard &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
test -n "$(git ls-files -u)" &&
test ! -e submod.orig &&
- yes "r" | git mergetool submod &&
+ if test "$GIT_TEST_MERGE_ALGORITHM" = ort
+ then
+ yes "r" | git mergetool submod~main &&
+ git mv submod submod.orig &&
+ git mv submod~main submod
+ else
+ yes "r" | git mergetool submod
+ fi &&
test -d submod.orig &&
echo "not a submodule" >expect &&
test_cmp expect submod.orig/file16 &&
@@ -672,18 +701,18 @@ test_expect_success 'directory vs modified submodule' '
mv submod-movedaside/.git submod &&
( cd submod && git clean -f && git reset --hard ) &&
git submodule update -N &&
- echo "master submodule" >expect &&
+ echo "main submodule" >expect &&
test_cmp expect submod/bar &&
git reset --hard &&
rm -rf submod-movedaside &&
- git checkout -b test$test_count.c master &&
+ git checkout -b test$test_count.c main &&
git submodule update -N &&
test_must_fail git merge test$test_count &&
test -n "$(git ls-files -u)" &&
yes "l" | git mergetool submod &&
git submodule update -N &&
- echo "master submodule" >expect &&
+ echo "main submodule" >expect &&
test_cmp expect submod/bar &&
git reset --hard &&
@@ -695,7 +724,7 @@ test_expect_success 'directory vs modified submodule' '
echo "not a submodule" >expect &&
test_cmp expect submod/file16 &&
- git reset --hard master &&
+ git reset --hard main &&
( cd submod && git clean -f && git reset --hard ) &&
git submodule update -N
'
@@ -703,7 +732,7 @@ test_expect_success 'directory vs modified submodule' '
test_expect_success 'file with no base' '
test_when_finished "git reset --hard" &&
git checkout -b test$test_count branch1 &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
git mergetool --no-prompt --tool mybase -- both &&
test_must_be_empty both
'
@@ -713,9 +742,9 @@ test_expect_success 'custom commands override built-ins' '
git checkout -b test$test_count branch1 &&
test_config mergetool.defaults.cmd "cat \"\$REMOTE\" >\"\$MERGED\"" &&
test_config mergetool.defaults.trustExitCode true &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
git mergetool --no-prompt --tool defaults -- both &&
- echo master both added >expected &&
+ echo main both added >expected &&
test_cmp expected both
'
@@ -725,7 +754,7 @@ test_expect_success 'filenames seen by tools start with ./' '
test_config mergetool.writeToTemp false &&
test_config mergetool.myecho.cmd "echo \"\$LOCAL\"" &&
test_config mergetool.myecho.trustExitCode true &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
git mergetool --no-prompt --tool myecho -- both >actual &&
grep ^\./both_LOCAL_ actual
'
@@ -742,7 +771,7 @@ test_expect_success MKTEMP 'temporary filenames are used with mergetool.writeToT
test_config mergetool.writeToTemp true &&
test_config mergetool.myecho.cmd "echo \"\$LOCAL\"" &&
test_config mergetool.myecho.trustExitCode true &&
- test_must_fail git merge master &&
+ test_must_fail git merge main &&
git mergetool --no-prompt --tool myecho -- both >actual &&
! grep ^\./both_LOCAL_ actual &&
grep /both_LOCAL_ actual
@@ -802,4 +831,15 @@ test_expect_success 'mergetool -Oorder-file is honored' '
test_cmp expect actual
'
+test_expect_success 'mergetool --tool-help shows recognized tools' '
+ # Check a few known tools are correctly shown
+ git mergetool --tool-help >mergetools &&
+ grep vimdiff mergetools &&
+ grep vimdiff3 mergetools &&
+ grep gvimdiff2 mergetools &&
+ grep araxis mergetools &&
+ grep xxdiff mergetools &&
+ grep meld mergetools
+'
+
test_done
diff --git a/t/t7611-merge-abort.sh b/t/t7611-merge-abort.sh
index 7c84a518aa..c0e9425115 100755
--- a/t/t7611-merge-abort.sh
+++ b/t/t7611-merge-abort.sh
@@ -7,7 +7,7 @@ Set up repo with conflicting and non-conflicting branches:
There are three files foo/bar/baz, and the following graph illustrates the
content of these files in each commit:
-# foo/bar/baz --- foo/bar/bazz <-- master
+# foo/bar/baz --- foo/bar/bazz <-- main
# \
# --- foo/barf/bazf <-- conflict_branch
# \
@@ -22,6 +22,9 @@ Next, test git merge --abort with the following variables:
- changed/unchanged worktree after merge
- changed/unchanged index after merge
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -40,7 +43,7 @@ test_expect_success 'setup' '
git checkout -b clean_branch HEAD^ &&
echo bart > bar &&
git commit -a -m "clean" &&
- git checkout master
+ git checkout main
'
pre_merge_head="$(git rev-parse HEAD)"
diff --git a/t/t7612-merge-verify-signatures.sh b/t/t7612-merge-verify-signatures.sh
index a426f3a89a..61330f71b1 100755
--- a/t/t7612-merge-verify-signatures.sh
+++ b/t/t7612-merge-verify-signatures.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='merge signature verification tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY/lib-gpg.sh"
@@ -31,7 +34,7 @@ test_expect_success GPG 'create signed commits' '
echo 3 >baz && git add baz &&
test_tick && git commit -SB7227189 -m "untrusted on side" &&
- git checkout master
+ git checkout main
'
test_expect_success GPG 'merge unsigned commit with verification' '
diff --git a/t/t7614-merge-signoff.sh b/t/t7614-merge-signoff.sh
index c1b8446f49..fee258d4f0 100755
--- a/t/t7614-merge-signoff.sh
+++ b/t/t7614-merge-signoff.sh
@@ -5,23 +5,26 @@ test_description='git merge --signoff
This test runs git merge --signoff and makes sure that it works.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# Setup test files
test_setup() {
# Expected commit message after merge --signoff
cat >expected-signed <<EOF &&
-Merge branch 'master' into other-branch
+Merge branch 'main' into other-branch
Signed-off-by: $(git var GIT_COMMITTER_IDENT | sed -e "s/>.*/>/")
EOF
# Expected commit message after merge without --signoff (or with --no-signoff)
cat >expected-unsigned <<EOF &&
-Merge branch 'master' into other-branch
+Merge branch 'main' into other-branch
EOF
- # Initial commit and feature branch to merge master into it.
+ # Initial commit and feature branch to merge main into it.
git commit --allow-empty -m "Initial empty commit" &&
git checkout -b other-branch &&
test_commit other-branch file1 1
@@ -38,30 +41,30 @@ test_expect_success 'setup' '
# Test with --signoff flag
test_expect_success 'git merge --signoff adds a sign-off line' '
- git checkout master &&
- test_commit master-branch-2 file2 2 &&
+ git checkout main &&
+ test_commit main-branch-2 file2 2 &&
git checkout other-branch &&
- git merge master --signoff --no-edit &&
+ git merge main --signoff --no-edit &&
git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
test_cmp expected-signed actual
'
# Test without --signoff flag
test_expect_success 'git merge does not add a sign-off line' '
- git checkout master &&
- test_commit master-branch-3 file3 3 &&
+ git checkout main &&
+ test_commit main-branch-3 file3 3 &&
git checkout other-branch &&
- git merge master --no-edit &&
+ git merge main --no-edit &&
git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
test_cmp expected-unsigned actual
'
# Test for --no-signoff flag
test_expect_success 'git merge --no-signoff flag cancels --signoff flag' '
- git checkout master &&
- test_commit master-branch-4 file4 4 &&
+ git checkout main &&
+ test_commit main-branch-4 file4 4 &&
git checkout other-branch &&
- git merge master --no-edit --signoff --no-signoff &&
+ git merge main --no-edit --signoff --no-signoff &&
git cat-file commit HEAD | sed -e "1,/^\$/d" >actual &&
test_cmp expected-unsigned actual
'
diff --git a/t/t7701-repack-unpack-unreachable.sh b/t/t7701-repack-unpack-unreachable.sh
index 48261ba080..937f89ee8c 100755
--- a/t/t7701-repack-unpack-unreachable.sh
+++ b/t/t7701-repack-unpack-unreachable.sh
@@ -2,6 +2,9 @@
test_description='git repack works correctly'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
fsha1=
@@ -22,7 +25,7 @@ test_expect_success '-A with -d option leaves unreachable objects unpacked' '
git commit -a -m more_content &&
csha1=$(git rev-parse HEAD^{commit}) &&
tsha1=$(git rev-parse HEAD^{tree}) &&
- git checkout master &&
+ git checkout main &&
echo even more content >> file1 &&
test_tick &&
git commit -a -m even_more_content &&
diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
index 524f30f7dc..9662abc1e7 100755
--- a/t/t7800-difftool.sh
+++ b/t/t7800-difftool.sh
@@ -8,6 +8,9 @@ test_description='git-difftool
Testing basic diff tool invocation
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
difftool_test_setup ()
@@ -35,23 +38,23 @@ test_expect_success 'basic usage requires no repo' '
test_i18ngrep ^usage: output
'
-# Create a file on master and change it on branch
+# Create a file on main and change it on branch
test_expect_success 'setup' '
- echo master >file &&
+ echo main >file &&
git add file &&
git commit -m "added file" &&
- git checkout -b branch master &&
+ git checkout -b branch main &&
echo branch >file &&
git commit -a -m "branch changed file" &&
- git checkout master
+ git checkout main
'
# Configure a custom difftool.<tool>.cmd and use it
test_expect_success 'custom commands' '
difftool_test_setup &&
test_config difftool.test-tool.cmd "cat \"\$REMOTE\"" &&
- echo master >expect &&
+ echo main >expect &&
git difftool --no-prompt branch >actual &&
test_cmp expect actual &&
@@ -63,7 +66,7 @@ test_expect_success 'custom commands' '
test_expect_success 'custom tool commands override built-ins' '
test_config difftool.vimdiff.cmd "cat \"\$REMOTE\"" &&
- echo master >expect &&
+ echo main >expect &&
git difftool --tool vimdiff --no-prompt branch >actual &&
test_cmp expect actual
'
@@ -311,21 +314,21 @@ test_expect_success 'difftool.<tool>.path' '
test_expect_success 'difftool --extcmd=cat' '
echo branch >expect &&
- echo master >>expect &&
+ echo main >>expect &&
git difftool --no-prompt --extcmd=cat branch >actual &&
test_cmp expect actual
'
test_expect_success 'difftool --extcmd cat' '
echo branch >expect &&
- echo master >>expect &&
+ echo main >>expect &&
git difftool --no-prompt --extcmd=cat branch >actual &&
test_cmp expect actual
'
test_expect_success 'difftool -x cat' '
echo branch >expect &&
- echo master >>expect &&
+ echo main >>expect &&
git difftool --no-prompt -x cat branch >actual &&
test_cmp expect actual
'
@@ -338,7 +341,7 @@ test_expect_success 'difftool --extcmd echo arg1' '
'
test_expect_success 'difftool --extcmd cat arg1' '
- echo master >expect &&
+ echo main >expect &&
git difftool --no-prompt \
--extcmd sh\ -c\ \"cat\ \$1\" branch >actual &&
test_cmp expect actual
@@ -351,7 +354,7 @@ test_expect_success 'difftool --extcmd cat arg2' '
test_cmp expect actual
'
-# Create a second file on master and a different version on branch
+# Create a second file on main and a different version on branch
test_expect_success 'setup with 2 files different' '
echo m2 >file2 &&
git add file2 &&
@@ -361,7 +364,7 @@ test_expect_success 'setup with 2 files different' '
echo br2 >file2 &&
git add file2 &&
git commit -a -m "branch changed file2" &&
- git checkout master
+ git checkout main
'
test_expect_success 'say no to the first file' '
@@ -369,14 +372,14 @@ test_expect_success 'say no to the first file' '
git difftool -x cat branch <input >output &&
grep m2 output &&
grep br2 output &&
- ! grep master output &&
+ ! grep main output &&
! grep branch output
'
test_expect_success 'say no to the second file' '
(echo && echo n) >input &&
git difftool -x cat branch <input >output &&
- grep master output &&
+ grep main output &&
grep branch output &&
! grep m2 output &&
! grep br2 output
@@ -384,7 +387,7 @@ test_expect_success 'say no to the second file' '
test_expect_success 'ending prompt input with EOF' '
git difftool -x cat branch </dev/null >output &&
- ! grep master output &&
+ ! grep main output &&
! grep branch output &&
! grep m2 output &&
! grep br2 output
@@ -396,9 +399,9 @@ test_expect_success 'difftool --tool-help' '
'
test_expect_success 'setup change in subdirectory' '
- git checkout master &&
+ git checkout main &&
mkdir sub &&
- echo master >sub/sub &&
+ echo main >sub/sub &&
git add sub/sub &&
git commit -m "added sub/sub" &&
git tag v1 &&
@@ -526,7 +529,7 @@ run_dir_diff_test 'difftool --dir-diff from subdirectory with GIT_DIR set' '
run_dir_diff_test 'difftool --dir-diff when worktree file is missing' '
test_when_finished git reset --hard &&
rm file2 &&
- git difftool --dir-diff $symlinks --extcmd ls branch master >output &&
+ git difftool --dir-diff $symlinks --extcmd ls branch main >output &&
grep file2 output
'
@@ -543,7 +546,7 @@ run_dir_diff_test 'difftool --dir-diff with unmerged files' '
echo b >>file &&
git add file &&
git commit -m conflict-b &&
- git checkout master &&
+ git checkout main &&
git merge conflict-a &&
test_must_fail git merge conflict-b &&
cat >expect <<-EOF &&
@@ -728,6 +731,19 @@ test_expect_success 'add -N and difftool -d' '
git difftool --dir-diff --extcmd ls
'
+test_expect_success 'difftool --cached with unmerged files' '
+ test_when_finished git reset --hard &&
+
+ test_commit conflicting &&
+ test_commit conflict-a conflict.t a &&
+ git reset --hard conflicting &&
+ test_commit conflict-b conflict.t b &&
+ test_must_fail git merge conflict-a &&
+
+ git difftool --cached --no-prompt >output &&
+ test_must_be_empty output
+'
+
test_expect_success 'outside worktree' '
echo 1 >1 &&
echo 2 >2 &&
diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh
index 991d5bd9c0..8f7591c9cc 100755
--- a/t/t7810-grep.sh
+++ b/t/t7810-grep.sh
@@ -6,6 +6,9 @@
test_description='git grep various.
'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
cat >hello.c <<EOF
@@ -687,21 +690,9 @@ test_expect_success 'grep -C1 hunk mark between files' '
'
test_expect_success 'log grep setup' '
- echo a >>file &&
- test_tick &&
- GIT_AUTHOR_NAME="With * Asterisk" \
- GIT_AUTHOR_EMAIL="xyzzy@frotz.com" \
- git commit -a -m "second" &&
-
- echo a >>file &&
- test_tick &&
- git commit -a -m "third" &&
-
- echo a >>file &&
- test_tick &&
- GIT_AUTHOR_NAME="Night Fall" \
- GIT_AUTHOR_EMAIL="nitfol@frobozz.com" \
- git commit -a -m "fourth"
+ test_commit --append --author "With * Asterisk <xyzzy@frotz.com>" second file a &&
+ test_commit --append third file a &&
+ test_commit --append --author "Night Fall <nitfol@frobozz.com>" fourth file a
'
test_expect_success 'log grep (1)' '
@@ -1206,19 +1197,19 @@ test_expect_success 'grep -e -- -- path' '
'
test_expect_success 'dashdash disambiguates rev as rev' '
- test_when_finished "rm -f master" &&
- echo content >master &&
- echo master:hello.c >expect &&
- git grep -l o master -- hello.c >actual &&
+ test_when_finished "rm -f main" &&
+ echo content >main &&
+ echo main:hello.c >expect &&
+ git grep -l o main -- hello.c >actual &&
test_cmp expect actual
'
test_expect_success 'dashdash disambiguates pathspec as pathspec' '
- test_when_finished "git rm -f master" &&
- echo content >master &&
- git add master &&
- echo master:content >expect &&
- git grep o -- master >actual &&
+ test_when_finished "git rm -f main" &&
+ echo content >main &&
+ git add main &&
+ echo main:content >expect &&
+ git grep o -- main >actual &&
test_cmp expect actual
'
@@ -1254,15 +1245,15 @@ test_expect_success 'grep --no-index pattern -- path' '
'
test_expect_success 'grep --no-index complains of revs' '
- test_must_fail git grep --no-index o master -- 2>err &&
+ test_must_fail git grep --no-index o main -- 2>err &&
test_i18ngrep "cannot be used with revs" err
'
test_expect_success 'grep --no-index prefers paths to revs' '
- test_when_finished "rm -f master" &&
- echo content >master &&
- echo master:content >expect &&
- git grep --no-index o master >actual &&
+ test_when_finished "rm -f main" &&
+ echo content >main &&
+ echo main:content >expect &&
+ git grep --no-index o main >actual &&
test_cmp expect actual
'
diff --git a/t/t7900-maintenance.sh b/t/t7900-maintenance.sh
index 55116c2f04..78ccf4b33f 100755
--- a/t/t7900-maintenance.sh
+++ b/t/t7900-maintenance.sh
@@ -7,9 +7,22 @@ test_description='git maintenance builtin'
GIT_TEST_COMMIT_GRAPH=0
GIT_TEST_MULTI_PACK_INDEX=0
+test_lazy_prereq XMLLINT '
+ xmllint --version
+'
+
+test_xmllint () {
+ if test_have_prereq XMLLINT
+ then
+ xmllint --noout "$@"
+ else
+ true
+ fi
+}
+
test_expect_success 'help text' '
test_expect_code 129 git maintenance -h 2>err &&
- test_i18ngrep "usage: git maintenance run" err &&
+ test_i18ngrep "usage: git maintenance <subcommand>" err &&
test_expect_code 128 git maintenance barf 2>err &&
test_i18ngrep "invalid subcommand: barf" err &&
test_expect_code 129 git maintenance 2>err &&
@@ -28,6 +41,19 @@ test_expect_success 'run [--auto|--quiet]' '
test_subcommand git gc --no-quiet <run-no-quiet.txt
'
+test_expect_success 'maintenance.auto config option' '
+ GIT_TRACE2_EVENT="$(pwd)/default" git commit --quiet --allow-empty -m 1 &&
+ test_subcommand git maintenance run --auto --quiet <default &&
+ GIT_TRACE2_EVENT="$(pwd)/true" \
+ git -c maintenance.auto=true \
+ commit --quiet --allow-empty -m 2 &&
+ test_subcommand git maintenance run --auto --quiet <true &&
+ GIT_TRACE2_EVENT="$(pwd)/false" \
+ git -c maintenance.auto=false \
+ commit --quiet --allow-empty -m 3 &&
+ test_subcommand ! git maintenance run --auto --quiet <false
+'
+
test_expect_success 'maintenance.<task>.enabled' '
git config maintenance.gc.enabled false &&
git config maintenance.commit-graph.enabled true &&
@@ -53,6 +79,43 @@ test_expect_success 'run --task=<task>' '
test_subcommand git commit-graph write --split --reachable --no-progress <run-both.txt
'
+test_expect_success 'core.commitGraph=false prevents write process' '
+ GIT_TRACE2_EVENT="$(pwd)/no-commit-graph.txt" \
+ git -c core.commitGraph=false maintenance run \
+ --task=commit-graph 2>/dev/null &&
+ test_subcommand ! git commit-graph write --split --reachable --no-progress \
+ <no-commit-graph.txt
+'
+
+test_expect_success 'commit-graph auto condition' '
+ COMMAND="maintenance run --task=commit-graph --auto --quiet" &&
+
+ GIT_TRACE2_EVENT="$(pwd)/cg-no.txt" \
+ git -c maintenance.commit-graph.auto=1 $COMMAND &&
+ GIT_TRACE2_EVENT="$(pwd)/cg-negative-means-yes.txt" \
+ git -c maintenance.commit-graph.auto="-1" $COMMAND &&
+
+ test_commit first &&
+
+ GIT_TRACE2_EVENT="$(pwd)/cg-zero-means-no.txt" \
+ git -c maintenance.commit-graph.auto=0 $COMMAND &&
+ GIT_TRACE2_EVENT="$(pwd)/cg-one-satisfied.txt" \
+ git -c maintenance.commit-graph.auto=1 $COMMAND &&
+
+ git commit --allow-empty -m "second" &&
+ git commit --allow-empty -m "third" &&
+
+ GIT_TRACE2_EVENT="$(pwd)/cg-two-satisfied.txt" \
+ git -c maintenance.commit-graph.auto=2 $COMMAND &&
+
+ COMMIT_GRAPH_WRITE="git commit-graph write --split --reachable --no-progress" &&
+ test_subcommand ! $COMMIT_GRAPH_WRITE <cg-no.txt &&
+ test_subcommand $COMMIT_GRAPH_WRITE <cg-negative-means-yes.txt &&
+ test_subcommand ! $COMMIT_GRAPH_WRITE <cg-zero-means-no.txt &&
+ test_subcommand $COMMIT_GRAPH_WRITE <cg-one-satisfied.txt &&
+ test_subcommand $COMMIT_GRAPH_WRITE <cg-two-satisfied.txt
+'
+
test_expect_success 'run --task=bogus' '
test_must_fail git maintenance run --task=bogus 2>err &&
test_i18ngrep "is not a valid task" err
@@ -86,7 +149,31 @@ test_expect_success 'prefetch multiple remotes' '
git log prefetch/remote2/two &&
git fetch --all &&
test_cmp_rev refs/remotes/remote1/one refs/prefetch/remote1/one &&
- test_cmp_rev refs/remotes/remote2/two refs/prefetch/remote2/two
+ test_cmp_rev refs/remotes/remote2/two refs/prefetch/remote2/two &&
+
+ test_cmp_config refs/prefetch/ log.excludedecoration &&
+ git log --oneline --decorate --all >log &&
+ ! grep "prefetch" log
+'
+
+test_expect_success 'prefetch and existing log.excludeDecoration values' '
+ git config --unset-all log.excludeDecoration &&
+ git config log.excludeDecoration refs/remotes/remote1/ &&
+ git maintenance run --task=prefetch &&
+
+ git config --get-all log.excludeDecoration >out &&
+ grep refs/remotes/remote1/ out &&
+ grep refs/prefetch/ out &&
+
+ git log --oneline --decorate --all >log &&
+ ! grep "prefetch" log &&
+ ! grep "remote1" log &&
+ grep "remote2" log &&
+
+ # a second run does not change the config
+ git maintenance run --task=prefetch &&
+ git log --oneline --decorate --all >log2 &&
+ test_cmp log log2
'
test_expect_success 'loose-objects task' '
@@ -169,6 +256,13 @@ test_expect_success 'incremental-repack task' '
HEAD
^HEAD~1
EOF
+
+ # Delete refs that have not been repacked in these packs.
+ git for-each-ref --format="delete %(refname)" \
+ refs/prefetch refs/tags >refs &&
+ git update-ref --stdin <refs &&
+
+ # Replace the object directory with this pack layout.
rm -f $packDir/pack-* &&
rm -f $packDir/loose-* &&
ls $packDir/*.pack >packs-before &&
@@ -189,13 +283,15 @@ test_expect_success 'incremental-repack task' '
'
test_expect_success EXPENSIVE 'incremental-repack 2g limit' '
+ test_config core.compression 0 &&
+
for i in $(test_seq 1 5)
do
test-tool genrandom foo$i $((512 * 1024 * 1024 + 1)) >>big ||
return 1
done &&
git add big &&
- git commit -m "Add big file (1)" &&
+ git commit -qm "Add big file (1)" &&
# ensure any possible loose objects are in a pack-file
git maintenance run --task=loose-objects &&
@@ -207,7 +303,7 @@ test_expect_success EXPENSIVE 'incremental-repack 2g limit' '
return 1
done &&
git add big &&
- git commit -m "Add big file (2)" &&
+ git commit -qm "Add big file (2)" &&
# ensure any possible loose objects are in a pack-file
git maintenance run --task=loose-objects &&
@@ -247,4 +343,267 @@ test_expect_success 'maintenance.incremental-repack.auto' '
test_subcommand git multi-pack-index write --no-progress <trace-B
'
+test_expect_success '--auto and --schedule incompatible' '
+ test_must_fail git maintenance run --auto --schedule=daily 2>err &&
+ test_i18ngrep "at most one" err
+'
+
+test_expect_success 'invalid --schedule value' '
+ test_must_fail git maintenance run --schedule=annually 2>err &&
+ test_i18ngrep "unrecognized --schedule" err
+'
+
+test_expect_success '--schedule inheritance weekly -> daily -> hourly' '
+ git config maintenance.loose-objects.enabled true &&
+ git config maintenance.loose-objects.schedule hourly &&
+ git config maintenance.commit-graph.enabled true &&
+ git config maintenance.commit-graph.schedule daily &&
+ git config maintenance.incremental-repack.enabled true &&
+ git config maintenance.incremental-repack.schedule weekly &&
+
+ GIT_TRACE2_EVENT="$(pwd)/hourly.txt" \
+ git maintenance run --schedule=hourly 2>/dev/null &&
+ test_subcommand git prune-packed --quiet <hourly.txt &&
+ test_subcommand ! git commit-graph write --split --reachable \
+ --no-progress <hourly.txt &&
+ test_subcommand ! git multi-pack-index write --no-progress <hourly.txt &&
+
+ GIT_TRACE2_EVENT="$(pwd)/daily.txt" \
+ git maintenance run --schedule=daily 2>/dev/null &&
+ test_subcommand git prune-packed --quiet <daily.txt &&
+ test_subcommand git commit-graph write --split --reachable \
+ --no-progress <daily.txt &&
+ test_subcommand ! git multi-pack-index write --no-progress <daily.txt &&
+
+ GIT_TRACE2_EVENT="$(pwd)/weekly.txt" \
+ git maintenance run --schedule=weekly 2>/dev/null &&
+ test_subcommand git prune-packed --quiet <weekly.txt &&
+ test_subcommand git commit-graph write --split --reachable \
+ --no-progress <weekly.txt &&
+ test_subcommand git multi-pack-index write --no-progress <weekly.txt
+'
+
+test_expect_success 'maintenance.strategy inheritance' '
+ for task in commit-graph loose-objects incremental-repack
+ do
+ git config --unset maintenance.$task.schedule || return 1
+ done &&
+
+ test_when_finished git config --unset maintenance.strategy &&
+ git config maintenance.strategy incremental &&
+
+ GIT_TRACE2_EVENT="$(pwd)/incremental-hourly.txt" \
+ git maintenance run --schedule=hourly --quiet &&
+ GIT_TRACE2_EVENT="$(pwd)/incremental-daily.txt" \
+ git maintenance run --schedule=daily --quiet &&
+
+ test_subcommand git commit-graph write --split --reachable \
+ --no-progress <incremental-hourly.txt &&
+ test_subcommand ! git prune-packed --quiet <incremental-hourly.txt &&
+ test_subcommand ! git multi-pack-index write --no-progress \
+ <incremental-hourly.txt &&
+
+ test_subcommand git commit-graph write --split --reachable \
+ --no-progress <incremental-daily.txt &&
+ test_subcommand git prune-packed --quiet <incremental-daily.txt &&
+ test_subcommand git multi-pack-index write --no-progress \
+ <incremental-daily.txt &&
+
+ # Modify defaults
+ git config maintenance.commit-graph.schedule daily &&
+ git config maintenance.loose-objects.schedule hourly &&
+ git config maintenance.incremental-repack.enabled false &&
+
+ GIT_TRACE2_EVENT="$(pwd)/modified-hourly.txt" \
+ git maintenance run --schedule=hourly --quiet &&
+ GIT_TRACE2_EVENT="$(pwd)/modified-daily.txt" \
+ git maintenance run --schedule=daily --quiet &&
+
+ test_subcommand ! git commit-graph write --split --reachable \
+ --no-progress <modified-hourly.txt &&
+ test_subcommand git prune-packed --quiet <modified-hourly.txt &&
+ test_subcommand ! git multi-pack-index write --no-progress \
+ <modified-hourly.txt &&
+
+ test_subcommand git commit-graph write --split --reachable \
+ --no-progress <modified-daily.txt &&
+ test_subcommand git prune-packed --quiet <modified-daily.txt &&
+ test_subcommand ! git multi-pack-index write --no-progress \
+ <modified-daily.txt
+'
+
+test_expect_success 'register and unregister' '
+ test_when_finished git config --global --unset-all maintenance.repo &&
+ git config --global --add maintenance.repo /existing1 &&
+ git config --global --add maintenance.repo /existing2 &&
+ git config --global --get-all maintenance.repo >before &&
+
+ git maintenance register &&
+ test_cmp_config false maintenance.auto &&
+ git config --global --get-all maintenance.repo >between &&
+ cp before expect &&
+ pwd >>expect &&
+ test_cmp expect between &&
+
+ git maintenance unregister &&
+ git config --global --get-all maintenance.repo >actual &&
+ test_cmp before actual
+'
+
+test_expect_success !MINGW 'register and unregister with regex metacharacters' '
+ META="a+b*c" &&
+ git init "$META" &&
+ git -C "$META" maintenance register &&
+ git config --get-all --show-origin maintenance.repo &&
+ git config --get-all --global --fixed-value \
+ maintenance.repo "$(pwd)/$META" &&
+ git -C "$META" maintenance unregister &&
+ test_must_fail git config --get-all --global --fixed-value \
+ maintenance.repo "$(pwd)/$META"
+'
+
+test_expect_success 'start from empty cron table' '
+ GIT_TEST_MAINT_SCHEDULER="crontab:test-tool crontab cron.txt" git maintenance start &&
+
+ # start registers the repo
+ git config --get --global --fixed-value maintenance.repo "$(pwd)" &&
+
+ grep "for-each-repo --config=maintenance.repo maintenance run --schedule=daily" cron.txt &&
+ grep "for-each-repo --config=maintenance.repo maintenance run --schedule=hourly" cron.txt &&
+ grep "for-each-repo --config=maintenance.repo maintenance run --schedule=weekly" cron.txt
+'
+
+test_expect_success 'stop from existing schedule' '
+ GIT_TEST_MAINT_SCHEDULER="crontab:test-tool crontab cron.txt" git maintenance stop &&
+
+ # stop does not unregister the repo
+ git config --get --global --fixed-value maintenance.repo "$(pwd)" &&
+
+ # Operation is idempotent
+ GIT_TEST_MAINT_SCHEDULER="crontab:test-tool crontab cron.txt" git maintenance stop &&
+ test_must_be_empty cron.txt
+'
+
+test_expect_success 'start preserves existing schedule' '
+ echo "Important information!" >cron.txt &&
+ GIT_TEST_MAINT_SCHEDULER="crontab:test-tool crontab cron.txt" git maintenance start &&
+ grep "Important information!" cron.txt
+'
+
+test_expect_success 'magic markers are correct' '
+ grep "GIT MAINTENANCE SCHEDULE" cron.txt >actual &&
+ cat >expect <<-\EOF &&
+ # BEGIN GIT MAINTENANCE SCHEDULE
+ # END GIT MAINTENANCE SCHEDULE
+ EOF
+ test_cmp actual expect
+'
+
+test_expect_success 'stop preserves surrounding schedule' '
+ echo "Crucial information!" >>cron.txt &&
+ GIT_TEST_MAINT_SCHEDULER="crontab:test-tool crontab cron.txt" git maintenance stop &&
+ grep "Important information!" cron.txt &&
+ grep "Crucial information!" cron.txt
+'
+
+test_expect_success 'start and stop macOS maintenance' '
+ # ensure $HOME can be compared against hook arguments on all platforms
+ pfx=$(cd "$HOME" && pwd) &&
+
+ write_script print-args <<-\EOF &&
+ echo $* | sed "s:gui/[0-9][0-9]*:gui/[UID]:" >>args
+ EOF
+
+ rm -f args &&
+ GIT_TEST_MAINT_SCHEDULER=launchctl:./print-args git maintenance start &&
+
+ # start registers the repo
+ git config --get --global --fixed-value maintenance.repo "$(pwd)" &&
+
+ ls "$HOME/Library/LaunchAgents" >actual &&
+ cat >expect <<-\EOF &&
+ org.git-scm.git.daily.plist
+ org.git-scm.git.hourly.plist
+ org.git-scm.git.weekly.plist
+ EOF
+ test_cmp expect actual &&
+
+ rm -f expect &&
+ for frequency in hourly daily weekly
+ do
+ PLIST="$pfx/Library/LaunchAgents/org.git-scm.git.$frequency.plist" &&
+ test_xmllint "$PLIST" &&
+ grep schedule=$frequency "$PLIST" &&
+ echo "bootout gui/[UID] $PLIST" >>expect &&
+ echo "bootstrap gui/[UID] $PLIST" >>expect || return 1
+ done &&
+ test_cmp expect args &&
+
+ rm -f args &&
+ GIT_TEST_MAINT_SCHEDULER=launchctl:./print-args git maintenance stop &&
+
+ # stop does not unregister the repo
+ git config --get --global --fixed-value maintenance.repo "$(pwd)" &&
+
+ printf "bootout gui/[UID] $pfx/Library/LaunchAgents/org.git-scm.git.%s.plist\n" \
+ hourly daily weekly >expect &&
+ test_cmp expect args &&
+ ls "$HOME/Library/LaunchAgents" >actual &&
+ test_line_count = 0 actual
+'
+
+test_expect_success 'start and stop Windows maintenance' '
+ write_script print-args <<-\EOF &&
+ echo $* >>args
+ while test $# -gt 0
+ do
+ case "$1" in
+ /xml) shift; xmlfile=$1; break ;;
+ *) shift ;;
+ esac
+ done
+ test -z "$xmlfile" || cp "$xmlfile" "$xmlfile.xml"
+ EOF
+
+ rm -f args &&
+ GIT_TEST_MAINT_SCHEDULER="schtasks:./print-args" git maintenance start &&
+
+ # start registers the repo
+ git config --get --global --fixed-value maintenance.repo "$(pwd)" &&
+
+ for frequency in hourly daily weekly
+ do
+ grep "/create /tn Git Maintenance ($frequency) /f /xml" args &&
+ file=$(ls .git/schedule_${frequency}*.xml) &&
+ test_xmllint "$file" || return 1
+ done &&
+
+ rm -f args &&
+ GIT_TEST_MAINT_SCHEDULER="schtasks:./print-args" git maintenance stop &&
+
+ # stop does not unregister the repo
+ git config --get --global --fixed-value maintenance.repo "$(pwd)" &&
+
+ printf "/delete /tn Git Maintenance (%s) /f\n" \
+ hourly daily weekly >expect &&
+ test_cmp expect args
+'
+
+test_expect_success 'register preserves existing strategy' '
+ git config maintenance.strategy none &&
+ git maintenance register &&
+ test_config maintenance.strategy none &&
+ git config --unset maintenance.strategy &&
+ git maintenance register &&
+ test_config maintenance.strategy incremental
+'
+
+test_expect_success 'fails when running outside of a repository' '
+ nongit test_must_fail git maintenance run &&
+ nongit test_must_fail git maintenance stop &&
+ nongit test_must_fail git maintenance start &&
+ nongit test_must_fail git maintenance register &&
+ nongit test_must_fail git maintenance unregister
+'
+
test_done
diff --git a/t/t8001-annotate.sh b/t/t8001-annotate.sh
index 72176e42c1..a536a621b2 100755
--- a/t/t8001-annotate.sh
+++ b/t/t8001-annotate.sh
@@ -1,13 +1,16 @@
#!/bin/sh
test_description='git annotate'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
PROG='git annotate'
. "$TEST_DIRECTORY"/annotate-tests.sh
test_expect_success 'annotate old revision' '
- git annotate file master >actual &&
+ git annotate file main >actual &&
awk "{ print \$3; }" <actual >authors &&
test 2 = $(grep A <authors | wc -l) &&
test 2 = $(grep B <authors | wc -l)
diff --git a/t/t8002-blame.sh b/t/t8002-blame.sh
index 015973e8fe..5bb302b1ba 100755
--- a/t/t8002-blame.sh
+++ b/t/t8002-blame.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='git blame'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
PROG='git blame -c'
diff --git a/t/t8003-blame-corner-cases.sh b/t/t8003-blame-corner-cases.sh
index ba8013b002..da80f815ce 100755
--- a/t/t8003-blame-corner-cases.sh
+++ b/t/t8003-blame-corner-cases.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='git blame corner cases'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
pick_fc='s/^[0-9a-f^]* *\([^ ]*\) *(\([^ ]*\) .*/\1-\2/'
@@ -161,13 +164,13 @@ test_expect_success 'blame wholesale copy and more in the index' '
test_expect_success 'blame during cherry-pick with file rename conflict' '
- test_when_finished "git reset --hard && git checkout master" &&
+ test_when_finished "git reset --hard && git checkout main" &&
git checkout HEAD~3 &&
echo MOUSE >> mouse &&
git mv mouse rodent &&
git add rodent &&
GIT_AUTHOR_NAME=Rodent git commit -m "rodent" &&
- git checkout --detach master &&
+ git checkout --detach main &&
(git cherry-pick HEAD@{1} || test $? -eq 1) &&
git show HEAD@{1}:rodent > rodent &&
git add rodent &&
diff --git a/t/t8004-blame-with-conflicts.sh b/t/t8004-blame-with-conflicts.sh
index 9c353ab222..35414a5336 100755
--- a/t/t8004-blame-with-conflicts.sh
+++ b/t/t8004-blame-with-conflicts.sh
@@ -3,6 +3,9 @@
# Based on a test case submitted by Björn Steinbrink.
test_description='git blame on conflicted files'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup first case' '
@@ -21,16 +24,16 @@ test_expect_success 'setup first case' '
git add file2 &&
git commit --author "U Gly <ug@localhost>" -m ugly &&
- # Back to master and change something
- git checkout master &&
+ # Back to main and change something
+ git checkout main &&
echo "
bla" >> file1 &&
git commit --author "Old Line <ol@localhost>" -a -m file1.b &&
- # Back to foo and merge master
+ # Back to foo and merge main
git checkout foo &&
- if git merge master; then
+ if git merge main; then
echo needed conflict here
exit 1
else
@@ -44,8 +47,8 @@ Even more" > file2 &&
git rm file1 &&
git commit --author "M Result <mr@localhost>" -a -m merged &&
- # Back to master and change file1 again
- git checkout master &&
+ # Back to main and change file1 again
+ git checkout main &&
sed s/bla/foo/ <file1 >X &&
rm file1 &&
mv X file1 &&
@@ -53,7 +56,7 @@ Even more" > file2 &&
# Try to merge into foo again
git checkout foo &&
- if git merge master; then
+ if git merge main; then
echo needed conflict here
exit 1
else
diff --git a/t/t8012-blame-colors.sh b/t/t8012-blame-colors.sh
index ed38f74de9..90c75dbb28 100755
--- a/t/t8012-blame-colors.sh
+++ b/t/t8012-blame-colors.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='colored git blame'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
PROG='git blame -c'
diff --git a/t/t8013-blame-ignore-revs.sh b/t/t8013-blame-ignore-revs.sh
index 24ae5018e8..b18633dee1 100755
--- a/t/t8013-blame-ignore-revs.sh
+++ b/t/t8013-blame-ignore-revs.sh
@@ -39,10 +39,10 @@ test_expect_success 'validate --ignore-rev' '
test_must_fail git blame --ignore-rev X^{tree} file
'
-# Ensure bogus --ignore-revs-file requests are caught
+# Ensure bogus --ignore-revs-file requests are silently accepted
test_expect_success 'validate --ignore-revs-file' '
git rev-parse X^{tree} >ignore_x &&
- test_must_fail git blame --ignore-revs-file ignore_x file
+ git blame --ignore-revs-file ignore_x file
'
for I in X XT
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
index a08f72596a..4eee9c3dcb 100755
--- a/t/t9001-send-email.sh
+++ b/t/t9001-send-email.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='git send-email'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
# May be altered later in the test
@@ -1168,10 +1171,10 @@ test_expect_success $PREREQ '--compose-encoding adds correct MIME for subject' '
'
test_expect_success $PREREQ 'detects ambiguous reference/file conflict' '
- echo master >master &&
- git add master &&
- git commit -m"add master" &&
- test_must_fail git send-email --dry-run master 2>errors &&
+ echo main >main &&
+ git add main &&
+ git commit -m"add main" &&
+ test_must_fail git send-email --dry-run main 2>errors &&
grep disambiguate errors
'
@@ -1185,7 +1188,7 @@ test_expect_success $PREREQ 'feed two files' '
outdir/000?-*.patch 2>errors >out &&
grep "^Subject: " out >subjects &&
test "z$(sed -n -e 1p subjects)" = "zSubject: [PATCH 1/2] Second." &&
- test "z$(sed -n -e 2p subjects)" = "zSubject: [PATCH 2/2] add master"
+ test "z$(sed -n -e 2p subjects)" = "zSubject: [PATCH 2/2] add main"
'
test_expect_success $PREREQ 'in-reply-to but no threading' '
@@ -2037,7 +2040,7 @@ test_expect_success $PREREQ 'setup expected-list' '
--cc="Cc2 <cc2@example.com>" \
--bcc="bcc1@example.com" \
--bcc="bcc2@example.com" \
- 0001-add-master.patch | replace_variable_fields \
+ 0001-add-main.patch | replace_variable_fields \
>expected-list
'
@@ -2049,7 +2052,7 @@ test_expect_success $PREREQ 'use email list in --cc --to and --bcc' '
--to="to3@example.com" \
--cc="Cc 1 <cc1@example.com>, Cc2 <cc2@example.com>" \
--bcc="bcc1@example.com, bcc2@example.com" \
- 0001-add-master.patch | replace_variable_fields \
+ 0001-add-main.patch | replace_variable_fields \
>actual-list &&
test_cmp expected-list actual-list
'
@@ -2065,7 +2068,7 @@ test_expect_success $PREREQ 'aliases work with email list' '
--to="To 1 <to1@example.com>, to2, to3@example.com" \
--cc="cc1, Cc2 <cc2@example.com>" \
--bcc="bcc1@example.com, bcc2@example.com" \
- 0001-add-master.patch | replace_variable_fields \
+ 0001-add-main.patch | replace_variable_fields \
>actual-list &&
test_cmp expected-list actual-list
'
@@ -2089,7 +2092,7 @@ test_expect_success $PREREQ 'leading and trailing whitespaces are removed' '
--cc="Cc2 <cc2@example.com>" \
--bcc="$BCC1" \
--bcc="bcc2@example.com" \
- 0001-add-master.patch | replace_variable_fields \
+ 0001-add-main.patch | replace_variable_fields \
>actual-list &&
test_cmp expected-list actual-list
'
@@ -2108,8 +2111,8 @@ test_expect_success $PREREQ 'invoke hook' '
false
;;
esac &&
- test -f 0001-add-master.patch &&
- grep "add master" "$1"
+ test -f 0001-add-main.patch &&
+ grep "add main" "$1"
EOF
mkdir subdir &&
@@ -2121,10 +2124,10 @@ test_expect_success $PREREQ 'invoke hook' '
--from="Example <nobody@example.com>" \
--to=nobody@example.com \
--smtp-server="$(pwd)/../fake.sendmail" \
- ../0001-add-master.patch &&
+ ../0001-add-main.patch &&
# Verify error message when a patch is rejected by the hook
- sed -e "s/add master/x/" ../0001-add-master.patch >../another.patch &&
+ sed -e "s/add main/x/" ../0001-add-main.patch >../another.patch &&
test_must_fail git send-email \
--from="Example <nobody@example.com>" \
--to=nobody@example.com \
@@ -2139,7 +2142,7 @@ test_expect_success $PREREQ 'test that send-email works outside a repo' '
--from="Example <nobody@example.com>" \
--to=nobody@example.com \
--smtp-server="$(pwd)/fake.sendmail" \
- "$(pwd)/0001-add-master.patch"
+ "$(pwd)/0001-add-main.patch"
'
test_expect_success $PREREQ 'test that sendmail config is rejected' '
diff --git a/t/t9003-help-autocorrect.sh b/t/t9003-help-autocorrect.sh
index b1c7919c4a..03cd5c5423 100755
--- a/t/t9003-help-autocorrect.sh
+++ b/t/t9003-help-autocorrect.sh
@@ -37,16 +37,30 @@ test_expect_success 'autocorrect showing candidates' '
grep "^ distimdistim" actual
'
-test_expect_success 'autocorrect running commands' '
- git config help.autocorrect -1 &&
+for immediate in -1 immediate
+do
+ test_expect_success 'autocorrect running commands' '
+ git config help.autocorrect $immediate &&
- git lfg >actual &&
- echo "a single log entry" >expect &&
- test_cmp expect actual &&
+ git lfg >actual &&
+ echo "a single log entry" >expect &&
+ test_cmp expect actual &&
- git distimdist >actual &&
- echo "distimdistim was called" >expect &&
- test_cmp expect actual
+ git distimdist >actual &&
+ echo "distimdistim was called" >expect &&
+ test_cmp expect actual
+ '
+done
+
+test_expect_success 'autocorrect can be declined altogether' '
+ git config help.autocorrect never &&
+
+ test_must_fail git lfg 2>actual &&
+ if test_have_prereq C_LOCALE_OUTPUT
+ then
+ grep "is not a git command" actual &&
+ test_line_count = 1 actual
+ fi
'
test_done
diff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh
index e4bb22034e..1d3fdcc997 100755
--- a/t/t9100-git-svn-basic.sh
+++ b/t/t9100-git-svn-basic.sh
@@ -6,6 +6,9 @@
test_description='git svn basic tests'
GIT_SVN_LC_ALL=${LC_ALL:-$LANG}
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-git-svn.sh
case "$GIT_SVN_LC_ALL" in
@@ -275,7 +278,7 @@ test_expect_success 'dcommit $rev does not clobber current branch' '
test refs/heads/my-bar = $(git symbolic-ref HEAD) &&
git log refs/remotes/bar | grep "change 1" &&
! git log refs/remotes/bar | grep "change 2" &&
- git checkout master &&
+ git checkout main &&
git branch -D my-bar
'
diff --git a/t/t9145-git-svn-master-branch.sh b/t/t9145-git-svn-master-branch.sh
index 3bbf341f6a..f863e437f7 100755
--- a/t/t9145-git-svn-master-branch.sh
+++ b/t/t9145-git-svn-master-branch.sh
@@ -2,7 +2,10 @@
#
# Copyright (c) 2009 Eric Wong
#
-test_description='git svn initial master branch is "trunk" if possible'
+test_description='git svn initial main branch is "trunk" if possible'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-git-svn.sh
test_expect_success 'setup test repository' '
@@ -13,12 +16,12 @@ test_expect_success 'setup test repository' '
svn_cmd import -m b/b i "$svnrepo/branches/b"
'
-test_expect_success 'git svn clone --stdlayout sets up trunk as master' '
+test_expect_success 'git svn clone --stdlayout sets up trunk as main' '
git svn clone -s "$svnrepo" g &&
(
cd g &&
test x$(git rev-parse --verify refs/remotes/origin/trunk^0) = \
- x$(git rev-parse --verify refs/heads/master^0)
+ x$(git rev-parse --verify refs/heads/main^0)
)
'
diff --git a/t/t9151-svn-mergeinfo.sh b/t/t9151-svn-mergeinfo.sh
index 4f6c06ecb2..696ace2462 100755
--- a/t/t9151-svn-mergeinfo.sh
+++ b/t/t9151-svn-mergeinfo.sh
@@ -5,6 +5,9 @@
test_description='git-svn svn mergeinfo properties'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-git-svn.sh
test_expect_success 'load svn dump' "
@@ -50,7 +53,7 @@ test_expect_success 'merging two branches in one commit is detected correctly' '
'
test_expect_failure 'everything got merged in the end' '
- unmerged=$(git rev-list --all --not master) &&
+ unmerged=$(git rev-list --all --not main) &&
[ -z "$unmerged" ]
'
diff --git a/t/t9155-git-svn-fetch-deleted-tag.sh b/t/t9155-git-svn-fetch-deleted-tag.sh
index 184336f346..3258374c13 100755
--- a/t/t9155-git-svn-fetch-deleted-tag.sh
+++ b/t/t9155-git-svn-fetch-deleted-tag.sh
@@ -2,6 +2,9 @@
test_description='git svn fetch deleted tag'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-git-svn.sh
test_expect_success 'setup svn repo' '
@@ -36,7 +39,7 @@ test_expect_success 'fetch deleted tags from same revision with checksum error'
git svn fetch &&
git diff --exit-code origin/mybranch:trunk/subdir/file origin/tags/mytag:file &&
- git diff --exit-code master:subdir/file origin/tags/mytag^:file
+ git diff --exit-code main:subdir/file origin/tags/mytag^:file
'
test_done
diff --git a/t/t9156-git-svn-fetch-deleted-tag-2.sh b/t/t9156-git-svn-fetch-deleted-tag-2.sh
index 7a6e33ba3c..2b75c403e3 100755
--- a/t/t9156-git-svn-fetch-deleted-tag-2.sh
+++ b/t/t9156-git-svn-fetch-deleted-tag-2.sh
@@ -2,6 +2,9 @@
test_description='git svn fetch deleted tag 2'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-git-svn.sh
test_expect_success 'setup svn repo' '
@@ -36,9 +39,9 @@ test_expect_success 'fetch deleted tags from same revision with no checksum erro
cd git_project &&
git svn fetch &&
- git diff --exit-code master:subdir3/file origin/tags/mytag:file &&
- git diff --exit-code master:subdir2/file origin/tags/mytag^:file &&
- git diff --exit-code master:subdir1/file origin/tags/mytag^^:file
+ git diff --exit-code main:subdir3/file origin/tags/mytag:file &&
+ git diff --exit-code main:subdir2/file origin/tags/mytag^:file &&
+ git diff --exit-code main:subdir1/file origin/tags/mytag^^:file
'
test_done
diff --git a/t/t9163-git-svn-reset-clears-caches.sh b/t/t9163-git-svn-reset-clears-caches.sh
index d6245cee08..978eb62ff4 100755
--- a/t/t9163-git-svn-reset-clears-caches.sh
+++ b/t/t9163-git-svn-reset-clears-caches.sh
@@ -4,6 +4,9 @@
#
test_description='git svn reset clears memoized caches'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-git-svn.sh
svn_ver="$(svn --version --quiet)"
@@ -59,7 +62,7 @@ test_expect_success 'fetch to merge-base (a)' '
test_expect_success 'rebase looses SVN merge (m)' '
git svn rebase &&
git svn fetch &&
- test 1 = $(git cat-file -p master|grep parent|wc -l)
+ test 1 = $(git cat-file -p main|grep parent|wc -l)
'
# git svn fetch creates correct history with merge commit
diff --git a/t/t9169-git-svn-dcommit-crlf.sh b/t/t9169-git-svn-dcommit-crlf.sh
index 54b1f61a2a..7080b5d24f 100755
--- a/t/t9169-git-svn-dcommit-crlf.sh
+++ b/t/t9169-git-svn-dcommit-crlf.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='git svn dcommit CRLF'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-git-svn.sh
test_expect_success 'setup commit repository' '
@@ -14,7 +17,7 @@ test_expect_success 'setup commit repository' '
p=$(git rev-parse HEAD) &&
t=$(git write-tree) &&
cmt=$(git commit-tree -p $p $t <cmt) &&
- git update-ref refs/heads/master $cmt &&
+ git update-ref refs/heads/main $cmt &&
git cat-file commit HEAD | tail -n4 >out &&
test_cmp cmt out &&
git svn dcommit &&
diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh
index 308c1ef42c..3d17e932a0 100755
--- a/t/t9300-fast-import.sh
+++ b/t/t9300-fast-import.sh
@@ -4,6 +4,9 @@
#
test_description='test git fast-import utility'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
. "$TEST_DIRECTORY"/diff-lib.sh ;# test-lib chdir's into trash
@@ -62,7 +65,7 @@ test_expect_success 'A: create pack from stdin' '
mark :4
data $file4_len
$file4_data
- commit refs/heads/master
+ commit refs/heads/main
mark :5
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
@@ -117,7 +120,7 @@ test_expect_success 'A: create pack from stdin' '
INPUT_END
git fast-import --export-marks=marks.out <input &&
- git whatchanged master
+ git whatchanged main
'
test_expect_success 'A: verify pack' '
@@ -131,7 +134,7 @@ test_expect_success 'A: verify commit' '
initial
EOF
- git cat-file commit master | sed 1d >actual &&
+ git cat-file commit main | sed 1d >actual &&
test_cmp expect actual
'
@@ -141,31 +144,31 @@ test_expect_success 'A: verify tree' '
100644 blob file3
100755 blob file4
EOF
- git cat-file -p master^{tree} | sed "s/ [0-9a-f]* / /" >actual &&
+ git cat-file -p main^{tree} | sed "s/ [0-9a-f]* / /" >actual &&
test_cmp expect actual
'
test_expect_success 'A: verify file2' '
echo "$file2_data" >expect &&
- git cat-file blob master:file2 >actual &&
+ git cat-file blob main:file2 >actual &&
test_cmp expect actual
'
test_expect_success 'A: verify file3' '
echo "$file3_data" >expect &&
- git cat-file blob master:file3 >actual &&
+ git cat-file blob main:file3 >actual &&
test_cmp expect actual
'
test_expect_success 'A: verify file4' '
printf "$file4_data" >expect &&
- git cat-file blob master:file4 >actual &&
+ git cat-file blob main:file4 >actual &&
test_cmp expect actual
'
test_expect_success 'A: verify tag/series-A' '
cat >expect <<-EOF &&
- object $(git rev-parse refs/heads/master)
+ object $(git rev-parse refs/heads/main)
type commit
tag series-A
@@ -177,7 +180,7 @@ test_expect_success 'A: verify tag/series-A' '
test_expect_success 'A: verify tag/series-A-blob' '
cat >expect <<-EOF &&
- object $(git rev-parse refs/heads/master:file3)
+ object $(git rev-parse refs/heads/main:file3)
type blob
tag series-A-blob
@@ -193,13 +196,13 @@ test_expect_success 'A: verify tag deletion is successful' '
test_expect_success 'A: verify marks output' '
cat >expect <<-EOF &&
- :2 $(git rev-parse --verify master:file2)
- :3 $(git rev-parse --verify master:file3)
- :4 $(git rev-parse --verify master:file4)
- :5 $(git rev-parse --verify master^0)
+ :2 $(git rev-parse --verify main:file2)
+ :3 $(git rev-parse --verify main:file3)
+ :4 $(git rev-parse --verify main:file4)
+ :5 $(git rev-parse --verify main^0)
:6 $(git cat-file tag nested | grep object | cut -d" " -f 2)
:7 $(git rev-parse --verify nested)
- :8 $(git rev-parse --verify master^0)
+ :8 $(git rev-parse --verify main^0)
EOF
test_cmp expect marks.out
'
@@ -217,7 +220,7 @@ test_expect_success 'A: tag blob by sha1' '
new_blob=$(echo testing | git hash-object --stdin) &&
cat >input <<-INPUT_END &&
tag series-A-blob-2
- from $(git rev-parse refs/heads/master:file3)
+ from $(git rev-parse refs/heads/main:file3)
data <<EOF
Tag blob by sha1.
EOF
@@ -243,7 +246,7 @@ test_expect_success 'A: tag blob by sha1' '
INPUT_END
cat >expect <<-EOF &&
- object $(git rev-parse refs/heads/master:file3)
+ object $(git rev-parse refs/heads/main:file3)
type blob
tag series-A-blob-2
@@ -284,13 +287,13 @@ test_expect_success 'A: verify pack' '
'
test_expect_success 'A: verify diff' '
- copy=$(git rev-parse --verify master:file2) &&
+ copy=$(git rev-parse --verify main:file2) &&
cat >expect <<-EOF &&
:000000 100755 $ZERO_OID $copy A copy-of-file2
EOF
- git diff-tree -M -r master verify--import-marks >actual &&
+ git diff-tree -M -r main verify--import-marks >actual &&
compare_diff_raw expect actual &&
- test $(git rev-parse --verify master:file2) \
+ test $(git rev-parse --verify main:file2) \
= $(git rev-parse --verify verify--import-marks:copy-of-file2)
'
@@ -364,7 +367,7 @@ test_expect_success 'B: fail on invalid blob sha1' '
corrupt
COMMIT
- from refs/heads/master
+ from refs/heads/main
M 755 $(echo $ZERO_OID | sed -e "s/0$/1/") zero1
INPUT_END
@@ -381,7 +384,7 @@ test_expect_success 'B: accept branch name "TEMP_TAG"' '
tag base
COMMIT
- from refs/heads/master
+ from refs/heads/main
INPUT_END
@@ -390,7 +393,7 @@ test_expect_success 'B: accept branch name "TEMP_TAG"' '
git prune" &&
git fast-import <input &&
test -f .git/TEMP_TAG &&
- test $(git rev-parse master) = $(git rev-parse TEMP_TAG^)
+ test $(git rev-parse main) = $(git rev-parse TEMP_TAG^)
'
test_expect_success 'B: accept empty committer' '
@@ -528,8 +531,8 @@ test_expect_success 'B: fail on invalid committer (5)' '
test_expect_success 'C: incremental import create pack from stdin' '
newf=$(echo hi newf | git hash-object -w --stdin) &&
- oldf=$(git rev-parse --verify master:file2) &&
- thrf=$(git rev-parse --verify master:file3) &&
+ oldf=$(git rev-parse --verify main:file2) &&
+ thrf=$(git rev-parse --verify main:file3) &&
test_tick &&
cat >input <<-INPUT_END &&
commit refs/heads/branch
@@ -538,7 +541,7 @@ test_expect_success 'C: incremental import create pack from stdin' '
second
COMMIT
- from refs/heads/master
+ from refs/heads/main
M 644 $oldf file2/oldf
M 755 $newf file2/newf
D file3
@@ -560,7 +563,7 @@ test_expect_success 'C: validate reuse existing blob' '
test_expect_success 'C: verify commit' '
cat >expect <<-EOF &&
- parent $(git rev-parse --verify master^0)
+ parent $(git rev-parse --verify main^0)
author $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
@@ -578,7 +581,7 @@ test_expect_success 'C: validate rename result' '
:100644 100644 $oldf $oldf R100 file2 file2/oldf
:100644 000000 $thrf $zero D file3
EOF
- git diff-tree -M -r master branch >actual &&
+ git diff-tree -M -r main branch >actual &&
compare_diff_raw expect actual
'
@@ -1698,7 +1701,7 @@ test_expect_success 'P: superproject & submodule mix' '
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data 8
initial
- from refs/heads/master
+ from refs/heads/main
M 100644 :3 .gitmodules
M 160000 :2 sub
@@ -1733,8 +1736,8 @@ test_expect_success 'P: superproject & submodule mix' '
(
cd sub &&
git init &&
- git fetch --update-head-ok .. refs/heads/sub:refs/heads/master &&
- git checkout master
+ git fetch --update-head-ok .. refs/heads/sub:refs/heads/main &&
+ git checkout main
) &&
git submodule init &&
git submodule update
@@ -1758,7 +1761,7 @@ test_expect_success 'P: verbatim SHA gitlinks' '
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data 8
initial
- from refs/heads/master
+ from refs/heads/main
M 100644 :1 .gitmodules
M 160000 $SUBPREV sub
@@ -3429,8 +3432,8 @@ mark :1
data 4
foo
-reset refs/heads/master
-commit refs/heads/master
+reset refs/heads/main
+commit refs/heads/main
mark :2
author Full Name <user@company.tld> 1000000000 +0100
committer Full Name <user@company.tld> 1000000000 +0100
@@ -3444,7 +3447,7 @@ data 8
foo
bar
-commit refs/heads/master
+commit refs/heads/main
mark :4
author Full Name <user@company.tld> 1000000001 +0100
committer Full Name <user@company.tld> 1000000001 +0100
@@ -3461,8 +3464,8 @@ mark :1
data 4
foo
-reset refs/heads/master
-commit refs/heads/master
+reset refs/heads/main
+commit refs/heads/main
mark :2
author Full Name <user@company.tld> 2000000000 +0100
committer Full Name <user@company.tld> 2000000000 +0100
@@ -3477,7 +3480,7 @@ data 73
path = sub1
url = https://void.example.com/main.git
-commit refs/heads/master
+commit refs/heads/main
mark :4
author Full Name <user@company.tld> 2000000001 +0100
committer Full Name <user@company.tld> 2000000001 +0100
@@ -3493,7 +3496,7 @@ data 8
foo
bar
-commit refs/heads/master
+commit refs/heads/main
mark :6
author Full Name <user@company.tld> 2000000002 +0100
committer Full Name <user@company.tld> 2000000002 +0100
@@ -3511,8 +3514,8 @@ Y_INPUT_END
test_expect_success 'Y: setup' '
test_oid_cache <<-EOF
- Ymaster sha1:9afed2f9161ddf416c0a1863b8b0725b00070504
- Ymaster sha256:c0a1010da1df187b2e287654793df01b464bd6f8e3f17fc1481a7dadf84caee3
+ Ymain sha1:9afed2f9161ddf416c0a1863b8b0725b00070504
+ Ymain sha256:c0a1010da1df187b2e287654793df01b464bd6f8e3f17fc1481a7dadf84caee3
EOF
'
@@ -3524,7 +3527,7 @@ test_expect_success 'Y: rewrite submodules' '
git -C sub2 fast-import --export-marks=../sub2-marks <../Y-sub-input &&
git fast-import --rewrite-submodules-from=sub:../Y-marks \
--rewrite-submodules-to=sub:sub2-marks <../Y-main-input &&
- test "$(git rev-parse master)" = "$(test_oid Ymaster)"
+ test "$(git rev-parse main)" = "$(test_oid Ymain)"
)
'
diff --git a/t/t9301-fast-import-notes.sh b/t/t9301-fast-import-notes.sh
index 14c1baa739..1ae4d7c0d3 100755
--- a/t/t9301-fast-import-notes.sh
+++ b/t/t9301-fast-import-notes.sh
@@ -4,12 +4,15 @@
#
test_description='test git fast-import of notes objects'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_tick
cat >input <<INPUT_END
-commit refs/heads/master
+commit refs/heads/main
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
first commit
@@ -30,7 +33,7 @@ data <<EOF
file baz/xyzzy in first commit
EOF
-commit refs/heads/master
+commit refs/heads/main
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
second commit
@@ -46,7 +49,7 @@ data <<EOF
file baz/xyzzy in second commit
EOF
-commit refs/heads/master
+commit refs/heads/main
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
third commit
@@ -57,7 +60,7 @@ data <<EOF
file foo in third commit
EOF
-commit refs/heads/master
+commit refs/heads/main
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
fourth commit
@@ -70,13 +73,13 @@ EOF
INPUT_END
-test_expect_success 'set up master branch' '
+test_expect_success 'set up main branch' '
git fast-import <input &&
- git whatchanged master
+ git whatchanged main
'
-commit4=$(git rev-parse refs/heads/master)
+commit4=$(git rev-parse refs/heads/main)
commit3=$(git rev-parse "$commit4^")
commit2=$(git rev-parse "$commit4~2")
commit1=$(git rev-parse "$commit4~3")
diff --git a/t/t9302-fast-import-unpack-limit.sh b/t/t9302-fast-import-unpack-limit.sh
index bb1c39cfcc..f519e4f1bf 100755
--- a/t/t9302-fast-import-unpack-limit.sh
+++ b/t/t9302-fast-import-unpack-limit.sh
@@ -5,7 +5,7 @@ test_description='test git fast-import unpack limit'
test_expect_success 'create loose objects on import' '
test_tick &&
cat >input <<-INPUT_END &&
- commit refs/heads/master
+ commit refs/heads/main
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
initial
@@ -23,12 +23,12 @@ test_expect_success 'create loose objects on import' '
test_expect_success 'bigger packs are preserved' '
test_tick &&
cat >input <<-INPUT_END &&
- commit refs/heads/master
+ commit refs/heads/main
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
data <<COMMIT
incremental should create a pack
COMMIT
- from refs/heads/master^0
+ from refs/heads/main^0
commit refs/heads/branch
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
@@ -48,7 +48,7 @@ test_expect_success 'bigger packs are preserved' '
test_expect_success 'lookups after checkpoint works' '
hello_id=$(echo hello | git hash-object --stdin -t blob) &&
id="$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE" &&
- before=$(git rev-parse refs/heads/master^0) &&
+ before=$(git rev-parse refs/heads/main^0) &&
(
cat <<-INPUT_END &&
blob
@@ -56,13 +56,13 @@ test_expect_success 'lookups after checkpoint works' '
data 6
hello
- commit refs/heads/master
+ commit refs/heads/main
mark :2
committer $id
data <<COMMIT
checkpoint after this
COMMIT
- from refs/heads/master^0
+ from refs/heads/main^0
M 100644 :1 hello
# pre-checkpoint
@@ -86,10 +86,10 @@ test_expect_success 'lookups after checkpoint works' '
n=$(($n + 1))
fi &&
sleep 1 &&
- from=$(git rev-parse refs/heads/master^0)
+ from=$(git rev-parse refs/heads/main^0)
done &&
cat <<-INPUT_END &&
- commit refs/heads/master
+ commit refs/heads/main
committer $id
data <<COMMIT
make sure from "unpacked sha1 reference" works, too
diff --git a/t/t9303-fast-import-compression.sh b/t/t9303-fast-import-compression.sh
index 5045f02a53..57d916524e 100755
--- a/t/t9303-fast-import-compression.sh
+++ b/t/t9303-fast-import-compression.sh
@@ -3,12 +3,6 @@
test_description='compression setting of fast-import utility'
. ./test-lib.sh
-# This should be moved to test-lib.sh together with the
-# copy in t0021 after both topics have graduated to 'master'.
-file_size () {
- test-tool path-utils file-size "$1"
-}
-
import_large () {
(
echo blob
@@ -24,7 +18,7 @@ do
test_when_finished "rm -f .git/objects/pack/pack-*.*" &&
test_when_finished "rm -rf .git/objects/??" &&
import_large -c fastimport.unpacklimit=0 $config &&
- sz=$(file_size .git/objects/pack/pack-*.pack) &&
+ sz=$(test_file_size .git/objects/pack/pack-*.pack) &&
case "$expect" in
small) test "$sz" -le 100000 ;;
large) test "$sz" -ge 100000 ;;
@@ -47,7 +41,7 @@ do
test_when_finished "rm -f .git/objects/pack/pack-*.*" &&
test_when_finished "rm -rf .git/objects/??" &&
import_large -c fastimport.unpacklimit=9 $config &&
- sz=$(file_size .git/objects/??/????*) &&
+ sz=$(test_file_size .git/objects/??/????*) &&
case "$expect" in
small) test "$sz" -le 100000 ;;
large) test "$sz" -ge 100000 ;;
diff --git a/t/t9304-fast-import-marks.sh b/t/t9304-fast-import-marks.sh
new file mode 100755
index 0000000000..d4359dba21
--- /dev/null
+++ b/t/t9304-fast-import-marks.sh
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+test_description='test exotic situations with marks'
+. ./test-lib.sh
+
+test_expect_success 'setup dump of basic history' '
+ test_commit one &&
+ git fast-export --export-marks=marks HEAD >dump
+'
+
+test_expect_success 'setup large marks file' '
+ # normally a marks file would have a lot of useful, unique
+ # marks. But for our purposes, just having a lot of nonsense
+ # ones is fine. Start at 1024 to avoid clashing with marks
+ # legitimately used in our tiny dump.
+ blob=$(git rev-parse HEAD:one.t) &&
+ for i in $(test_seq 1024 16384)
+ do
+ echo ":$i $blob"
+ done >>marks
+'
+
+test_expect_success 'import with large marks file' '
+ git fast-import --import-marks=marks <dump
+'
+
+test_expect_success 'setup dump with submodule' '
+ git submodule add "$PWD" sub &&
+ git commit -m "add submodule" &&
+ git fast-export HEAD >dump
+'
+
+test_expect_success 'setup submodule mapping with large id' '
+ old=$(git rev-parse HEAD:sub) &&
+ new=$(echo $old | sed s/./a/g) &&
+ echo ":12345 $old" >from &&
+ echo ":12345 $new" >to
+'
+
+test_expect_success 'import with submodule mapping' '
+ git init dst &&
+ git -C dst fast-import \
+ --rewrite-submodules-from=sub:../from \
+ --rewrite-submodules-to=sub:../to \
+ <dump &&
+ git -C dst rev-parse HEAD:sub >actual &&
+ echo "$new" >expect &&
+ test_cmp expect actual
+'
+
+test_done
diff --git a/t/t9350-fast-export.sh b/t/t9350-fast-export.sh
index 1372842559..409b48e244 100755
--- a/t/t9350-fast-export.sh
+++ b/t/t9350-fast-export.sh
@@ -4,6 +4,9 @@
#
test_description='git fast-export'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup' '
@@ -31,13 +34,13 @@ test_expect_success 'setup' '
git commit -m sitzt file2 &&
test_tick &&
git tag -a -m valentin muss &&
- git merge -s ours master
+ git merge -s ours main
'
test_expect_success 'fast-export | fast-import' '
- MASTER=$(git rev-parse --verify master) &&
+ MAIN=$(git rev-parse --verify main) &&
REIN=$(git rev-parse --verify rein) &&
WER=$(git rev-parse --verify wer) &&
MUSS=$(git rev-parse --verify muss) &&
@@ -46,7 +49,7 @@ test_expect_success 'fast-export | fast-import' '
git fast-export --all >actual &&
(cd new &&
git fast-import &&
- test $MASTER = $(git rev-parse --verify refs/heads/master) &&
+ test $MAIN = $(git rev-parse --verify refs/heads/main) &&
test $REIN = $(git rev-parse --verify refs/tags/rein) &&
test $WER = $(git rev-parse --verify refs/heads/wer) &&
test $MUSS = $(git rev-parse --verify refs/tags/muss)) <actual
@@ -80,35 +83,35 @@ test_expect_success 'fast-export --mark-tags ^muss^{commit} muss' '
test_cmp expected actual
'
-test_expect_success 'fast-export master~2..master' '
+test_expect_success 'fast-export main~2..main' '
- git fast-export master~2..master >actual &&
- sed "s/master/partial/" actual |
+ git fast-export main~2..main >actual &&
+ sed "s/main/partial/" actual |
(cd new &&
git fast-import &&
- test $MASTER != $(git rev-parse --verify refs/heads/partial) &&
- git diff --exit-code master partial &&
- git diff --exit-code master^ partial^ &&
+ test $MAIN != $(git rev-parse --verify refs/heads/partial) &&
+ git diff --exit-code main partial &&
+ git diff --exit-code main^ partial^ &&
test_must_fail git rev-parse partial~2)
'
-test_expect_success 'fast-export --reference-excluded-parents master~2..master' '
+test_expect_success 'fast-export --reference-excluded-parents main~2..main' '
- git fast-export --reference-excluded-parents master~2..master >actual &&
- grep commit.refs/heads/master actual >commit-count &&
+ git fast-export --reference-excluded-parents main~2..main >actual &&
+ grep commit.refs/heads/main actual >commit-count &&
test_line_count = 2 commit-count &&
- sed "s/master/rewrite/" actual |
+ sed "s/main/rewrite/" actual |
(cd new &&
git fast-import &&
- test $MASTER = $(git rev-parse --verify refs/heads/rewrite))
+ test $MAIN = $(git rev-parse --verify refs/heads/rewrite))
'
test_expect_success 'fast-export --show-original-ids' '
- git fast-export --show-original-ids master >output &&
+ git fast-export --show-original-ids main >output &&
grep ^original-oid output| sed -e s/^original-oid.// | sort >actual &&
- git rev-list --objects master muss >objects-and-names &&
+ git rev-list --objects main muss >objects-and-names &&
awk "{print \$1}" objects-and-names | sort >commits-trees-blobs &&
comm -23 actual commits-trees-blobs >unfound &&
test_must_be_empty unfound
@@ -116,8 +119,8 @@ test_expect_success 'fast-export --show-original-ids' '
test_expect_success 'fast-export --show-original-ids | git fast-import' '
- git fast-export --show-original-ids master muss | git fast-import --quiet &&
- test $MASTER = $(git rev-parse --verify refs/heads/master) &&
+ git fast-export --show-original-ids main muss | git fast-import --quiet &&
+ test $MAIN = $(git rev-parse --verify refs/heads/main) &&
test $MUSS = $(git rev-parse --verify refs/tags/muss)
'
@@ -200,7 +203,7 @@ test_expect_success 'encoding preserved if reencoding fails' '
test_expect_success 'import/export-marks' '
- git checkout -b marks master &&
+ git checkout -b marks main &&
git fast-export --export-marks=tmp-marks HEAD &&
test -s tmp-marks &&
test_line_count = 3 tmp-marks &&
@@ -265,7 +268,7 @@ test_expect_success 'signed-tags=warn-strip' '
test_expect_success 'setup submodule' '
- git checkout -f master &&
+ git checkout -f main &&
mkdir sub &&
(
cd sub &&
@@ -290,17 +293,17 @@ test_expect_success 'setup submodule' '
test_expect_success 'submodule fast-export | fast-import' '
- SUBENT1=$(git ls-tree master^ sub) &&
- SUBENT2=$(git ls-tree master sub) &&
+ SUBENT1=$(git ls-tree main^ sub) &&
+ SUBENT2=$(git ls-tree main sub) &&
rm -rf new &&
mkdir new &&
git --git-dir=new/.git init &&
git fast-export --signed-tags=strip --all >actual &&
(cd new &&
git fast-import &&
- test "$SUBENT1" = "$(git ls-tree refs/heads/master^ sub)" &&
- test "$SUBENT2" = "$(git ls-tree refs/heads/master sub)" &&
- git checkout master &&
+ test "$SUBENT1" = "$(git ls-tree refs/heads/main^ sub)" &&
+ test "$SUBENT2" = "$(git ls-tree refs/heads/main sub)" &&
+ git checkout main &&
git submodule init &&
git submodule update &&
cmp sub/file ../sub/file) <actual
@@ -352,7 +355,7 @@ test_expect_success 'fast-export -C -C | fast-import' '
'
-test_expect_success 'fast-export | fast-import when master is tagged' '
+test_expect_success 'fast-export | fast-import when main is tagged' '
git tag -m msg last &&
git fast-export -C -C --signed-tags=strip --all > output &&
@@ -467,8 +470,8 @@ mark :2
data 3
hi
-reset refs/heads/master
-commit refs/heads/master
+reset refs/heads/main
+commit refs/heads/main
mark :3
author A U Thor <author@example.com> 1112912713 -0700
committer C O Mitter <committer@example.com> 1112912713 -0700
@@ -482,7 +485,7 @@ EOF
test_expect_failure 'no exact-ref revisions included' '
(
cd limit-by-paths &&
- git fast-export master~2..master~1 > output &&
+ git fast-export main~2..main~1 > output &&
test_cmp expected output
)
'
@@ -524,7 +527,7 @@ test_expect_success 'full-tree re-shows unmodified files' '
'
test_expect_success 'set-up a few more tags for tag export tests' '
- git checkout -f master &&
+ git checkout -f main &&
HEAD_TREE=$(git show -s --pretty=raw HEAD | grep tree | sed "s/tree //") &&
git tag tree_tag -m "tagging a tree" $HEAD_TREE &&
git tag -a tree_tag-obj -m "tagging a tree" $HEAD_TREE &&
@@ -549,7 +552,7 @@ test_expect_success 'tag-obj_tag' 'git fast-export tag-obj_tag'
test_expect_success 'tag-obj_tag-obj' 'git fast-export tag-obj_tag-obj'
test_expect_success 'handling tags of blobs' '
- git tag -a -m "Tag of a blob" blobtag $(git rev-parse master:file) &&
+ git tag -a -m "Tag of a blob" blobtag $(git rev-parse main:file) &&
git fast-export blobtag >actual &&
cat >expect <<-EOF &&
blob
@@ -592,10 +595,10 @@ test_expect_success 'directory becomes symlink' '
) &&
(
cd dirtosymlink &&
- git fast-export master -- foo |
+ git fast-export main -- foo |
(cd ../result && git fast-import --quiet)
) &&
- (cd result && git show master:foo)
+ (cd result && git show main:foo)
'
test_expect_success 'fast-export quotes pathnames' '
@@ -643,7 +646,7 @@ mark :13
data 5
bump
-commit refs/heads/master
+commit refs/heads/main
mark :14
author A U Thor <author@example.com> 1112912773 -0700
committer C O Mitter <committer@example.com> 1112912773 -0700
@@ -657,18 +660,18 @@ EOF
test_expect_success 'avoid uninteresting refs' '
> tmp-marks &&
git fast-export --import-marks=tmp-marks \
- --export-marks=tmp-marks master > /dev/null &&
+ --export-marks=tmp-marks main > /dev/null &&
git tag v1.0 &&
git branch uninteresting &&
echo bump > file &&
git commit -a -m bump &&
git fast-export --import-marks=tmp-marks \
- --export-marks=tmp-marks ^uninteresting ^v1.0 master > actual &&
+ --export-marks=tmp-marks ^uninteresting ^v1.0 main > actual &&
test_cmp expected actual
'
cat > expected << EOF
-reset refs/heads/master
+reset refs/heads/main
from :14
EOF
@@ -676,14 +679,14 @@ EOF
test_expect_success 'refs are updated even if no commits need to be exported' '
> tmp-marks &&
git fast-export --import-marks=tmp-marks \
- --export-marks=tmp-marks master > /dev/null &&
+ --export-marks=tmp-marks main > /dev/null &&
git fast-export --import-marks=tmp-marks \
- --export-marks=tmp-marks master > actual &&
+ --export-marks=tmp-marks main > actual &&
test_cmp expected actual
'
test_expect_success 'use refspec' '
- git fast-export --refspec refs/heads/master:refs/heads/foobar master >actual2 &&
+ git fast-export --refspec refs/heads/main:refs/heads/foobar main >actual2 &&
grep "^commit " actual2 | sort | uniq >actual &&
echo "commit refs/heads/foobar" > expected &&
test_cmp expected actual
@@ -736,13 +739,13 @@ test_expect_success 'merge commit gets exported with --import-marks' '
test_commit initial &&
git checkout -b topic &&
test_commit on-topic &&
- git checkout master &&
- test_commit on-master &&
+ git checkout main &&
+ test_commit on-main &&
test_tick &&
git merge --no-ff -m Yeah topic &&
echo ":1 $(git rev-parse HEAD^^)" >marks &&
- git fast-export --import-marks=marks master >out &&
+ git fast-export --import-marks=marks main >out &&
grep Yeah out
)
'
diff --git a/t/t9351-fast-export-anonymize.sh b/t/t9351-fast-export-anonymize.sh
index 5ac2c3b5ee..1c6e6fcdaf 100755
--- a/t/t9351-fast-export-anonymize.sh
+++ b/t/t9351-fast-export-anonymize.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='basic tests for fast-export --anonymize'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
test_expect_success 'setup simple repo' '
@@ -51,7 +54,7 @@ test_expect_success 'stream retains other as refname' '
'
test_expect_success 'stream omits other refnames' '
- ! grep master stream &&
+ ! grep main stream &&
! grep mytag stream
'
@@ -85,7 +88,7 @@ test_expect_success 'repo has original shape and timestamps' '
shape () {
git log --format="%m %ct" --left-right --boundary "$@"
} &&
- (cd .. && shape master...other) >expect &&
+ (cd .. && shape main...other) >expect &&
shape $main_branch...$other_branch >actual &&
test_cmp expect actual
'
diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
index 4a46f31c41..2d29d486ee 100755
--- a/t/t9400-git-cvsserver-server.sh
+++ b/t/t9400-git-cvsserver-server.sh
@@ -8,6 +8,9 @@ test_description='git-cvsserver access
tests read access to a git repository with the
cvs CLI client via git-cvsserver server'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
if ! test_have_prereq PERL; then
@@ -45,7 +48,7 @@ test_expect_success 'setup' '
touch secondrootfile &&
git add secondrootfile &&
git commit -m "second root") &&
- git fetch secondroot master &&
+ git fetch secondroot main &&
git merge --allow-unrelated-histories FETCH_HEAD &&
git clone -q --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 &&
GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true &&
@@ -57,7 +60,7 @@ test_expect_success 'setup' '
# note that cvs doesn't accept absolute pathnames
# as argument to co -d
test_expect_success 'basic checkout' \
- 'GIT_CONFIG="$git_config" cvs -Q co -d cvswork master &&
+ 'GIT_CONFIG="$git_config" cvs -Q co -d cvswork main &&
test "$(echo $(grep -v ^D cvswork/CVS/Entries|cut -d/ -f2,3,5 | head -n 1))" = "empty/1.1/" &&
test "$(echo $(grep -v ^D cvswork/CVS/Entries|cut -d/ -f2,3,5 | sed -ne \$p))" = "secondrootfile/1.1/"'
@@ -226,7 +229,7 @@ GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true || exit 1
test_expect_success 'gitcvs.enabled = false' \
'GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled false &&
- if GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 master >cvs.log 2>&1
+ if GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 main >cvs.log 2>&1
then
echo unexpected cvs success
false
@@ -240,14 +243,14 @@ rm -fr cvswork2
test_expect_success 'gitcvs.ext.enabled = true' \
'GIT_DIR="$SERVERDIR" git config --bool gitcvs.ext.enabled true &&
GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled false &&
- GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 master >cvs.log 2>&1 &&
+ GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 main >cvs.log 2>&1 &&
test_cmp cvswork cvswork2'
rm -fr cvswork2
test_expect_success 'gitcvs.ext.enabled = false' \
'GIT_DIR="$SERVERDIR" git config --bool gitcvs.ext.enabled false &&
GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true &&
- if GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 master >cvs.log 2>&1
+ if GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 main >cvs.log 2>&1
then
echo unexpected cvs success
false
@@ -261,21 +264,21 @@ rm -fr cvswork2
test_expect_success 'gitcvs.dbname' \
'GIT_DIR="$SERVERDIR" git config --bool gitcvs.ext.enabled true &&
GIT_DIR="$SERVERDIR" git config gitcvs.dbname %Ggitcvs.%a.%m.sqlite &&
- GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 master >cvs.log 2>&1 &&
+ GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 main >cvs.log 2>&1 &&
test_cmp cvswork cvswork2 &&
- test -f "$SERVERDIR/gitcvs.ext.master.sqlite" &&
- cmp "$SERVERDIR/gitcvs.master.sqlite" "$SERVERDIR/gitcvs.ext.master.sqlite"'
+ test -f "$SERVERDIR/gitcvs.ext.main.sqlite" &&
+ cmp "$SERVERDIR/gitcvs.main.sqlite" "$SERVERDIR/gitcvs.ext.main.sqlite"'
rm -fr cvswork2
test_expect_success 'gitcvs.ext.dbname' \
'GIT_DIR="$SERVERDIR" git config --bool gitcvs.ext.enabled true &&
GIT_DIR="$SERVERDIR" git config gitcvs.ext.dbname %Ggitcvs1.%a.%m.sqlite &&
GIT_DIR="$SERVERDIR" git config gitcvs.dbname %Ggitcvs2.%a.%m.sqlite &&
- GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 master >cvs.log 2>&1 &&
+ GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 main >cvs.log 2>&1 &&
test_cmp cvswork cvswork2 &&
- test -f "$SERVERDIR/gitcvs1.ext.master.sqlite" &&
- test ! -f "$SERVERDIR/gitcvs2.ext.master.sqlite" &&
- cmp "$SERVERDIR/gitcvs.master.sqlite" "$SERVERDIR/gitcvs1.ext.master.sqlite"'
+ test -f "$SERVERDIR/gitcvs1.ext.main.sqlite" &&
+ test ! -f "$SERVERDIR/gitcvs2.ext.main.sqlite" &&
+ cmp "$SERVERDIR/gitcvs.main.sqlite" "$SERVERDIR/gitcvs1.ext.main.sqlite"'
#------------
@@ -457,7 +460,7 @@ cd "$WORKDIR"
test_expect_success 'cvs update (module list supports packed refs)' '
GIT_DIR="$SERVERDIR" git pack-refs --all &&
GIT_CONFIG="$git_config" cvs -n up -d 2> out &&
- grep "cvs update: New directory \`master'\''" < out
+ grep "cvs update: New directory \`main'\''" < out
'
#------------
@@ -499,8 +502,8 @@ test_expect_success 'cvs status (no subdirs in header)' '
cd "$WORKDIR"
test_expect_success 'cvs co -c (shows module database)' '
GIT_CONFIG="$git_config" cvs co -c > out &&
- grep "^master[ ][ ]*master$" <out &&
- ! grep -v "^master[ ][ ]*master$" <out
+ grep "^main[ ][ ]*main$" <out &&
+ ! grep -v "^main[ ][ ]*main$" <out
'
#------------
@@ -526,7 +529,7 @@ test_expect_success 'cvs co -c (shows module database)' '
sed -e 's/^x//' -e 's/SP$/ /' > "$WORKDIR/expect" <<EOF
x
-xRCS file: $WORKDIR/gitcvs.git/master/merge,v
+xRCS file: $WORKDIR/gitcvs.git/main/merge,v
xWorking file: merge
xhead: 1.4
xbranch:
diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
index c7a0dd84a4..a34805acdc 100755
--- a/t/t9401-git-cvsserver-crlf.sh
+++ b/t/t9401-git-cvsserver-crlf.sh
@@ -9,6 +9,9 @@ test_description='git-cvsserver -kb modes
tests -kb mode for binary files when accessing a git
repository using cvs CLI client via git-cvsserver server'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
marked_as () {
@@ -105,14 +108,14 @@ test_expect_success 'setup' '
'
test_expect_success 'cvs co (default crlf)' '
- GIT_CONFIG="$git_config" cvs -Q co -d cvswork master >cvs.log 2>&1 &&
+ GIT_CONFIG="$git_config" cvs -Q co -d cvswork main >cvs.log 2>&1 &&
test x"$(grep '/-k' cvswork/CVS/Entries cvswork/subdir/CVS/Entries)" = x""
'
rm -rf cvswork
test_expect_success 'cvs co (allbinary)' '
GIT_DIR="$SERVERDIR" git config --bool gitcvs.allbinary true &&
- GIT_CONFIG="$git_config" cvs -Q co -d cvswork master >cvs.log 2>&1 &&
+ GIT_CONFIG="$git_config" cvs -Q co -d cvswork main >cvs.log 2>&1 &&
marked_as cvswork textfile.c -kb &&
marked_as cvswork binfile.bin -kb &&
marked_as cvswork .gitattributes -kb &&
@@ -125,7 +128,7 @@ test_expect_success 'cvs co (allbinary)' '
rm -rf cvswork cvs.log
test_expect_success 'cvs co (use attributes/allbinary)' '
GIT_DIR="$SERVERDIR" git config --bool gitcvs.usecrlfattr true &&
- GIT_CONFIG="$git_config" cvs -Q co -d cvswork master >cvs.log 2>&1 &&
+ GIT_CONFIG="$git_config" cvs -Q co -d cvswork main >cvs.log 2>&1 &&
marked_as cvswork textfile.c "" &&
marked_as cvswork binfile.bin -kb &&
marked_as cvswork .gitattributes -kb &&
@@ -138,7 +141,7 @@ test_expect_success 'cvs co (use attributes/allbinary)' '
rm -rf cvswork
test_expect_success 'cvs co (use attributes)' '
GIT_DIR="$SERVERDIR" git config --bool gitcvs.allbinary false &&
- GIT_CONFIG="$git_config" cvs -Q co -d cvswork master >cvs.log 2>&1 &&
+ GIT_CONFIG="$git_config" cvs -Q co -d cvswork main >cvs.log 2>&1 &&
marked_as cvswork textfile.c "" &&
marked_as cvswork binfile.bin -kb &&
marked_as cvswork .gitattributes "" &&
@@ -194,7 +197,7 @@ test_expect_success 'updating' '
rm -rf cvswork
test_expect_success 'cvs co (use attributes/guess)' '
GIT_DIR="$SERVERDIR" git config gitcvs.allbinary guess &&
- GIT_CONFIG="$git_config" cvs -Q co -d cvswork master >cvs.log 2>&1 &&
+ GIT_CONFIG="$git_config" cvs -Q co -d cvswork main >cvs.log 2>&1 &&
marked_as cvswork textfile.c "" &&
marked_as cvswork binfile.bin -kb &&
marked_as cvswork .gitattributes "" &&
@@ -224,7 +227,7 @@ test_expect_success 'setup multi-line files' '
rm -rf cvswork
test_expect_success 'cvs co (guess)' '
GIT_DIR="$SERVERDIR" git config --bool gitcvs.usecrlfattr false &&
- GIT_CONFIG="$git_config" cvs -Q co -d cvswork master >cvs.log 2>&1 &&
+ GIT_CONFIG="$git_config" cvs -Q co -d cvswork main >cvs.log 2>&1 &&
marked_as cvswork textfile.c "" &&
marked_as cvswork binfile.bin -kb &&
marked_as cvswork .gitattributes "" &&
@@ -239,7 +242,7 @@ test_expect_success 'cvs co (guess)' '
'
test_expect_success 'cvs co another copy (guess)' '
- GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 master >cvs.log 2>&1 &&
+ GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 main >cvs.log 2>&1 &&
marked_as cvswork2 textfile.c "" &&
marked_as cvswork2 binfile.bin -kb &&
marked_as cvswork2 .gitattributes "" &&
@@ -335,7 +338,7 @@ test_expect_success 'update subdir of other copy (guess)' '
echo "starting update/merge" >> "${WORKDIR}/marked.log"
test_expect_success 'update/merge full other copy (guess)' '
- git pull gitcvs.git master &&
+ git pull gitcvs.git main &&
sed "s/3/replaced_3/" < multilineTxt.c > ml.temp &&
mv ml.temp multilineTxt.c &&
git add multilineTxt.c &&
diff --git a/t/t9402-git-cvsserver-refs.sh b/t/t9402-git-cvsserver-refs.sh
index 6436c91a3c..2ee41f9443 100755
--- a/t/t9402-git-cvsserver-refs.sh
+++ b/t/t9402-git-cvsserver-refs.sh
@@ -5,6 +5,9 @@ test_description='git-cvsserver and git refspecs
tests ability for git-cvsserver to switch between and compare
tags, branches and other git refspecs'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./test-lib.sh
#########
@@ -115,7 +118,7 @@ test_expect_success 'setup v1, b1' '
rm -rf cvswork
test_expect_success 'cvs co v1' '
- cvs -f -Q co -r v1 -d cvswork master >cvs.log 2>&1 &&
+ cvs -f -Q co -r v1 -d cvswork main >cvs.log 2>&1 &&
check_start_tree cvswork &&
check_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 &&
@@ -128,7 +131,7 @@ test_expect_success 'cvs co v1' '
rm -rf cvswork
test_expect_success 'cvs co b1' '
- cvs -f co -r b1 -d cvswork master >cvs.log 2>&1 &&
+ cvs -f co -r b1 -d cvswork main >cvs.log 2>&1 &&
check_start_tree cvswork &&
check_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 &&
@@ -140,7 +143,7 @@ test_expect_success 'cvs co b1' '
'
test_expect_success 'cvs co b1 [cvswork3]' '
- cvs -f co -r b1 -d cvswork3 master >cvs.log 2>&1 &&
+ cvs -f co -r b1 -d cvswork3 main >cvs.log 2>&1 &&
check_start_tree cvswork3 &&
check_file cvswork3 textfile.c v1 &&
check_file cvswork3 t2 v1 &&
@@ -265,7 +268,7 @@ test_expect_success 'setup simple b2' '
'
test_expect_success 'cvs co b2 [into cvswork2]' '
- cvs -f co -r b2 -d cvswork2 master >cvs.log 2>&1 &&
+ cvs -f co -r b2 -d cvswork2 main >cvs.log 2>&1 &&
check_start_tree cvswork &&
check_file cvswork textfile.c v1 &&
check_file cvswork t2 v1 &&
diff --git a/t/t9500-gitweb-standalone-no-errors.sh b/t/t9500-gitweb-standalone-no-errors.sh
index b484e3e250..ee8c6e30e6 100755
--- a/t/t9500-gitweb-standalone-no-errors.sh
+++ b/t/t9500-gitweb-standalone-no-errors.sh
@@ -10,6 +10,9 @@ commandline, and checks that it would not write any errors
or warnings to log.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./gitweb-lib.sh
# ----------------------------------------------------------------------
@@ -327,7 +330,7 @@ test_expect_success \
echo "Branch" >>b &&
git add b &&
git commit -a -m "On branch" &&
- git checkout master &&
+ git checkout main &&
git merge b &&
git tag merge_commit'
@@ -364,7 +367,7 @@ test_expect_success \
echo "Changed and have mode changed" >07-change-mode-change &&
test_chmod +x 07-change-mode-change &&
git commit -a -m "Large commit" &&
- git checkout master'
+ git checkout main'
test_expect_success \
'commit(1): large commit' \
@@ -402,7 +405,7 @@ test_expect_success 'side-by-side: merge commit' '
test_expect_success \
'tags: list of different types of tags' \
- 'git checkout master &&
+ 'git checkout main &&
git tag -a -m "Tag commit object" tag-commit HEAD &&
git tag -a -m "" tag-commit-nomessage HEAD &&
git tag -a -m "Tag tag object" tag-tag tag-commit &&
@@ -443,7 +446,7 @@ test_expect_success \
test_expect_success \
'logs: history (implicit HEAD, deleted file)' \
- 'git checkout master &&
+ 'git checkout main &&
echo "to be deleted" >deleted_file &&
git add deleted_file &&
git commit -m "Add file to be deleted" &&
@@ -463,11 +466,11 @@ test_expect_success \
test_expect_success \
'path_info: project/branch:file' \
- 'gitweb_run "" "/.git/master:file"'
+ 'gitweb_run "" "/.git/main:file"'
test_expect_success \
'path_info: project/branch:dir/' \
- 'gitweb_run "" "/.git/master:foo/"'
+ 'gitweb_run "" "/.git/main:foo/"'
test_expect_success \
'path_info: project/branch (non-existent)' \
@@ -479,16 +482,16 @@ test_expect_success \
test_expect_success \
'path_info: project/branch:file (non-existent)' \
- 'gitweb_run "" "/.git/master:non-existent"'
+ 'gitweb_run "" "/.git/main:non-existent"'
test_expect_success \
'path_info: project/branch:dir/ (non-existent)' \
- 'gitweb_run "" "/.git/master:non-existent/"'
+ 'gitweb_run "" "/.git/main:non-existent/"'
test_expect_success \
'path_info: project/branch:/file' \
- 'gitweb_run "" "/.git/master:/file"'
+ 'gitweb_run "" "/.git/main:/file"'
test_expect_success \
'path_info: project/:/file (implicit HEAD)' \
@@ -801,7 +804,7 @@ test_expect_success \
git checkout orphan_branch ||
git checkout --orphan orphan_branch
} &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
gitweb_run "p=.git;a=summary"'
test_done
diff --git a/t/t9501-gitweb-standalone-http-status.sh b/t/t9501-gitweb-standalone-http-status.sh
index 2a0ffed870..141610de54 100755
--- a/t/t9501-gitweb-standalone-http-status.sh
+++ b/t/t9501-gitweb-standalone-http-status.sh
@@ -10,6 +10,9 @@ commandline, and checks that it returns the expected HTTP status
code and message.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./gitweb-lib.sh
#
@@ -85,7 +88,7 @@ test_debug 'cat gitweb.headers'
# snapshot hash ids
test_expect_success 'snapshots: good tree-ish id' '
- gitweb_run "p=.git;a=snapshot;h=master;sf=tgz" &&
+ gitweb_run "p=.git;a=snapshot;h=main;sf=tgz" &&
grep "Status: 200 OK" gitweb.output
'
test_debug 'cat gitweb.headers'
@@ -123,7 +126,7 @@ test_debug 'cat gitweb.output'
# modification times (Last-Modified and If-Modified-Since)
test_expect_success DATE_PARSER 'modification: feed last-modified' '
- gitweb_run "p=.git;a=atom;h=master" &&
+ gitweb_run "p=.git;a=atom;h=main" &&
grep "Status: 200 OK" gitweb.headers &&
grep "Last-modified: Thu, 7 Apr 2005 22:14:13 +0000" gitweb.headers
'
@@ -133,7 +136,7 @@ test_expect_success DATE_PARSER 'modification: feed if-modified-since (modified)
HTTP_IF_MODIFIED_SINCE="Wed, 6 Apr 2005 22:14:13 +0000" &&
export HTTP_IF_MODIFIED_SINCE &&
test_when_finished "unset HTTP_IF_MODIFIED_SINCE" &&
- gitweb_run "p=.git;a=atom;h=master" &&
+ gitweb_run "p=.git;a=atom;h=main" &&
grep "Status: 200 OK" gitweb.headers
'
test_debug 'cat gitweb.headers'
@@ -142,13 +145,13 @@ test_expect_success DATE_PARSER 'modification: feed if-modified-since (unmodifie
HTTP_IF_MODIFIED_SINCE="Thu, 7 Apr 2005 22:14:13 +0000" &&
export HTTP_IF_MODIFIED_SINCE &&
test_when_finished "unset HTTP_IF_MODIFIED_SINCE" &&
- gitweb_run "p=.git;a=atom;h=master" &&
+ gitweb_run "p=.git;a=atom;h=main" &&
grep "Status: 304 Not Modified" gitweb.headers
'
test_debug 'cat gitweb.headers'
test_expect_success DATE_PARSER 'modification: snapshot last-modified' '
- gitweb_run "p=.git;a=snapshot;h=master;sf=tgz" &&
+ gitweb_run "p=.git;a=snapshot;h=main;sf=tgz" &&
grep "Status: 200 OK" gitweb.headers &&
grep "Last-modified: Thu, 7 Apr 2005 22:14:13 +0000" gitweb.headers
'
@@ -158,7 +161,7 @@ test_expect_success DATE_PARSER 'modification: snapshot if-modified-since (modif
HTTP_IF_MODIFIED_SINCE="Wed, 6 Apr 2005 22:14:13 +0000" &&
export HTTP_IF_MODIFIED_SINCE &&
test_when_finished "unset HTTP_IF_MODIFIED_SINCE" &&
- gitweb_run "p=.git;a=snapshot;h=master;sf=tgz" &&
+ gitweb_run "p=.git;a=snapshot;h=main;sf=tgz" &&
grep "Status: 200 OK" gitweb.headers
'
test_debug 'cat gitweb.headers'
@@ -167,7 +170,7 @@ test_expect_success DATE_PARSER 'modification: snapshot if-modified-since (unmod
HTTP_IF_MODIFIED_SINCE="Thu, 7 Apr 2005 22:14:13 +0000" &&
export HTTP_IF_MODIFIED_SINCE &&
test_when_finished "unset HTTP_IF_MODIFIED_SINCE" &&
- gitweb_run "p=.git;a=snapshot;h=master;sf=tgz" &&
+ gitweb_run "p=.git;a=snapshot;h=main;sf=tgz" &&
grep "Status: 304 Not Modified" gitweb.headers
'
test_debug 'cat gitweb.headers'
diff --git a/t/t9502-gitweb-standalone-parse-output.sh b/t/t9502-gitweb-standalone-parse-output.sh
index e38cbc97d3..9cf7ab30a8 100755
--- a/t/t9502-gitweb-standalone-parse-output.sh
+++ b/t/t9502-gitweb-standalone-parse-output.sh
@@ -10,6 +10,9 @@ commandline, and checks that it produces the correct output, either
in the HTTP header or the actual script output.'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./gitweb-lib.sh
# ----------------------------------------------------------------------
@@ -79,10 +82,10 @@ test_expect_success 'snapshot: HEAD' '
'
test_debug 'cat gitweb.headers && cat file_list'
-test_expect_success 'snapshot: short branch name (master)' '
- gitweb_run "p=.git;a=snapshot;h=master;sf=tar" &&
- ID=$(git rev-parse --verify --short=7 master) &&
- check_snapshot ".git-master-$ID"
+test_expect_success 'snapshot: short branch name (main)' '
+ gitweb_run "p=.git;a=snapshot;h=main;sf=tar" &&
+ ID=$(git rev-parse --verify --short=7 main) &&
+ check_snapshot ".git-main-$ID"
'
test_debug 'cat gitweb.headers && cat file_list'
@@ -93,10 +96,10 @@ test_expect_success 'snapshot: short tag name (first)' '
'
test_debug 'cat gitweb.headers && cat file_list'
-test_expect_success 'snapshot: full branch name (refs/heads/master)' '
- gitweb_run "p=.git;a=snapshot;h=refs/heads/master;sf=tar" &&
- ID=$(git rev-parse --verify --short=7 master) &&
- check_snapshot ".git-master-$ID"
+test_expect_success 'snapshot: full branch name (refs/heads/main)' '
+ gitweb_run "p=.git;a=snapshot;h=refs/heads/main;sf=tar" &&
+ ID=$(git rev-parse --verify --short=7 main) &&
+ check_snapshot ".git-main-$ID"
'
test_debug 'cat gitweb.headers && cat file_list'
diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
index 251fdd66c4..5680849218 100755
--- a/t/t9600-cvsimport.sh
+++ b/t/t9600-cvsimport.sh
@@ -1,6 +1,9 @@
#!/bin/sh
test_description='git cvsimport basic tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-cvs.sh
if ! test_have_prereq NOT_ROOT; then
@@ -159,6 +162,6 @@ test_expect_success PERL 'no .git/cvs-revisions created by default' '
'
-test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
+test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree main'
test_done
diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
index 827d39f5bf..116cddba3a 100755
--- a/t/t9601-cvsimport-vendor-branch.sh
+++ b/t/t9601-cvsimport-vendor-branch.sh
@@ -32,6 +32,9 @@
# tag has been removed.
test_description='git cvsimport handling of vendor branches'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-cvs.sh
setup_cvs_test_repository t9601
@@ -42,43 +45,43 @@ test_expect_success PERL 'import a module with a vendor branch' '
'
-test_expect_success PERL 'check HEAD out of cvs repository' 'test_cvs_co master'
+test_expect_success PERL 'check HEAD out of cvs repository' 'test_cvs_co main'
-test_expect_success PERL 'check master out of git repository' 'test_git_co master'
+test_expect_success PERL 'check main out of git repository' 'test_git_co main'
test_expect_success PERL 'check a file that was imported once' '
- test_cmp_branch_file master imported-once.txt
+ test_cmp_branch_file main imported-once.txt
'
test_expect_failure PERL 'check a file that was imported twice' '
- test_cmp_branch_file master imported-twice.txt
+ test_cmp_branch_file main imported-twice.txt
'
test_expect_success PERL 'check a file that was imported then modified on HEAD' '
- test_cmp_branch_file master imported-modified.txt
+ test_cmp_branch_file main imported-modified.txt
'
test_expect_success PERL 'check a file that was imported, modified, then imported again' '
- test_cmp_branch_file master imported-modified-imported.txt
+ test_cmp_branch_file main imported-modified-imported.txt
'
test_expect_success PERL 'check a file that was added to HEAD then imported' '
- test_cmp_branch_file master added-imported.txt
+ test_cmp_branch_file main added-imported.txt
'
test_expect_success PERL 'a vendor branch whose tag has been removed' '
- test_cmp_branch_file master imported-anonymously.txt
+ test_cmp_branch_file main imported-anonymously.txt
'
diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
index e1db323f54..e5266c9a87 100755
--- a/t/t9602-cvsimport-branches-tags.sh
+++ b/t/t9602-cvsimport-branches-tags.sh
@@ -4,6 +4,9 @@
# t9602/README.
test_description='git cvsimport handling of branches and tags'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-cvs.sh
setup_cvs_test_repository t9602
@@ -14,9 +17,9 @@ test_expect_success PERL 'import module' '
'
-test_expect_success PERL 'test branch master' '
+test_expect_success PERL 'test branch main' '
- test_cmp_branch_tree master
+ test_cmp_branch_tree main
'
diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
index 3e64b11eac..0e9daa5768 100755
--- a/t/t9603-cvsimport-patchsets.sh
+++ b/t/t9603-cvsimport-patchsets.sh
@@ -12,28 +12,31 @@
# bug.
test_description='git cvsimport testing for correct patchset estimation'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-cvs.sh
setup_cvs_test_repository t9603
test_expect_failure PERL 'import with criss cross times on revisions' '
-
- git cvsimport -p"-x" -C module-git module &&
- (cd module-git &&
- git log --pretty=format:%s > ../actual-master &&
- git log A~2..A --pretty="format:%s %ad" -- > ../actual-A &&
- echo "" >> ../actual-master &&
- echo "" >> ../actual-A
- ) &&
- echo "Rev 4
+ git cvsimport -p"-x" -C module-git module &&
+ (
+ cd module-git &&
+ git log --pretty=format:%s > ../actual-main &&
+ git log A~2..A --pretty="format:%s %ad" -- > ../actual-A &&
+ echo "" >> ../actual-main &&
+ echo "" >> ../actual-A
+ ) &&
+ echo "Rev 4
Rev 3
Rev 2
-Rev 1" > expect-master &&
- test_cmp expect-master actual-master &&
+Rev 1" > expect-main &&
+ test_cmp expect-main actual-main &&
- echo "Rev 5 Branch A Wed Mar 11 19:09:10 2009 +0000
+ echo "Rev 5 Branch A Wed Mar 11 19:09:10 2009 +0000
Rev 4 Branch A Wed Mar 11 19:03:52 2009 +0000" > expect-A &&
- test_cmp expect-A actual-A
+ test_cmp expect-A actual-A
'
test_done
diff --git a/t/t9800-git-p4-basic.sh b/t/t9800-git-p4-basic.sh
index c98c1dfc23..81bc8e8da1 100755
--- a/t/t9800-git-p4-basic.sh
+++ b/t/t9800-git-p4-basic.sh
@@ -2,6 +2,9 @@
test_description='git p4 tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-git-p4.sh
test_expect_success 'start p4d' '
@@ -226,7 +229,7 @@ test_expect_success 'clone --bare should make a bare repository' '
git config --get --bool core.bare true &&
git rev-parse --verify refs/remotes/p4/master &&
git rev-parse --verify refs/remotes/p4/HEAD &&
- git rev-parse --verify refs/heads/master &&
+ git rev-parse --verify refs/heads/main &&
git rev-parse --verify HEAD
)
'
diff --git a/t/t9801-git-p4-branch.sh b/t/t9801-git-p4-branch.sh
index 67ff2711f5..56e64697a8 100755
--- a/t/t9801-git-p4-branch.sh
+++ b/t/t9801-git-p4-branch.sh
@@ -2,6 +2,9 @@
test_description='git p4 tests for p4 branches'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-git-p4.sh
test_expect_success 'start p4d' '
@@ -67,7 +70,7 @@ test_expect_success 'import main, no branch detection' '
(
cd "$git" &&
git log --oneline --graph --decorate --all &&
- git rev-list master >wc &&
+ git rev-list main -- >wc &&
test_line_count = 4 wc
)
'
@@ -78,7 +81,7 @@ test_expect_success 'import branch1, no branch detection' '
(
cd "$git" &&
git log --oneline --graph --decorate --all &&
- git rev-list master >wc &&
+ git rev-list main -- >wc &&
test_line_count = 2 wc
)
'
@@ -89,7 +92,7 @@ test_expect_success 'import branch2, no branch detection' '
(
cd "$git" &&
git log --oneline --graph --decorate --all &&
- git rev-list master >wc &&
+ git rev-list main -- >wc &&
test_line_count = 2 wc
)
'
@@ -100,7 +103,7 @@ test_expect_success 'import depot, no branch detection' '
(
cd "$git" &&
git log --oneline --graph --decorate --all &&
- git rev-list master >wc &&
+ git rev-list main -- >wc &&
test_line_count = 8 wc
)
'
@@ -114,7 +117,7 @@ test_expect_success 'import depot, branch detection' '
git log --oneline --graph --decorate --all &&
# 4 main commits
- git rev-list master >wc &&
+ git rev-list main -- >wc &&
test_line_count = 4 wc &&
# 3 main, 1 integrate, 1 on branch2
@@ -137,7 +140,7 @@ test_expect_success 'import depot, branch detection, branchList branch definitio
git log --oneline --graph --decorate --all &&
# 4 main commits
- git rev-list master >wc &&
+ git rev-list main -- >wc &&
test_line_count = 4 wc &&
# 3 main, 1 integrate, 1 on branch2
@@ -484,7 +487,7 @@ test_expect_success 'use-client-spec detect-branches files in top-level' '
(
cd "$git" &&
git p4 sync --detect-branches --use-client-spec //depot/usecs@all &&
- git checkout -b master p4/usecs/b1 &&
+ git checkout -b main p4/usecs/b1 &&
test_path_is_file b1-file1 &&
test_path_is_missing b2-file2 &&
test_path_is_missing b1 &&
@@ -537,7 +540,7 @@ test_expect_success 'use-client-spec detect-branches skips files in branches' '
(
cd "$git" &&
git p4 sync --detect-branches --use-client-spec //depot/usecs@all &&
- git checkout -b master p4/usecs/b3 &&
+ git checkout -b main p4/usecs/b3 &&
test_path_is_file b1-file1 &&
test_path_is_file b3-file3_2 &&
test_path_is_missing b3-file3_1
diff --git a/t/t9806-git-p4-options.sh b/t/t9806-git-p4-options.sh
index 4e794a01bf..c26d297433 100755
--- a/t/t9806-git-p4-options.sh
+++ b/t/t9806-git-p4-options.sh
@@ -2,6 +2,9 @@
test_description='git p4 options'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-git-p4.sh
test_expect_success 'start p4d' '
@@ -27,14 +30,14 @@ test_expect_success 'clone no --git-dir' '
test_must_fail git p4 clone --git-dir=xx //depot
'
-test_expect_success 'clone --branch should checkout master' '
+test_expect_success 'clone --branch should checkout main' '
git p4 clone --branch=refs/remotes/p4/sb --dest="$git" //depot &&
test_when_finished cleanup_git &&
(
cd "$git" &&
git rev-parse refs/remotes/p4/sb >sb &&
- git rev-parse refs/heads/master >master &&
- test_cmp sb master &&
+ git rev-parse refs/heads/main >main &&
+ test_cmp sb main &&
git rev-parse HEAD >head &&
test_cmp sb head
)
@@ -147,22 +150,22 @@ test_expect_success 'clone --changesfile, @all' '
test_must_fail git p4 clone --changesfile="$TRASH_DIRECTORY/cf" --dest="$git" //depot@all
'
-# imports both master and p4/master in refs/heads
+# imports both main and p4/master in refs/heads
# requires --import-local on sync to find p4 refs/heads
-# does not update master on sync, just p4/master
+# does not update main on sync, just p4/master
test_expect_success 'clone/sync --import-local' '
git p4 clone --import-local --dest="$git" //depot@1,2 &&
test_when_finished cleanup_git &&
(
cd "$git" &&
- git log --oneline refs/heads/master >lines &&
+ git log --oneline refs/heads/main >lines &&
test_line_count = 2 lines &&
git log --oneline refs/heads/p4/master >lines &&
test_line_count = 2 lines &&
test_must_fail git p4 sync &&
git p4 sync --import-local &&
- git log --oneline refs/heads/master >lines &&
+ git log --oneline refs/heads/main >lines &&
test_line_count = 2 lines &&
git log --oneline refs/heads/p4/master >lines &&
test_line_count = 3 lines
@@ -174,7 +177,7 @@ test_expect_success 'clone --max-changes' '
test_when_finished cleanup_git &&
(
cd "$git" &&
- git log --oneline refs/heads/master >lines &&
+ git log --oneline refs/heads/main >lines &&
test_line_count = 2 lines
)
'
@@ -237,7 +240,7 @@ test_expect_success 'clone --use-client-spec' '
git init &&
git config git-p4.useClientSpec true &&
git p4 sync //depot/... &&
- git checkout -b master p4/master &&
+ git checkout -b main p4/master &&
test_path_is_file bus/dir/f4 &&
test_path_is_missing file1
)
diff --git a/t/t9807-git-p4-submit.sh b/t/t9807-git-p4-submit.sh
index eaaae414a1..7d4109f29d 100755
--- a/t/t9807-git-p4-submit.sh
+++ b/t/t9807-git-p4-submit.sh
@@ -2,6 +2,9 @@
test_description='git p4 submit'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-git-p4.sh
test_expect_success 'start p4d' '
@@ -114,7 +117,7 @@ test_expect_success 'submit with allowSubmit' '
git config git-p4.skipSubmitEdit true &&
git config git-p4.allowSubmit "nobranch" &&
test_must_fail git p4 submit &&
- git config git-p4.allowSubmit "nobranch,master" &&
+ git config git-p4.allowSubmit "nobranch,main" &&
git p4 submit
)
'
diff --git a/t/t9811-git-p4-label-import.sh b/t/t9811-git-p4-label-import.sh
index c1446f26ab..5ac5383fb7 100755
--- a/t/t9811-git-p4-label-import.sh
+++ b/t/t9811-git-p4-label-import.sh
@@ -2,6 +2,9 @@
test_description='git p4 label tests'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-git-p4.sh
test_expect_success 'start p4d' '
@@ -185,7 +188,7 @@ test_expect_success 'tag that cannot be exported' '
git add main/f12 &&
git commit -m "adding f12" &&
git tag -m "tag on a_branch" GIT_TAG_ON_A_BRANCH &&
- git checkout master &&
+ git checkout main &&
git p4 submit --export-labels
) &&
(
diff --git a/t/t9832-unshelve.sh b/t/t9832-unshelve.sh
index 7194fb2855..6b3cb0414a 100755
--- a/t/t9832-unshelve.sh
+++ b/t/t9832-unshelve.sh
@@ -68,7 +68,8 @@ EOF
cd "$git" &&
change=$(last_shelved_change) &&
git p4 unshelve $change &&
- git show refs/remotes/p4-unshelved/$change | grep -q "Further description" &&
+ git show refs/remotes/p4-unshelved/$change >actual &&
+ grep -q "Further description" actual &&
git cherry-pick refs/remotes/p4-unshelved/$change &&
test_path_is_file file2 &&
test_cmp file1 "$cli"/file1 &&
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
index eb9e56c39e..fb67262fc8 100755
--- a/t/t9902-completion.sh
+++ b/t/t9902-completion.sh
@@ -1,10 +1,13 @@
#!/bin/sh
#
-# Copyright (c) 2012 Felipe Contreras
+# Copyright (c) 2012-2020 Felipe Contreras
#
test_description='test bash completion'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-bash.sh
complete ()
@@ -136,7 +139,7 @@ fi
test_expect_success 'setup for __git_find_repo_path/__gitdir tests' '
mkdir -p subdir/subsubdir &&
mkdir -p non-repo &&
- git init otherrepo
+ git init -b main otherrepo
'
test_expect_success '__git_find_repo_path - from command line (through $__git_dir)' '
@@ -614,12 +617,13 @@ test_expect_success '__git_is_configured_remote' '
test_expect_success 'setup for ref completion' '
git commit --allow-empty -m initial &&
+ git branch -M main &&
git branch matching-branch &&
git tag matching-tag &&
(
cd otherrepo &&
git commit --allow-empty -m initial &&
- git branch -m master master-in-other &&
+ git branch -m main main-in-other &&
git branch branch-in-other &&
git tag tag-in-other
) &&
@@ -632,10 +636,10 @@ test_expect_success 'setup for ref completion' '
test_expect_success '__git_refs - simple' '
cat >expected <<-EOF &&
HEAD
- master
+ main
matching-branch
other/branch-in-other
- other/master-in-other
+ other/main-in-other
matching-tag
EOF
(
@@ -647,10 +651,10 @@ test_expect_success '__git_refs - simple' '
test_expect_success '__git_refs - full refs' '
cat >expected <<-EOF &&
- refs/heads/master
+ refs/heads/main
refs/heads/matching-branch
refs/remotes/other/branch-in-other
- refs/remotes/other/master-in-other
+ refs/remotes/other/main-in-other
refs/tags/matching-tag
EOF
(
@@ -664,7 +668,7 @@ test_expect_success '__git_refs - repo given on the command line' '
cat >expected <<-EOF &&
HEAD
branch-in-other
- master-in-other
+ main-in-other
tag-in-other
EOF
(
@@ -679,7 +683,7 @@ test_expect_success '__git_refs - remote on local file system' '
cat >expected <<-EOF &&
HEAD
branch-in-other
- master-in-other
+ main-in-other
tag-in-other
EOF
(
@@ -692,7 +696,7 @@ test_expect_success '__git_refs - remote on local file system' '
test_expect_success '__git_refs - remote on local file system - full refs' '
cat >expected <<-EOF &&
refs/heads/branch-in-other
- refs/heads/master-in-other
+ refs/heads/main-in-other
refs/tags/tag-in-other
EOF
(
@@ -706,7 +710,7 @@ test_expect_success '__git_refs - configured remote' '
cat >expected <<-EOF &&
HEAD
branch-in-other
- master-in-other
+ main-in-other
EOF
(
cur= &&
@@ -719,7 +723,7 @@ test_expect_success '__git_refs - configured remote - full refs' '
cat >expected <<-EOF &&
HEAD
refs/heads/branch-in-other
- refs/heads/master-in-other
+ refs/heads/main-in-other
refs/tags/tag-in-other
EOF
(
@@ -733,7 +737,7 @@ test_expect_success '__git_refs - configured remote - repo given on the command
cat >expected <<-EOF &&
HEAD
branch-in-other
- master-in-other
+ main-in-other
EOF
(
cd thirdrepo &&
@@ -748,7 +752,7 @@ test_expect_success '__git_refs - configured remote - full refs - repo given on
cat >expected <<-EOF &&
HEAD
refs/heads/branch-in-other
- refs/heads/master-in-other
+ refs/heads/main-in-other
refs/tags/tag-in-other
EOF
(
@@ -764,7 +768,7 @@ test_expect_success '__git_refs - configured remote - remote name matches a dire
cat >expected <<-EOF &&
HEAD
branch-in-other
- master-in-other
+ main-in-other
EOF
mkdir other &&
test_when_finished "rm -rf other" &&
@@ -779,7 +783,7 @@ test_expect_success '__git_refs - URL remote' '
cat >expected <<-EOF &&
HEAD
branch-in-other
- master-in-other
+ main-in-other
tag-in-other
EOF
(
@@ -793,7 +797,7 @@ test_expect_success '__git_refs - URL remote - full refs' '
cat >expected <<-EOF &&
HEAD
refs/heads/branch-in-other
- refs/heads/master-in-other
+ refs/heads/main-in-other
refs/tags/tag-in-other
EOF
(
@@ -849,23 +853,23 @@ test_expect_success '__git_refs - not in a git repository' '
test_expect_success '__git_refs - unique remote branches for git checkout DWIMery' '
cat >expected <<-EOF &&
HEAD
- master
+ main
matching-branch
other/ambiguous
other/branch-in-other
- other/master-in-other
+ other/main-in-other
remote/ambiguous
remote/branch-in-remote
matching-tag
branch-in-other
branch-in-remote
- master-in-other
+ main-in-other
EOF
for remote_ref in refs/remotes/other/ambiguous \
refs/remotes/remote/ambiguous \
refs/remotes/remote/branch-in-remote
do
- git update-ref $remote_ref master &&
+ git update-ref $remote_ref main &&
test_when_finished "git update-ref -d $remote_ref"
done &&
(
@@ -878,10 +882,10 @@ test_expect_success '__git_refs - unique remote branches for git checkout DWIMer
test_expect_success '__git_refs - after --opt=' '
cat >expected <<-EOF &&
HEAD
- master
+ main
matching-branch
other/branch-in-other
- other/master-in-other
+ other/main-in-other
matching-tag
EOF
(
@@ -893,10 +897,10 @@ test_expect_success '__git_refs - after --opt=' '
test_expect_success '__git_refs - after --opt= - full refs' '
cat >expected <<-EOF &&
- refs/heads/master
+ refs/heads/main
refs/heads/matching-branch
refs/remotes/other/branch-in-other
- refs/remotes/other/master-in-other
+ refs/remotes/other/main-in-other
refs/tags/matching-tag
EOF
(
@@ -906,13 +910,13 @@ test_expect_success '__git_refs - after --opt= - full refs' '
test_cmp expected "$actual"
'
-test_expect_success '__git refs - exluding refs' '
+test_expect_success '__git refs - excluding refs' '
cat >expected <<-EOF &&
^HEAD
- ^master
+ ^main
^matching-branch
^other/branch-in-other
- ^other/master-in-other
+ ^other/main-in-other
^matching-tag
EOF
(
@@ -922,12 +926,12 @@ test_expect_success '__git refs - exluding refs' '
test_cmp expected "$actual"
'
-test_expect_success '__git refs - exluding full refs' '
+test_expect_success '__git refs - excluding full refs' '
cat >expected <<-EOF &&
- ^refs/heads/master
+ ^refs/heads/main
^refs/heads/matching-branch
^refs/remotes/other/branch-in-other
- ^refs/remotes/other/master-in-other
+ ^refs/remotes/other/main-in-other
^refs/tags/matching-tag
EOF
(
@@ -948,17 +952,17 @@ test_expect_success 'setup for filtering matching refs' '
test_expect_success '__git_refs - do not filter refs unless told so' '
cat >expected <<-EOF &&
HEAD
- master
+ main
matching-branch
matching/branch
other/branch-in-other
- other/master-in-other
+ other/main-in-other
other/matching/branch-in-other
matching-tag
matching/tag
EOF
(
- cur=master &&
+ cur=main &&
__git_refs >"$actual"
) &&
test_cmp expected "$actual"
@@ -992,7 +996,7 @@ test_expect_success '__git_refs - only matching refs - full refs' '
test_expect_success '__git_refs - only matching refs - remote on local file system' '
cat >expected <<-EOF &&
- master-in-other
+ main-in-other
matching/branch-in-other
EOF
(
@@ -1004,7 +1008,7 @@ test_expect_success '__git_refs - only matching refs - remote on local file syst
test_expect_success '__git_refs - only matching refs - configured remote' '
cat >expected <<-EOF &&
- master-in-other
+ main-in-other
matching/branch-in-other
EOF
(
@@ -1016,7 +1020,7 @@ test_expect_success '__git_refs - only matching refs - configured remote' '
test_expect_success '__git_refs - only matching refs - remote - full refs' '
cat >expected <<-EOF &&
- refs/heads/master-in-other
+ refs/heads/main-in-other
refs/heads/matching/branch-in-other
EOF
(
@@ -1038,7 +1042,7 @@ test_expect_success '__git_refs - only matching refs - checkout DWIMery' '
refs/remotes/remote/ambiguous \
refs/remotes/remote/branch-in-remote
do
- git update-ref $remote_ref master &&
+ git update-ref $remote_ref main &&
test_when_finished "git update-ref -d $remote_ref"
done &&
(
@@ -1057,11 +1061,11 @@ test_expect_success 'teardown after filtering matching refs' '
test_expect_success '__git_refs - for-each-ref format specifiers in prefix' '
cat >expected <<-EOF &&
- evil-%%-%42-%(refname)..master
+ evil-%%-%42-%(refname)..main
EOF
(
- cur="evil-%%-%42-%(refname)..mas" &&
- __git_refs "" "" "evil-%%-%42-%(refname).." mas >"$actual"
+ cur="evil-%%-%42-%(refname)..mai" &&
+ __git_refs "" "" "evil-%%-%42-%(refname).." mai >"$actual"
) &&
test_cmp expected "$actual"
'
@@ -1069,10 +1073,10 @@ test_expect_success '__git_refs - for-each-ref format specifiers in prefix' '
test_expect_success '__git_complete_refs - simple' '
sed -e "s/Z$//" >expected <<-EOF &&
HEAD Z
- master Z
+ main Z
matching-branch Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
matching-tag Z
EOF
(
@@ -1100,7 +1104,7 @@ test_expect_success '__git_complete_refs - remote' '
sed -e "s/Z$//" >expected <<-EOF &&
HEAD Z
branch-in-other Z
- master-in-other Z
+ main-in-other Z
EOF
(
cur= &&
@@ -1113,13 +1117,13 @@ test_expect_success '__git_complete_refs - remote' '
test_expect_success '__git_complete_refs - track' '
sed -e "s/Z$//" >expected <<-EOF &&
HEAD Z
- master Z
+ main Z
matching-branch Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
matching-tag Z
branch-in-other Z
- master-in-other Z
+ main-in-other Z
EOF
(
cur= &&
@@ -1158,10 +1162,10 @@ test_expect_success '__git_complete_refs - prefix' '
test_expect_success '__git_complete_refs - suffix' '
cat >expected <<-EOF &&
HEAD.
- master.
+ main.
matching-branch.
other/branch-in-other.
- other/master-in-other.
+ other/main-in-other.
matching-tag.
EOF
(
@@ -1176,7 +1180,7 @@ test_expect_success '__git_complete_fetch_refspecs - simple' '
sed -e "s/Z$//" >expected <<-EOF &&
HEAD:HEAD Z
branch-in-other:branch-in-other Z
- master-in-other:master-in-other Z
+ main-in-other:main-in-other Z
EOF
(
cur= &&
@@ -1202,7 +1206,7 @@ test_expect_success '__git_complete_fetch_refspecs - prefix' '
sed -e "s/Z$//" >expected <<-EOF &&
+HEAD:HEAD Z
+branch-in-other:branch-in-other Z
- +master-in-other:master-in-other Z
+ +main-in-other:main-in-other Z
EOF
(
cur="+" &&
@@ -1215,7 +1219,7 @@ test_expect_success '__git_complete_fetch_refspecs - prefix' '
test_expect_success '__git_complete_fetch_refspecs - fully qualified' '
sed -e "s/Z$//" >expected <<-EOF &&
refs/heads/branch-in-other:refs/heads/branch-in-other Z
- refs/heads/master-in-other:refs/heads/master-in-other Z
+ refs/heads/main-in-other:refs/heads/main-in-other Z
refs/tags/tag-in-other:refs/tags/tag-in-other Z
EOF
(
@@ -1229,7 +1233,7 @@ test_expect_success '__git_complete_fetch_refspecs - fully qualified' '
test_expect_success '__git_complete_fetch_refspecs - fully qualified & prefix' '
sed -e "s/Z$//" >expected <<-EOF &&
+refs/heads/branch-in-other:refs/heads/branch-in-other Z
- +refs/heads/master-in-other:refs/heads/master-in-other Z
+ +refs/heads/main-in-other:refs/heads/main-in-other Z
+refs/tags/tag-in-other:refs/tags/tag-in-other Z
EOF
(
@@ -1243,8 +1247,8 @@ test_expect_success '__git_complete_fetch_refspecs - fully qualified & prefix' '
test_expect_success 'git switch - with no options, complete local branches and unique remote branch names for DWIM logic' '
test_completion "git switch " <<-\EOF
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
EOF
'
@@ -1253,25 +1257,25 @@ test_expect_success 'git checkout - completes refs and unique remote branches fo
test_completion "git checkout " <<-\EOF
HEAD Z
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git switch - with --no-guess, complete only local branches' '
test_completion "git switch --no-guess " <<-\EOF
- master Z
+ main Z
matching-branch Z
EOF
'
test_expect_success 'git switch - with GIT_COMPLETION_CHECKOUT_NO_GUESS=1, complete only local branches' '
GIT_COMPLETION_CHECKOUT_NO_GUESS=1 test_completion "git switch " <<-\EOF
- master Z
+ main Z
matching-branch Z
EOF
'
@@ -1279,8 +1283,8 @@ test_expect_success 'git switch - with GIT_COMPLETION_CHECKOUT_NO_GUESS=1, compl
test_expect_success 'git switch - --guess overrides GIT_COMPLETION_CHECKOUT_NO_GUESS=1, complete local branches and unique remote names for DWIM logic' '
GIT_COMPLETION_CHECKOUT_NO_GUESS=1 test_completion "git switch --guess " <<-\EOF
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
EOF
'
@@ -1288,15 +1292,15 @@ test_expect_success 'git switch - --guess overrides GIT_COMPLETION_CHECKOUT_NO_G
test_expect_success 'git switch - a later --guess overrides previous --no-guess, complete local and remote unique branches for DWIM' '
test_completion "git switch --no-guess --guess " <<-\EOF
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
EOF
'
test_expect_success 'git switch - a later --no-guess overrides previous --guess, complete only local branches' '
test_completion "git switch --guess --no-guess " <<-\EOF
- master Z
+ main Z
matching-branch Z
EOF
'
@@ -1304,11 +1308,11 @@ test_expect_success 'git switch - a later --no-guess overrides previous --guess,
test_expect_success 'git checkout - with GIT_COMPLETION_NO_GUESS=1 only completes refs' '
GIT_COMPLETION_CHECKOUT_NO_GUESS=1 test_completion "git checkout " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
@@ -1316,23 +1320,23 @@ test_expect_success 'git checkout - --guess overrides GIT_COMPLETION_NO_GUESS=1,
GIT_COMPLETION_CHECKOUT_NO_GUESS=1 test_completion "git checkout --guess " <<-\EOF
HEAD Z
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git checkout - with --no-guess, only completes refs' '
test_completion "git checkout --no-guess " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
@@ -1340,23 +1344,23 @@ test_expect_success 'git checkout - a later --guess overrides previous --no-gues
test_completion "git checkout --no-guess --guess " <<-\EOF
HEAD Z
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git checkout - a later --no-guess overrides previous --guess, complete only refs' '
test_completion "git checkout --guess --no-guess " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
@@ -1364,11 +1368,11 @@ test_expect_success 'git checkout - with checkout.guess = false, only completes
test_config checkout.guess false &&
test_completion "git checkout " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
@@ -1377,12 +1381,12 @@ test_expect_success 'git checkout - with checkout.guess = true, completes refs a
test_completion "git checkout " <<-\EOF
HEAD Z
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
@@ -1391,12 +1395,12 @@ test_expect_success 'git checkout - a later --guess overrides previous checkout.
test_completion "git checkout --guess " <<-\EOF
HEAD Z
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
@@ -1404,75 +1408,75 @@ test_expect_success 'git checkout - a later --no-guess overrides previous checko
test_config checkout.guess true &&
test_completion "git checkout --no-guess " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git switch - with --detach, complete all references' '
test_completion "git switch --detach " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git checkout - with --detach, complete only references' '
test_completion "git checkout --detach " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git switch - with -d, complete all references' '
test_completion "git switch -d " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git checkout - with -d, complete only references' '
test_completion "git checkout -d " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git switch - with --track, complete only remote branches' '
test_completion "git switch --track " <<-\EOF
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git checkout - with --track, complete only remote branches' '
test_completion "git checkout --track " <<-\EOF
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git switch - with --no-track, complete only local branch names' '
test_completion "git switch --no-track " <<-\EOF
- master Z
+ main Z
matching-branch Z
EOF
'
@@ -1480,151 +1484,151 @@ test_expect_success 'git switch - with --no-track, complete only local branch na
test_expect_success 'git checkout - with --no-track, complete only local references' '
test_completion "git checkout --no-track " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git switch - with -c, complete all references' '
test_completion "git switch -c new-branch " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git switch - with -C, complete all references' '
test_completion "git switch -C new-branch " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git switch - with -c and --track, complete all references' '
test_completion "git switch -c new-branch --track " <<-EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git switch - with -C and --track, complete all references' '
test_completion "git switch -C new-branch --track " <<-EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git switch - with -c and --no-track, complete all references' '
test_completion "git switch -c new-branch --no-track " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git switch - with -C and --no-track, complete all references' '
test_completion "git switch -C new-branch --no-track " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git checkout - with -b, complete all references' '
test_completion "git checkout -b new-branch " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git checkout - with -B, complete all references' '
test_completion "git checkout -B new-branch " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git checkout - with -b and --track, complete all references' '
test_completion "git checkout -b new-branch --track " <<-EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git checkout - with -B and --track, complete all references' '
test_completion "git checkout -B new-branch --track " <<-EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git checkout - with -b and --no-track, complete all references' '
test_completion "git checkout -b new-branch --no-track " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git checkout - with -B and --no-track, complete all references' '
test_completion "git checkout -B new-branch --no-track " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
test_expect_success 'git switch - for -c, complete local branches and unique remote branches' '
test_completion "git switch -c " <<-\EOF
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
EOF
'
@@ -1632,36 +1636,36 @@ test_expect_success 'git switch - for -c, complete local branches and unique rem
test_expect_success 'git switch - for -C, complete local branches and unique remote branches' '
test_completion "git switch -C " <<-\EOF
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
EOF
'
test_expect_success 'git switch - for -c with --no-guess, complete local branches only' '
test_completion "git switch --no-guess -c " <<-\EOF
- master Z
+ main Z
matching-branch Z
EOF
'
test_expect_success 'git switch - for -C with --no-guess, complete local branches only' '
test_completion "git switch --no-guess -C " <<-\EOF
- master Z
+ main Z
matching-branch Z
EOF
'
test_expect_success 'git switch - for -c with --no-track, complete local branches only' '
test_completion "git switch --no-track -c " <<-\EOF
- master Z
+ main Z
matching-branch Z
EOF
'
test_expect_success 'git switch - for -C with --no-track, complete local branches only' '
test_completion "git switch --no-track -C " <<-\EOF
- master Z
+ main Z
matching-branch Z
EOF
'
@@ -1669,8 +1673,8 @@ test_expect_success 'git switch - for -C with --no-track, complete local branche
test_expect_success 'git checkout - for -b, complete local branches and unique remote branches' '
test_completion "git checkout -b " <<-\EOF
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
EOF
'
@@ -1678,36 +1682,36 @@ test_expect_success 'git checkout - for -b, complete local branches and unique r
test_expect_success 'git checkout - for -B, complete local branches and unique remote branches' '
test_completion "git checkout -B " <<-\EOF
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
EOF
'
test_expect_success 'git checkout - for -b with --no-guess, complete local branches only' '
test_completion "git checkout --no-guess -b " <<-\EOF
- master Z
+ main Z
matching-branch Z
EOF
'
test_expect_success 'git checkout - for -B with --no-guess, complete local branches only' '
test_completion "git checkout --no-guess -B " <<-\EOF
- master Z
+ main Z
matching-branch Z
EOF
'
test_expect_success 'git checkout - for -b with --no-track, complete local branches only' '
test_completion "git checkout --no-track -b " <<-\EOF
- master Z
+ main Z
matching-branch Z
EOF
'
test_expect_success 'git checkout - for -B with --no-track, complete local branches only' '
test_completion "git checkout --no-track -B " <<-\EOF
- master Z
+ main Z
matching-branch Z
EOF
'
@@ -1715,14 +1719,14 @@ test_expect_success 'git checkout - for -B with --no-track, complete local branc
test_expect_success 'git switch - with --orphan completes local branch names and unique remote branch names' '
test_completion "git switch --orphan " <<-\EOF
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
EOF
'
test_expect_success 'git switch - --orphan with branch already provided completes nothing else' '
- test_completion "git switch --orphan master " <<-\EOF
+ test_completion "git switch --orphan main " <<-\EOF
EOF
'
@@ -1730,20 +1734,20 @@ test_expect_success 'git switch - --orphan with branch already provided complete
test_expect_success 'git checkout - with --orphan completes local branch names and unique remote branch names' '
test_completion "git checkout --orphan " <<-\EOF
branch-in-other Z
- master Z
- master-in-other Z
+ main Z
+ main-in-other Z
matching-branch Z
EOF
'
test_expect_success 'git checkout - --orphan with branch already provided completes local refs for a start-point' '
- test_completion "git checkout --orphan master " <<-\EOF
+ test_completion "git checkout --orphan main " <<-\EOF
HEAD Z
- master Z
+ main Z
matching-branch Z
matching-tag Z
other/branch-in-other Z
- other/master-in-other Z
+ other/main-in-other Z
EOF
'
@@ -2067,7 +2071,7 @@ test_expect_success 'setup for integration tests' '
test_expect_success 'checkout completes ref names' '
test_completion "git checkout m" <<-\EOF
- master Z
+ main Z
mybranch Z
mytag Z
EOF
@@ -2081,7 +2085,7 @@ test_expect_success 'git -C <path> checkout uses the right repo' '
test_expect_success 'show completes all refs' '
test_completion "git show m" <<-\EOF
- master Z
+ main Z
mybranch Z
mytag Z
EOF
@@ -2118,7 +2122,7 @@ test_expect_success PERL 'send-email' '
--cover-from-description=Z
--cover-letter Z
EOF
- test_completion "git send-email ma" "master "
+ test_completion "git send-email ma" "main "
'
test_expect_success 'complete files' '
@@ -2195,10 +2199,29 @@ test_expect_success 'complete files' '
test_completion "git add mom" "momified"
'
+test_expect_success "simple alias" '
+ test_config alias.co checkout &&
+ test_completion "git co m" <<-\EOF
+ main Z
+ mybranch Z
+ mytag Z
+ EOF
+'
+
+test_expect_success "recursive alias" '
+ test_config alias.co checkout &&
+ test_config alias.cod "co --detached" &&
+ test_completion "git cod m" <<-\EOF
+ main Z
+ mybranch Z
+ mytag Z
+ EOF
+'
+
test_expect_success "completion uses <cmd> completion for alias: !sh -c 'git <cmd> ...'" '
test_config alias.co "!sh -c '"'"'git checkout ...'"'"'" &&
test_completion "git co m" <<-\EOF
- master Z
+ main Z
mybranch Z
mytag Z
EOF
@@ -2207,7 +2230,7 @@ test_expect_success "completion uses <cmd> completion for alias: !sh -c 'git <cm
test_expect_success 'completion uses <cmd> completion for alias: !f () { VAR=val git <cmd> ... }' '
test_config alias.co "!f () { VAR=val git checkout ... ; } f" &&
test_completion "git co m" <<-\EOF
- master Z
+ main Z
mybranch Z
mytag Z
EOF
@@ -2216,7 +2239,7 @@ test_expect_success 'completion uses <cmd> completion for alias: !f () { VAR=val
test_expect_success 'completion used <cmd> completion for alias: !f() { : git <cmd> ; ... }' '
test_config alias.co "!f() { : git checkout ; if ... } f" &&
test_completion "git co m" <<-\EOF
- master Z
+ main Z
mybranch Z
mytag Z
EOF
@@ -2247,7 +2270,7 @@ for flag in -d --delete
do
test_expect_success "__git_complete_remote_or_refspec - push $flag other" '
sed -e "s/Z$//" >expected <<-EOF &&
- master-in-other Z
+ main-in-other Z
EOF
(
words=(git push '$flag' other ma) &&
@@ -2260,7 +2283,7 @@ do
test_expect_failure "__git_complete_remote_or_refspec - push other $flag" '
sed -e "s/Z$//" >expected <<-EOF &&
- master-in-other Z
+ main-in-other Z
EOF
(
words=(git push other '$flag' ma) &&
@@ -2360,4 +2383,24 @@ test_expect_success 'sourcing the completion script clears cached --options' '
verbose test -z "$__gitcomp_builtin_notes_edit"
'
+test_expect_success '__git_complete' '
+ unset -f __git_wrap__git_main &&
+
+ __git_complete foo __git_main &&
+ __git_have_func __git_wrap__git_main &&
+ unset -f __git_wrap__git_main &&
+
+ __git_complete gf _git_fetch &&
+ __git_have_func __git_wrap_git_fetch &&
+
+ __git_complete foo git &&
+ __git_have_func __git_wrap__git_main &&
+ unset -f __git_wrap__git_main &&
+
+ __git_complete gd git_diff &&
+ __git_have_func __git_wrap_git_diff &&
+
+ test_must_fail __git_complete ga missing
+'
+
test_done
diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh
index ab5da2cabc..bbd513bab0 100755
--- a/t/t9903-bash-prompt.sh
+++ b/t/t9903-bash-prompt.sh
@@ -5,6 +5,9 @@
test_description='test git-specific bash prompt functions'
+GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
+export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
+
. ./lib-bash.sh
. "$GIT_BUILD_DIR/contrib/completion/git-prompt.sh"
@@ -28,7 +31,7 @@ test_expect_success 'setup for prompt tests' '
echo 3 >file &&
git commit -m "third b1" file &&
git tag -a -m msg2 t2 &&
- git checkout -b b2 master &&
+ git checkout -b b2 main &&
echo 0 >file &&
git commit -m "second b2" file &&
echo 00 >file &&
@@ -37,20 +40,20 @@ test_expect_success 'setup for prompt tests' '
git commit -m "yet another b2" file &&
mkdir ignored_dir &&
echo "ignored_dir/" >>.gitignore &&
- git checkout master
+ git checkout main
'
test_expect_success 'prompt - branch name' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
__git_ps1 >"$actual" &&
test_cmp expected "$actual"
'
test_expect_success SYMLINKS 'prompt - branch name - symlink symref' '
- printf " (master)" >expected &&
- test_when_finished "git checkout master" &&
+ printf " (main)" >expected &&
+ test_when_finished "git checkout main" &&
test_config core.preferSymlinkRefs true &&
- git checkout master &&
+ git checkout main &&
__git_ps1 >"$actual" &&
test_cmp expected "$actual"
'
@@ -58,7 +61,7 @@ test_expect_success SYMLINKS 'prompt - branch name - symlink symref' '
test_expect_success 'prompt - unborn branch' '
printf " (unborn)" >expected &&
git checkout --orphan unborn &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
__git_ps1 >"$actual" &&
test_cmp expected "$actual"
'
@@ -72,7 +75,7 @@ test_expect_success FUNNYNAMES 'prompt - with newline in path' '
with
newline" &&
mkdir "$repo_with_newline" &&
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
git init "$repo_with_newline" &&
test_when_finished "rm -rf \"$repo_with_newline\"" &&
mkdir "$repo_with_newline"/subdir &&
@@ -87,7 +90,7 @@ test_expect_success 'prompt - detached head' '
printf " ((%s...))" $(git log -1 --format="%h" --abbrev=13 b1^) >expected &&
test_config core.abbrev 13 &&
git checkout b1^ &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
__git_ps1 >"$actual" &&
test_cmp expected "$actual"
'
@@ -95,7 +98,7 @@ test_expect_success 'prompt - detached head' '
test_expect_success 'prompt - describe detached head - contains' '
printf " ((t2~1))" >expected &&
git checkout b1^ &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
(
GIT_PS1_DESCRIBE_STYLE=contains &&
__git_ps1 >"$actual"
@@ -106,7 +109,7 @@ test_expect_success 'prompt - describe detached head - contains' '
test_expect_success 'prompt - describe detached head - branch' '
printf " ((tags/t2~1))" >expected &&
git checkout b1^ &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
(
GIT_PS1_DESCRIBE_STYLE=branch &&
__git_ps1 >"$actual"
@@ -117,7 +120,7 @@ test_expect_success 'prompt - describe detached head - branch' '
test_expect_success 'prompt - describe detached head - describe' '
printf " ((t1-1-g%s))" $(git log -1 --format="%h" b1^) >expected &&
git checkout b1^ &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
(
GIT_PS1_DESCRIBE_STYLE=describe &&
__git_ps1 >"$actual"
@@ -128,7 +131,7 @@ test_expect_success 'prompt - describe detached head - describe' '
test_expect_success 'prompt - describe detached head - default' '
printf " ((t2))" >expected &&
git checkout --detach b1 &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
__git_ps1 >"$actual" &&
test_cmp expected "$actual"
'
@@ -152,7 +155,7 @@ test_expect_success 'prompt - deep inside .git directory' '
'
test_expect_success 'prompt - inside bare repository' '
- printf " (BARE:master)" >expected &&
+ printf " (BARE:main)" >expected &&
git init --bare bare.git &&
test_when_finished "rm -rf bare.git" &&
(
@@ -172,7 +175,7 @@ test_expect_success 'prompt - interactive rebase' '
test_when_finished "rm -f fake_editor.sh" &&
test_set_editor "$TRASH_DIRECTORY/fake_editor.sh" &&
git checkout b1 &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
git rebase -i HEAD^ &&
test_when_finished "git rebase --abort" &&
__git_ps1 >"$actual" &&
@@ -182,7 +185,7 @@ test_expect_success 'prompt - interactive rebase' '
test_expect_success 'prompt - rebase merge' '
printf " (b2|REBASE 1/3)" >expected &&
git checkout b2 &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
test_must_fail git rebase --merge b1 b2 &&
test_when_finished "git rebase --abort" &&
__git_ps1 >"$actual" &&
@@ -192,7 +195,7 @@ test_expect_success 'prompt - rebase merge' '
test_expect_success 'prompt - rebase am' '
printf " (b2|REBASE 1/3)" >expected &&
git checkout b2 &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
test_must_fail git rebase --apply b1 b2 &&
test_when_finished "git rebase --abort" &&
__git_ps1 >"$actual" &&
@@ -202,7 +205,7 @@ test_expect_success 'prompt - rebase am' '
test_expect_success 'prompt - merge' '
printf " (b1|MERGING)" >expected &&
git checkout b1 &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
test_must_fail git merge b2 &&
test_when_finished "git reset --hard" &&
__git_ps1 >"$actual" &&
@@ -210,7 +213,7 @@ test_expect_success 'prompt - merge' '
'
test_expect_success 'prompt - cherry-pick' '
- printf " (master|CHERRY-PICKING)" >expected &&
+ printf " (main|CHERRY-PICKING)" >expected &&
test_must_fail git cherry-pick b1 b1^ &&
test_when_finished "git cherry-pick --abort" &&
__git_ps1 >"$actual" &&
@@ -222,7 +225,7 @@ test_expect_success 'prompt - cherry-pick' '
'
test_expect_success 'prompt - revert' '
- printf " (master|REVERTING)" >expected &&
+ printf " (main|REVERTING)" >expected &&
test_must_fail git revert b1^ b1 &&
test_when_finished "git revert --abort" &&
__git_ps1 >"$actual" &&
@@ -234,7 +237,7 @@ test_expect_success 'prompt - revert' '
'
test_expect_success 'prompt - bisect' '
- printf " (master|BISECTING)" >expected &&
+ printf " (main|BISECTING)" >expected &&
git bisect start &&
test_when_finished "git bisect reset" &&
__git_ps1 >"$actual" &&
@@ -242,7 +245,7 @@ test_expect_success 'prompt - bisect' '
'
test_expect_success 'prompt - dirty status indicator - clean' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
(
GIT_PS1_SHOWDIRTYSTATE=y &&
__git_ps1 >"$actual"
@@ -251,7 +254,7 @@ test_expect_success 'prompt - dirty status indicator - clean' '
'
test_expect_success 'prompt - dirty status indicator - dirty worktree' '
- printf " (master *)" >expected &&
+ printf " (main *)" >expected &&
echo "dirty" >file &&
test_when_finished "git reset --hard" &&
(
@@ -262,7 +265,7 @@ test_expect_success 'prompt - dirty status indicator - dirty worktree' '
'
test_expect_success 'prompt - dirty status indicator - dirty index' '
- printf " (master +)" >expected &&
+ printf " (main +)" >expected &&
echo "dirty" >file &&
test_when_finished "git reset --hard" &&
git add -u &&
@@ -274,7 +277,7 @@ test_expect_success 'prompt - dirty status indicator - dirty index' '
'
test_expect_success 'prompt - dirty status indicator - dirty index and worktree' '
- printf " (master *+)" >expected &&
+ printf " (main *+)" >expected &&
echo "dirty index" >file &&
test_when_finished "git reset --hard" &&
git add -u &&
@@ -288,7 +291,7 @@ test_expect_success 'prompt - dirty status indicator - dirty index and worktree'
test_expect_success 'prompt - dirty status indicator - orphan branch - clean' '
printf " (orphan #)" >expected &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
git checkout --orphan orphan &&
git reset --hard &&
(
@@ -300,7 +303,7 @@ test_expect_success 'prompt - dirty status indicator - orphan branch - clean' '
test_expect_success 'prompt - dirty status indicator - orphan branch - dirty index' '
printf " (orphan +)" >expected &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
git checkout --orphan orphan &&
(
GIT_PS1_SHOWDIRTYSTATE=y &&
@@ -311,7 +314,7 @@ test_expect_success 'prompt - dirty status indicator - orphan branch - dirty ind
test_expect_success 'prompt - dirty status indicator - orphan branch - dirty index and worktree' '
printf " (orphan *+)" >expected &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
git checkout --orphan orphan &&
>file &&
(
@@ -322,7 +325,7 @@ test_expect_success 'prompt - dirty status indicator - orphan branch - dirty ind
'
test_expect_success 'prompt - dirty status indicator - shell variable unset with config disabled' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
echo "dirty" >file &&
test_when_finished "git reset --hard" &&
test_config bash.showDirtyState false &&
@@ -334,7 +337,7 @@ test_expect_success 'prompt - dirty status indicator - shell variable unset with
'
test_expect_success 'prompt - dirty status indicator - shell variable unset with config enabled' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
echo "dirty" >file &&
test_when_finished "git reset --hard" &&
test_config bash.showDirtyState true &&
@@ -346,7 +349,7 @@ test_expect_success 'prompt - dirty status indicator - shell variable unset with
'
test_expect_success 'prompt - dirty status indicator - shell variable set with config disabled' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
echo "dirty" >file &&
test_when_finished "git reset --hard" &&
test_config bash.showDirtyState false &&
@@ -358,7 +361,7 @@ test_expect_success 'prompt - dirty status indicator - shell variable set with c
'
test_expect_success 'prompt - dirty status indicator - shell variable set with config enabled' '
- printf " (master *)" >expected &&
+ printf " (main *)" >expected &&
echo "dirty" >file &&
test_when_finished "git reset --hard" &&
test_config bash.showDirtyState true &&
@@ -382,7 +385,7 @@ test_expect_success 'prompt - dirty status indicator - not shown inside .git dir
'
test_expect_success 'prompt - stash status indicator - no stash' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
(
GIT_PS1_SHOWSTASHSTATE=y &&
__git_ps1 >"$actual"
@@ -391,7 +394,7 @@ test_expect_success 'prompt - stash status indicator - no stash' '
'
test_expect_success 'prompt - stash status indicator - stash' '
- printf " (master $)" >expected &&
+ printf " (main $)" >expected &&
echo 2 >file &&
git stash &&
test_when_finished "git stash drop" &&
@@ -417,7 +420,7 @@ test_expect_success 'prompt - stash status indicator - not shown inside .git dir
'
test_expect_success 'prompt - untracked files status indicator - no untracked files' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
(
GIT_PS1_SHOWUNTRACKEDFILES=y &&
cd otherrepo &&
@@ -427,7 +430,7 @@ test_expect_success 'prompt - untracked files status indicator - no untracked fi
'
test_expect_success 'prompt - untracked files status indicator - untracked files' '
- printf " (master %%)" >expected &&
+ printf " (main %%)" >expected &&
(
GIT_PS1_SHOWUNTRACKEDFILES=y &&
__git_ps1 >"$actual"
@@ -436,7 +439,7 @@ test_expect_success 'prompt - untracked files status indicator - untracked files
'
test_expect_success 'prompt - untracked files status indicator - empty untracked dir' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
mkdir otherrepo/untracked-dir &&
test_when_finished "rm -rf otherrepo/untracked-dir" &&
(
@@ -448,7 +451,7 @@ test_expect_success 'prompt - untracked files status indicator - empty untracked
'
test_expect_success 'prompt - untracked files status indicator - non-empty untracked dir' '
- printf " (master %%)" >expected &&
+ printf " (main %%)" >expected &&
mkdir otherrepo/untracked-dir &&
test_when_finished "rm -rf otherrepo/untracked-dir" &&
>otherrepo/untracked-dir/untracked-file &&
@@ -461,7 +464,7 @@ test_expect_success 'prompt - untracked files status indicator - non-empty untra
'
test_expect_success 'prompt - untracked files status indicator - untracked files outside cwd' '
- printf " (master %%)" >expected &&
+ printf " (main %%)" >expected &&
(
mkdir -p ignored_dir &&
cd ignored_dir &&
@@ -472,7 +475,7 @@ test_expect_success 'prompt - untracked files status indicator - untracked files
'
test_expect_success 'prompt - untracked files status indicator - shell variable unset with config disabled' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
test_config bash.showUntrackedFiles false &&
(
sane_unset GIT_PS1_SHOWUNTRACKEDFILES &&
@@ -482,7 +485,7 @@ test_expect_success 'prompt - untracked files status indicator - shell variable
'
test_expect_success 'prompt - untracked files status indicator - shell variable unset with config enabled' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
test_config bash.showUntrackedFiles true &&
(
sane_unset GIT_PS1_SHOWUNTRACKEDFILES &&
@@ -492,7 +495,7 @@ test_expect_success 'prompt - untracked files status indicator - shell variable
'
test_expect_success 'prompt - untracked files status indicator - shell variable set with config disabled' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
test_config bash.showUntrackedFiles false &&
(
GIT_PS1_SHOWUNTRACKEDFILES=y &&
@@ -502,7 +505,7 @@ test_expect_success 'prompt - untracked files status indicator - shell variable
'
test_expect_success 'prompt - untracked files status indicator - shell variable set with config enabled' '
- printf " (master %%)" >expected &&
+ printf " (main %%)" >expected &&
test_config bash.showUntrackedFiles true &&
(
GIT_PS1_SHOWUNTRACKEDFILES=y &&
@@ -522,13 +525,13 @@ test_expect_success 'prompt - untracked files status indicator - not shown insid
'
test_expect_success 'prompt - format string starting with dash' '
- printf -- "-master" >expected &&
+ printf -- "-main" >expected &&
__git_ps1 "-%s" >"$actual" &&
test_cmp expected "$actual"
'
test_expect_success 'prompt - pc mode' '
- printf "BEFORE: (\${__git_ps1_branch_name}):AFTER\\nmaster" >expected &&
+ printf "BEFORE: (\${__git_ps1_branch_name}):AFTER\\nmain" >expected &&
(
__git_ps1 "BEFORE:" ":AFTER" >"$actual" &&
test_must_be_empty "$actual" &&
@@ -538,7 +541,7 @@ test_expect_success 'prompt - pc mode' '
'
test_expect_success 'prompt - bash color pc mode - branch name' '
- printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear}):AFTER\\nmaster" >expected &&
+ printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear}):AFTER\\nmain" >expected &&
(
GIT_PS1_SHOWCOLORHINTS=y &&
__git_ps1 "BEFORE:" ":AFTER" >"$actual" &&
@@ -550,7 +553,7 @@ test_expect_success 'prompt - bash color pc mode - branch name' '
test_expect_success 'prompt - bash color pc mode - detached head' '
printf "BEFORE: (${c_red}\${__git_ps1_branch_name}${c_clear}):AFTER\\n(%s...)" $(git log -1 --format="%h" b1^) >expected &&
git checkout b1^ &&
- test_when_finished "git checkout master" &&
+ test_when_finished "git checkout main" &&
(
GIT_PS1_SHOWCOLORHINTS=y &&
__git_ps1 "BEFORE:" ":AFTER" &&
@@ -560,7 +563,7 @@ test_expect_success 'prompt - bash color pc mode - detached head' '
'
test_expect_success 'prompt - bash color pc mode - dirty status indicator - dirty worktree' '
- printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear} ${c_red}*${c_clear}):AFTER\\nmaster" >expected &&
+ printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear} ${c_red}*${c_clear}):AFTER\\nmain" >expected &&
echo "dirty" >file &&
test_when_finished "git reset --hard" &&
(
@@ -573,7 +576,7 @@ test_expect_success 'prompt - bash color pc mode - dirty status indicator - dirt
'
test_expect_success 'prompt - bash color pc mode - dirty status indicator - dirty index' '
- printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear} ${c_green}+${c_clear}):AFTER\\nmaster" >expected &&
+ printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear} ${c_green}+${c_clear}):AFTER\\nmain" >expected &&
echo "dirty" >file &&
test_when_finished "git reset --hard" &&
git add -u &&
@@ -587,7 +590,7 @@ test_expect_success 'prompt - bash color pc mode - dirty status indicator - dirt
'
test_expect_success 'prompt - bash color pc mode - dirty status indicator - dirty index and worktree' '
- printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear} ${c_red}*${c_green}+${c_clear}):AFTER\\nmaster" >expected &&
+ printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear} ${c_red}*${c_green}+${c_clear}):AFTER\\nmain" >expected &&
echo "dirty index" >file &&
test_when_finished "git reset --hard" &&
git add -u &&
@@ -602,7 +605,7 @@ test_expect_success 'prompt - bash color pc mode - dirty status indicator - dirt
'
test_expect_success 'prompt - bash color pc mode - dirty status indicator - before root commit' '
- printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear} ${c_green}#${c_clear}):AFTER\\nmaster" >expected &&
+ printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear} ${c_green}#${c_clear}):AFTER\\nmain" >expected &&
(
GIT_PS1_SHOWDIRTYSTATE=y &&
GIT_PS1_SHOWCOLORHINTS=y &&
@@ -628,7 +631,7 @@ test_expect_success 'prompt - bash color pc mode - inside .git directory' '
'
test_expect_success 'prompt - bash color pc mode - stash status indicator' '
- printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear} ${c_lblue}\$${c_clear}):AFTER\\nmaster" >expected &&
+ printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear} ${c_lblue}\$${c_clear}):AFTER\\nmain" >expected &&
echo 2 >file &&
git stash &&
test_when_finished "git stash drop" &&
@@ -642,7 +645,7 @@ test_expect_success 'prompt - bash color pc mode - stash status indicator' '
'
test_expect_success 'prompt - bash color pc mode - untracked files status indicator' '
- printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear} ${c_red}%%${c_clear}):AFTER\\nmaster" >expected &&
+ printf "BEFORE: (${c_green}\${__git_ps1_branch_name}${c_clear} ${c_red}%%${c_clear}):AFTER\\nmain" >expected &&
(
GIT_PS1_SHOWUNTRACKEDFILES=y &&
GIT_PS1_SHOWCOLORHINTS=y &&
@@ -653,7 +656,7 @@ test_expect_success 'prompt - bash color pc mode - untracked files status indica
'
test_expect_success 'prompt - zsh color pc mode' '
- printf "BEFORE: (%%F{green}master%%f):AFTER" >expected &&
+ printf "BEFORE: (%%F{green}main%%f):AFTER" >expected &&
(
ZSH_VERSION=5.0.0 &&
GIT_PS1_SHOWCOLORHINTS=y &&
@@ -664,7 +667,7 @@ test_expect_success 'prompt - zsh color pc mode' '
'
test_expect_success 'prompt - hide if pwd ignored - env var unset, config disabled' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
test_config bash.hideIfPwdIgnored false &&
(
cd ignored_dir &&
@@ -685,7 +688,7 @@ test_expect_success 'prompt - hide if pwd ignored - env var unset, config disabl
'
test_expect_success 'prompt - hide if pwd ignored - env var unset, config unset' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
(
cd ignored_dir &&
__git_ps1 >"$actual"
@@ -704,7 +707,7 @@ test_expect_success 'prompt - hide if pwd ignored - env var unset, config unset,
'
test_expect_success 'prompt - hide if pwd ignored - env var set, config disabled' '
- printf " (master)" >expected &&
+ printf " (main)" >expected &&
test_config bash.hideIfPwdIgnored false &&
(
cd ignored_dir &&
diff --git a/t/test-bundle-functions.sh b/t/test-bundle-functions.sh
new file mode 100644
index 0000000000..cf7ed818b2
--- /dev/null
+++ b/t/test-bundle-functions.sh
@@ -0,0 +1,42 @@
+# Library of git-bundle related functions.
+
+# Display the pack data contained in the bundle file, bypassing the
+# header that contains the signature, prerequisites and references.
+convert_bundle_to_pack () {
+ while read x && test -n "$x"
+ do
+ :;
+ done
+ cat
+}
+
+# Check count of objects in a bundle file.
+# We can use "--thin" opiton to check thin pack, which must be fixed by
+# command `git-index-pack --fix-thin --stdin`.
+test_bundle_object_count () {
+ thin=
+ if test "$1" = "--thin"
+ then
+ thin=t
+ shift
+ fi
+ if test $# -ne 2
+ then
+ echo >&2 "args should be: <bundle> <count>"
+ return 1
+ fi
+ bundle=$1
+ pack=$bundle.pack
+ convert_bundle_to_pack <"$bundle" >"$pack" &&
+ if test -n "$thin"
+ then
+ mv "$pack" "$bundle.thin.pack" &&
+ git index-pack --stdin --fix-thin "$pack" <"$bundle.thin.pack"
+ else
+ git index-pack "$pack"
+ fi || return 1
+ count=$(git show-index <"${pack%pack}idx" | wc -l) &&
+ test $2 = $count && return 0
+ echo >&2 "error: object count for $bundle is $count, not $2"
+ return 1
+}
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index 8d59b90348..6bca002316 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -178,19 +178,28 @@ debug () {
GIT_DEBUGGER="${GIT_DEBUGGER}" "$@" <&6 >&5 2>&7
}
-# Call test_commit with the arguments
-# [-C <directory>] <message> [<file> [<contents> [<tag>]]]"
+# Usage: test_commit [options] <message> [<file> [<contents> [<tag>]]]
+# -C <dir>:
+# Run all git commands in directory <dir>
+# --notick
+# Do not call test_tick before making a commit
+# --append
+# Use "echo >>" instead of "echo >" when writing "<contents>" to
+# "<file>"
+# --signoff
+# Invoke "git commit" with --signoff
+# --author <author>
+# Invoke "git commit" with --author <author>
#
# This will commit a file with the given contents and the given commit
# message, and tag the resulting commit with the given tag name.
#
# <file>, <contents>, and <tag> all default to <message>.
-#
-# If the first argument is "-C", the second argument is used as a path for
-# the git invocations.
test_commit () {
notick= &&
+ append= &&
+ author= &&
signoff= &&
indir= &&
while test $# != 0
@@ -199,6 +208,13 @@ test_commit () {
--notick)
notick=yes
;;
+ --append)
+ append=yes
+ ;;
+ --author)
+ author="$2"
+ shift
+ ;;
--signoff)
signoff="$1"
;;
@@ -214,13 +230,20 @@ test_commit () {
done &&
indir=${indir:+"$indir"/} &&
file=${2:-"$1.t"} &&
- echo "${3-$1}" > "$indir$file" &&
+ if test -n "$append"
+ then
+ echo "${3-$1}" >>"$indir$file"
+ else
+ echo "${3-$1}" >"$indir$file"
+ fi &&
git ${indir:+ -C "$indir"} add "$file" &&
if test -z "$notick"
then
test_tick
fi &&
- git ${indir:+ -C "$indir"} commit $signoff -m "$1" &&
+ git ${indir:+ -C "$indir"} commit \
+ ${author:+ --author "$author"} \
+ $signoff -m "$1" &&
git ${indir:+ -C "$indir"} tag "${4:-$1}"
}
@@ -367,9 +390,14 @@ test_chmod () {
git update-index --add "--chmod=$@"
}
-# Get the modebits from a file.
+# Get the modebits from a file or directory, ignoring the setgid bit (g+s).
+# This bit is inherited by subdirectories at their creation. So we remove it
+# from the returning string to prevent callers from having to worry about the
+# state of the bit in the test directory.
+#
test_modebits () {
- ls -l "$1" | sed -e 's|^\(..........\).*|\1|'
+ ls -ld "$1" | sed -e 's|^\(..........\).*|\1|' \
+ -e 's|^\(......\)S|\1-|' -e 's|^\(......\)s|\1x|'
}
# Unset a configuration variable, but don't fail if it doesn't exist.
@@ -423,7 +451,7 @@ write_script () {
# - Explicitly using test_have_prereq.
#
# - Implicitly by specifying the prerequisite tag in the calls to
-# test_expect_{success,failure,code}.
+# test_expect_{success,failure} and test_external{,_without_stderr}.
#
# The single parameter is the prerequisite tag (a simple word, in all
# capital letters by convention).
@@ -474,15 +502,15 @@ test_lazy_prereq () {
test_run_lazy_prereq_ () {
script='
-mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
+mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-'"$1"'" &&
(
- cd "$TRASH_DIRECTORY/prereq-test-dir" &&'"$2"'
+ cd "$TRASH_DIRECTORY/prereq-test-dir-'"$1"'" &&'"$2"'
)'
say >&3 "checking prerequisite: $1"
say >&3 "$script"
test_eval_ "$script"
eval_ret=$?
- rm -rf "$TRASH_DIRECTORY/prereq-test-dir"
+ rm -rf "$TRASH_DIRECTORY/prereq-test-dir-$1"
if test "$eval_ret" = 0; then
say >&3 "prerequisite $1 ok"
else
@@ -783,6 +811,10 @@ test_line_count () {
fi
}
+test_file_size () {
+ test-tool path-utils file-size "$1"
+}
+
# Returns success if a comma separated string of keywords ($1) contains a
# given keyword ($2).
# Examples:
@@ -951,14 +983,8 @@ test_expect_code () {
# - cmp's output is not nearly as easy to read as diff -u
# - not all diff versions understand "-u"
-test_cmp() {
- test $# -eq 2 || BUG "test_cmp requires two arguments"
- if ! eval "$GIT_TEST_CMP" '"$@"'
- then
- test "x$1" = x- || test -e "$1" || BUG "test_cmp '$1' missing"
- test "x$2" = x- || test -e "$2" || BUG "test_cmp '$2' missing"
- return 1
- fi
+test_cmp () {
+ eval "$GIT_TEST_CMP" '"$@"'
}
# Check that the given config key has the expected value.
@@ -970,7 +996,7 @@ test_cmp() {
#
# test_cmp_config foo core.bar
#
-test_cmp_config() {
+test_cmp_config () {
local GD &&
if test "$1" = "-C"
then
@@ -986,14 +1012,8 @@ test_cmp_config() {
# test_cmp_bin - helper to compare binary files
-test_cmp_bin() {
- test $# -eq 2 || BUG "test_cmp_bin requires two arguments"
- if ! cmp "$@"
- then
- test "x$1" = x- || test -e "$1" || BUG "test_cmp_bin '$1' missing"
- test "x$2" = x- || test -e "$2" || BUG "test_cmp_bin '$2' missing"
- return 1
- fi
+test_cmp_bin () {
+ cmp "$@"
}
# Use this instead of test_cmp to compare files that contain expected and
@@ -1210,7 +1230,9 @@ test_create_repo () {
mkdir -p "$repo"
(
cd "$repo" || error "Cannot setup test environment"
- "${GIT_TEST_INSTALLED:-$GIT_EXEC_PATH}/git$X" init \
+ "${GIT_TEST_INSTALLED:-$GIT_EXEC_PATH}/git$X" -c \
+ init.defaultBranch="${GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME-master}" \
+ init \
"--template=$GIT_BUILD_DIR/templates/blt/" >&3 2>&4 ||
error "cannot run git init -- have you built things yet?"
mv .git/hooks .git/hooks-disabled
@@ -1426,7 +1448,7 @@ nongit () {
# whitespace and put in a single packet. Note that data containing NULs must be
# given on stdin, and that empty input becomes an empty packet, not a flush
# packet (for that you can just print 0000 yourself).
-packetize() {
+packetize () {
if test $# -gt 0
then
packet="$*"
diff --git a/t/test-lib.sh b/t/test-lib.sh
index ef31f40037..03c1c0836f 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -499,6 +499,12 @@ then
export GIT_INDEX_VERSION
fi
+if test -n "$GIT_TEST_PERL_FATAL_WARNINGS"
+then
+ GIT_PERL_FATAL_WARNINGS=1
+ export GIT_PERL_FATAL_WARNINGS
+fi
+
# Add libc MALLOC and MALLOC_PERTURB test
# only if we are not executing the test with valgrind
if test -n "$valgrind" ||
@@ -769,15 +775,17 @@ match_pattern_list () {
}
match_test_selector_list () {
+ operation="$1"
+ shift
title="$1"
shift
arg="$1"
shift
test -z "$1" && return 0
- # Both commas and whitespace are accepted as separators.
+ # Commas are accepted as separators.
OLDIFS=$IFS
- IFS=' ,'
+ IFS=','
set -- $1
IFS=$OLDIFS
@@ -805,13 +813,13 @@ match_test_selector_list () {
*-*)
if expr "z${selector%%-*}" : "z[0-9]*[^0-9]" >/dev/null
then
- echo "error: $title: invalid non-numeric in range" \
+ echo "error: $operation: invalid non-numeric in range" \
"start: '$orig_selector'" >&2
exit 1
fi
if expr "z${selector#*-}" : "z[0-9]*[^0-9]" >/dev/null
then
- echo "error: $title: invalid non-numeric in range" \
+ echo "error: $operation: invalid non-numeric in range" \
"end: '$orig_selector'" >&2
exit 1
fi
@@ -819,9 +827,11 @@ match_test_selector_list () {
*)
if expr "z$selector" : "z[0-9]*[^0-9]" >/dev/null
then
- echo "error: $title: invalid non-numeric in test" \
- "selector: '$orig_selector'" >&2
- exit 1
+ case "$title" in *${selector}*)
+ include=$positive
+ ;;
+ esac
+ continue
fi
esac
@@ -1031,7 +1041,7 @@ test_skip () {
skipped_reason="GIT_SKIP_TESTS"
fi
if test -z "$to_skip" && test -n "$run_list" &&
- ! match_test_selector_list '--run' $test_count "$run_list"
+ ! match_test_selector_list '--run' "$1" $test_count "$run_list"
then
to_skip=t
skipped_reason="--run"
@@ -1058,7 +1068,6 @@ test_skip () {
" <skipped message=\"$message\" />"
fi
- say_color skip >&3 "skipping test: $@"
say_color skip "ok $test_count # skip $1 ($skipped_reason)"
: true
;;
@@ -1702,3 +1711,10 @@ test_lazy_prereq SHA1 '
test_lazy_prereq REBASE_P '
test -z "$GIT_TEST_SKIP_REBASE_P"
'
+
+# Ensure that no test accidentally triggers a Git command
+# that runs the actual maintenance scheduler, affecting a user's
+# system permanently.
+# Tests that verify the scheduler integration must set this locally
+# to avoid errors.
+GIT_TEST_MAINT_SCHEDULER="none:exit 1"