0% found this document useful (0 votes)
8 views

SCM

Uploaded by

Manu Manu
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

SCM

Uploaded by

Manu Manu
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Here's an elaboration on centralized and distributed version control systems:

Centralized Version Control Systems (CVCS)


Characteristics:
1. Single, centralized repository.
2. Clients connect to the central repository.
3. All changes are committed to the central repository.

Examples:
1. Concurrent Versions System (CVS)
2. Subversion (SVN)

How CVCS Works:


1. Developers check out files from the central repository.
2. Make changes and commit them to the central repository.
3. The central repository stores all revisions.

Advantages:
1. Simple to set up and manage.
2. Access control and permissions are easy to manage.
3. Everyone works from a single, authoritative source.

Disadvantages:
1. Single point of failure (SPOF).
2. Performance issues with large teams or projects.
3. Difficult to work offline.

Distributed Version Control Systems (DVCS)


Characteristics:
1. Local repositories on each developer's machine.
2. Changes are committed to the local repository.
3. Changes can be pushed to/pulled from other repositories.

Examples:
1. Git
2. Mercurial

How DVCS Works:


1. Developers create a local repository (clone) from a central repository.
2. Make changes and commit them to the local repository.
3. Push changes to the central repository (or other repositories).

Advantages:
1. No single point of failure.
2. Improved performance with large teams or projects.
3. Easy to work offline.
4. Flexible collaboration models.
Disadvantages:
1. Steeper learning curve.
2. More complex to manage.
3. Potential for conflicts between repositories.
Key Differences:

1. Repository structure: Centralized (single) vs. Distributed (local repositories).


2. Commit process: Centralized (commit to central repository) vs. Distributed (commit to local
repository).
3. Collaboration: Centralized (all changes go through central repository) vs. Distributed (changes can be
shared between repositories).

*Comparison of Centralized and Distributed VCS:

| Feature | Centralized (CVS, SVN) | Distributed (Git, Mercurial) |


| --- | --- | --- |
| Repository | Single, central | Local repositories |
| Commit | Central repository | Local repository |
| Collaboration | Centralized | Decentralized |
| Performance | Limited scalability | Improved scalability |
| Offline work | Difficult | Easy |
| Security | Access control | Access control, encryption |

When choosing between centralized and distributed VCS, consider factors like:

1. Team size and distribution.


2. Project complexity.
3. Collaboration requirements.
4. Scalability needs.
Git and Mercurial are popular choices for distributed version control, while CVS and SVN remain options
for centralized version control.

You might also like