Unverified Commit f9c4dc10 by Edward Thomson Committed by GitHub

Merge pull request #6106 from ammgws/fixtemplateerr

Fix repo init when template dir is non-existent
parents 19743830 3461aaf7
......@@ -2032,8 +2032,13 @@ static int repo_init_structure(
git_str_dispose(&template_buf);
git_config_free(cfg);
/* If tdir does not exist, then do not error out. This matches the
* behaviour of git(1), which just prints a warning and continues.
* TODO: issue warning when warning API is available.
* `git` prints to stderr: 'warning: templates not found in /path/to/tdir'
*/
if (error < 0) {
if (!default_template)
if (!default_template && error != GIT_ENOTFOUND)
return error;
/* if template was default, ignore error and use internal */
......
......@@ -293,3 +293,13 @@ void test_repo_template__empty_template_path(void)
setup_repo("foo", &opts);
}
void test_repo_template__nonexistent_template_path(void)
{
git_repository_init_options opts = GIT_REPOSITORY_INIT_OPTIONS_INIT;
opts.flags = GIT_REPOSITORY_INIT_MKPATH | GIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE;
opts.template_path = "/tmp/path/that/does/not/exist/for/libgit2/test";
setup_repo("bar", &opts);
}
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