I ended up trying to filter-branch my repository, see if I could come
up with a version stripped of all our private code, suitable for
making public. Disappointingly, filter-branch magically fixes all the
commits, even when simply run as "git filter-branch HEAD".
However, looking at the rewritten repository vs the original, they
share a lot of commits, then diverge halfway through their history. I
can't see anything notable about the commit where they diverge, with
the exception that the rewritten commit has a newline after the
subject and the original doesn't. Neither has a commit message body.