Diemazz

Ida B Wells Barnett
Warren Oates
Katsuragawa Station (Kyoto)
The Academy (music venue)
Clade
Nishiyoshino, Nara
Cobalt Blue
George Clooney
maxi 247 patch
Category:Nazi propaganda films
Gottfried Leibniz
List of national parks
Category:History of Turkey
subducted slab
Bełchatów County
Henry Fonda
Chickering and Sons
Supernatural
Category:1171 deaths
Roşiori, Bacău
Malcolm Kerr
Bikaner
Lagos (Nigeria)
Strategic Profiling
David Guetta
Golog
0895793091
t786t
Nordic Bronze Age
vue cinema
Aer Lingus
Lambourne
Show control
Alania Airlines
Oichi
Picardie
Trimethylgallium
Dammam
Isola Sant'Antonio
Count Gabriel de Montgomery
tunisian music
File:Sobu Yokosuka Line Rapid E217 JPG
Greek and Latin roots in English
Category:Chinese screenwriters
Core Duo


Distributed revision control (or Distributed Version Control (Systems) (DVCS), or Decentralized Version Control) is a fairly recent innovation in software revision control. It provides some significant advantages over the more traditional centralized approach to revision control, and it has some defining characteristics that separate it from centralized systems. However, the line between distributed and centralized systems is blurring in some regards, especially since DVCSs can be used in a "centralized mode".

Contents

Vs Centralised

Comparisons are often made between centralized and distributed revision control:

Differences

  • Each developer does work on their own local repository.
  • Working model epitomizes bazaar-style development in that anyone can create their own branch.
  • Repositories are cloned by anyone, and are often cloned many times.
  • There may be many "central" repositories.
  • Access control lists are not employed. Instead code from disparate repositories are merged based on a web of trust, i.e., historical merit or quality of changes.
  • Lieutenants are project members who have the power to dynamically decide which branches to merge.
  • Network is not involved in most operations.
  • A separate set of "sync" operations are available for committing or receiving changes with remote repositories.

Advantages

  • Allows users to work productively even when not connected to a network
  • Makes most operations much faster since no network is involved
  • Allows participation in projects without requiring permissions from project authorities, and thus arguably better fosters culture of meritocracy instead of requiring "committer" status.
  • Allows private work, so you can use your revision control system even for early drafts you don't want to publish
  • Avoids relying on a single physical machine. A server disk crash is a non-event with Distributed revision control
  • Code migration into "pristine environment" can take a different route from developer to its final destination. e.g. through a review process or a continuous integration environment before it gets merged to its final destination.

Disadvantages

  • Will often require many more merge conflict resolution by hand efforts.
  • Source code is considered the "crown jewels" of a software group. Centralized version control systems have been around much longer and thus perceived to be more stable.
  • Some projects want or need centralized control.
  • Distributed systems can end up with a person as the central point of control, rather than a server.
  • Concepts of DVCSs are slightly more difficult for developers to grasp as they are required to know more about infrastructure.

Work Model

The distributed model also impacts the traditional developer working model.

History

The first DVCS is Reliable Software's Code Co-op (1997). First generation DVCSes include Arch and Monotone. The second generation was prompted by the arrival of Darcs, followed by a host of others, including Mercurial, Bazaar, and Git.

See the List of revision control software for a more comprehensive list.

Future

Some natively centralized systems are starting to grow distributed features. For example, Subversion is able to do many operations with no network, and it is planning to implement local commits. It may become more difficult to separate natively distributed vs centralized systems.

Due to the explosion of new DVCSs in the last couple years, it is likely that some of them will slow down or die off.

There are many tools that rely on version control, such as wikis, file systems, and text editors. Some are starting to adopt DVCS features, and even integrate with them. E.g., the Gazest wiki. See Category:Software using distributed revision control.

See also

External links

search:

Site Map: RSS 2.0

Recent Searches: distributed version control system
Coat of arms of Albania
Baladi
File:Shoso in jpg
Clonmore, County Carlow
WKDQ
North South States Period
Australian federal election, 1977
August 1, 2008
family tomb

Related Pages: