p4 archive

Archive obsolete revisions to an archive depot.

Syntax

p4 [g-opts] archive [-n -h -p -q -t -z] -D depot FileSpec[revSpec]

Description

This commands enables a Helix Core server user with admin access to move the specified revisions into a depot of type archive.

When files are moved into an archive depot, their last action is changed to archive.

Commands that access file content, such as p4 sync and p4 diff, skip archive revisions, but commands that do not require access to file content, such as p4 filelog, continue to report metadata concerning the archived revisions.

Criteria

Without the -z option, the command archives only revisions that meet all of the following criteria:

  1. Stored in full (+F) or compressed (+C) format, rather than RCS format
  2. Located in a local depot (not a remote or another archive depot)
  3. Not copied or branched from another revision
  4. Not copied or branched to another revision

You can use p4 archive -n for testing purposes before mounting the file system associated with the archive depot. Storage for the archive depot must be mounted before running this command without the -n option.

Tip

If you want to disable server locks when running the p4 archive command, set the value of the the server.locks.archive configurable to 0.

Warning

Use with caution. The following commands permanently remove file data:

Options

-D depot

Specify an archive depot to which files are to be archived.

-h

Do not archive head revisions.

-n

Do not archive revisions. Instead, report on which revisions would have been archived.

-p

Purge any archives of the specified files named in the archive depot.

The action for affected revisions is set to purge on completion.

Warning

File contents are no longer accessible from p4 restore.

Tip

If you want to retain the metadata of purged files, do one of the following:

  • use the -p option of p4 obliterate (recommended)
  • perform the two-step sequence of p4 archive followed by p4 archive -p (time-consuming)

-q

Quiet mode, which suppresses messages about skipped revisions.

-t

Archive text files (or other revisions stored in delta format, such as files of type binary+D)

-z

Can reduce the use of disk space because it includes in the archive any files that have lazy copies or are lazy copies. (A lazy copy is a reference to the location of the full file.)

With this flag, only Criteria 1 and 2 must be met.

Unless all copies are archived, the original file remains in the depot.

g-opts

See Global options.

Usage Notes

Can File Arguments Use Revision Specifier? Can File Arguments Use Revision Range? Minimal Access Level Required

Yes

Yes

admin

  • To archive files stored in delta format, use the -t option.
  • Tip

    There might be a computational cost associated with the manipulation of large numbers of RCS deltas.

  • If a revision is stored in an archive depot, and the stored revision is accessible to the versioning service, a user can determine which archived revision to restore by using p4 print:

    p4 print -A -o myOutputFile //archive/depot/myFile

    This command redirects all the versions of the archived file to myOutputFile. The user can then request that a Helix server Administrator use p4 restore to restore one or more versions of the file.

    Tip

    A user with admin access can run p4 fstat -Ob to see the path, revision, type, full and relative local paths of the server archive file.

Examples

p4 archive file#3

  • Archive revisions 1 through 3 of file
  • If a single revision is specified as a file argument, p4 archive implicitly targets revisions #1 through the specified revision for archiving

p4 archive file#3,3

  • Archive revision 3 of file
  • To archive only a single revision rev, use the form p4 archive file#rev,rev
To archive files stored in delta format, use the -t option:

p4 archive -D archives -t //depot/....txt

Use the ... wildcard to archive the files with the .txt extension.

p4 archive -D archives -t //depot/....txt@3,3

Use the ... wildcard to archive the files with the .txt extension that belong to changelist 3.

p4 archive -D archives -t //depot/....txt@3

Use the ... wildcard to archive the files with the .txt extension that belong to changelists 1 through 3.

If Helix server must manipulate a large numbers of RCS deltas, the computational cost might be noticable.

Related Commands

To create a depot

p4 depot

To restore files from an archive depot

p4 restore

To obliterate files without archiving them

p4 obliterate