How could software prevent rewriting history though? It can't be physical impossibility. If ensuring client rejection is a solution to this, then won't a git client also reject history changes?
Data is not permanent unless it's somehow written into the permanent fabric of space/time, and if you think about it long enough, deleting an svn or a git repo is just another way of changing history.
A blockchain is getting close to permanent. I wonder if there is a blockchain-based version control.
And even if you had history in a blockchain, it's possible for someone to prevent you from seeing the blocks that come in the future (breaking/filtering your internet connection), which is also in a sense changing history (by means of denying the future).