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

P4 Server Administration Documentation | 2025.1

# Fetch and push integration history

When you merge from one stream to another, you must have both streams mapped in the remote spec in order to push or fetch integration history.

Consider the following example:

1. You clone from a shared server to create a personal server and the following remote spec, called `origin`:

   Copy

       # A Helix Remote Specification.
       RemoteID:       origin
       Address:        p4demo:1666
       Owner:  maria
       Options:        unlocked nocompress
       Update: 2022/06/29 13:14:26
       Access: 2022/06/29 13:14:57
       Description:
               Created by Joe_Coder.
       LastFetch:      default
       LastPush:       12305
       DepotMap:
               //talkhouse/main/... //depot/Talkhouse/main-dev/...
               //talkhouse/release1.0/... //depot/Talkhouse/rel1.0/...

2. In the personal server, branch a development stream (`dev`), make changes to some files in that stream and submit them.
3. Merge changes from the `dev` stream to the `main` stream.
4. Run `p4 push`.

You will observe that although the files were pushed to the shared server, the integration history was not.

To ensure that integration files are pushed or fetched, both the merge source and the merge target must be included in the remote spec.

1. Modify the remote spec to add a line under `DepotMap` for development stream `//talkhouse/dev/...`:

       DepotMap:
               //talkhouse/main/... //depot/Talkhouse/main-dev/...
               //talkhouse/dev/... //depot/Talkhouse/jschaffer-dev/...
               //talkhouse/release1.0/... //depot/Talkhouse/rel1.0/...

2. Run `p4 push`.
3. Observe that both files and integration history were pushed to the shared server.

Your search for returned results