Actually I am involved with some open source projects development. One of them is from my master in computer science project, called Spontaneousware (hosted at Java.Net http://spontaneousware.dev.java.net). Since this project was created, we are working, as a Software Configuration Management tool, with Subversion version control system (SVN). Primarily the NetBeans SVN client was considered to be used, but due to some its limitations the tkSVN (tkCVS) tool is being also used. This post aiming to clarify the workaround to put a non-source-code NetBeans project into a SVN repository.
Regarding this project, the following software infrastructure is being used:
- Ubuntu Linux 07.10 (with SVN client installed)
- NetBeans IDE 6.1 Beta
- tkSVN (tkCVS)
The NetBeans’s SVN client support is available by default, as for other tools like CVS and Mercurial. The SVN implementation supports file, http, https, svn, and svn+ssh authentication protocols. The most important features are described below. For a detailed information on how to use them, please see the Subversion Support in NetBeans IDE guide.
- Checking Out a New Project from Subversion,
- Viewing File Status and Differences,
- Tracking Changes in the Subversion window,
- Generating Diffs,
- Updating and Committing Files,
- Updating Project Settings, and
- Putting a Project into Subversion
Regarding the Code Projects
The NetBeans’s SVN support makes it easy to maintain under version control and share the project metadata (project settings) and the source-code. Note: it automatically excludes the build, dist, and nbproject/private folders from check-in.
The user can configure it through the NetBeans IDE, like the figures below:

Regarding the Model Projects
Through the NetBeans 6.1 Beta is not possible to put a UML (model) project into Subversion. It is a IDE’s SVN limitation if we want to maintain and share the model under version control. So, what should we do if we need to manage it? An alternative solution is to use an auxiliary SVN GUI client, tkSVN in our case, aiming to maintain all the UML diagrams files synchronously related to the code project.
The figures below shows the project configuration on tkSVN tool for a NetBeans UML project. The last figure displays the Model Project folder through the Spontaneousware Java.Net website.


Suggestion: Enhancement Opportunity
Due to the limitation clarified above, it is a good opportunity for version control enhancement in NetBeans Model Projects – specially for Subversion support, but it can be also applied for CVS and Mercurial supports. Most of the same important IDE’s SVN features listed above could be available for the UML project. Considering this enhancement will be implement, it will be easy and more efficient to work with SVN on NetBeans. So, just one tool will be needed!
Note: this post is participating on the NetBeans IDE 6.1 Blogging Contest =)

Vando B – NetBeans Community member: vandob