Merge tag 'v2.29.0-rc1' of github.com:git/git
Git 2.29-rc1
* tag 'v2.29.0-rc1' of github.com:git/git:
Git 2.29-rc1
doc: fix the bnf like style of some commands
doc: git-remote fix ups
doc: use linkgit macro where needed.
git-bisect-lk2009: make continuation of list indented
ci: do not skip tagged revisions in GitHub workflows
ci: skip GitHub workflow runs for already-tested commits/trees
tests: avoid using the branch name `main`
t1415: avoid using `main` as ref name
Makefile: ASCII-sort += lists
help: do not expect built-in commands to be hardlinked
index-pack: make get_base_data() comment clearer
index-pack: drop type_cas mutex
index-pack: restore "resolving deltas" progress meter
compat/mingw.h: drop extern from function declaration
GitHub workflow: automatically follow minor updates of setup-msbuild
t5534: split stdout and stderr redirection
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index fcfd138..a940997 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -9,7 +9,7 @@
ci-config:
runs-on: ubuntu-latest
outputs:
- enabled: ${{ steps.check-ref.outputs.enabled }}
+ enabled: ${{ steps.check-ref.outputs.enabled }}${{ steps.skip-if-redundant.outputs.enabled }}
steps:
- name: try to clone ci-config branch
run: |
@@ -34,6 +34,43 @@
enabled=no
fi
echo "::set-output name=enabled::$enabled"
+ - name: skip if the commit or tree was already tested
+ id: skip-if-redundant
+ uses: actions/github-script@v3
+ if: steps.check-ref.outputs.enabled == 'yes'
+ with:
+ github-token: ${{secrets.GITHUB_TOKEN}}
+ script: |
+ // Figure out workflow ID, commit and tree
+ const { data: run } = await github.actions.getWorkflowRun({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ run_id: context.runId,
+ });
+ const workflow_id = run.workflow_id;
+ const head_sha = run.head_sha;
+ const tree_id = run.head_commit.tree_id;
+
+ // See whether there is a successful run for that commit or tree
+ const { data: runs } = await github.actions.listWorkflowRuns({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ per_page: 500,
+ status: 'success',
+ workflow_id,
+ });
+ for (const run of runs.workflow_runs) {
+ if (head_sha === run.head_sha) {
+ core.warning(`Successful run for the commit ${head_sha}: ${run.html_url}`);
+ core.setOutput('enabled', ' but skip');
+ break;
+ }
+ if (tree_id === run.head_commit.tree_id) {
+ core.warning(`Successful run for the tree ${tree_id}: ${run.html_url}`);
+ core.setOutput('enabled', ' but skip');
+ break;
+ }
+ }
windows-build:
needs: ci-config
@@ -154,7 +191,7 @@
Expand-Archive compat.zip -DestinationPath . -Force
Remove-Item compat.zip
- name: add msbuild to PATH
- uses: microsoft/setup-msbuild@v1.0.0
+ uses: microsoft/setup-msbuild@v1
- name: copy dlls to root
shell: powershell
run: |
diff --git a/Documentation/RelNotes/2.29.0.txt b/Documentation/RelNotes/2.29.0.txt
index 43d7296..06ba2f8 100644
--- a/Documentation/RelNotes/2.29.0.txt
+++ b/Documentation/RelNotes/2.29.0.txt
@@ -156,7 +156,7 @@
barrier to adoption.
* The final leg of SHA-256 transition plus doc updates. Note that
- there is no inter-operability between SHA-1 and SHA-256
+ there is no interoperability between SHA-1 and SHA-256
repositories yet.
* CMake support to build with MSVC for Windows bypassing the Makefile.
@@ -184,10 +184,6 @@
the ref backend in use, as its format is much richer than the
normal refs, and written directly by "git fetch" as a plain file..
- * A handful of places in in-tree code still relied on being able to
- execute the git subcommands, especially built-ins, in "git-foo"
- form, which have been corrected.
-
* An unused binary has been discarded, and and a bunch of commands
have been turned into into built-in.
@@ -216,10 +212,25 @@
* "diff-highlight" (in contrib/) had a logic to flush its output upon
seeing a blank line but the way it detected a blank line was broken.
+ * The logic to skip testing on the tagged commit and the tag itself
+ was not quite consistent which led to failure of Windows test
+ tasks. It has been revamped to consistently skip revisions that
+ have already been tested, based on the tree object of the revision.
+
Fixes since v2.28
-----------------
+ * The "mediawiki" remote backend which lives in contrib/mw-to-git/
+ and is not built with git by default, had an RCE bug allowing a
+ malicious MediaWiki server operator to inject arbitrary commands
+ for execution by a cloning client. This has been fixed.
+
+ The bug was discovered and reported by Joern Schneeweisz of GitLab
+ to the git-security mailing list. Its practical impact due to the
+ obscurity of git-remote-mediawiki was deemed small enough to forgo
+ a dedicated security release.
+
* "git clone --separate-git-dir=$elsewhere" used to stomp on the
contents of the existing directory $elsewhere, which has been
taught to fail when $elsewhere is not an empty directory.
@@ -355,16 +366,13 @@
"git log --tags=no-tag-matches-this-pattern" does.
(merge 04a0e98515 jk/rev-input-given-fix later to maint).
- * Various callers of run_command API has been modernized.
+ * Various callers of run_command API have been modernized.
(merge afbdba391e jc/run-command-use-embedded-args later to maint).
* List of options offered and accepted by "git add -i/-p" were
inconsistent, which have been corrected.
(merge ce910287e7 pw/add-p-allowed-options-fix later to maint).
- * Various callers of run_command API has been modernized.
- (merge afbdba391e jc/run-command-use-embedded-args later to maint).
-
* "git diff --stat -w" showed 0-line changes for paths whose changes
were only whitespaces, which was not intuitive. We now omit such
paths from the stat output.
@@ -381,7 +389,7 @@
information (e.g. "@{u}" does not record what branch the user was
on hence which branch 'the upstream' needs to be computed, and even
if the record were available, the relationship between branches may
- have changed), at least hide the error to allow "status" show its
+ have changed), at least hide the error and allow "status" to show its
output.
* "git status --short" quoted a path with SP in it when tracked, but
@@ -398,7 +406,7 @@
(merge 378fe5fc3d mt/config-fail-nongit-early later to maint).
* There is a logic to estimate how many objects are in the
- repository, which is mean to run once per process invocation, but
+ repository, which is meant to run once per process invocation, but
it ran every time the estimated value was requested.
(merge 67bb65de5d jk/dont-count-existing-objects-twice later to maint).
@@ -411,8 +419,8 @@
which has been corrected.
(merge 4e735c1326 ar/fetch-ipversion-in-all later to maint).
- * The "unshelve" subcommand of "git p4" used incorrectly used
- commit^N where it meant to say commit~N to name the Nth generation
+ * The "unshelve" subcommand of "git p4" incorrectly used commit^N
+ where it meant to say commit~N to name the Nth generation
ancestor, which has been corrected.
(merge 0acbf5997f ld/p4-unshelve-fix later to maint).
diff --git a/Documentation/git-bisect-lk2009.txt b/Documentation/git-bisect-lk2009.txt
index 3ba49e8..f3d9566 100644
--- a/Documentation/git-bisect-lk2009.txt
+++ b/Documentation/git-bisect-lk2009.txt
@@ -473,7 +473,7 @@
-------------
2) starting from the "good" ends of the graph, associate to each
-commit the number of ancestors it has plus one
+ commit the number of ancestors it has plus one
For example with the following graph where H is the "bad" commit and A
and D are some parents of some "good" commits:
@@ -514,7 +514,7 @@
-------------
4) the best bisection point is the commit with the highest associated
-number
+ number
So in the above example the best bisection point is commit C.
@@ -580,8 +580,8 @@
Let's also suppose that we have a cleaned up graph like one after step
1) in the bisection algorithm above. This means that we can measure
-the information we get in terms of number of commit we can remove from
-the graph..
+ the information we get in terms of number of commit we can remove
+ from the graph..
And let's take a commit X in the graph.
@@ -689,18 +689,18 @@
6) sort the commit by decreasing associated value
7) if the first commit has not been skipped, we can return it and stop
-here
+ here
8) otherwise filter out all the skipped commits in the sorted list
9) use a pseudo random number generator (PRNG) to generate a random
-number between 0 and 1
+ number between 0 and 1
10) multiply this random number with its square root to bias it toward
-0
+ 0
11) multiply the result by the number of commits in the filtered list
-to get an index into this list
+ to get an index into this list
12) return the commit at the computed index
diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt
index a7f9bc9..6077ff0 100644
--- a/Documentation/git-grep.txt
+++ b/Documentation/git-grep.txt
@@ -209,7 +209,7 @@
Use \0 as the delimiter for pathnames in the output, and print
them verbatim. Without this option, pathnames with "unusual"
characters are quoted as explained for the configuration
- variable core.quotePath (see git-config(1)).
+ variable core.quotePath (see linkgit:git-config[1]).
-o::
--only-matching::
diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt
index f35f70f..59ecda6 100644
--- a/Documentation/git-init.txt
+++ b/Documentation/git-init.txt
@@ -70,7 +70,7 @@
+
If this is reinitialization, the repository will be moved to the specified path.
--b <branch-name::
+-b <branch-name>::
--initial-branch=<branch-name>::
Use the specified name for the initial branch in the newly created repository.
diff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt
index 9659abb..ea73386 100644
--- a/Documentation/git-remote.txt
+++ b/Documentation/git-remote.txt
@@ -10,7 +10,7 @@
--------
[verse]
'git remote' [-v | --verbose]
-'git remote add' [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
+'git remote add' [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=(fetch|push)] <name> <url>
'git remote rename' <old> <new>
'git remote remove' <name>
'git remote set-head' <name> (-a | --auto | -d | --delete | <branch>)
@@ -35,7 +35,7 @@
-v::
--verbose::
Be a little more verbose and show remote url after name.
- NOTE: This must be placed between `remote` and `subcommand`.
+ NOTE: This must be placed between `remote` and subcommand.
COMMANDS
@@ -46,7 +46,7 @@
'add'::
-Adds a remote named <name> for the repository at
+Add a remote named <name> for the repository at
<url>. The command `git fetch <name>` can then be used to create and
update remote-tracking branches <name>/<branch>.
+
@@ -109,13 +109,13 @@
+
With `-a` or `--auto`, the remote is queried to determine its `HEAD`, then the
symbolic-ref `refs/remotes/<name>/HEAD` is set to the same branch. e.g., if the remote
-`HEAD` is pointed at `next`, "`git remote set-head origin -a`" will set
+`HEAD` is pointed at `next`, `git remote set-head origin -a` will set
the symbolic-ref `refs/remotes/origin/HEAD` to `refs/remotes/origin/next`. This will
only work if `refs/remotes/origin/next` already exists; if not it must be
fetched first.
+
-Use `<branch>` to set the symbolic-ref `refs/remotes/<name>/HEAD` explicitly. e.g., "git
-remote set-head origin master" will set the symbolic-ref `refs/remotes/origin/HEAD` to
+Use `<branch>` to set the symbolic-ref `refs/remotes/<name>/HEAD` explicitly. e.g., `git
+remote set-head origin master` will set the symbolic-ref `refs/remotes/origin/HEAD` to
`refs/remotes/origin/master`. This will only work if
`refs/remotes/origin/master` already exists; if not it must be fetched first.
+
@@ -127,7 +127,7 @@
after the initial setup for a remote.
+
The named branches will be interpreted as if specified with the
-`-t` option on the 'git remote add' command line.
+`-t` option on the `git remote add` command line.
+
With `--add`, instead of replacing the list of currently tracked
branches, adds to that list.
@@ -181,16 +181,16 @@
See the PRUNING section of linkgit:git-fetch[1] for what it'll prune
depending on various configuration.
+
-With `--dry-run` option, report what branches will be pruned, but do not
+With `--dry-run` option, report what branches would be pruned, but do not
actually prune them.
'update'::
Fetch updates for remotes or remote groups in the repository as defined by
-remotes.<group>. If neither group nor remote is specified on the command line,
+`remotes.<group>`. If neither group nor remote is specified on the command line,
the configuration parameter remotes.default will be used; if
remotes.default is not defined, all remotes which do not have the
-configuration parameter remote.<name>.skipDefaultUpdate set to true will
+configuration parameter `remote.<name>.skipDefaultUpdate` set to true will
be updated. (See linkgit:git-config[1]).
+
With `--prune` option, run pruning against all the remotes that are updated.
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index c5027c4..0ebd699 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,7 +1,7 @@
#!/bin/sh
GVF=GIT-VERSION-FILE
-DEF_VER=v2.29.0-rc0
+DEF_VER=v2.29.0-rc1
LF='
'
diff --git a/Makefile b/Makefile
index 5311b1d..95571ee 100644
--- a/Makefile
+++ b/Makefile
@@ -820,8 +820,8 @@
LIB_FILE = libgit.a
XDIFF_LIB = xdiff/lib.a
-GENERATED_H += config-list.h
GENERATED_H += command-list.h
+GENERATED_H += config-list.h
LIB_H := $(sort $(patsubst ./%,%,$(shell git ls-files '*.h' ':!t/' ':!Documentation/' 2>/dev/null || \
$(FIND) . \
@@ -998,9 +998,9 @@
LIB_OBJS += split-index.o
LIB_OBJS += stable-qsort.o
LIB_OBJS += strbuf.o
-LIB_OBJS += strvec.o
LIB_OBJS += streaming.o
LIB_OBJS += string-list.o
+LIB_OBJS += strvec.o
LIB_OBJS += sub-process.o
LIB_OBJS += submodule-config.o
LIB_OBJS += submodule.o
@@ -1066,15 +1066,15 @@
BUILTIN_OBJS += builtin/checkout.o
BUILTIN_OBJS += builtin/clean.o
BUILTIN_OBJS += builtin/clone.o
-BUILTIN_OBJS += builtin/credential-cache.o
-BUILTIN_OBJS += builtin/credential-cache--daemon.o
-BUILTIN_OBJS += builtin/credential-store.o
BUILTIN_OBJS += builtin/column.o
BUILTIN_OBJS += builtin/commit-graph.o
BUILTIN_OBJS += builtin/commit-tree.o
BUILTIN_OBJS += builtin/commit.o
BUILTIN_OBJS += builtin/config.o
BUILTIN_OBJS += builtin/count-objects.o
+BUILTIN_OBJS += builtin/credential-cache--daemon.o
+BUILTIN_OBJS += builtin/credential-cache.o
+BUILTIN_OBJS += builtin/credential-store.o
BUILTIN_OBJS += builtin/credential.o
BUILTIN_OBJS += builtin/describe.o
BUILTIN_OBJS += builtin/diff-files.o
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index 8acd078..0d03cb4 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -159,10 +159,6 @@
#define deepest_delta_lock() lock_mutex(&deepest_delta_mutex)
#define deepest_delta_unlock() unlock_mutex(&deepest_delta_mutex)
-static pthread_mutex_t type_cas_mutex;
-#define type_cas_lock() lock_mutex(&type_cas_mutex)
-#define type_cas_unlock() unlock_mutex(&type_cas_mutex)
-
static pthread_key_t key;
static inline void lock_mutex(pthread_mutex_t *mutex)
@@ -186,7 +182,6 @@
init_recursive_mutex(&read_mutex);
pthread_mutex_init(&counter_mutex, NULL);
pthread_mutex_init(&work_mutex, NULL);
- pthread_mutex_init(&type_cas_mutex, NULL);
if (show_stat)
pthread_mutex_init(&deepest_delta_mutex, NULL);
pthread_key_create(&key, NULL);
@@ -209,7 +204,6 @@
pthread_mutex_destroy(&read_mutex);
pthread_mutex_destroy(&counter_mutex);
pthread_mutex_destroy(&work_mutex);
- pthread_mutex_destroy(&type_cas_mutex);
if (show_stat)
pthread_mutex_destroy(&deepest_delta_mutex);
for (i = 0; i < nr_threads; i++)
@@ -894,18 +888,15 @@
}
/*
- * Walk from current node up
- * to top parent if necessary to deflate the node. In normal
- * situation, its parent node would be already deflated, so it just
- * needs to apply delta.
+ * Ensure that this node has been reconstructed and return its contents.
*
- * In the worst case scenario, parent node is no longer deflated because
- * we're running out of delta_base_cache_limit; we need to re-deflate
- * parents, possibly up to the top base.
- *
- * All deflated objects here are subject to be freed if we exceed
- * delta_base_cache_limit, just like in find_unresolved_deltas(), we
- * just need to make sure the last node is not freed.
+ * In the typical and best case, this node would already be reconstructed
+ * (through the invocation to resolve_delta() in threaded_second_pass()) and it
+ * would not be pruned. However, if pruning of this node was necessary due to
+ * reaching delta_base_cache_limit, this function will find the closest
+ * ancestor with reconstructed data that has not been pruned (or if there is
+ * none, the ultimate base object), and reconstruct each node in the delta
+ * chain in order to generate the reconstructed data for this node.
*/
static void *get_base_data(struct base_data *c)
{
@@ -1028,6 +1019,10 @@
struct object_entry *child_obj;
struct base_data *child;
+ counter_lock();
+ display_progress(progress, nr_resolved_deltas);
+ counter_unlock();
+
work_lock();
if (list_empty(&work_head)) {
/*
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index de5ad73..c30896c 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -1308,7 +1308,7 @@
};
const char *const git_submodule_helper_usage[] = {
- N_("git submodule--helper summary [<options>] [commit] [--] [<path>]"),
+ N_("git submodule--helper summary [<options>] [<commit>] [--] [<path>]"),
NULL
};
diff --git a/ci/lib.sh b/ci/lib.sh
index 821e366..38c0eac 100755
--- a/ci/lib.sh
+++ b/ci/lib.sh
@@ -149,6 +149,7 @@
CI_REPO_SLUG="$GITHUB_REPOSITORY"
CI_JOB_ID="$GITHUB_RUN_ID"
CC="${CC:-gcc}"
+ DONT_SKIP_TAGS=t
cache_dir="$HOME/none"
@@ -167,6 +168,7 @@
mkdir -p "$cache_dir"
+test -n "${DONT_SKIP_TAGS-}" ||
skip_branch_tip_with_tag
skip_good_tree
diff --git a/compat/mingw.h b/compat/mingw.h
index e6fe810..af8eddd 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -606,7 +606,7 @@
* Call this function to open a new MinTTY (this assumes you are in Git for
* Windows' SDK) with a GDB that attaches to the current process right away.
*/
-extern void open_in_gdb(void);
+void open_in_gdb(void);
/*
* Used by Pthread API implementation for Windows
diff --git a/git.c b/git.c
index f1e8b56..4bdcdad 100644
--- a/git.c
+++ b/git.c
@@ -638,6 +638,25 @@
}
}
+void load_builtin_commands(const char *prefix, struct cmdnames *cmds)
+{
+ const char *name;
+ int i;
+
+ /*
+ * Callers can ask for a subset of the commands based on a certain
+ * prefix, which is then dropped from the added names. The names in
+ * the `commands[]` array do not have the `git-` prefix, though,
+ * therefore we must expect the `prefix` to at least start with `git-`.
+ */
+ if (!skip_prefix(prefix, "git-", &prefix))
+ BUG("prefix '%s' must start with 'git-'", prefix);
+
+ for (i = 0; i < ARRAY_SIZE(commands); i++)
+ if (skip_prefix(commands[i].cmd, prefix, &name))
+ add_cmdname(cmds, name, strlen(name));
+}
+
#ifdef STRIP_EXTENSION
static void strip_extension(const char **argv)
{
diff --git a/help.c b/help.c
index 4e2468a..919cbb9 100644
--- a/help.c
+++ b/help.c
@@ -263,6 +263,8 @@
const char *env_path = getenv("PATH");
const char *exec_path = git_exec_path();
+ load_builtin_commands(prefix, main_cmds);
+
if (exec_path) {
list_commands_in_dir(main_cmds, exec_path, prefix);
QSORT(main_cmds->names, main_cmds->cnt, cmdname_compare);
diff --git a/help.h b/help.h
index dc02458..5871e93 100644
--- a/help.h
+++ b/help.h
@@ -32,6 +32,7 @@
void load_command_list(const char *prefix,
struct cmdnames *main_cmds,
struct cmdnames *other_cmds);
+void load_builtin_commands(const char *prefix, struct cmdnames *cmds);
void add_cmdname(struct cmdnames *cmds, const char *name, int len);
/* Here we require that excludes is a sorted list. */
void exclude_cmds(struct cmdnames *cmds, struct cmdnames *excludes);
diff --git a/t/t1415-worktree-refs.sh b/t/t1415-worktree-refs.sh
index bb2c757..7ab9124 100755
--- a/t/t1415-worktree-refs.sh
+++ b/t/t1415-worktree-refs.sh
@@ -76,24 +76,24 @@
test_cmp expected actual.wt2
'
-test_expect_success 'for-each-ref from main repo' '
+test_expect_success 'for-each-ref from main worktree' '
mkdir fer1 &&
git -C fer1 init repo &&
test_commit -C fer1/repo initial &&
git -C fer1/repo worktree add ../second &&
- git -C fer1/repo update-ref refs/bisect/main HEAD &&
- git -C fer1/repo update-ref refs/rewritten/main HEAD &&
- git -C fer1/repo update-ref refs/worktree/main HEAD &&
- git -C fer1/repo for-each-ref --format="%(refname)" | grep main >actual &&
+ git -C fer1/repo update-ref refs/bisect/first HEAD &&
+ git -C fer1/repo update-ref refs/rewritten/first HEAD &&
+ git -C fer1/repo update-ref refs/worktree/first HEAD &&
+ git -C fer1/repo for-each-ref --format="%(refname)" | grep first >actual &&
cat >expected <<-\EOF &&
- refs/bisect/main
- refs/rewritten/main
- refs/worktree/main
+ refs/bisect/first
+ refs/rewritten/first
+ refs/worktree/first
EOF
test_cmp expected actual
'
-test_expect_success 'for-each-ref from linked repo' '
+test_expect_success 'for-each-ref from linked worktree' '
mkdir fer2 &&
git -C fer2 init repo &&
test_commit -C fer2/repo initial &&
diff --git a/t/t5302-pack-index.sh b/t/t5302-pack-index.sh
index c92e553..7c9d687 100755
--- a/t/t5302-pack-index.sh
+++ b/t/t5302-pack-index.sh
@@ -277,4 +277,11 @@
grep "^warning:.* expected .tagger. line" err
'
+test_expect_success 'index-pack -v --stdin produces progress for both phases' '
+ pack=$(git pack-objects --all pack </dev/null) &&
+ GIT_PROGRESS_DELAY=0 git index-pack -v --stdin <pack-$pack.pack 2>err &&
+ test_i18ngrep "Receiving objects" err &&
+ test_i18ngrep "Resolving deltas" err
+'
+
test_done
diff --git a/t/t5534-push-signed.sh b/t/t5534-push-signed.sh
index 7e928af..af0385f 100755
--- a/t/t5534-push-signed.sh
+++ b/t/t5534-push-signed.sh
@@ -282,10 +282,9 @@
EOF
test_must_fail env PATH="$TRASH_DIRECTORY:$PATH" git push \
--signed --atomic --porcelain \
- dst noop ff noff >out 2>&1 &&
+ dst noop ff noff >out 2>err &&
- test_i18ngrep ! "gpg failed to sign" out &&
- sed -n -e "/^To dst/,$ p" out >actual &&
+ test_i18ngrep ! "gpg failed to sign" err &&
cat >expect <<-EOF &&
To dst
= refs/heads/noop:refs/heads/noop [up to date]
@@ -293,7 +292,7 @@
! refs/heads/noff:refs/heads/noff [rejected] (non-fast-forward)
Done
EOF
- test_i18ncmp expect actual
+ test_cmp expect out
'
test_done
diff --git a/t/t6012-rev-list-simplify.sh b/t/t6012-rev-list-simplify.sh
index b6fa43a..7fc10f8 100755
--- a/t/t6012-rev-list-simplify.sh
+++ b/t/t6012-rev-list-simplify.sh
@@ -171,7 +171,7 @@
test_expect_success 'rebuild repo' '
rm -rf .git * &&
git init &&
- git switch -c main &&
+ git switch -c topic &&
echo base >file &&
git add file &&
@@ -186,7 +186,7 @@
git add file &&
test_commit B &&
- git switch main &&
+ git switch topic &&
test_must_fail git merge -m "M" B &&
echo A >file &&
echo B >>file &&
@@ -207,7 +207,7 @@
git merge -m R -Xtheirs X &&
note R &&
- git switch main &&
+ git switch topic &&
git merge -m N R &&
note N &&
@@ -221,7 +221,7 @@
git add z &&
test_commit Z &&
- git switch main &&
+ git switch topic &&
git merge -m O Z &&
note O &&
diff --git a/t/t6400-merge-df.sh b/t/t6400-merge-df.sh
index 400a4cd..f1b8461 100755
--- a/t/t6400-merge-df.sh
+++ b/t/t6400-merge-df.sh
@@ -124,7 +124,7 @@
git add . &&
git commit -m initial &&
- git branch main &&
+ git branch topic &&
git branch other &&
git checkout other &&
@@ -132,10 +132,10 @@
git add -u &&
git commit -m other &&
- git checkout main &&
- echo main >foo/bar/baz &&
+ git checkout topic &&
+ echo topic >foo/bar/baz &&
git add -u &&
- git commit -m main &&
+ git commit -m topic &&
git merge other &&
git ls-files -s >out &&
diff --git a/t/t6409-merge-subtree.sh b/t/t6409-merge-subtree.sh
index 1a0d0e2..b8e8b6f 100755
--- a/t/t6409-merge-subtree.sh
+++ b/t/t6409-merge-subtree.sh
@@ -35,11 +35,11 @@
test_commit foo
'
-test_expect_success 'setup branch main' '
- git checkout -b main master &&
+test_expect_success 'setup topic branch' '
+ git checkout -b topic master &&
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 main" &&
+ git commit -m "initial merge of sub into topic" &&
test_path_is_file dir/foo.t &&
test_path_is_file hello
'
@@ -49,9 +49,9 @@
test_commit bar
'
-test_expect_success 'update branch main' '
- git checkout main &&
- git merge -s subtree sub -m "second merge of sub into main" &&
+test_expect_success 'update topic branch' '
+ git checkout topic &&
+ git merge -s subtree sub -m "second merge of sub into topic" &&
test_path_is_file dir/bar.t &&
test_path_is_file dir/foo.t &&
test_path_is_file hello
diff --git a/t/t6430-merge-recursive.sh b/t/t6430-merge-recursive.sh
index d48d211..a328260 100755
--- a/t/t6430-merge-recursive.sh
+++ b/t/t6430-merge-recursive.sh
@@ -663,7 +663,7 @@
test_expect_success 'merging with triple rename across D/F conflict' '
git reset --hard HEAD &&
- git checkout -b main &&
+ git checkout -b topic &&
git rm -rf . &&
echo "just a file" >sub1 &&
@@ -682,7 +682,7 @@
test_tick &&
git commit -a -m changesimplefile &&
- git checkout main &&
+ git checkout topic &&
git rm sub1 &&
git mv sub2 sub1 &&
test_tick &&