From: Andreas Ericsson Date: Fri, 22 May 2009 09:35:33 GMT Subject: Re: can anybody explain the following to a git noob? Message-ID: <4A1671E5.4030400@op5.se> In-Reply-To: <855e4dcf0905212244r454a5c21w7bdbfb566a28efb8@mail.gmail.com> Tim Uckun wrote: >>> *********Try to rename a directory WTF?: Git thinks any directory with a >>> .git folder is empty and refuses to rename the directory. >> Well, why do other folders contain .git directories? > > It just worked out that way. I am experimenting with a rails app and > those plugins were pulled from github. > But not, I take it, as submodules? >> Are they >> *separate* git repositories? If so, git doesn't know what to do with >> them and leaves them alone. (Well, in fact it treats them as >> submodules.) > > > yes they are separate repositories. I would be happy if it left them > alone or treated them as submodules. I was just puzzled as to why git > thought they were empty when they were clearly not. > Because from git's point of view, they were already managed in a separate repository as a submodule. When you have submodules in a repository, the parent repository can't (well, won't anyways) track files inside the submodule directory, so git ignores everything under a worktree subdirectory that contains a .git folder. >> All your other weird problems seem to come from this, as far as I can >> tell. If not, it would be helpful if you could give *complete* >> reproduction steps for your problem. > > Those were the complete steps. I did no other operations on the > directory. So the fact that the test directory is misbehaving is > because a directory in the vendor hierarchy has a .git folder? > > I'll have to clean up all those and see if the problem remains. A better way is probably to import those projects as proper submodules so you can update them without hassle later. "git help submodule" should get you a long way, but be prepared to study the docs a little so you understand the caveats with submodules before you use them. For instance, you *will* run into problems if you later replace a worktree subdirectory belonging to the parent git repository with a submodule, so it's really better to have them as submodules from the start. HTH -- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231 Register now for Nordic Meet on Nagios, June 3-4 in Stockholm http://nordicmeetonnagios.op5.org/ Considering the successes of the wars on alcohol, poverty, drugs and terror, I think we should give some serious thought to declaring war on peace.