In Perforce, a codeline is a set of related files for example, all the source code required to build your software product. Copying an edit from one file set to the other is called integration. Copying a set of files is called making a branch or branching. Branching is performed using the Integrate feature. You can perform simple branches using a file specification.
To ensure that complex branching is done in a controlled manner (for example, to prevent typographical errors when entering target directories or to make sure that complicated branches are performed correctly), you can create a branch specification, which specifies the relationship between two codelines. When you branch, you can use the branch specification instead of a file specification. Branch specifications are displayed in the Specs pane on the Branches tab.
To change a branch specification, double-click it and enter your changes in the Branch form. Modify the View field to reflect the relationship between source and target codelines. For example, to create release 2 of Elm from the code in your main codeline, you might use the following view:
//depot/elm_proj/... //depot/elm_r2.0/...
To create a branch specification, choose Specs>New>Branchspec... and enter the required information. To prevent the specification from being changed by other users, check locked. To confine integration to closely related files, choose direct; to enable integration between distantly related files, choose indirect.
To delete a branch specification, click the specification you want to delete, then select Specs>Delete Branch.
To integrate using a branch specification: