Best way to "un-promote" files in Accurev?

Luke Rinard picture Luke Rinard · Mar 9, 2010 · Viewed 16.4k times · Source

My company uses Accurev for source control, and for all its benefits, there's one simple action that I just can't figure out how to accomplish.

Often we have someone accidentally push a file up too far in our stream structure -- from the "Development" stream to the "Release" stream, for example. What is the best way to "un-promote" this file? That is to say, to get the old version of the file back into the "Release" stream, and keep the new version of the file in the "Development" stream, where it belongs?

Just doing a "Revert to Backed" or other Revert action on the file in the Release stream will either cause an old version of the file to propagate down into Development, or will make the file disappear entirely.

In the above case, the developer will have to jump through hoops with setting basis times on streams, or use the command line tool to do a checkout of an old transaction, to get the file back. Sometimes the people in question are non-technical, so this is not a good solution.

I have also considered moving the files to a "higher ground" stream, reverting, and then cross-promoting them to the lower stream again. This seems really kludgy.

It seems like Accurev is obscure enough that Google is no help, so I turn to the good folks of StackOverflow for help -- has anybody figured out the "Accurevy" way to accomplish this?

Answer

Steven Craft picture Steven Craft · Apr 8, 2010
  1. Go to main stream browser

  2. Right click on stream you accidentally promoted to and choose 'Show History'

  3. In History browser, right click on the promote you wish to revert and choose 'Revert'

  4. It'll prompt you which workspace you want to put the result of the revert into, you can choose the workspace you made the accidental promote from if you like.

  5. In your workspace, the files should now be back to the state before the accidental promote. You can now promote that back up into the stream above. The stream will now contain versions of the files that have your accidental promote removed.

  6. You can note your workspace no longer contains any of the files in question, but presumably you want to get the files you accidentally promoted back into your workspace? If so go back to the history browser for the stream, right click on the promote on there you just made (the promote with the reverted edits in), and choose 'Revert'. You can then choose the same workspace as the destination.

  7. The files will probably appear in the default group for your workspace now, and be conflicted, so just select the lot, and do a merge. You will likely want to accept trivial merges here.

Once you have merged the files, they should appear in your pending filter. You should now have the same files in pending as you have before you accidentally promoted, and the stream above should have the same contents in the file as before you promoted.

Simple as that (irony intended).

Steve