Fetching, pushing, and changelists

When changelists are added to the target server during a fetch or a push:

  • they retain the same description, user, date, type, workspace, and set of files

  • by default, they are given new change numbers but you can retain the existing change numbers by setting the dm.fetch.preservechangenumbers configurable.

When the files are added to the target server during a fetch or a push, they are kept in their same changelists as new revisions starting after the current head. The new revisions retain the same revision number, file type, action, date, timestamp, digest, and file size.

Although the changelists are new submitted changelists in the target server for a fetch or a push, none of the submit triggers are run in the target server. For more information about submit triggers, see "Using triggers to customize performance" chapter in the Helix Core Server Administrator Guide.

Only matching files are included in the fetch or push

If a particular changelist includes some files that match the filespec or stream restriction, and other files that do not, only the matching files are included in the fetch or push.

If a remote spec is also provided, only the files that match the restriction and are mapped by the remote spec are included in the fetch or push.

For example, consider the following DepotMap in a remote spec:

//stream/main/p4/... //depot/main/p4/...

Suppose you have a changelist with the following files:

//stream/main/p4/foo
//stream/jam/bar

Only //stream/main/p4/foo will be pushed or fetched because it matches the remote spec mapping.

Note

When changes are pushed or fetched, the Type: field for changes ignores the setting of the defaultChangeType configurable on the target server.

Also in this section: