Overview of StarTeam Purge
This information applies to both the Online Purge and the Offline Purge
What initiates items to be ready for purging
When a user deletes an item it is 'marked' for deletion in the database; it is removed from display in the StarTeam Client for the current 'point-in-time'.
When the Purge is run it scans the database for items marked as deleted. Further checks are then done to see if the items qualify for actual deletion (see checklist below).
Only if the items pass these checks, does the tool then performs a lookup on the file's MD5 value, and physically deletes the compressed (archive) file from disk (Hive).
This operation has further in-built checks so that files that are actually needed are not deleted.
The Purge will:
- only delete archives that are not shared between Views.
- not delete archives if a Child View was deleted and the same file(s) exist in a Parent View; but will delete new files that existed in the Child View only.
- delete all files in a View if that View has a 'DeletedTime' value in the 'syn_view' table in the database (that is, the View has actually been deleted by a User previously via StarTeam Client).
After the Purge:
- The file details have been removed from the archive and also from the Database tables/views.
- The (StarTeam) View details remain in the Database table and in 'syn_view' view, but the data row(s) are marked as 'deleted'.
Note that the Purge utility will *only* delete items that are in 'deleted' Views. Therefore, deleted items in the Root View are not removed from the Hive until the actual Project itself has been deleted (this effectively is the only way to delete a Root View).
This is because StarTeam allows "time travel" or rollback functionality (to a point-in-time), so all asset versions have to be available in case someone requests an older configuration of the Root View.