diff options
| author | Patrick Steinhardt <ps@pks.im> | 2018-04-26 11:45:38 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-04-26 11:45:38 +0100 |
| commit | 5ace149434d8609133d59cd21f32c21b753adc3a (patch) | |
| tree | 76ffd0a617f31aa7c5c8bf1692093f0eb5a6b86b | |
| parent | 86353a7260404e501153fe1781fbd194a5925f1a (diff) | |
| parent | fd7b5bc33e48849a3a5ad461dedb41411bc7e2e4 (diff) | |
| download | libgit2-5ace149434d8609133d59cd21f32c21b753adc3a.tar.gz | |
Merge pull request #4633 from csware/worktree-delereref
Fix deletion of unrelated branch on worktree
| -rw-r--r-- | src/refdb_fs.c | 2 | ||||
| -rw-r--r-- | tests/worktree/refs.c | 22 |
2 files changed, 23 insertions, 1 deletions
diff --git a/src/refdb_fs.c b/src/refdb_fs.c index 9432df8c9..760d97f6e 100644 --- a/src/refdb_fs.c +++ b/src/refdb_fs.c @@ -1319,7 +1319,7 @@ static int refdb_fs_backend__delete_tail( } /* If a loose reference exists, remove it from the filesystem */ - if (git_buf_joinpath(&loose_path, backend->gitpath, ref_name) < 0) + if (git_buf_joinpath(&loose_path, backend->commonpath, ref_name) < 0) return -1; diff --git a/tests/worktree/refs.c b/tests/worktree/refs.c index a10f50a2c..ea36e80e2 100644 --- a/tests/worktree/refs.c +++ b/tests/worktree/refs.c @@ -134,6 +134,28 @@ void test_worktree_refs__delete_succeeds_after_pruning_worktree(void) git_reference_free(branch); } +void test_worktree_refs__delete_unrelated_branch_on_worktree(void) +{ + git_reference *branch; + + cl_git_pass(git_branch_lookup(&branch, fixture.worktree, + "merge-conflict", GIT_BRANCH_LOCAL)); + cl_git_pass(git_branch_delete(branch)); + + git_reference_free(branch); +} + +void test_worktree_refs__delete_unrelated_branch_on_parent(void) +{ + git_reference *branch; + + cl_git_pass(git_branch_lookup(&branch, fixture.repo, + "merge-conflict", GIT_BRANCH_LOCAL)); + cl_git_pass(git_branch_delete(branch)); + + git_reference_free(branch); +} + void test_worktree_refs__renaming_reference_updates_worktree_heads(void) { git_reference *head, *branch, *renamed; |
