From: Johannes Schindelin Date: Wed, 08 Aug 2007 22:54:56 GMT Subject: Re: [PATCH] checkout_entry: only try to create directories when no file existed there Message-ID: In-Reply-To: <7vejid1wh2.fsf@assigned-by-dhcp.cox.net> Hi, On Wed, 8 Aug 2007, Junio C Hamano wrote: > Johannes Schindelin writes: > > > Now, if we have to remove it, we did a stat() before that. It succeeded. > > So we know that "a/b/c/d/e/f/" exists. It might contain some symlinks, > > but it exists. > > Yes, it is exactly the thing. It might contain a/b/c as symlink > but the index does not say a/b/c _IS_ a symlink, and the code > "fixes" that. Otherwise, you would get inconsistent result from > "git checkout" depending on random symlink you happen to have in > your working tree. Ah, I see what you're getting to. If user had a symlink called, say "syml", to, say $HOME, and now switches to a branch which has "syml/.bash_profile", then the given code path would try to replace the symlink with a directory. Hmm. Ciao, Dscho