summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEtienne Samson <samson.etienne@gmail.com>2018-06-29 14:39:11 +0200
committerEtienne Samson <samson.etienne@gmail.com>2018-06-29 14:39:11 +0200
commit83c35f7ea4f48a1f805c53277e65ab5e8429c6a7 (patch)
treeb72ff136cda3ac8f21c3d1258e66f4675e41b763
parentbd40f0d7bbb5a50e08e27275b21ffa082d4f0e82 (diff)
downloadlibgit2-83c35f7ea4f48a1f805c53277e65ab5e8429c6a7.tar.gz
tests: worktree/bare: fix git_worktree_validate
-rw-r--r--src/worktree.c2
-rw-r--r--tests/worktree/bare.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/worktree.c b/src/worktree.c
index 591df1c34..aa5c810ce 100644
--- a/src/worktree.c
+++ b/src/worktree.c
@@ -248,7 +248,7 @@ int git_worktree_validate(const git_worktree *wt)
goto out;
}
- if (!git_path_exists(wt->parent_path)) {
+ if (wt->parent_path && !git_path_exists(wt->parent_path)) {
giterr_set(GITERR_WORKTREE,
"Worktree parent directory ('%s') does not exist ",
wt->parent_path);
diff --git a/tests/worktree/bare.c b/tests/worktree/bare.c
index 7fda3b5f4..04060c0d8 100644
--- a/tests/worktree/bare.c
+++ b/tests/worktree/bare.c
@@ -42,6 +42,8 @@ void test_worktree_bare__add(void)
cl_git_pass(git_worktree_list(&wts, g_repo));
cl_assert_equal_i(wts.count, 1);
+ cl_git_pass(git_worktree_validate(wt));
+
cl_git_pass(git_repository_open(&wtrepo, WORKTREE_REPO));
cl_assert_equal_i(0, git_repository_is_bare(wtrepo));
cl_assert_equal_i(1, git_repository_is_worktree(wtrepo));