 |
Ideas for Contribution
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!
Enhancements
Changelog Module
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
Patch Algorithm Improvement
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
Patch Action Improvement
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 action
Scope: implement an action which opens a view displaying the svn properties for the selected node from the Project Explorer
UI spec already present - http://subversion.netbeans.org/teepee/ui-spec/index.html#properties_action
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 history
Scope: 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:
- message
- date (range)
- author
- revision (range)
looking for inspiration? try http://javacvs.netbeans.org/nonav/cvsmodule/develop/history.html#FindChanges_Panel .
export patch
Scope: export a patch file from a diff between any two revisions from a files history
CVS Edit Add-on
A simple module adding CVS Edit action into main menu.
http://www.netbeans.org/issues/show_bug.cgi?id=70639
Scope: Implement and test action that:
- reads CVS_EXE property runs external CVS
- -or- uses NetBeans? cvsclient library + external attrib, chmod
- and updates internal status caches.
CVS Import of binary files
Improvement for Import dialog.
http://qa.netbeans.org/issues/show_bug.cgi?id=71196
Scope: Implement and test action that:
- add mechanism for recognition binary files pattern
Work in Progress
Subversion config file parser
Adressed by ini4j external library.
Scope: Parsing and writing SVN config files - servers, config
Export into Unified Diff Format
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
Already Contributed Code
.svn parser
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.
-- Main.tstupka - 08 Mar 2006
|