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. This plug-in can be
used by Borland IDE's.
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.
The plug-in is compatible with IDE development tools, and the
list of tools is constantly growing. In short, the plug-in enables the following
functionalities for your IDE:
- Basic operations for working with Source Control:
Checkin, Checkout, Undo Checkout, Get latest version, Remove from source
control, Diff with revision, Refresh status. The operations are supported
without any limitations.
- Adding and getting codes from the CVS.
These operations are 100% compatible with your development environment even
for special projects like WebProjects in VS.NET.
- History browsing.
History browsing is possible both on the file level and on the project level.
You can delete, compare, annotate different file versions if necessary.
- Tags & Branches.
The plug-in package includes a program for making diffs of different versions
and merging files. The necessity of using other CVS GUI tools is eliminated.
All operations can be performed from IDE.
- Visual diff/merge support.
The plug-in package includes a program for diff and merging files. Its
functions are similar to Visual Source Safe functionalities. Yet any other
program can be used instead.
- Visual repository and tag/branch browser.
The plug-in contains built-in visual repository (server) browser for viewing
available tags and branches.
- Offline & low bandwidth connections.
Initially the plug-in is meant for working both offline and on low-bandwidth
connections.
- Multilingual localizations.
6 language localizations of the plug-in are available.