A user command that modifies elements is recorded as a single transaction in the metadata stored for the depot, no matter how many elements are involved. For example, if a user enters a keep command to create new versions of 12 files, a single transaction records all 12 versions. What if something goes wrong (for example, a network failure) while AccuRev is processing those 12 files? The entire transaction is cancelled, and no new version is created. The term
atomic describes this “all or nothing” aspect of AccuRev transactions.
Note: AccuRev does not record every change in a transaction.
Keeping a new version is recorded in a transaction, as is
promote’ing an existing version to a higher-level stream. But no transaction is recorded when you change the location of a workspace.