Excerpt from internal document.

II. Requirements

This chapter briefly summarizes the known set of both general and specific requirements on the VCS support in the IDE that are fundamental for analyzing the current state and proposing future improvements.

General requirements

The most general requirement on VCS integration could be stated as: "provide IDE support for effective work on shared sources in a team of developers that uses version control systems". "Sources" are understood as any data put under version control, like project files, source files, resources, etc, used in the IDE during the development. It also can be called "project data".

By using further decomposition based on typical user's goals, tasks and use cases, this primary requirement could be split into the following more detailed

Set-up versioning environment

  • specify connection parameters, remote repository location, working directory, etc.

Get versioned sources

  • get selected sources from VCS repository or take over an existing local copy

Put sources under version control

  • make selected local sources versioned and add them to VCS repository

Create versioned sources

  • create new sources as versioned from the beginning

Synchronize local copy of versioned data with repository

  • accept changes from repository
  • apply local changes (content changes, creation, removal, moves)
  • merge local and remote changes, resolve conflicts
  • prevent user errors and data losses

Fork development to branches

  • support tagging, branching, merge branches, etc.

Provide version control information for files

  • present clearly what data is under version control, what is the revision and status, allow inspection of diffs, history, etc.

Support versioning of logical units (e.g. projects) in a single step

  • allow to version-control all related data as a single unit, as well as separately

Subversion Related Requirements

Repository Access Methods

All common access methods should be supported:
  • file: for local access (single seat developers)
  • http(s): for WebDAV/DeltaV access (big public projects)
  • svn(+ssh): simple TCP/IP access (intranets)
including proxy access.

Command-line svn Interoperability

Keep .svn metadata compatability with svn client so it can be used as fallback for missing functionality (rare uncovered usecases).

Project Features

About this Project

VersionControl was started in November 2009, is owned by tpavek, and has 105 members.
By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20160708.bf2ac18). © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
Please Confirm