From: Tarmigan Date: Thu, 17 Apr 2008 16:31:52 GMT Subject: Re: [RFH] cleaning up "add across symlinks" Message-ID: <905315640804170931v23df8633xf51276a5858eabc7@mail.gmail.com> In-Reply-To: <905315640804161426l442c2812k3c36c1bafe484157@mail.gmail.com> On Wed, Apr 16, 2008 at 2:26 PM, Tarmigan wrote: > On Wed, Apr 16, 2008 at 1:53 PM, Junio C Hamano wrote: > > If you have this structure in your work tree: > > > > lrwxrwxrwx a -> c > > drwxrwxrwx c > > -rw-rw-rw- c/b > > > > and let million monkeys give random paths to "git-update-index --add" or > > "git add", you should end up with the index with two entries, a symlink > > "a" and file "c/b". > > > > Not so. If an unfortunate monkey says "git add a/b", we happily add it to > > the index, because we notice lstat("a/b") succeeds and assume that there > > is such a path. There isn't, as far as git is concerned, because we track > > symbolic links. > > Thanks Junio, I'll try to do some testing with it later. I tested with all the cases I could think of and it works for me. > That's almost the case I used. The exact test to add to these, > without the '*' after a/, would be something like this (warning: cut > and paste): > > +test_expect_success 'add confusion (4)' ' > + > + test_must_fail git add "a/" && Currently, this will succeed, so if you decide to add this case, the test_must_fail should go. Thanks, Tarmigan