Demote by Transaction Rather than demoting individual files, you can also demote a set of element versions by demoting a transaction. When you demote by transaction, the specific versions of the files in that transaction are no longer available in the source stream but they are now accessible in the destination stream. The process of demoting by transaction enables you to leave previous versions of demoted elements active in the source stream. You cannot do this when demoting by file. For example, suppose that you make three successive changes to a file and promote it after each change. If the file is problematic, demoting it by file means that the source stream now contains the version of the file that is in the backing stream. If, instead, you demote by transaction, you can demote the most recent transaction which leaves the previous version of the file active in the source stream. The ability to demote a single transaction while leaving previous transactions in the source stream means that you can exercise a finer granularity of control over the intermediary versions of a file contained in the source stream than when demoting by file. For this reason, AccuRev recommends demoting by transaction as a best practice. How to Demote by Transaction To demote a transaction: 1. In the StreamBrowser, specify Active Transactions as the Active Group Mode. 2. Click the Show Active Transactions button to the right of the source stream. Alternative: Right-click the source stream and choose Show Active Transactions from the context menu. AccuRev displays a list of transactions: 3. To demote a transaction, select the transaction (say, for example, #65) and click Demote. Note: You can demote multiple transactions at once, but the transactions you demote must be consecutive for an element and they must contain the most recent transaction. If, for example, you attempted to demote just transaction #63, AccuRev displays the following warning: 4. If the current stream has more than one child stream or workspace, AccuRev displays a dialog box that lets you choose the destination for the demote. Select the destination stream or workspace and click OK. Note: If you attempt to demote from a stream that does not have a child stream or workspace, AccuRev displays the following warning: When the demote operation has succeeded, transaction #65 and the file versions it contains have been moved out of the source stream (in this case, the Dev stream) and into the destination stream.