4 comments

[ 5.1 ms ] story [ 22.9 ms ] thread
This is built in to vim.
For those interested, here's the Vim docs for the undo tree

https://vimdoc.sourceforge.net/htmldoc/usr_32.html

My approach was linear, not a tree. The innovation (a small one) is how to make linear actually feel kinda ok, but at the same time not lose work.
If I understand correctly, the vim undo tree is a superset of your approach: in vim you can go forward and backward in time, seeing all versions of the file, and need not explicitly deal with the tree.