Distributed Concurrent Versions System

Distributed Concurrent Versions System
Distributed Concurrent Versions System
Developer(s) elego Software Solutions GmbH
Initial release August 2002; 9 years ago (2002-08)
Stable release 1.0.3 / September 25, 2006; 5 years ago (2006-09-25)
Development status Unmaintained
Written in C
Operating system Unix-like, Windows
Type Revision control
License GNU General Public License
Website dcvs.elegosoft.com

The Distributed Concurrent Versions System (DCVS) is a distributed revision control system that enables software developers working on locally distributed sites to efficiently collaborate on a software project. DCVS is based on the well known version control system Concurrent Versions System. The code is freely distributable under the GNU and BSD style licenses.

Contents

Motivation

CVS is based on a pure centralistic organizational model and offers very little offline support. Almost all version control operations require direct access to the repository. Therefore worldwide distributed software development efforts face heavy performance problems when using CVS. DCVS tackles this issue by distributing the central CVS repository on many sites.

Features

DCVS provides all CVS functionality. But unlike CVS a DCVS system may comprise an arbitrary number of geographically distributed repositories whose contents are kept equal in the background by an extended version of CVSup, a program developed by John D. Polstra. The combination of DCVS repository, extended CVSup server and DCVS server program will be called DCVS server in the following paragraphs.

All contents of all development lines can be checked out from any of the DCVS servers into a DCVS workspace owned by a developer. All operations that do not modify the repository, such as diff, patch, log[disambiguation needed ], annotate etc., work just like in CVS, but they always use the local repository and so are much faster in a distributed scenario. In order to avoid collisions and data loss every DCVS server gets assigned a set of development lines (DCVS branches) for which it is responsible. Modifications to a branch may only be checked in on the server which is responsible for the branch. The separation of modifications by lines of development makes it possible to automatically transfer and distribute changes in the DCVS network. A person wanting to commit changes for a development line that his local DCVS server is not responsible for can create a new development line (branch) and commit the changes to it. The local server is automatically responsible for any newly created line of development.

On the other hand, every developer can merge changes from development lines his local DCVS server is not responsible for into local development lines. Thus all changes made at any working site may be applied to the original branch by developers on the responsible DCVS server performing a merge operation.

The functionality of change sets enables developers to produce small sets of changes related to a feature or a defect, which can then be applied by others.

A specific numbering scheme ensures that development lines and deltas can be identified as belonging to a certain DCVS server. DCVS assigns a unique range[disambiguation needed ] of branch numbers to every pair (server/collection). All ranges for all servers and collections must be mutually exclusive. The definitions for servers, collections, and ranges are read from a single configuration file. By consulting the contents of this file, every DCVS server can decide if it is responsible for a certain branch or delta of a given file. If so, all modifying operations are allowed; if not, modifying operations are only possible on the appropriate remote server.

Also the actual names of configurations, the tags, are uniquely assigned to exactly one DCVS server by means of a server-specific suffix extending all tags (i. e. _at_dcvs_mydomain_org). Thus no conflicts in the tag name space may arise.

History

DCVS has been developed by team members of the elego Software Solutions GmbH in Berlin/Germany. The first release of DCVS was in August 2002. In November 2005 version 1.0.2 has been released.

See also

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Concurrent Versions System — Developer(s) The CVS Team Initial release November 19, 1990; 21 years ago (1990 11 19) Stable release …   Wikipedia

  • Distributed revision control — A distributed revision control system (DRCS), distributed version control or decentralized version control (DVCS) keeps track of software revisions and allows many developers to work on a given project without necessarily being connected to a… …   Wikipedia

  • Linux on System z — History of IBM mainframe operating systems On early mainframe computers: GM OS GM NAA I/O 1955 BESYS 1957 UMES 1958 SOS 1959 IBSYS 1960 CTSS 1961 On S/360 and successors: BOS/360 1965 TOS/360 1965 TSS/360 1967 MTS 1967 …   Wikipedia

  • Concurrent computing — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent c …   Wikipedia

  • Concurrent data structure — In computer science, a concurrent data structure is a particular way of storing and organizing data for access by multiple computing threads (or processes) on a computer. Historically, such data structures were used on uniprocessor machines with… …   Wikipedia

  • Federated database system — A federated database system is a type of meta database management system (DBMS) which transparently integrates multiple autonomous database systems into a single federated database. The constituent databases are interconnected via a computer… …   Wikipedia

  • Mozart Programming System — The Mozart Programming System is a multiplatform implementation of the Oz programming language developed by an international group, the Mozart Consortium, which originally consisted of Saarland University, the Swedish Institute of Computer… …   Wikipedia

  • IBM AIX (operating system) — Infobox OS name = AIX caption = developer = IBM source model = Closed source kernel type = Dynamic Extendable supported platforms = ROMP, IBM POWER, PowerPC, IBM PS/2, System/370, ESA/390 ui = Common Desktop Environment family = UNIX System V… …   Wikipedia

  • Database management system — A database management system (DBMS) is a software package with computer programs that control the creation, maintenance, and the use of a database. It allows organizations to conveniently develop databases for various applications by database… …   Wikipedia

  • Global File System — Traduction à relire Global File System → …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”