From: Julian Phillips Date: Fri, 22 May 2009 12:04:13 GMT Subject: Re: can anybody explain the following to a git noob? Message-ID: In-Reply-To: <855e4dcf0905220436h1b6fa632q7804c98bf09b324c@mail.gmail.com> On Fri, 22 May 2009, Tim Uckun wrote: >> >> Did test_new contain ignored files? > > No. I put the entire transcript in the first email. I did not tell > git to ignore anything and there were no .git directories in the test > folder. > >> In this case, when you checkout the >> branch that does not have test_new, only the tracked files are removed; >> the ignored (i.e untracked) files remain. Therefore, after the checkout >> you still have a test_new directory. >> > > As far as I can tell all the files are tracked after I do a commit. > > I can understand why it put the original test directory back when I > changed to the master branch but I don't understand why it's missing a > subdirectory. I don't think the test_new directory should be in the > master branch at all but I guess I can kind of sort of see why git > might not remove it. What I can't understand at all is why it's > missing subdirectories. What's in the subdirectory? Is it empty? If so, that would explain what you are seeing. Git doesn't track directories - so an empty directory is always treated as an untracked file. > I hate to say this but I tried the exact same thing with mercurial in > the last half hour and it did exactly what I thought it should do. The > master had the test directory but not the test_new and the branch had > the test_new directory but not the test. No subdirectories were > missing out of either one. I don't know if mercurial tracks directories, if it does, then this would explain why it behaves diffently to git. -- Julian --- Even a cabbage may look at a king.