git-svn: fix several corner-case and rare bugs with 'commit'