From: Jeff King Date: Fri, 30 Nov 2012 19:55:09 GMT Subject: Re: [PATCH] fsck: warn about ".git" in trees Message-ID: <20121130195509.GA8591@sigill.intra.peff.net> In-Reply-To: <50B90E11.8090501@web.de> On Fri, Nov 30, 2012 at 08:50:41PM +0100, Torsten Bögershausen wrote: > >Having a ".git" entry inside a tree can cause confusing > >results on checkout. At the top-level, you could not > >checkout such a tree, as it would complain about overwriting > >the real ".git" directory. In a subdirectory, you might > >check it out, but performing operations in the subdirectory > >would confusingly consider the in-tree ".git" directory as > >the repository. > [snip] > >+ int has_dotgit = 0; > > Name like "." or ".." are handled as directories by the OS. Right. In theory git could run on a system that does not treat them specially, but in practice they are going to be problematic on most systems. > ".git" could be a file or a directory, at least in theory, and from > the OS point of view, but we want to have this as a reserved name. Exactly. > Looking at bad directory names, which gives trouble when checking out: > > Should we check for "/" or "../blabla" as well? We do already (the error is "contains full pathnames"). We also cover empty pathnames and some other cases. -Peff