Home> Products> IntelliJ IDEA> Features & Screenshots> Version Control Integration

Version Control Systems Integration

IntelliJ IDEA is beefed up with the first-class version control tool providing integration with several Version Control Systems that includes both support of features specific for each VCS as well as unified interface and management for common VCS tasks.



Resolve Changelist Conflict

Working on more than one task at once, you may run in some problems with your changes. Say, you have changed some files in a changelist, then switched to another changelist and made a massive refactoring. Some files in the first changelist are touched too. Now, committing any of these changelists without the other may lead to trouble. With IntelliJ IDEA you can protect files in inactive changelists. When you?re trying to change them (by direct editing or by applying a refactoring) you will see a dialog indicating the files to be changed:

The dialog gives you a number of options to resolve the conflict. You can shelve the changes you made in an inactive changelist and unshelve them later. You can move the previously changed files into the active changelist so that they would be committed together. If all conflicting files belong to a single changelist, you can switch to it, and the new changes will be added there. Finally, you can just ignore the notification and manage the conflict manually.

This strict protection is not enabled by default. You should go to Project Settings -> Version Control -> Changelist Conflicts and select the Show conflict resolving dialog option.

 

Team Foundation Server integration

  • Perform all common VCS functions (commit, update, revert, show differences and history, automatic check out of modified files, etc.)
  • TFS committed changes
  • Create and merge branches, lock and unlock files and view the history of committed and incoming changes.
  • Link the existing work items to your changelist
  • Create and manage TFS workspaces
  • TFS manage workspace

 

Git support

With the bundled Git integration plugin, IntelliJ IDEA enables you to:

  • Carry out common VCS operations
  • Clone remote repositories
  • Pushing and pulling local repositories
  • Perform rebasing, including interactive mode and multiple Git roots
  • Perform rebasing, including interactive mode
      and multiple Git roots
  • Flexibly apply various merge strategies

Subversion 1.5 Merge Support

  • Cherry-picking of your changes for merge. Select an arbitrary change, merge and commit it using a single wizard.
  • For Subversion 1.5, merged changes are highlighted in the Repository view so you can easily browse and manage them.
    Subversion 1.5 Merge Support Click to enlarge

Revert Committed Changes action

Revert any arbitrary code change, commited by you or your colleagues, by applying a reverse patch to the current source code.

Revert Changes intention action

to the top

 

Rational ClearCase support

IntelliJ IDEA completely supports Rational ClearCase through its unified version control systems integration and additionally provides support for Unified Change Management (UCM).

new VCS support

to the top

 

Shelve Changes

Smart change management with shelved changes and incoming changes view enables you to flexibly control your changes ensuring that they are not lost or in conflict with others'.

Live Demo

to the top

Create and apply patches

This feature which lets you create patches for arbitrary project code parts and later correctly merge them with the current version

to the top

Miscellaneous Improvements

  • Reworked Apply Patch dialog
  • Background mode for time-consuming operations

to the top

Unified VCS functionality

In addition to support for general and individual Version Control System commands, IntelliJ IDEA provides several unique features that simplify and speed up the work with any Version Control:

screenshot
  • Uniform interface for configuring common version control system settings
  • Changelists support for all integrated version controls
  • Commit an entire project, with meaningful notifications about possible conflicts
  • Next, Previous, Rollback, Show Difference actions are available from the dedicated gutter bar in changed locations:
  • screenshot
  • View revision history for file/directory
  • Annotate command allows reviewing the file line by line, with info in the left gutter area about the most recent updater and update time
  • View recent changes with a single shortcut (Alt + Shift + C):
  • screenshot
  • Automatic checkout of all affected files when refactoring
  • Advanced Version Control tool window, with multiple dedicated tabs: History, Status, Update Info, etc.

to the top

Delayed Commit

This revolutionary feature allows to avoid the well-known "5 o'clock check-in" problem. When submitted, the changes first go through the necessary tests. If the tests are passed successfully, your changes are automatically submitted to the version control system. In case of a failure, the responsible developer gets notification and can introduce necessary fixes, while the development process of entire team is not interrupted.

The feature is available if you have installed the TeamCity server and IntelliJ IDEA integration plugin. Read more about TeamCity ».

to the top

VCS Change List Management

