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.
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).
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'.
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
Miscellaneous Improvements
- Auto detecting of project VCS configuration
- Background mode for time-consuming operations
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:
- 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:

- 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):

- Automatic checkout of all affected files when refactoring
- Advanced Version Control tool window, with multiple dedicated tabs: History, Status, Update Info, etc.
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 ».
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
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 ».
Subversion Client and Integration
IntelliJ IDEA supports both basic, and multiple advanced Subversion features in a convenient Subversion GUI:
- 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
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
- 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
CVS Integration
The new 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
StarTeam Integration
- History of changes
- File status is easily detected by color
- Commands available for files are:
- 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
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:
- 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
