Message ID | 1092c32609f249839453052ca802cb10256cb48f.1743181669.git.gitgitgadget@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Two perf test fixes | expand |
On Fri, Mar 28, 2025 at 05:07:49PM +0000, Philippe Blain via GitGitGadget wrote: > From: Philippe Blain <levraiphilippeblain@gmail.com> > > In p9210-scalar-clone.sh, we test using 'scalar clone' to clone > $GIT_PERF_LARGE_REPO (copied locally as 'to-clone'), which defaults to > the git.git checkout we are running the test from. > > When --branch is not specified (as in this test), 'scalar clone' tries > to get the default branch of the remote repository by parsing the output > of 'git ls-remote --symref $URL HEAD', as implemented in > scalar.c:remote_default_branch. When the git.git checkout we are running > the test from is in detached HEAD, this fails and we fall back to using > the name of the currently checked out branch in the newly initialized > repository, which in this case is the value returned earlier in > cmd_clone by repo_default_branch_name. > > We then invoke 'git checkout -t origin/$branch', with $branch being the > name we got from remote_default_branch. This invocation fails if > '$branch' does not exist as a branch in the current git.git checkout. > > Fix this by creating a local branch in 'to-clone' in the setup test > "enable server-side partial clone", making sure to use '-B' in case a > branch named 'test-branch' already exists. > > Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com> > --- > t/perf/p9210-scalar.sh | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/t/perf/p9210-scalar.sh b/t/perf/p9210-scalar.sh > index 265f7cd1fe2..56b075e906e 100755 > --- a/t/perf/p9210-scalar.sh > +++ b/t/perf/p9210-scalar.sh > @@ -7,7 +7,8 @@ test_perf_large_repo "$TRASH_DIRECTORY/to-clone" > > test_expect_success 'enable server-side partial clone' ' > git -C to-clone config uploadpack.allowFilter true && > - git -C to-clone config uploadpack.allowAnySHA1InWant true > + git -C to-clone config uploadpack.allowAnySHA1InWant true && > + git -C to-clone checkout -B test-branch > ' This feels like an easy and pragmatic fix. Thanks! Patrick
diff --git a/t/perf/p9210-scalar.sh b/t/perf/p9210-scalar.sh index 265f7cd1fe2..56b075e906e 100755 --- a/t/perf/p9210-scalar.sh +++ b/t/perf/p9210-scalar.sh @@ -7,7 +7,8 @@ test_perf_large_repo "$TRASH_DIRECTORY/to-clone" test_expect_success 'enable server-side partial clone' ' git -C to-clone config uploadpack.allowFilter true && - git -C to-clone config uploadpack.allowAnySHA1InWant true + git -C to-clone config uploadpack.allowAnySHA1InWant true && + git -C to-clone checkout -B test-branch ' test_perf 'scalar clone' '