Are you interested in NetBeans version control support and want to help? This page contains ideas for enhancements that you can try to code yourself! It'll be appreciated. It contains selection of often requested enhancements with short idea how to implement.
Happy hacking!
A simple module analyzing CVS log command output and presenting in the form of a change log. A user can enter range using tags, branches and dates; and choose context: project (with dependencies), package or file. HTML format could generate ViewCVS links.
The same applies to any versioning system e.g. Subversion.
You can inspire by javacvs/changelog (checkout from release35 branch).
Scope: UI specification, implementation
Current NetBeans patch algorithm fails to patch slightly modified sources. Command line patch can use context information and survive small code reallocations.
See org.netbeans.modules.diff.builtin.Patch.apply() method in diff project.
Scope: algorithm and unit tests
The action at first tries to apply the patch and then shows changes. However expected behaviour is the opposite, at first show proposed changes and then let the user confirm applying them.
See org.netbeans.modules.diff.PatchAction.
Scope: UI specification, prototype, implementation
SubversionPrototype
svn Properties actionScope: implement an action which opens a view displaying the svn properties for the selected node from the Project Explorer UI spec already present
Entry point: Subclass org.openide.nodes.FilterNode and reimplement its getPropertySets() method to return Subversion specifics sets. Then combine in JSplitPane a org.openide.explorer.view.TreeView (backed by ExplorerManager that returns FilterNode -wrapped original Node) and a org.openide.explorer.propertysheet.PropertySheet that shares the ExplorerManager.
search historyScope: Specify and implement a feature allowing to search in a files history.
Milestones: at least the UI spec must be present until the beginning of april 2006.
The search criteria should be:
looking for inspiration? try this.
export patchScope: export a patch file from a diff between any two revisions from a files history
CVS Edit Add-onA simple module adding CVS Edit action into main menu. 70639
Scope: Implement and test action that:
Improvement for Import dialog. 71196
Scope: Implement and test action that:
Adressed by ini4j external library.
Scope: Parsing and writing SVN config files - servers, config
Taken by: Christian Leskowsky, "Yes... I'm just about finished an initial cut. I need to test and polish it up a bit."
Algorithm that formats diff into UnifiedDiff format is required.
If interested take look at TextDiffVisualizer and you can try to implement unidiff export. There is already differenceToContextDiffText() method that could inspire you.
Scope: algorithm and unit tests
Contributed by: Ed Hillmann
Scope: implement ISVNClientAdapter.getStatus(...) without executing external command accessing .svn administrative metadata directly.
Code performance is critical use SAX Parser (XMLReader)
Hook at org.netbeans.modules.subversion.client.SvnClientInvocationHandler.
CVSROOT Switcher
The switcher module allows to change working directory CVSROOT. It's usefull in nomadic environments with constantly changing repository location.
The CVSROOT switcher (javacvs/util_switcher) module was contributed by nomadic misterm.