Dirk's suggestion sounds a lot like Eclipse's Local History because it allows you to go back and forth along it without losing the future (ie. it's not part of the Undo/Redo Stack).
Adding Local Revision... to the Diff bundle would allow pro users to merge in old changes selectively.