From: Aaron Schrab <aaron@schrab.com>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 1/2] clone: Fix error message for reference repository
Date: Sun, 7 Apr 2013 20:06:58 -0400 [thread overview]
Message-ID: <20130408000658.GG27178@pug.qqx.org> (raw)
In-Reply-To: <20130407234810.GG19857@elie.Belkin>
At 16:48 -0700 07 Apr 2013, Jonathan Nieder <jrnieder@gmail.com> wrote:
>Hi Aaron,
Thanks for the feedback.
>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?
I originally noticed this while trying to use a submodule as a reference
repository. Since that submodule was first checked out using a recent
version of git it used a .git file rather than having a .git directory.
This caused the checks to fail, and the misleading error message had me
checking for a typo in the path which I'd supplied.
I'll attempt to clarify that message in the next version.
>> --- 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?
In my case the issue was that /path/to/repo is a directory, but
/path/to/repo/.git/objects (which is checked shortly before the above
context) didn't exist since /path/to/repo/.git is a file.
>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
That would also avoid lying to the user. But if combined with the
second patch in this series it could cause confusion for a different
reason. Once .git files are honored, the path reported there may have
no relation to the path supplied by the user.
next prev parent reply other threads:[~2013-04-08 6:47 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-07 23:17 [PATCH 1/2] clone: Fix error message for reference repository Aaron Schrab
2013-04-07 23:17 ` [PATCH 2/2] clone: Allow repo using gitfile as a reference Aaron Schrab
2013-04-07 23:51 ` Jonathan Nieder
2013-04-08 0:08 ` Aaron Schrab
2013-04-08 18:00 ` Junio C Hamano
2013-04-08 18:59 ` Aaron Schrab
2013-04-08 22:46 ` [PATCH v2 0/2] Using gitfile repository with clone --reference Aaron Schrab
2013-04-08 22:46 ` [PATCH 1/2] clone: Fix error message for reference repository Aaron Schrab
2013-04-09 0:18 ` Jonathan Nieder
2013-04-08 22:46 ` [PATCH 2/2] clone: Allow repo using gitfile as a reference Aaron Schrab
2013-04-09 0:24 ` Jonathan Nieder
2013-04-09 16:31 ` Aaron Schrab
2013-04-09 16:47 ` Junio C Hamano
2013-04-09 16:50 ` Aaron Schrab
2013-04-09 22:21 ` [PATCH v3 0/2] Using gitfile repository with clone --reference Aaron Schrab
2013-04-09 22:21 ` [PATCH v3 1/2] clone: Fix error message for reference repository Aaron Schrab
2013-04-09 22:22 ` [PATCH v3 2/2] clone: Allow repo using gitfile as a reference Aaron Schrab
2013-04-09 22:41 ` [PATCH v3 0/2] Using gitfile repository with clone --reference Junio C Hamano
2013-04-07 23:48 ` [PATCH 1/2] clone: Fix error message for reference repository Jonathan Nieder
2013-04-08 0:06 ` Aaron Schrab [this message]
2013-04-08 1:11 ` Aaron Schrab
2013-04-08 13:58 ` Junio C Hamano
2013-04-08 14:57 ` Aaron Schrab
2013-04-08 15:30 ` Junio C Hamano
2013-04-08 16:17 ` Aaron Schrab
2013-04-08 17:57 ` Junio C Hamano
2013-04-08 18:58 ` Aaron Schrab
2013-04-08 19:10 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130408000658.GG27178@pug.qqx.org \
--to=aaron@schrab.com \
--cc=git@vger.kernel.org \
--cc=jrnieder@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).