Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 CLI Documentation | 2025.1

# Merge changes

After you create branches, you might need to propagate changes between them. For example, if you fix a bug in a release branch, you probably want to incorporate the fix back into your main codeline. To propagate selected changes between branched files, you use the `p4 merge` and `p4 resolve` commands, as follows:

1. Issue the `p4 merge` command to schedule the files for resolve.

2. Issue the `p4 resolve` command to propagate changes from the source files to the target files.

   To propagate individual changes, edit the merge file or use a merge program. The changes are made to the target files in the client workspace.

3. Submit the changelist containing the resolved files.

Example: Propagating changes between branched files

Bruno has fixed a bug in the release 2.2 branch of the Jam project and needs to integrate it back to the main codeline. From his home directory, Bruno types the following:

    p4 merge //JamCode/release/jam/2.2/src/Jambase //JamCode/dev/jam/Jambase

He sees the following message:

    //JamCode/dev/jam/Jambase#134 - merge from ////JamCode/release/jam/2.2/src/Jambase#9

The file has been scheduled for resolve. He types `p4 resolve`, and the standard merge dialog appears on his screen.

    //JamCode/dev/jam/Jambase - merging depot/release/jam/2.2/src/Jambase#9
    Diff chunks: 0 yours + 1 theirs + 0 both + 0 conflicting
    Accept(a) Edit(e) Diff(d) Merge (m) Skip(s) Help(?) [at]:

He resolves the conflict. When he’s done, the result file overwrites the file in his workspace. The changelist containing the file must be submitted to the depot.

To run the `p4 merge` or `p4 copy` commands, you must have P4 Server `write` permission on the target files, and `read` access on the source files. (See the P4 Server Administration Documentation for information on P4 Server permissions.)

By default, a file that has been newly created in a client workspace by `p4 merge` cannot be edited before being submitted. To edit a newly merged file before submission, resolve it, then issue the `p4 edit` command.

If the range of revisions being merged includes deleted revisions (for example, a file was deleted from the depot, then re-added), you can specify how deleted revisions are merged using the `-Di` option. For details, refer to the P4 CLI Reference.

In this section:

Your search for returned results