mirror of
https://github.com/git/git.git
synced 2026-01-10 01:56:42 +00:00
object-file: move safe_create_leading_directories() into "path.c"
The `safe_create_leading_directories()` function and its relatives are located in "object-file.c", which is not a good fit as they provide generic functionality not related to objects at all. Move them into "path.c", which already hosts `safe_create_dir()` and its relative `safe_create_dir_in_gitdir()`. "path.c" is free of `the_repository`, but the moved functions depend on `the_repository` to read the "core.sharedRepository" config. Adapt the function signature to accept a repository as argument to fix the issue and adjust callers accordingly. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
d1fa670de0
commit
1a99fe8010
@@ -296,7 +296,7 @@ static void check_notes_merge_worktree(struct notes_merge_options *o)
|
||||
"(%s exists)."), repo_git_path_replace(the_repository, &buf, "NOTES_MERGE_*"));
|
||||
}
|
||||
|
||||
if (safe_create_leading_directories_const(repo_git_path_replace(the_repository, &buf,
|
||||
if (safe_create_leading_directories_const(the_repository, repo_git_path_replace(the_repository, &buf,
|
||||
NOTES_MERGE_WORKTREE "/.test")))
|
||||
die_errno("unable to create directory %s",
|
||||
repo_git_path_replace(the_repository, &buf, NOTES_MERGE_WORKTREE));
|
||||
@@ -314,7 +314,7 @@ static void write_buf_to_worktree(const struct object_id *obj,
|
||||
{
|
||||
int fd;
|
||||
char *path = repo_git_path(the_repository, NOTES_MERGE_WORKTREE "/%s", oid_to_hex(obj));
|
||||
if (safe_create_leading_directories_const(path))
|
||||
if (safe_create_leading_directories_const(the_repository, path))
|
||||
die_errno("unable to create directory for '%s'", path);
|
||||
|
||||
fd = xopen(path, O_WRONLY | O_EXCL | O_CREAT, 0666);
|
||||
|
||||
Reference in New Issue
Block a user