Subject: Fatal errors on git rm (Operation not permitted)

From: Xiaolong Tang <[email-masked]>
Date: Wed, 23 Dec 2009 12:01:02 -0600

Hi all, 

I am running into a trouble with git commands. 

I have a repository in my laptop to keep all system settings. 
Specifically, the repository is illustrated as below:
 
reproot/
.git
.gitignore 
`-- lib
    `-- emacs
        `-- lisp
            |-- dictionary
            ...
            |-- git-emacs 
            |   |-- ...
            |   |-- ...
            |   |-- ...
            .. 
            |-- remember  

To ease the updating of these third-party Emacs packages (e.g. dictionary, git-emacs, remember and so on), I prefer to get them via version control commands. 
For example, git-emacs is created via this command:
git://github.com/tsgates/git-emacs 

This strategy seems to work well when I include (within my laptop repository) those packages which are not managed via git. 
On the contrary, the trouble arises from including another git repository.

For example, when I try to clone my laptop repository into my desktop, the package "git-emacs" only shows up as an empty directory in the newly repository. 

Then when I go back to my laptop repository, there is nothing I can do.
Finally, I decide to remove this package from my laptop repository, but end up with the following errors:

git rm -rf git-emacs
rm 'lib/emacs/lisp/git-emacs'
fatal: git rm: 'lib/emacs/lisp/git-emacs': Operation not permitted

The similar errors happen with removing remember(another package under git) too.
11:53:37->git rm -rf remember
rm 'lib/emacs/lisp/remember'
fatal: git rm: 'lib/emacs/lisp/remember': Operation not permitted

So, below are my questions:
What is the real cause of such kind of problem?
How could I fix it?

PS: I did not use git submodule command.

Thanks!
Xiaolong