Rewriting History

Helix allows you to rewrite the history of the changes in your server. There are two reasons why you would want to rewrite history:

  1. To resolve conflicts between a personal server’s file history and a shared server’s file history that arise when fetching or pushing.
  2. To revise local work: correcting mistakes, clarifying intent, and streamlining the local commit history by consolidating intermediate changes.

The tangent depot

As part of rewriting history, the Helix Versioning Engine makes use of the tangent depot; the tangent depot is a system-generated, read-only location in which the p4 fetch -t command stores conflicting changes. The p4 fetch -t command automatically creates the tangent depot named tangent if one does not already exist. This is further explained in the next section, Resolve conflicts by rewriting local history.

For more information on the various kinds of depots, including the tangent depot, see the p4 depot chapter in the P4 Command Reference.