Note: I know this is rewriting history, will change all the hashes, and mess everyone else up.
I want to take a commit, and remove its parent. Specifically, the commit should now look like an initial commit. That means its diff will change; it will look as though all the files were created by that commit, at that point in history.
How does one do this? (I could, of course, go edit the commit object, but then the commits wouldn't point to each other.) Also, I would like to do this on a new branch (meaning that there are now two histories: the original one, and another where the commit is the initial commit.)