How do I perform a Snapshot (baseline) Conversion in AccuRev?

0 Likes

"PROBLEM/ABSTRACT:
How do I perform a snapshot (baseline) conversion in AccuRev?

SOLUTION:
The AccuRev snapshot conversion is the process of loading subsequent labels from a file-based branch and label architecture SCM tool.

AccuRev's snapshot conversion process:

1. Create a new Depot, for example called ACME (or use an existing one that contains no code under source control).

2. Create a new Workspace directly off the Basestream called depotname_InitialLoad_username. This workspace will obviously have no source code to pull down and it physical directory tree will be empty.

3. Identify the important Labels/Tags/Snapshots that you would like to load into AccuRev. (i.e. v1.0, v2.0, v2.1, etc)

4. Take the contents of the label (v1.0) and copy those contents to the physical directory tree location of the InitialLoad workspace at the Operating System level. (i.e. via File Manager, Windows Explorer, or dos command)

5. Once the label has been loaded into the directory tree go to the AccuRev GUI and open the Workspace view for the InitialLoad workspace. Notice that the status of the source tree is external. Navigate to the EXTERNAL filter to see all files and directories, highlight them, and ADD TO DEPOT.

6. Now from the PENDING filter highlight all files and directories and Promote the entire source code tree to the Basestream. (create an initial load v1.0 Issue to associate the promotion with if you are using Change Packages).

7. Create a snapshot off the basestream for the recently loaded label v1.0 called ACME_v1.0.

8. Go back Windows Explorer and navigate to the physical directory tree location of the workspace and delete the contents of the workspace. Be careful not to delete to top level of the workspace.

9. Once the source tree has been deleted, load the next major label release (v2.0) using the same process as described in Step 4.

10. To ensure you do not have any files with an older timestamp than the ones currently in your workspace, from the CLI, cd into the root level of your workspace and run the following command:

accurev touch -R .

11. Once the label has been loaded go back to the AccuRev GUI and this time all the files will not only appear as external, but some files will show up as modified or missing.
a. External - New files that were added to the project for v2.0 (and after v1.0), highlight and select ADD TO DEPOT for these files.
b. Modified - Files that existed in v1.0 but were modified for v2.0, highlight and select KEEP.
c. Missing - Files that were removed from the project after v1.0, highlight and select DEFUNCT.

12. Now from the Pending filter highlight all file and directories and Promote this to the Basestream. (create an initial load v2.0 Issue to associate the promotion with if you are using Change Packages). Note: Some files may end up in the Stranded filter and may need to be Purged by highlighting all files and right-click and select Revert - To Backed.

13. Create a snapshot off the basestream for the recently loaded label v2.0 called ACME_v2.0.

14. Repeat Steps 8 through 12 for subsequent major releases.

15. Repeat Steps 8 through 12 for subsequent minor release but be sure to use the parent stream of the minor release to achieve the proper relation. For example, for loading v2.1 create a ACME_v2.0_Maint stream off of the ACME_v2.0 snapshot and then create a workspace off that ACME_v2.0_Maint stream. Use this workspace to execute the load of v2.1 using steps 8 through 11, and create the snapshot referred to in Step 12 off of the ACME_v2.0_Maint stream.

NOTE: The process defined above is for a fairly standard single product depot with a simply development hierarchy and a common major / minor release cycle. Once the basic approach is understood this process can be modified depending on how your development process needs to be defined in AccuRev.

For more information contact AccuRev Support"

Comment List
Related
Recommended