All modified, deleted, unversioned and other files are displayed in the one Changes tool window. From this window you can:

  • commit the changelists
  • create new changelists (if you want to keep an eye on certain files and changes)
  • remove the existing changelists, and set the default changelists
  • rollback the modified files in the changelists
  • add the unversioned files and directories to the version control
  • move the selected files between the changelists
  • show diffs on the selected files
  • refresh the list of VCS changes displayed here
  • jump to the source of the files from within the changelist
screenshot

to the top

Code analysis and inspection before commit

IntelliJ IDEA can perform an automatic error-check, according to the current inspection profile, before committing your changes to the version control repository. You just need to enable the corresponding check box in the Commit dialog.

Read more about IntelliJ IDEA's static code analysis and code inspection ».

to the top

Subversion Client and Integration

IntelliJ IDEA supports both basic, and multiple advanced Subversion features in a convenient Subversion GUI:

  • Subversion 1.6 support, with tree conflicts detection
  • Display of merge sources in annotations
  • Subversion 1.5 support, with Integrate function
  • Convenient Subversion client and repository browser that allows direct project structure modification
  • Import a project into Subversion
  • Quick checkout of a project from repository (lightweight wizard mode)
  • Checking out separate files or directories
  • Comparing arbitrary file revisions with the help of a convenient visual Diff tool
  • Lock file and Steal Lock directly from IntelliJ IDEA
  • Rolling back changes for an entire file, or for just particular modifications
  • Setting properties for files and directories

to the top

 

Perforce Integration

In addition to the features common for all supported version controls, there are features specific for the Perforce integration:

  • Perforce offline mode, which enables the transparent VCS operation even when you are not connected to VCS server by keeping the history of your changes and merging them to repository when you are back on
  • Perforce jobs support
  • Auto-detection of files that are already under Version Control System
  • All main Perforce commands available without the need to open client application: ability to submit or or update a separate file, directory or entire project
  • Flexible changes browser, with ability to filter the changes by user, date, etc.
  • Advanced support for changelists, including the ability to switch or move to the desired changelist directly from IntelliJ IDEA

to the top

 

CVS Integration

CVS integration with an easy to use and intuitive UI, that does not even require a CVS client to be installed, provides the entire spectrum of features:

  • Automatic detection of project files associated with the CVS repository which allows you to start working with CVS right away, without configuring CVS roots
  • Dedicated File View tool window, for viewing status and other CVS info on the project files
  • Checking out separate files, with the ability to check out specified revisions, or check out by tag or date
  • Updating project, file or directory, with ability to merge file branches
  • Comparing arbitrary file revisions with the help of a convenient visual Diff tool
  • In addition to file history feature, CVS integration also provides the unique selection history viewer
  • Rolling back changes for an entire file, or for just particular modifications
  • Powerful Merge tool that helps you quickly and easily merge changes
  • Create tags and branches
  • Enhanced dedicated tool window, with additional tabs: CVS Output, Browse, Errors, Editors and Watchers
  • Enabling/Disabling and reviewing editors and watchers
  • Quick checkout of a project from the repository (lightweight wizard mode)
  • Quick import of a project into CVS repository (lightweight wizard mode)
  • Browsing an arbitrary CVS repository

to the top

 

StarTeam Integration

  • History of changes
  • File status is easily detected by color
  • Commands available for files are:
    • Check Out
    • Check In
    • Add
    • Lock
    • Unlock
  • Diff tool allows to visually inspect differences between the local and StarTeam versions
  • Convenient feature for checking in an entire project
  • Mark Project as Current, useful after working with StarTeam client
  • Ability to view file history
  • Reconnect and Refresh commands
  • Check out all files when refactoring feature

to the top

Visual SourceSafe Integration

  • Automatic add/remove on file creation/deletion
  • New file status: hijacked (modified without checkout)
  • New file status: obsolete (file modified locally but already removed from the repository)
  • History of changes
  • Commands available for files are:
    • Check Out
    • Check In
    • Add
    • Undo Check Out
    • Get Latest Version
  • Easy way to visually inspect differences between the local and SourceSafe versions, with the help of the Diff tool
  • Convenient feature for checking in an entire project
  • Mark Project as Current, useful after working with SourceSafe client
  • Command for opening SourceSafe Explorer
  • Next, Previous, Rollback, Old text actions are available from the dedicated gutter bar in changed locations
  • Check out all files when refactoring feature

to the top