Version Controls Systems Integration
Version Control Integration
VCS-Specific Operations
Version Control Integration
RubyMine gives you an intelligent, flexible and effective way for working with a wide variety of popular Version Control Systems. The unified user interface provides support for common tasks as well as VCS-specific features: synchronization, checkout, merging, updates, plus:
- Changelists support for all integrated version controls
- Next, Previous, Rollback, Show Difference actions in the gutter bar
- View revision history for project/folder/file.
- Annotate command for reviewing the files
- Recent changes display with a single shortcut
- Automatic checkout of all affected files when refactoring
- Dedicated tool window for History, Status, Update
Info, etc.
- Ability to commit the entire project, with conflict notifications
- Notification on files changed by your team mates
Most Popular VCS Integrations
RubyMine natively supports the following SCM systems:
- Subversion (SVN)
- Git
- CVS
- Perforce
Advanced Changelist Management
All the files that have been changed, deleted, just created and not yet under version control, are displayed in a single Changes tool window, where you can:
Patches and Arbitrary Reverting
RubyMine lets you create patches directly from the code that you can later apply and merge with repository files. This feature also lets you revert any arbitrary code change, commited by you or your colleagues, by applying a reverse patch.
Shelve Changes
With RubyMine you can be sure that all your work is safe and never lost. If you need to work with the repository files and have uncommitted changes, just shelve them — RubyMine will keep the changes safe until you decide to commit or merge them.
Local History
RubyMine tracks all changes made to project files, including those that affect project folders content and hierarchy, and keeps them versionized in its very own local history. So to say, it gives you a one more layer of version control, which is completely invisible and seamlessly integrates with any other VCS, or serves as a replacement if you do not have one. This feature protects your files from accidental damage or unwanted modifications, even if they occur on the account of any third-party software. Any time you can inspect the history of either a particular file or folder and rollback to any of its previous versions — just as easy as you'd do it with any other VCS.
VCS-Specific Operations
RubyMine lets you take advantage of using your favorite VCS by natively supporting its specific features.
Subversion (SVN)
- Subversion 1.6 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 IDE
- Rolling back changes for an entire file, or for just particular modifications
- Setting properties for files and directories
Git
- Cloning of remote repositories
- Pushing and pulling local repositories
- Performing rebase, with interactive mode and multiple Git roots
- Merging with various strategies
CVS
- Automatic CVS roots configuration
- Checking out specific file revisions
- Check out filters by tag or date
- Updating files with the ability to merge branches
- Bulk and granular rollback
- Creating tags and branches
- Dedicated tool window: CVS Output, Browse, Errors, Editors and Watchers
- Management of editors and watchers
- Quick checkout and import of a project from the repository
- CVS repository browser
Perforce
- Perforce jobs support
- Perforce offline mode, with transparent operation when you are not connected
- Auto-detection of files that are already versioned
- All Perforce commands available: submit, 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 them
Download RubyMine (30-day fully functional evaluation).



