Shelving enables you to store copies of open files temporarily in the
Helix Core
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: . When the changelist is
expanded, shelved files are listed under the Shelved Files node, as shown in the following image. 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 Core
2013.1, you can submit a shelved file directly. For previous versions
of
Helix Core, 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 Core
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 Core
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.