OVERVIEW "git rm" will remove more files than specified. This is either a bug or undocumented behavior (not in the man pages). SETUP 1. In a git repository, create an empty directory OR a chain of empty directories $ mkdir -p path/to/some/ 2. Create a file in the deepest directory and add it to tracking $ touch path/to/some/file $ git add path/to/some/file $ git commit -m 'add path/to/some/file' THE BUG Run 'git rm' on the tracked file. EXPECTED BEHAVIOR $ git rm path/to/some/file rm 'path/to/some/file' $ ls path to/ $ ls path/to some/ Note that path/, path/to/, and path/to/some/ still exist. ACTUAL BEHAVIOR $ git rm path/to/some/file rm 'path/to/some/file' $ ls path ls: cannot access 'path': No such file or directory The entire chain of empty directories is removed, despite the fact the git outputs only "rm 'path/to/some/file'". This ONLY occurs when all the directories in the chain are empty after the tracked file has been removed. This behavior is NOT documented in the man pages. I propose that 'rmdir' statements are added to 'git rm' output, or that the man pages be updated to reflect this behavior. Best, Thomas Fischer