VersioningAidTeam

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!

Contents


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

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 this.

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. 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. 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.

PENDING: Content ok? UpToDate?

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo