A transcript... git init git add . > /dev/nul git commit -m 'initial import' git status # On branch master nothing to commit (working directory clean) ***** Create new branch ******** git checkout -b my_branch Switched to a new branch "my_branch" *********Try to rename a directory WTF?: Git thinks any directory with a .git folder is empty and refuses to rename the directory. git mv vendor vendor_new fatal: source directory is empty, source=vendor/plugins/acts_as_audited, destination=vendor_new/plugins/acts_as_audited ls vendor/plugins/acts_as_audited/ CHANGELOG generators init.rb lib LICENSE Rakefile README spec tasks test.txt ******** Initial state of the test directory ls test fixtures functional integration mocks test_helper.rb unit watir ****** Rename and commit changes git mv test test_new git commit -m 'renamed the test directory' ********Current state of the directory ls app Capfile config db doc lib MyProject.kpf public Rakefile README script test_new tmp vendor ********Checkout master. WTF?: Both the test and the test_new directories exist. Why does the test_new exist in this branch? git checkout master ls app Capfile config db doc lib MyProject.kpf public Rakefile README script test test_new tmp vendor ******** list the test directory. WTF?: Where did the mocks subdir go?? (see above for the initial directory listing) ls test fixtures functional integration test_helper.rb unit watir **** Check the test_new directory: WTF?: Where are all the other subdirectories? ls test_new functional mocks ******** Merge Everything is merged properly. git merge my_branch ls app Capfile config db doc lib MyProject.kpf public Rakefile README script test_new tmp vendor ls test_new fixtures functional integration mocks test_helper.rb unit watir obviously I am doing something profoundly wrong. Can somebody explain why this is happening? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html