CSC/ECE 517 Fall 2009/wiki1a 3 ee: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
==Overview of Distributed Version Control==
==Overview of Distributed Version Control==


'''Distributed Version Control''' is a type of [http://betterexplained.com/articles/a-visual-guide-to-version-control/ revision control] system where each user has their own content repository, rather than off in a central location.  This allows for greater flexibility for individual developers within a project, as they can "do what they want" to their own version of the repository, without interference from other developers.  As developers wish to incorportate external changes, they can "pull" a set of changes into their own repository.
'''Distributed version control''' is a type of [http://betterexplained.com/articles/a-visual-guide-to-version-control/ revision control] system where each user has their own content repository, rather than off in a central location.  This allows for greater flexibility for individual developers within a project, as they can "do what they want" to their own version of the repository, without interference from other developers.  As developers wish to incorporate external changes, they can "pull" a set of changes into their own repository.
 
==Infrastructure==
Instead of a central project repository, each developer has their own local repository.  This local repository is fully independent and behaves just as one would expect any repository to.  One can commit changes, view change logs and roll back versions.  But since it is fully self-contained on the developers machine, this can be done with no network connection.
 
When a developer commits a change to their repository, that change set is assigned a [http://en.wikipedia.org/wiki/Globally_Unique_Identifier guid].  If another developer on the project wants to incorporate another users changes, they can connect to their peers repository and get the changes associated with a specific guid.
Since there is no single authoritative central repository with distributed version control, any one user's repository is just as important as any others.
 
==Distributed Vs Centralized Version Control==
==Distributed Vs Centralized Version Control==
===Infrastructure===
 
 
 
===Branching===
===Branching===
===Publishing===
===Publishing===


==Distributed Version Control Systems==
==List Of Distributed Version Control Systems==

Revision as of 04:13, 9 September 2009

Distributed Version Control Systems

Overview of Distributed Version Control

Distributed version control is a type of revision control system where each user has their own content repository, rather than off in a central location. This allows for greater flexibility for individual developers within a project, as they can "do what they want" to their own version of the repository, without interference from other developers. As developers wish to incorporate external changes, they can "pull" a set of changes into their own repository.

Infrastructure

Instead of a central project repository, each developer has their own local repository. This local repository is fully independent and behaves just as one would expect any repository to. One can commit changes, view change logs and roll back versions. But since it is fully self-contained on the developers machine, this can be done with no network connection.

When a developer commits a change to their repository, that change set is assigned a guid. If another developer on the project wants to incorporate another users changes, they can connect to their peers repository and get the changes associated with a specific guid. Since there is no single authoritative central repository with distributed version control, any one user's repository is just as important as any others.

Distributed Vs Centralized Version Control

Branching

Publishing

List Of Distributed Version Control Systems