Preface

This guide tells you how to use the distributed versioning features of Helix. Distributed versioning allows you to work disconnected from a shared central server. If you’re new to version management systems, you don’t know basic Helix concepts, or you’ve never used Helix before, read Introducing Helix before reading this guide.

What’s new in this guide for 2015.2

This section provides a list of changes to this guide for the Helix Versioning Engine 2015.2 release. For a list of all new functionality and major bug fixes in Helix Versioning Engine 2015.2, see the Helix Versioning Engine 2015.2 Release Notes.

Seamless login to remotes

Previously, to log into a shared (remote) server, you had to remember its P4PORT setting. As of this release, you can log into a shared server from a personal server simply by passing the new -r option to the p4 login command.

For more information, see the section "Forward login to shared server" in “Understanding Remotes”.

Triggers available for pushing, fetching, and unzipping

You can now use triggers with the p4 fetch, p4 push, and p4 unzip commands. For more information, see the section "Using triggers with fetch and push" in “Fetching and Pushing”.

New items copied from server to server

Previously, fetching, pushing, zipping, and unzipping copied the following to the target server:

  • the specified set of files
  • the changelists that submitted those files
  • integration records

These commands now also copy the following to the target server:

  • attributes
  • any fixes associated with the changelists, but only if the job that is linked by the fix is already present in the personal server

p4 fetch -u is now p4 fetch -t

The p4 fetch command’s -u option is now obsolete. It has been replaced by the -t option. See the p4 fetch command in the P4 Command Reference, and Resolve conflicts by rewriting local history.

Tangent depot

This release introduces a new depot type — the tangent depot — which is a system-generated, read-only location in which the p4 fetch -t command stores conflicting changes. See The tangent depot.

Consistent cross-server Unicode and case sensitivity

The new p4 init -p command allows for consistent Unicode and case sensitive settings between personal and shared servers. See the p4 init command in the P4 Command Reference.

RemoteUser field in remote spec

The remote spec has a new RemoteUser field which allows you to specify that you be authenticated as that user against the shared server associated with that spec. For more information, see Per-server identities.

Global changelist id and Identity field

The Helix Versioning Engine now has the concept of a global changelist identifier (ID), which is implemented using the new Identity field in the change spec.

For more information, see Track a changelist’s identity from server to server.

New ImportedBy field in change spec

You can now distinguish between who owns a changelist and who fetched, pushed, or unzipped it. For more information, see Track who pushed, fetched, or unzipped a changelist.