Completely remove an empty git commit from Subversion history

So I migrated a SVN repository to GitHub. I checked out the migrated repository using SVN, and I accidentally made an empty commit (r75 in SVN history). In order to remove the empty commit, I checked out the repository again, this time using git directly, and removed the commit with:

git rebase -i HEAD~2

After forcing a push to master, GitHub now properly displays only 74 commits, but when I look at the SVN log, I can still see the commit as r75.

zmurray@zmurray-linux:~/blah$ svn log -r 75
r75 | zachary.murray | 2013-10-11 15:05:05 -0700 (Fri, 11 Oct 2013) | 2 lines

Blah blah blah, I'm a dumb stupid SVN commit message I can't seem to kill.


I just want to expunge this stupid message once and for all. There are no other commits past r75, and I just really want to make r74 the HEAD again. Is there no hope? Help!

  • Deployment process for custom modules in SugarCRM
  • Can we add git-annex to GitLab CE?
  • Code review for VS
  • RStudio version control timestamps incorrect by 4 hours
  • VisualStudio 2015 git extension or git for windows?
  • changing commit message after push from android studio
  • Why should I use git instead of svn?
  • Commiting to git submodule repos
  • One Solution collect form web for “Completely remove an empty git commit from Subversion history”

    This seems to be a general problem with the Subversion subsystem of GitHub.

    Based on some tests, it does not cope well with repositories whose history was changed using git (reset/rebase etc. plus git push -f). A subsequent svn checkout + svn log will either just show the old history of the repository, or show different intermediate commits to at least reach the same filesystem state in the final commit.

    I contacted GitHub, and they confirmed this. Apparently it is mainly done like this because Subversion assumes history never changes, thus showing new/changed commits to the Subversion client would invalidate all Subversion working copies.

    It looks like this is not yet documented anywhere, though this may change.

    Git Baby is a git and github fan, let's start git clone.