<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Distributed_Concurrent_Versions_System</id>
	<title>Distributed Concurrent Versions System - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Distributed_Concurrent_Versions_System"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Distributed_Concurrent_Versions_System&amp;action=history"/>
	<updated>2026-10-26T04:08:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Distributed_Concurrent_Versions_System&amp;diff=2254494&amp;oldid=prev</id>
		<title>imported&gt;Onel5969: clean up, typo(s) fixed: Therefore → Therefore,</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Distributed_Concurrent_Versions_System&amp;diff=2254494&amp;oldid=prev"/>
		<updated>2023-12-13T22:58:14Z</updated>

		<summary type="html">&lt;p&gt;clean up, &lt;a href=&quot;/wiki143/index.php?title=WP:AWB/T&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:AWB/T (page does not exist)&quot;&gt;typo(s) fixed&lt;/a&gt;: Therefore → Therefore,&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Redirect-distinguish-text|DCVS|[[Distributed version control|DVCS (distributed version control system)]]}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name                   = Distributed Concurrent Versions System&lt;br /&gt;
| logo                   =&lt;br /&gt;
| screenshot             =&lt;br /&gt;
| caption                =&lt;br /&gt;
| developer              = elego Software Solutions GmbH&lt;br /&gt;
| discontinued           = yes&lt;br /&gt;
| released               = {{Start date and age|2002|08}}&lt;br /&gt;
| latest release version = 1.0.3&lt;br /&gt;
| latest release date    = {{Start date and age|2006|09|25}}&lt;br /&gt;
| latest preview version =&lt;br /&gt;
| latest preview date    =&lt;br /&gt;
| operating system       = [[Unix-like]], [[Microsoft Windows|Windows]]&lt;br /&gt;
| platform               =&lt;br /&gt;
| programming language   = [[C (programming language)|C]]&lt;br /&gt;
| genre                  = [[Revision control]]&lt;br /&gt;
| license                = [[GNU General Public License]]&lt;br /&gt;
| website                = {{URL|http://dcvs.elegosoft.com/}}&lt;br /&gt;
}}&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Distributed Concurrent Versions System&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;DCVS&amp;#039;&amp;#039;&amp;#039;) was a [[distributed revision control]] system that enables software developers working on locally  distributed sites to efficiently collaborate on a software project. DCVS was based on the well known version control system &amp;#039;&amp;#039;[[Concurrent Versions System]]&amp;#039;&amp;#039;. The code was freely distributable under the GNU and BSD style licenses. The project was terminated sometime before late 2023.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
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 &amp;#039;&amp;#039;[[wikt:repository|repository]]&amp;#039;&amp;#039;. 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.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
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 &amp;#039;&amp;#039;[[CVSup]]&amp;#039;&amp;#039;, a program developed by John D. Polstra. The combination of &amp;#039;&amp;#039;DCVS repository&amp;#039;&amp;#039;, extended &amp;#039;&amp;#039;CVSup server&amp;#039;&amp;#039; and &amp;#039;&amp;#039;DCVS server program&amp;#039;&amp;#039;  will be called &amp;#039;&amp;#039;DCVS server&amp;#039;&amp;#039; in the following paragraphs.&lt;br /&gt;
&lt;br /&gt;
All contents of all development lines can be &amp;#039;&amp;#039;checked out&amp;#039;&amp;#039; from any of the DCVS servers into a &amp;#039;&amp;#039;DCVS workspace&amp;#039;&amp;#039; owned by a developer. All operations that do not modify the repository, such as &amp;#039;&amp;#039;[[diff]]&amp;#039;&amp;#039;, &amp;#039;&amp;#039;[[Patch (Unix)|patch]]&amp;#039;&amp;#039;, &amp;#039;&amp;#039;log&amp;#039;&amp;#039;, &amp;#039;&amp;#039;annotate&amp;#039;&amp;#039; etc., work just like in CVS, but they always use the local repository and so are much faster in a distributed scenario.&lt;br /&gt;
In order to avoid collisions and data loss every DCVS server gets assigned a set of development lines (DCVS branches) for which it is&lt;br /&gt;
responsible. Modifications to a branch may only be checked in on the server which is responsible for the branch. The separation of&lt;br /&gt;
modifications by lines of development makes it possible to automatically transfer and distribute changes in the DCVS network.&lt;br /&gt;
A person wanting to commit changes for a development line that his local DCVS server is not responsible for can create a new&lt;br /&gt;
development line (branch) and commit the changes to it. The local server is automatically responsible for any newly created line of&lt;br /&gt;
development.&lt;br /&gt;
&lt;br /&gt;
On the other hand, every developer can merge changes from development lines his local DCVS server is not responsible for into local&lt;br /&gt;
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 &amp;#039;&amp;#039;[[merge (revision control)|merge]]&amp;#039;&amp;#039; operation.&lt;br /&gt;
&lt;br /&gt;
The functionality of &amp;#039;&amp;#039;[[changeset|change sets]]&amp;#039;&amp;#039; enables developers to produce small sets of changes related to a feature or a defect, which can then be applied by others.&lt;br /&gt;
&lt;br /&gt;
A specific numbering scheme ensures that development lines and deltas can be identified as belonging to a certain DCVS server. DCVS&lt;br /&gt;
assigns a unique &amp;#039;&amp;#039;[[range (statistics)|range]]&amp;#039;&amp;#039; 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.&lt;br /&gt;
&lt;br /&gt;
Also the actual names of configurations, the &amp;#039;&amp;#039;[[Tag (metadata)|tags]]&amp;#039;&amp;#039;, are uniquely assigned to exactly one DCVS server by means of a server-specific suffix extending all &amp;#039;&amp;#039;tags&amp;#039;&amp;#039; (i. e. _at_dcvs_mydomain_org). Thus no conflicts in the tag name space may arise.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
DCVS has been developed by team members of Elego Software Solutions GmbH in Berlin/Germany. The first release of DCVS was in August 2002. In November 2005 version 1.0.2 was released. The project was terminated sometime before late 2023, with the repository deleted.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[https://web.archive.org/web/20120722125922/http://www.elegosoft.com/en/solutions/distributed-cvs/why-dcvs.html CVS for distributed development (Elego)]&lt;br /&gt;
*[http://www.nongnu.org/cvs/ GNU Concurrent Versions System]&lt;br /&gt;
&lt;br /&gt;
[[Category:Concurrent Versions System]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Onel5969</name></author>
	</entry>
</feed>