branch tests: test for errno propagating on failing read
Add a test for "git branch" to cover the case where .git/refs is symlinked. To check availability, refs_verify_refname_available() will run refs_read_raw_ref() on each prefix, leading to a read() from .git/refs (which is a directory). It would probably be more robust to re-issue the lstat() as a normal stat(), in which case, we would fall back to the directory case, but for now let's just test for the existing behavior as-is. This test covers a regression in a commit that only ever made it to "next", see [1]. 1. http://lore.kernel.org/git/pull.1068.git.git.1629203489546.gitgitgadget@gmail.com Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
f443b226ca
commit
aa30fe1481
|
@ -731,6 +731,28 @@ test_expect_success SYMLINKS 'git branch -m u v should fail when the reflog for
|
|||
test_must_fail git branch -m u v
|
||||
'
|
||||
|
||||
test_expect_success SYMLINKS 'git branch -m with symlinked .git/refs' '
|
||||
test_when_finished "rm -rf subdir" &&
|
||||
git init --bare subdir &&
|
||||
|
||||
rm -rfv subdir/refs subdir/objects subdir/packed-refs &&
|
||||
ln -s ../.git/refs subdir/refs &&
|
||||
ln -s ../.git/objects subdir/objects &&
|
||||
ln -s ../.git/packed-refs subdir/packed-refs &&
|
||||
|
||||
git -C subdir rev-parse --absolute-git-dir >subdir.dir &&
|
||||
git rev-parse --absolute-git-dir >our.dir &&
|
||||
! test_cmp subdir.dir our.dir &&
|
||||
|
||||
git -C subdir log &&
|
||||
git -C subdir branch rename-src &&
|
||||
git rev-parse rename-src >expect &&
|
||||
git -C subdir branch -m rename-src rename-dest &&
|
||||
git rev-parse rename-dest >actual &&
|
||||
test_cmp expect actual &&
|
||||
git branch -D rename-dest
|
||||
'
|
||||
|
||||
test_expect_success 'test tracking setup via --track' '
|
||||
git config remote.local.url . &&
|
||||
git config remote.local.fetch refs/heads/*:refs/remotes/local/* &&
|
||||
|
|
Loading…
Reference in New Issue