Centralized version control : Only one master copy of the software is used.
Example : SVN, CVS
Distributed version control : There isn’t one centralized code base to pull the code from. Different branches hold different parts of the code.
Example : Git, Mercurial, Bazaar, Monotone, Fossil
CVS
- Very simple system for making sure files and revisions are kept up to date
- Earlier technology
- Still quite useful for backup and sharing files
- Tortoise CVS is a great client for CVS on Windows
- Many IDEs has plugins for CVS like : Xcode (Mac), eclipse, NetBeans and Emacs
SVN
- Widely used
- Most open-source projects use Subversion as a repository (SourceForge, Apache, Python, Ruby etc.)
- Many clients available : Tortoise SVN for Windows, Versions for mac, Xcode for Apple etc.
Git
- New rising version control systems
- Fast and efficient system
- Fast branching and merging operations
- Not as easy to pick up as CVS or SVN, so it’s much harder to use for a beginner
- Initially developed by Linux kernel creator Linus Torvalds
- Every Git clone a complete repository and mirror of the original repository
- Clone contains the complete history of changes and full revision tracking facilities, and is not tied to a central server
- Many major open source projects uses or migrated to Git to power their repositories
Example : Linux Kernel, WINE, Fedora, Rails, php etc. - TortoiseGit is a GUI for using the Git SCM on Windows.
- Github powered the usage of git by providing beautiful front end.
Mercurial
- Extremely fast , high performance and scalable
- used to handle large distributed projects
- Much simpler system than Git
- Less functions to learn and similar to those in other version systems
- Also comes with a standalone web UI and extensive documentation
- TortoiseHg provides a GUI and explorer for Mercurial SCM
Bazaar
- offers a very friendly user experience
- supports many different types of workflows : solo / centralized / decentralized
- Easy to modify and setup
- allows users to commit their own branches of source code for particular application
LibreSource
- Web portal used to manage collaborative projects.
- based on Java/J2EE and is more a set of visual collaborative tools to help facilitate projects and teams
- Collaboration hub for project development.
- has built-in features such as Wiki pages, forums, trackers, Synchronizers, Subversion repositories, files, download areas, drop boxes, forms, instant messaging and more
- provides tools which do not have a big learning curve
Monotone
- Monotone places higher value on integrity than performance.
- Simply downloading the initial repository can take time due to the extensive validation and authentication required.
- Fairly easy to learn if you’re familiar with other CVS systems
- It can import previous CVS projects
- Not quite as popular as other CVS
Fossil
- offers version control, bug tracker and technotes
- uses HTTP, HTTPS, or SSH
- Repository and its contents are stored in SQLite database
- Built in web interface in a stand-alone executable
SouceJammer
- 100% written in Java
- Source control and versioning system
- consists of 2 components :
- Server side : maintains files and version history, handles check-in/out etc.
- Client side : manages files at client-side and makes requests to server
No comments:
Post a Comment
Note: only a member of this blog may post a comment.