Last updated September 13, 2010 12:42, by tstupka

Git Integration Requirements

This chapter briefly summarizes the known set of both general and specific requirements on VCS support in the NetBenas 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 list:

Set-up versioning environment

  • specify user name, user email, origin repository location, etc.

Get versioned sources

  • get selected sources from a remote repository or take over an existing local repository

Put sources under version control

  • make selected local sources versioned in a new git repository

Create versioned sources

  • create new sources as versioned from the beginning

Synchronize a working tree with repository

  • apply/revert local changes (content changes, creation, removal, moves)
  • prevent user errors and data losses

Synchronize a local with a remote repository

  • accept changes from a remote repository
  • update a remote repository
  • 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

Integration with IDE concepts

  • Projects
  • Filesystems
  • Refactoring
  • Editor

Git Related Requirements

Transfer Protocols

If possible all common access methods should be supported, Including proxy access.


One of the following notations can be used to name the remote repository:

  • rsync://host.xz/path/to/repo.git/
  • http://host.xz/path/to/repo.git/
  • https://host.xz/path/to/repo.git/
  • git://host.xz/path/to/repo.git/
  • git://host.xz/~user/path/to/repo.git/
  • ssh://[user@]host.xz[:port]/path/to/repo.git/
  • ssh://[user@]host.xz/path/to/repo.git/
  • ssh://[user@]host.xz/~user/path/to/repo.git/
  • ssh://[user@]host.xz/~/path/to/repo.git
  • [user@]host.xz:/path/to/repo.git/
  • [user@]host.xz:~user/path/to/repo.git/
  • [user@]host.xz:path/to/repo.git
  • /path/to/repo.git/
  • file:///path/to/repo.git/

Project Features

Wiki Controls

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