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

P4 for Visual Studio Documentation | 2025.1

# Merge down and copy up between streams

Before changes made in a less stable stream can be copied up to its more stable child or parent, any changes in the more stable stream must be merged down to the less stable.

## Merge down

To merge changes down to a less stable stream:

1. Go to File > P4 > Copy/Merge > Merge to Stream…​ or right-click in the Solution Explorer and select Copy/Merge > Merge to Stream…​.

   When you merge down or copy up, you must be working in the target stream.

2. In the Merge dialog, select the Source Stream (the stream you want to merge down changes from). This must be a parent of the target stream.
3. (Optional) Click Preview to view the merge results.
4. Click Merge.
5. If necessary, resolve the merges manually, then submit the resulting changelist.

If you want to merge changes between streams without working in the target stream, open the Streams tool window, right-click a stream that shows a pending Merge indicator, and select Merge to 'streamname' from parent.

If you want to use advanced options when merging changes between streams, launch the Stream Graph, context click the stream you want to merge down to, and select Merge/Integrate to 'streamname'. You can also use P4V or the P4 Server command-line client. To learn more about the full set of Merge options, see the P4V help (launch P4V from the context menu using Views > View in P4V, and click Help on the P4V toolbar).

## Copy up

When you copy changes up to a more stable stream, you are propagating a duplicate of the less stable stream.

To copy changes up to a more stable stream:

1. Go to File > P4 > Copy/Merge > Copy to Stream…​ or right-click in the Solution Explorer and select Copy/Merge > Copy to Stream…​.

   When you merge down or copy up, you must be working in the target stream.

2. In the Copy dialog, select the Source Stream you want to copy from.
3. (Optional) Click Preview to view the copy results.
4. Click Copy.
5. Submit the resulting changelist.

If you want to copy changes between streams without working in the target stream, open the Streams tool window, right-click a stream that shows a pending Copy indicator, and select Copy to 'streamname' from parent or Copy to parent from 'streamname'.

If you want to use advanced options when copying changes between streams, launch the Stream Graph, context click the stream you want to copy up to, and select Merge/Integrate to 'streamname'. You can also use P4V or the P4 Server command-line client. To learn more about the full set of Copy options, see the P4V help (launch P4V from the context menu using Views > View in P4V, and click Help on the P4V toolbar).

## Propagate change between unrelated streams

To propagate change between streams that are not directly connected, use P4V or the P4 Server command-line client.

You can also reparent a stream to create the relationship. To reparent a stream in the Stream graph, drag the stream to the new parent stream. Note that you cannot reparent a task stream.

To learn more, see "Merging Down and Copying Up between Streams" in the P4V help (launch P4V from the context menu using Views > View in P4V, and click Help on the P4V toolbar).

Your search for returned results