From: Junio C Hamano Date: Sun, 06 Jun 2010 19:54:05 GMT Subject: Re: permissions Message-ID: <7vvd9wvswy.fsf@alter.siamese.dyndns.org> In-Reply-To: <4C0B6C32.1090700@wpursell.net> William Pursell writes: > The problem is permissions, not that it's "not a git repository". > The error message should be "permission denied". The easy solution > is to abort with "permission denied" whenever that is encountered, > but the trouble with that is that it breaks the current work flow > in which a broken dir (or one for which the user lacks > priveleges) is bypassed and a valid object directory higher > up in the filesystem tree is used. I think it is sane to abort with "permission denied", as it is "not a git repository" but it is "we cannot even determine if that .git we see is a git repository, and if it is, then we cannot do any git operation here as we cannot read it". As to what you call "the current work flow", I think it is not like we _support_ such usage, but more like it _happens to_ work that way. > A related question is: does anyone actually prefer (or rely on) the > current model in which ../.git is used in the event that .git is borked > or the user lacks permission? So my answer to this is "nobody _should_", as it is not even "the current model", but "it happens to behave like that by accident". That doesn't mean there isn't anybody who already does, though...