When you plan your project hierarchy structure, consider how you plan to release your product. There are a number of ways that you can structure workspace hierarchies to facilitate the preparation of major, minor, and patch releases. The following discussion presents some ideas for you to consider; your product may not lend itself to this model, or your product may have considerations that suggest an alternate scheme.
You should consider dedicating a workspace as a product release staging area for each release. "Hang" the release workspace off a top-level "product" workspace. The product workspace should be located hierarchically above the workspaces in which normal development integration is done. Locating the product workspace this way permits you to begin development of your next release without corrupting the current release.
After the files are transferred to the product workspace, you use the Bringover transaction to transfer the files down to the release workspace. The release workspace can be used to make masters and can serve as an area in which to save work for subsequent releases if necessary.
Figure 5-3 shows a hierarchy that contains a product workspace and release workspaces for six different releases.
You can use the reparenting feature to transfer data between release workspaces directly. See "A Reparenting Example" for details.