Commit 4584660e by Peter Pettersson

bugfix: don't generate paths with empty segments

parent d095502e
...@@ -578,7 +578,7 @@ static int iter_load_loose_paths(refdb_fs_backend *backend, refdb_fs_iter *iter) ...@@ -578,7 +578,7 @@ static int iter_load_loose_paths(refdb_fs_backend *backend, refdb_fs_iter *iter)
} }
} }
if ((error = git_buf_printf(&path, "%s/", backend->commonpath)) < 0 || if ((error = git_buf_puts(&path, backend->commonpath)) < 0 ||
(error = git_buf_put(&path, ref_prefix, ref_prefix_len)) < 0) { (error = git_buf_put(&path, ref_prefix, ref_prefix_len)) < 0) {
git_buf_dispose(&path); git_buf_dispose(&path);
return error; return error;
...@@ -1609,8 +1609,9 @@ static char *setup_namespace(git_repository *repo, const char *in) ...@@ -1609,8 +1609,9 @@ static char *setup_namespace(git_repository *repo, const char *in)
GIT_MKDIR_PATH, NULL) < 0) GIT_MKDIR_PATH, NULL) < 0)
goto done; goto done;
/* Return root of the namespaced gitpath, i.e. without the trailing '/refs' */ /* Return root of the namespaced gitpath, i.e. without the trailing 'refs' */
git_buf_rtruncate_at_char(&path, '/'); git_buf_rtruncate_at_char(&path, '/');
git_buf_putc(&path, '/');
out = git_buf_detach(&path); out = git_buf_detach(&path);
done: done:
......
...@@ -43,7 +43,7 @@ int git_worktree_list(git_strarray *wts, git_repository *repo) ...@@ -43,7 +43,7 @@ int git_worktree_list(git_strarray *wts, git_repository *repo)
wts->count = 0; wts->count = 0;
wts->strings = NULL; wts->strings = NULL;
if ((error = git_buf_printf(&path, "%s/worktrees/", repo->commondir)) < 0) if ((error = git_buf_joinpath(&path, repo->commondir, "worktrees/")) < 0)
goto exit; goto exit;
if (!git_path_exists(path.ptr) || git_path_is_empty_dir(path.ptr)) if (!git_path_exists(path.ptr) || git_path_is_empty_dir(path.ptr))
goto exit; goto exit;
...@@ -182,7 +182,7 @@ int git_worktree_lookup(git_worktree **out, git_repository *repo, const char *na ...@@ -182,7 +182,7 @@ int git_worktree_lookup(git_worktree **out, git_repository *repo, const char *na
*out = NULL; *out = NULL;
if ((error = git_buf_printf(&path, "%s/worktrees/%s", repo->commondir, name)) < 0) if ((error = git_buf_join3(&path, '/', repo->commondir, "worktrees", name)) < 0)
goto out; goto out;
if ((error = (open_worktree_dir(out, git_repository_workdir(repo), path.ptr, name))) < 0) if ((error = (open_worktree_dir(out, git_repository_workdir(repo), path.ptr, name))) < 0)
...@@ -592,7 +592,7 @@ int git_worktree_prune(git_worktree *wt, ...@@ -592,7 +592,7 @@ int git_worktree_prune(git_worktree *wt,
} }
/* Delete gitdir in parent repository */ /* Delete gitdir in parent repository */
if ((err = git_buf_printf(&path, "%s/worktrees/%s", wt->commondir_path, wt->name)) < 0) if ((err = git_buf_join3(&path, '/', wt->commondir_path, "worktrees", wt->name)) < 0)
goto out; goto out;
if (!git_path_exists(path.ptr)) if (!git_path_exists(path.ptr))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment