Re: [PATCH 1/2] clone: Fix error message for reference repository
From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:56:43
Hi Aaron, Aaron Schrab wrote:
Do not report an argument to clone's --reference option is not a local directory. Nothing checks for the actual directory so we have no way to know if whether or not exists. Telling the user that a directory doesn't exist when that isn't actually known may lead him or her on the wrong path to finding the problem.
I don't understand the above explanation. Could you give an example? [...]
quoted hunk ↗ jump to hunk
--- a/builtin/clone.c +++ b/builtin/clone.c@@ -241,7 +241,7 @@ static int add_one_reference(struct string_list_item *item, void *cb_data) free(ref_git); ref_git = ref_git_git; } else if (!is_directory(mkpath("%s/objects", ref_git))) - die(_("reference repository '%s' is not a local directory."), + die(_("reference repository '%s' is not a local repository."),
"is_directory" calls stat and checks if its target is a directory. Is the problem that "/path/to/repo.git" might be a directory but "/path/to/repo.git/objects" may not? Would it make sense for the message to say something like the following? fatal: alternate object store '/path/to/repo.git/objects' is not a local directory Thanks and hope that helps, Jonathan