Categories

A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

What is a CVS or a concurrent versioning system?

Concurrent versions system or CVS as it is popularly known, is a free software system basically used for the controlling of the revision of the software system. The concurrent versioning system is an important part of the process of software development. If one has to describe what it does: All the work done and the changes made on the software system or application are stored in files and these files in turn are protected by the concurrent versioning system. We can say that in a way it keeps track of the whole development of the software system, keeping track of the history of changes in the files that make up the software program.
In addition, concurrent version system (CVS) has proved to be an effective measure in enhancing the collaboration between the developers of the system even if they are located in different geographic areas and work at different points of time.

History: The first concurrent versions system came in to existence in the month of July in year 1986. The first one emerged as a result of development of what were called shell scripts. Before the advent of this concurrent versions system, a similar system was in use which was developed in the 70’s by John Humbert.
Now, of course, Concurrent versions systems are very much popular among commercial software development organizations as well as in the open source community. For example, a concurrent versions system comes with the GNU general public license.

How does it work: New developments in the software program are happening all the time when you have an application under development. There are new features and functionalities added to the previous version of a software product, and this process can go on for days, weeks, or months. A system is needed to keep track of all these changes, including access to previous versions of the file (for example, if the changes made to a new version of the file ended up causing problems and you need to revert back to an earlier version). All these processes are managed by the concurrent versions systems. Below mentioned are some characteristics typical to a proper concurrent versions system:
1. Architecture: Its architecture is completely oriented to the client server. The current or the ongoing versions of a software project is stored by the server along with its development history. What the clients need to do is to connect to the server and evaluate the copy of the software project. They are free to work on a local copy of these files maintained on their machine, and later the changes made by them are verified and updated back to the CVS. Internet or LAN connectivity is required for this purpose. Without using a concurrent version system it is difficult to keep the server and client running on the same machine. A CVS keeps these two separate logical entities in synch with each other.
2. Server: The operating system commonly used by a server is UNIX. Another version of CVS i.e., CVSNT also supports the Microsoft windows.
3. Client: Unlike the servers, there are no specifications about using any particular operating system for the clients. Here any major operating system can be used.
4. Concurrency: A concurrent versions system allows many developers to work on the same software project. They work up on their own copies of the software project. After the completion of the work they have to send their copies to the CVS server for the “check in”. Sometimes it may happen that the work of many people may coincide. In this case, the server accepts only the most recent version of the software project file. In order to avoid this problem, the developers need to keep their project copies up to date and at par with the changes made by other fellow developers.
5. Automation: The whole CVS process is automated. A manual intervention is required only when there occurs a conflict between two versions of the software project files.
6. User specified log processing scripts: The CVS is also capable of running such external scripts.

If the check in operation of a client succeeds, then the version of the project file supplied by him/ her is automatically updated and a description line is written about the author in the lot files of the CVS server. The files stored on a CVS server can be compared when demanded by a client.

Essential CVS (Essentials) Pragmatic Version Control Using CVS

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>