The purge command removes elements from the Default Group. Since they are no longer active, the versions from the parent stream are immediately inherited in dynamic streams and downloaded to workspaces using the update command, provided they are not active there (update ignores elements in the Default Group). In the GUI, purge is a Revert to Backed in 5.x (a misnomer) and Revert to Basis in 6.x (the correct term).
The revert command removes changes made to a stream by a promote operation. Content changes are removed from promoted versions using the merge tool, where the lower-left pane contains the version currently in the stream (like a regular merge), and the lower-right pane contains the version that was in the stream just before the version being reverted was promoted there (unlike a regular merge).
The resultant new versions are kept, along with a revert of namespace changes made by former move, add, defunct, etc. operations, to a workspace off the stream. Then all are promoted back to the stream resulting in the effective removal of the changes made by the original promotion. These new versions are then inherited in dynamic streams and downloaded during the update command for workspaces, provided they are not active there (update ignores elements in the Default Group). To revert a promote operation by-transaction:
Both purge and revert remove changes made to a stream, also resulting in their removal throughout the stream hierarchy by means of inheritance and by the update command for workspaces. However sometimes what is needed is to undo changes made to the parent stream by an inadvertent promote operation and retain them in the child stream. Although there is no "demote" command in AccuRev, the following procedure can be used as a workaround: