Subject: Re: can anybody explain the following to a git noob?

From: Andreas Ericsson <[email-masked]>
Date: Fri, 22 May 2009 11:35:33 +0200

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                   [email-masked]
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.