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?