dotSoftwaredotDevelopmentdotCustomersdotAbout us
PushOk logoblank
fast linksFast Links
news&eventsnews and events

2012-12-21 
Major update of SVN SCC plug-in - versions 1.7.2 are finaly released

2012-12-21 
Major update of SVNCOM version 1.7.2 are finaly released

Lightweight embedded Node.js database with MongoDB API.

CVS & SCC

Search go
PushOk Logo blank
leftCVS & SCCright

CVS SCC proxy is the SCC API plug-in which provides access from practically all Microsoft SCC enabled software to general CVS repositories. The Microsoft SCC API is supported by: MS VC 5.0-7.0, MS VB 5.0-7.0, MS .NET, MS FrontPage, MS DEV and other Microsoft development tools. With the support of 3rd party tools this plug-in can be used by Borland IDE's.

You can review its technical specifications later, and now let us explain in detail what we are talking about. First of all CVS SCC proxy is a developer-oriented software or tool, i.e. if you know nothing about software development, then this software is not for you. But as a developer you must have heard about Source Code Control (SCC). When you work alone there is no need in source sharing with other developers, and using of SCC is usually unnecessary. But when working in team you have to share sources. You may say - "It is simple: put all the sources into a network drive, and several developers will be able to work with them". Yes, it is a possible decision. But what happens, if two developers modify the same file? You are right, changes of one of them will be lost. Source control systems helps to avoid this problem. The idea is to store recently added sources on a server and not to modify them directly. Each developer gets his own copy instead. If a developer wants to modify a file, he performs checkout (informs others that he is going to modify that file), when the modification is done, he uploads (or checks in) the file to the server. The server resolves conflicts (when two users modify the same file) automatically on the line level, i.e. if one developer modifies the top lines and another - the bottom ones, the file will be automatically merged. If they modify the same lines then the developer being the last to upload the changes has to resolve the conflict manually, but it happens very seldom. This is the main function of a source control system. Moreover, source control systems provide some additional useful functions such as: comparison of versions (visual), rollback, notifications, locks and so on. Due to these functions using of source control is helpful for a single developer in his work, since it makes backup of different versions of a source code unnecessary.

Thus, now you know what is source control. There exist many implementations of source control systems. We consider only two which are the most useful: MS SourceSafe, and CVS. MS SourceSafe is supplied with any installation of MS IDE, i.e. it is integrated into such softwares. That is why we shall start with this system. CVS is an open and free source developed by UNIX. Presently it is practically standard-de-facto in development community.

Let us compare the two systems. Usually MS SourceSafe (MSSS) is supplied with very convenient and intuitive UI. Even this enough complex tool is easy in use. We like the way it works, but only from the UI viewpoint. After you learn more about source control you may want to do many interesting and useful things for the project support. For example, you may want to create source branch, i.e. to mark the sources somehow for current release and continue working on a new one, and at the same time  to perform bug fixing in released version and then simply merge the two versions. Or maybe you want to provide possibility for some of your advanced developers to work from home, and many other things. The fact is that MSSS does not support these functions. Moreover, it stores the entire file for each version, so at some moment you will be surprised to find out that your source repository is too large. And if something happens to the repositories, it will be impossible to recover them, since very strange file names are used by the system, and you can easily loose all your sources. After detecting these problems we began to look for a more smart system.

And we found CVS. CVS is a really great tool. Its repository format is very simple, and you can modify it manually if necessary. There are several ways of obtaining remote access to it, including via low-bandwidth connections (general modem). It has many functions for code merging, branching, notifications and so on. It is really a great tool and free. But the main problem we found was the UI problem. As a matter of fact CVS is a command line tool (developed by UNIX, as you remember). Activating it from the command line is an ungrateful task in our time. But fortunately we discovered many graphical front-end shells for this tool. The most convenient is WinCvs. It is the most powerful tool for operating CVS repositories from Windows. It covers practically all functions of CVS.

"Wow, we will use WinCvs, why should we use your SCC proxy?" - you may ask. The fact is that while working with MSVC we got accustomed to obtaining integrated access to source control directly from IDE, but not from irrelevant program. It is very convenient. When you make coding you do not need to refer to a specific function of CVS, you simply perform checkin and checkout, these operations are preferably initiated from IDE. We tried hard to find a proxy between CVS and MS IDE, but unsuccessfully. The only program we found is Jalindi Igloo. It is free, but too complex and has many bugs. At first we used it, but then we created our own tool, which you can presently find at our site.


blog comments powered by Disqus
You are 4203344 visitor since 20 Jan 2003.
1858 visitors today and 3 online right now.
blank left to top right blank

© Copyright by PushOk Software, 2003-2012, webmaster@pushok.com