schedule integrations from one file to another
Integrate attempts to propagate changes between two sets of files: from the source files of the branch view to the target files of the branch view. The result is target files that are opened for the action reflecting changes made in the corresponding source files. The actions are either branch (for new files), delete (when the source file was deleted), or integrate (when the source file was changed). In the last case, the actual merging is subsequently handled by the 'p4 resolve' command. In all cases, the opened files must be submitted with 'p4 submit' before the integration is reflected in the depot.
A branch view may be given directly on the command line by stating the source (from) and target (to) files, or indirectly by naming a stored branch view with -b branch. A stored branch view may have many mappings, while a view on the command line can only have one. If a stored branch view is given, the target files and source revisions may be further limited on the command, but note that they are given in the same argument 'toFile#FromRev'.
If no file specification is given then the entire branch view is examined for needed integrations. If a file specification is given, the integration is limited to only those target files. In both cases, the integration is also limited to those target files that are also in the client view.
If no revision specification is given then all revisions of the source file are considered for integration. If a single revision is given, then only revisions up to the given revision are included. If a pair of revisions is given (separated by a comma (,)) then only those revisions, inclusively, are integrated.
The -f flag forces integrate to act without regard for previous integration history. Normally, integrate skips any file revisions already integrated.
If -c changelist# is given, the files are opened in the numbered pending changelist instead of the 'default' changelist.
The -n flag displays what integrations would be necessary but does not schedule them.
If the -r flag is present, the mappings in the branch view are reversed, with the target files and source files exchanging place. The -b branch flag is required
The -v flag makes 'p4 integrate' work faster by not copying newly branched files to the client. In this case, the files can be fetched with 'p4 sync' after they are submitted with 'submit'. [Note that this was the default behavior for newly branched files in release 97.2 and earlier.]