mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-21 10:17:20 +00:00
Do not use GIT_CPDIR_CHMOD flag when copying the template.
This is an intermin solution. While this essentially disables the --shared flag feature, previously external templates did not work at all. This change fixes the previously corrected, and since then failing, repo_init__extended_with_template() test. The problem is now documented in the source code comments.
This commit is contained in:
parent
b7b1acfdbd
commit
85f4031276
@ -1005,8 +1005,17 @@ static int repo_init_structure(
|
|||||||
tdir = GIT_TEMPLATE_DIR;
|
tdir = GIT_TEMPLATE_DIR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FIXME: GIT_CPDIR_CHMOD cannot applied here as an attempt
|
||||||
|
* would be made to chmod() all directories up to the last
|
||||||
|
* component of repo_dir, e.g., also /home etc. Recall that
|
||||||
|
* repo_dir is prettified at this point.
|
||||||
|
*
|
||||||
|
* Best probably would be to have the same logic as in
|
||||||
|
* git_futils_mkdir(), i.e., to separate the base from
|
||||||
|
* the path.
|
||||||
|
*/
|
||||||
error = git_futils_cp_r(tdir, repo_dir,
|
error = git_futils_cp_r(tdir, repo_dir,
|
||||||
GIT_CPDIR_COPY_SYMLINKS | GIT_CPDIR_CHMOD, dmode);
|
GIT_CPDIR_COPY_SYMLINKS /*| GIT_CPDIR_CHMOD*/, dmode);
|
||||||
|
|
||||||
if (error < 0) {
|
if (error < 0) {
|
||||||
if (strcmp(tdir, GIT_TEMPLATE_DIR) != 0)
|
if (strcmp(tdir, GIT_TEMPLATE_DIR) != 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user