Trenchbroom has a fully integrated undo system and it does not differ greatly from how other editors implement the system. There are only two commands, and .
This command reverts commands in reverse order, starting with the last command, then the second last, and so on and so forth. Commands supported by this system are as you would expect, object translations, rotations, creation and deletion as well as things such as entity key value changes and key additions and removals.
Also supported are selection events such as entity, brush and face selection.
The redo command is fairly straightforward and redoes any commands that the undo command reverted. Note that if you undo 3 commands, then redo 2 of them and then perform any operation covered by the undo system, the last command in the undo queue can no longer by redone and is lost forever.