diff options
author | Junio C Hamano <gitster@pobox.com> | 2019-04-09 17:14:23 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-04-09 17:14:23 (GMT) |
commit | 917f2cd1c2396c694ae956a1a26d9c92bf50b847 (patch) | |
tree | a0b61242c52ae6ace6fc51d084b8dc7bb628b6d0 /t | |
parent | 1828e52efcffe75707b88345f025c3ee4114864a (diff) | |
parent | b9317d55a37f93c47d48f12a7b3e45a71434d0e7 (diff) | |
download | git-917f2cd1c2396c694ae956a1a26d9c92bf50b847.zip git-917f2cd1c2396c694ae956a1a26d9c92bf50b847.tar.gz git-917f2cd1c2396c694ae956a1a26d9c92bf50b847.tar.bz2 |
Merge branch 'nd/rewritten-ref-is-per-worktree'
"git rebase" uses the refs/rewritten/ hierarchy to store its
intermediate states, which inherently makes the hierarchy per
worktree, but it didn't quite work well.
* nd/rewritten-ref-is-per-worktree:
Make sure refs/rewritten/ is per-worktree
files-backend.c: reduce duplication in add_per_worktree_entries_to_dir()
files-backend.c: factor out per-worktree code in loose_fill_ref_dir()
Diffstat (limited to 't')
-rwxr-xr-x | t/t1415-worktree-refs.sh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/t/t1415-worktree-refs.sh b/t/t1415-worktree-refs.sh index b664e51..bb2c757 100755 --- a/t/t1415-worktree-refs.sh +++ b/t/t1415-worktree-refs.sh @@ -76,4 +76,39 @@ test_expect_success 'reflog of worktrees/xx/HEAD' ' test_cmp expected actual.wt2 ' +test_expect_success 'for-each-ref from main repo' ' + 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 && + cat >expected <<-\EOF && + refs/bisect/main + refs/rewritten/main + refs/worktree/main + EOF + test_cmp expected actual +' + +test_expect_success 'for-each-ref from linked repo' ' + mkdir fer2 && + git -C fer2 init repo && + test_commit -C fer2/repo initial && + git -C fer2/repo worktree add ../second && + git -C fer2/second update-ref refs/bisect/second HEAD && + git -C fer2/second update-ref refs/rewritten/second HEAD && + git -C fer2/second update-ref refs/worktree/second HEAD && + git -C fer2/second for-each-ref --format="%(refname)" | grep second >actual && + cat >expected <<-\EOF && + refs/bisect/second + refs/heads/second + refs/rewritten/second + refs/worktree/second + EOF + test_cmp expected actual +' + test_done |