Message ID | d3f7b39a2f11f4b05195f62190f75c84475c237d.1601888196.git.gitgitgadget@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Avoid main as branch name in the test suite | expand |
Hi, Johannes Schindelin wrote: > In preparation for a patch series that will change the fall-back for > `init.defaultBranch` to `main`, let's not use `main` as ref name in this > test script. Interesting. I assume the issue is this line? - git -C fer1/repo for-each-ref --format="%(refname)" | grep main >actual && I.e., it's not actually that naming a worktree "main" will break anything, but just that the test catches refs/heads/main in the same net when it does grepping? If the commit message explains that, then this patch looks good to me. Without such an explanation, it would make me fear that we have some underlying bug in "git worktree". Thanks, Jonathan
Hi Jonathan, On Mon, 5 Oct 2020, Jonathan Nieder wrote: > > Johannes Schindelin wrote: > > > In preparation for a patch series that will change the fall-back for > > `init.defaultBranch` to `main`, let's not use `main` as ref name in > > this test script. > > Interesting. I assume the issue is this line? > > - git -C fer1/repo for-each-ref --format="%(refname)" | grep main >actual && > > I.e., it's not actually that naming a worktree "main" will break > anything, but just that the test catches refs/heads/main in the same > net when it does grepping? Right. > If the commit message explains that, then this patch looks good to me. > Without such an explanation, it would make me fear that we have some > underlying bug in "git worktree". Indeed. This is my current revision of the commit message: t1415: avoid using `main` as ref name In preparation for a patch series that will change the fall-back for `init.defaultBranch` to `main`, let's not use `main` as ref name in this test script. Otherwise, the `git for-each-ref ... | grep main` which wants to catch those refs would also unexpectedly catch `refs/heads/main`. Since the refs in question are worktree-local ones (i.e. each worktree has their own, just like `HEAD`), and since the test case already uses a secondary worktree called "second", let's use the name "first" for those refs instead. While at it, adjust the test titles that talk about a "repo" when they meant a "worktree" instead. Ciao, Dscho
diff --git a/t/t1415-worktree-refs.sh b/t/t1415-worktree-refs.sh index bb2c7572a3..7ab91241ab 100755 --- a/t/t1415-worktree-refs.sh +++ b/t/t1415-worktree-refs.sh @@ -76,24 +76,24 @@ test_expect_success 'reflog of worktrees/xx/HEAD' ' 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 &&