I use “git mv” a lot because somehow it works a lot better than having git automagically find out about renames.
The problem with “git mv” is that the “fatal: bad source” errors are a catch-all for many causes. Just look at the
Searching for “git mv” directory “fatal: bad source” didn’t get me much further. The one link that did get me towards the right track is version control – Getting Git to follow renamed and edited files – Stack Overflow.
What happened was that I had manually deleted and edited some files as part of a mass script (the repository had a lot of files in it that didn’t belong there compile targets and user specific settings or didn’t adhere to the naming conventions) before executing the “git mv”.
Since “git mv” tries to administer all the files that it thinks originally were in the directory, it complains about those files.
Lesson learned: first “git mv” then perform other changes.
–jeroen