About
Source code management (Versioning) plays an important role in everyday project lifecycle. The goal of Versioning support in NetBeans IDE is to provide reliable, streamlined and effective support for the most widely used versioning systems. We focus on the most common and most frequent everyday tasks and make them as easy and accessible for the developer as possible.
Currently we have 4 directly supported versioning systems: CVS, Subversion, Mercurial and ClearCase. The first three are bundled with the IDE and you can use them right out-of-the-box, ClearCase is available on the Update center.
For developers that want or need to write fully-integrated support for other Versioning systems we provide Versioning SPI that enables them to do just that.
Supported Versioning Modules
CVS
Modern support for CVS is included in standard builds since NetBeans 5.0.
For more information about CVS support please go to NetBeans CVS Home.
Subversion
Modern support for Subversion is included in standard builds since NetBeans 6.0.
For more information about Subversion support please go to NetBeans Subversion Home.
Mercurial
John Rice and Padraig O'Briain are develeoping and maintaining a module that integrates Mercurial (hg) version control system into NetBeans. Work has started in early 2007 and its first official release is targetted for NetBeans 6.0 FCS. The module is built on top of the new 6.0 Versioning SPI.
For more information about Mercurial support please go to NetBeans Mercurial Home.
Git
Work in progress - for more information about the upcomming Git support please go to NetBeans Git Home.
Local History
Local History is similar to a classic versioning system in that it stores multiple versions of files. However, the storage is only local to your NetBeans installation. Local History enables you to examine content of files and folders back in time, lets you diff them and most importantly lets you rollback your sources to some previous state or revert already deleted files or folders.
Rational Clearcase
Available on the Update Center since NetBeans 6.1 (Q2 2008).
For more information about Clearcase support please go to NetBeans Clearcase Home.
Support Modules - Diff And Merge
Diffing and merging is integral part of everydaty workflow when working with Versioning systems. NetBeans provides an effective way of diffing, patching and merging files.
For more information about Diff support please go to NetBeans Diff Home.
Community support
We live in interesting times - it seems new and new version control systems appear almost every day. Speaking particularly for the NetBeans VCS team, the everyday exciting experience of being part of the huge evolutionary force which is pushing the state of version control systems to its next bleeding edge fills us with pride and satisfaction. However, as one might face a great challenge with a brave heart so he also should consider his strategies when trying to keep pace with the rest of the planet. :-)
So here is the deal - in case you are missing NetBeans support for your favorite version control system and you feel like writing and sharing it with the community would be fun then consider yourself welcomed. Just contact us at nbdev@netbeans.org - we are here to give you all possible help in the means of:
- Your version control support cookbook - provides information where to start and how to get and mix all the needed ingredients together.
- Versioning SPI - provides integration with the IDE. Used already in the CVS, SVN, Mercurial and Clearcase plugins.
- Insider help - it might happen that you will run into specific problems requiring changes in other Netbeans modules. We are here to help you.
- Know How, tips and tricks - we like to share the experience we gained while writing VCS suport for Netbeans. Don't hesitate to ask.
Other NetBeans VCS projects developed by other teams
- Netbeans Git module - support for Git versioning system developed by the nbgit group
- Perforce - support for Perforce developed by Gregg Wonderly
- Accurrev - support for Accurev VCS
Development
The Team
- Tomáš Stupka (Oracle) - VCS engineering
- Jaromir Uhrik (Oracle) - quality engineering lead
- Ondrej Vrabec (Oracle) - VCS engineering
Versioning SPI
Versioning SPI is new since NetBeans 6.0 and provides support for developers who want to integrate a new Versioning system into the IDE.
A good starting point is the VCS SPI overview available at http://wiki.netbeans.org/wiki/view/VCS60APIOverview. VCS SPI javadoc is available here.