revision control

GIT vs Perforce vs Clearcase vs CVS

GIT

This distributed revision control system has an emphasis on speed. It was originally designed and developed by Linus Torvalds for the development of Linux kernel. Every working directory of Git is a full-fledged repository with full revision tracking capabilities and complete history, not dependent on a central server or network access. GIT is a free software which is distributed under the terms of version 2 of the GNU General Public License.

Perforce

This is a proprietary and commercial revision control system developed by Perforce Software Inc. Perforce follows a client/server system. Here the server has the responsibility of managing a central database and a main repository of file versions. Developers can work on files in their local client workspace. After altering the changes, they can submit the changes to the main server. Client and server communicate via TCP/IP.

Clearcase

Rational ClearCase is a tool for configuration management of source code and other software assets. This tool is developed by IBM (Rational Software Division). ClearCase is the basis of version control for many mid size businesses, and has the potential to handle projects with thousands of developers.

CVS

This is a free revision control system. This system was developed by Dick Grune as a series of shell scripts during July 1986. CVS turned out to be popular in the open source software space and is released under General Public License of GNU. CVS also uses Client/Server architecture. Here, the clients connect to the server and can “check out” a version of file onto their local disk. Later after modifying the contents, they can “check in” the changes.

Incoming search terms for the article:

Types of Revision Control Software

Revision Control Software
Revision Control software are used implement Revision Control on single or multiple sites by organizations. Revision Control, also known as Software Configuration Management (SCM) or Source Control or Version Control, is the management or control of changes to programs, documents and other sorts of information data. This type of setup or mechanism is more often used in software development where a set of people may alter the contents of the same file. The changes made are generally identified by a letter code or number which is called as a revision number or simply revision. For instance, an initial revision for a file is “revision 1”. If this file is altered by any developer, its revision becomes “revision 2”, and so on. A developer can perform many operations on these revisions. These revisions of files or directories can be merged, restored or compared. Software tools for revision management are crucial for the organization where development is simultaneously in progress on multi-developer sites.

Types of Revision Control Software
The various possible approaches for revision control software are:
Local Only: In this approach, it is necessary for all the developers to use the same computer system. Examples:
a. Revision Control System (RCS)
b. Source Code Control System (SCCS)

Distributed Model: In this approach, each of the developer has his/her own setup or local repository. And at some predefined time, all of the changes from various developers are shared or synced between repositories as a different step. Examples:
c. Open Source:
i. Aegis
ii. Codeville
iii. DCVS
iv. GIT
d. Proprietary:
i. Sun WorkShop Team Ware
ii. BitKeeper

Client-Server Model: In this approach, all the developers have to share a single repository. Examples:
e. Open Source:
i. Concurrent Versions System (CVS)
ii. CVSNT
iii. OpenCVS
f. Proprietary:
i. Perforce
ii. Clearcase
iii. Visual SourceSafe

Incoming search terms for the article:

Software revision control.

Today i will write the story about software revision control.

Software revision control is an important part of software development.
When we have to develop the large software project that must use many person, software
revision control will take an important role for this situation. Revision control or SCM
(source code management) is the software that have an ability to track and record the
change that happen to software development project and it will do this all the time of
developing the softwar project.

Revision control can also be used with document too.

The principle of revision control system is mostly use Optimistic Technique that is
the method to let many user can reach (Check out) to the same source code.Each user
(I mean programmer) can edit the source code that thay had download and can upload
(Check in / Commit) back to the Revision Control System. SCM has a responsibility to
check for the conflict of the data.The conflict data such as the situation that two user
edit the same file and still edit for the same fuction or the same line.Furthermore the
SCM has an ability to show the difference between the file in each version and can be
used for merge the two files altogerher. In SCM we have to build the Resository as the
data bank to store the data for SCM to use. In present there are many SCM software
such as SVN (subversion), GIT, CVS, Bazaar,IBM ClearCase, Perforce. SCM software also
has both commercial and non-commercial.

In the next article I will write about the comparison of revision control software
and the popular revision control software that are SVN (subversion) and GIT.