Commit 85f40312 by Sebastian Bauer

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.
parent b7b1acfd
......@@ -1005,8 +1005,17 @@ static int repo_init_structure(
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,
GIT_CPDIR_COPY_SYMLINKS | GIT_CPDIR_CHMOD, dmode);
GIT_CPDIR_COPY_SYMLINKS /*| GIT_CPDIR_CHMOD*/, dmode);
if (error < 0) {
if (strcmp(tdir, GIT_TEMPLATE_DIR) != 0)
......
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