Shelving files

Shelving enables you to store copies of open files temporarily in the Helix Server repository without checking them in. Shelving is useful for a variety of purposes, including taking and restoring snapshots of in-progress work and reviewing other users' code before it’s checked in. When you shelve a file, a copy is placed in a pending changelist from which other users can unshelve it. Pending changelists that contain shelved files are indicated by a red triangle marked by a file icon: Pending changelist with shelf icon. When the changelist is expanded, shelved files are listed under the Shelved Files node. They are indicated by a file icon with a badge, for example: . The badge can be a check mark, an X, a plus sign (+), or an integration arrow, depending on the pending action before shelving.

When managing shelved files, note the following:

  • Basics: To be shelved, a file must be checked out. However, you cannot unshelve a checked-out file.
  • Submitting shelved files: As of Helix Server 2013.1, you can submit a shelved file directly. For previous versions of Helix Server, you must first unshelve a file to submit it, then delete the shelved copy. (Unshelving does not delete the shelved copy.)
  • Managing changelists: You cannot move a shelved copy to another pending changelist. If you revert a file after shelving it, the copy remains shelved in the changelist until you delete it. Only the changelist owner can reshelve or delete files that are shelved in the changelist. For Helix Server releases that predate version 2013.1, you cannot submit a changelist that contains shelved files; you must delete the shelved copies before submitting. Starting with Helix Server 2013.1, you can submit shelved files directly, but your changelist must contain only shelved files.
  • File history: No file history is created when you shelve or unshelve files.
  • Diffing: You can diff shelved copies by right-clicking the shelved file in the Pending dialog (View > Pending Changelists) and selecting Diff Against Source Revision or Diff Against Workspace File.