This seems to be a 2.7.0 regression in filter-branch. The bug is reproducible on Mac/Windows (haven't tried Linux) in the 2.7.0 production releases. Make an empty repo and put an empty commit in the history. E.g., echo > foo && git add . && git commit -m "commit 1" && git commit --allow-empty -m "commit 2" Now try to use filter-branch to remove the empty commit. Both of the following methods leave master unchanged, but both worked in 2.6.4: git filter-branch --prune-empty git filter-branch --commit-filter 'git_commit_non_empty_tree "$@"' Let me know if you need any more information. Thanks. Sincerely, John Fultz jfultz@xxxxxxxxxxx User Interface Group Wolfram Research, Inc. -- 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