IDEA's Local History looks nice! I'll check it out next time I work with one of JetBrains' IDEs.
But on that note, undo-tree can preserve history too! Not sure how reliable it is - I never used it, and some Reddit threads from two years ago suggest there are bugs, but then there was a bunch of undo-tree releases in 2020, so maybe it got fixed.
Starting points for further research: undo-tree-auto-save-history (variable), undo-tree-history-directory-alist (variable), undo-tree-save-history (command). Possibly relevant: undo-tree-limit, undo-tree-strong-limit, undo-tree-outer-limit (variables).
Personally, I love the visualization (undo-tree-visualize) - but what blew my mind was two accidental discoveries recently. One: t toggles displaying timestamps (how long ago an undo point was applied?), and two: d toggles diffs - a small buffer showing you, in diff format, the changes between current point and previous points in undo history, as you navigate through the tree!
But on that note, undo-tree can preserve history too! Not sure how reliable it is - I never used it, and some Reddit threads from two years ago suggest there are bugs, but then there was a bunch of undo-tree releases in 2020, so maybe it got fixed.
Starting points for further research: undo-tree-auto-save-history (variable), undo-tree-history-directory-alist (variable), undo-tree-save-history (command). Possibly relevant: undo-tree-limit, undo-tree-strong-limit, undo-tree-outer-limit (variables).
Personally, I love the visualization (undo-tree-visualize) - but what blew my mind was two accidental discoveries recently. One: t toggles displaying timestamps (how long ago an undo point was applied?), and two: d toggles diffs - a small buffer showing you, in diff format, the changes between current point and previous points in undo history, as you navigate through the tree!