Carrying out maintaining a software configuration management system are
disclosed. In particular, a way to reverse prior revisions without
removing their history in the server are described. When a client submits
an undo command to reverse the effects of one or more revisions within a
stated revision range of a file, the revision history is updated by
submitting a new revision that effectively removes the changes embodied
within the range of undone revisions. Implementing undoing prior
revisions preserves the revision history for a file, in case there is a
need to access the undone revisions at a later time.