From: Alexei Sholik Date: Sat, 25 Jun 2011 11:02:29 GMT Subject: Re: submodule/index/working tree woes Message-ID: In-Reply-To: ---------- Forwarded message ---------- From: Alexei Sholik Date: 25 June 2011 14:00 Subject: Re: submodule/index/working tree woes To: masterblaster@vmware.com On 24 June 2011 21:25, John Powell wrote: > I have no changes to be committed (tracked or untracked according to > 'git status') and yet when I try and switch branches git complains > that I have untracked working tree files that would be overridden > and aborts before the switch. > > The change I have just committed locally removes some files from the > repository and adds a submodule in it's place to better organize the > source for the project. > > Shaka, when the walls fell.  Anyone want to assist me with this issue? > Feeling clueless. > Git is unable to remove a directory with submodule when switching branches. If you have a submodule on one branch and a directory with the same name on another branch, you'll have troubles. I'm speaking of version 1.7.3.4. Here's a small demo: $ mkdir test $ cd test $ git init Initialized empty Git repository in /Users/alco/Documents/git/test/.git/ $ echo "Hello" >file.txt $ git add file.txt $ git commit -m 'test' [master (root-commit) 8e9c724] test  1 files changed, 1 insertions(+), 0 deletions(-)  create mode 100644 file.txt $ git checkout -b another Switched to a new branch 'another' $ echo "Bye" >file2.txt $ git add file2.txt $ git commit -m 'second' [another 62e6da2] second  1 files changed, 1 insertions(+), 0 deletions(-)  create mode 100644 file2.txt $ git checkout master Switched to branch 'master' $ git submodule add git://github.com/tweepy/tweepy.git Cloning into tweepy... ... $ git commit -m 'submodule' [master 3c9b6f7] submodule  2 files changed, 4 insertions(+), 0 deletions(-)  create mode 100644 .gitmodules  create mode 160000 tweepy $ git checkout another warning: unable to rmdir tweepy: Directory not empty Switched to branch 'another' $ ls tweepy/ CONTRIBUTORS    INSTALL         LICENSE         README          docs          examples        setup.py        tests.py        tools   tweepy $ git version git version 1.7.3.4 -- Best regards, Alexei Sholik -- Best regards, Alexei Sholik