worktree: unlock should return 1 when the worktree isn't locked

The documentation states that git_worktree_unlock returns 0 on success,
and 1 on success if the worktree wasn't locked. Turns out we were
returning 0 in any of those cases.

(cherry picked from commit 59c2e70eee)
This commit is contained in:
Etienne Samson
2018-08-17 00:51:51 +02:00
committed by Patrick Steinhardt
parent a5a0347db2
commit ef7d7defd6
2 changed files with 3 additions and 3 deletions

View File

@@ -417,7 +417,7 @@ int git_worktree_unlock(git_worktree *wt)
assert(wt);
if (!git_worktree_is_locked(NULL, wt))
return 0;
return 1;
if (git_buf_joinpath(&path, wt->gitdir_path, "locked") < 0)
return -1;

View File

@@ -455,7 +455,7 @@ void test_worktree_worktree__unlock_unlocked_worktree(void)
cl_git_pass(git_worktree_lookup(&wt, fixture.repo, "testrepo-worktree"));
cl_assert(!git_worktree_is_locked(NULL, wt));
cl_assert(git_worktree_unlock(wt) == 0);
cl_assert_equal_i(1, git_worktree_unlock(wt));
cl_assert(!wt->locked);
git_worktree_free(wt);
@@ -468,7 +468,7 @@ void test_worktree_worktree__unlock_locked_worktree(void)
cl_git_pass(git_worktree_lookup(&wt, fixture.repo, "testrepo-worktree"));
cl_git_pass(git_worktree_lock(wt, NULL));
cl_assert(git_worktree_is_locked(NULL, wt));
cl_git_pass(git_worktree_unlock(wt));
cl_assert_equal_i(0, git_worktree_unlock(wt));
cl_assert(!wt->locked);
git_worktree_free(wt);