RubyMine 2017.3 Help

Shelve Changes Dialog

VCS | Shelve Changes


Use this dialog box to shelve the selected files or changelists.

This dialog consists of several areas:

Modified files pane

This section contains a list of files that have been modified since the last commit. All files in the list are selected by default. Deselect the files that you do not want to shelve.

Toolbar

IconTooltip and ShortcutDescription
icon showDiff Show Differences
Ctrl+D
Click this button to open the Differences dialog box that highlights the differences between your local working copy of the selected file and its repository version. All VCSs
refresh Refresh Changes
Ctrl+F5
Click this button to reload the Changed files tree view so it is up-to-date. All VCSs
moveToOtherChangelist Move to Another Changelist
F6
Click this button to add the selected file(s) to another changelist. The Move to Another Changelist dialog box opens where you can select an existing changelist or create a new one. All VCSs
rollback Revert Click this button to revert all changes made to the local working copy of the selected files. All VCSs
edit Jump to source
F4
Click this button to open the source code of the selected file in the editor.All VCSs
vcsToolbarGroupByDirIcon Group by Directory
Ctrl+P
Click this button to toggle between the flat view and the directory tree view. All VCSs
expandAll
collapseAll
Expand or collapse all nodes
Ctrl+NumPad Plus
Ctrl+NumPad -
Click these buttons to expand or collapse all nodes in the directory tree. These buttons are not available in flat view. All VCSs
vcsToolbarRevertUnchangedIcon Revert Unchanged FilesClick this button to have unchanged files reverted. Perforce

The summary under the modified files pane shows statistics on the currently selected changelist, such as the number of modified, new and deleted files. This area also shows how many files of each type are shown, and how many of them will be shelved.

Commit Message pane

In this area, enter a string that will be used as the shelf name. When you unshelve your changes, a new changelist with the same name will be created in the Local Changes tab. If you leave this field empty, the shelf name will be generated using the following pattern: <number of files in the shelf>, <date and time when the shelf was created>:

shelf names

Toolbar

Icon and TooltipShortcutDescription
commit message history Commit Message HistoryCtrl+MClick this icon to invoke the Commit Message History dialog that contains a list of your twenty-five last commits and the corresponding commit messages.

Before Submit / Before Commit section

Use the controls in this area to define which additional actions you want RubyMine to perform before putting the selected files to a shelf.

These controls are available for the following version control systems:

  • Git
  • CVS
  • Subversion
  • Perforce
ItemDescription
Reformat code Select this checkbox to perform code formatting according to the Project Code Style settings.
Rearrange code Select this checkbox to rearrange your code according to the arrangement rules preferences.
Optimize imports Select this checkbox to remove redundant import statements.
Perform code analysis Select this checkbox to run code inspection on the files you are about to commit.
Check TODO (<filter name>) Select this checkbox to review the TODO items matching the specified filter. Click the Configure link to choose an existing TODO filter, or open the TODO settings page and define a new filter to be applied.
Cleanup Select this checkbox if you want to automatically apply the current inspection profile to the files you are going to commit.
Revert unchanged files Select this checkbox to revert the files that have not been modified.

This option is only available for Perforce.

After Submit / After Commit section

Use the controls in this area to define which additional actions you want RubyMine to perform after putting the selected files to a shelf.

ItemDescription
Upload files to From this drop-down list, select the server access configuration to use for uploading the selected files to a local or remote host, a mounted disk, or a directory. To suppress uploading, choose None. To add a server configuration to the list, click browseButton and fill in the required fields in the Add Server dialog that opens.
Always use selected server Select this checkbox to always upload files to the selected server access configuration.

The drop-down list and the checkbox are only available if the Remote Hosts Access plugin is enabled.

Diff pane

The Diff pane is hidden by default. To unfold it, click the arrow button unfold next to the pane title.

In this pane you can explore the differences between the base repository version of the selected file, and the version you are about to shelve.

Toolbar

ItemTooltip and ShortcutDescription
arrowUparrowDownPrevious Difference / Next Difference Shift+F7 F7
Use these buttons to jump to the next/previous difference.

When the last/first difference is hit, RubyMine suggests to click the arrow buttons F7/Shift+F7 once more and compare other files, depending on the Go to the next file after reaching last change option in the Differences Viewer settings.

This behavior is supported only when the Differences Viewer is invoked from the Version Control tool window.

comparePreviousFile
compareNextFile
Compare Previous/Next File
Alt+LeftAlt+Right
Click these buttons to compare the local copy of the previous/next file with its update from the server.
edit Jump to Source
F4
Click this button to open the selected file in the active pane in the editor. The caret will be placed in the same position as in the Differences Viewer.
Viewer type
diffViewer type
Use this drop-down list to choose the desired viewer type. The side-by-side viewer has two panels; the unified viewer has one panel only.

Both types of viewers enable you to

  • Edit code. Note that one can change text only in the right-hand part of the default viewer, or, in case of the unified viewer, in the lower ("after") line, i.e. in your local version of the file.
  • Perform the Apply/Append/Revert actions.
Whitespace
diffViewer whitespaces
Use this drop-down list to define how the differences viewer should treat white spaces in the text.
  • Do not ignore: white spaces are important, and all differences are highlighted. This option is selected by default.
  • Trim whitespaces: ("\t", " "), if they appear in the end and in the beginning of a line.
    • If two lines differ in trailing whitespaces only, these lines are considered equal.
    • If two lines are different, such trailing whitespaces are not highlighted in the By word mode.
  • Ignore whitespaces: white spaces are not important, regardless of their location in the source code.
  • Ignore whitespaces and empty lines: the following entities are ignored:
    • all whitespaces (as in the 'Ignore whitespaces' option)
    • all added or removed lines consisting of whitespaces only
    • all changes consisting of splitting or joining lines without changes to non-whitespace parts.
      For example, changing a b c to a \n b c is not highlighted in this mode.
Highlighting mode
diffViewer highlight
Select the way differences granularity is highlighted.
The available options are:
  • Highlight words: the modified words are highlighted
  • Highlight lines: the modified lines are highlighted
  • Highlight split changes: if this option is selected, big changes are split into smaller 'atomic' changes.
    For example, A \n B vs. A X \n B X will be treated as two changes instead of one.
  • Do not highlight: if this option is selected, the differences are not highlighted at all. This option is intended for significantly modified files, where highlighting only introduces additional difficulties.
collapseAll Collapse unchanged fragmentsClick this button to collapse all unchanged fragments in both files. The amount of non-collapsible unchanged lines is configurable in the Diff & Merge settings page.
sync scrolling Synchronize scrolling Click this button to scroll both differences panes simultaneously. If this button is released, each pane can be scrolled independently.
disable editing Disable editing Click this button to enable editing of the local copy of the selected file, which is disabled by default. When editing is enabled, you can make last-minute changes to the modified file before committing it.
cogwheel blue with arrow Editor settings Click this button to open a drop-down list of available options. Select or clear these options to show or hide line numbers, indentation guides, white spaces, and soft wraps.
external toolShow diff in external toolClick this button to invoke an external differences viewer, specified in the External Diff Tools settings page.

This button only appears on the toolbar when the Use external diff tool option is enabled in the External Diff Tools settings page.

icon helpHelp
F1
Click this button to show the corresponding help page.

Note that the options listed above are available for text files only. RubyMine cannot compare binary files, so most commands will be unavailable for them.

Last modified: 4 April 2018

See Also