Version
control allows administering multiple revisions of the same software
program, text file or other units of information. Version control is
used in ongoing software development for identifying and analyzing the
changes in the application source code. The identified changes are
assigned with a specific historical number or letter code and
associated with the individual making the change. Subversion control
streamlines software development process, providing easy and reliable
tools for locating and fixing bugs, and automating update revision
control.
A
number of version control systems have been developed that provide
efficient environment for revision control process. The Concurrent
Versions System (CVS), released under the GNU General Public License,
is an acknowledged open source version control system which keeps track
of all changes in a number of files made by different developers.
Client/server CVS effectively streamlines collaboration in software
development process, providing remote access to common revision control
functionality for developers working in various geographical regions.
The revision history is stored on a single central CVS server. The
developers have a copy of all files and may perform necessary
operations locally, updating the CVS server with the complete version
of the files when the developing process is finished. Besides, CVS can
merge the changes made by various teams with the latest updated files.
CVS server also provides fast access to the project history, as well as
previous versions of the files according to the specific date or
version number.
Typically,
the CVS client/ server architecture consists of the central CVS server
storing the current project version as well historical data, and client
applications connecting to the CVS server for retrieving a complete
copy of the project and consequently updating the server with the
changed version. Client/ server connectivity is usually maintained over
a LAN or over the Internet. However, the client and the server may both
run on the same workstation. The server software most often runs on
UNIX, while CVS clients may run under various operating systems.
Developers
concurrently working on files within the same project may regularly
"check in" (send) their modifications to the CVS server.
However, if some developers made changes to identical files, the server
only acknowledges the most recent version of the file. The CVS server
automatically incorporates all changes made to the project by
developers and allows CVS clients to access the up-to-date state of the
project.
Once
the check-in operation is over, the version number of all files within
the project is automatically incremented, and the CVS server updates
its log files with the line containing description of the current
version, date and the name of the author, which is sent to the server
with the new version of the project.
CVS management
CVS
is administered by a command line in both UNIX and Windows environment.
There is a wide range of commands that may be executed in CVS. Official
manual for CVS can be found at http://ximbiot.com/cvs/manual. A large
number of external front-end applications have also been developed
which provide graphic user interface to CVS. One of the most popular
front-end interfaces for CVS in Windows environment is WinCVS,
distributed under GNU GPL. WinCVS contains sophisticated interface
which allows the user to automate, extend and customize common tasks,
and also provides for a command line support.
-r
identifies revisions that will be compared. For instance, -r REV or
-r REV1 -r REV2 specify the appropriate revisions. If one -r
option is used, the revision will be made against the working copy of
the file. If two -r options are used, the revision will be made
between REV1 and REV2 for each file; in this case, the
working copy is irrelevant. If no -r is used, the differences
between the working copy and the revision on which it is based will be
displayed.
-D
identifies
the date of the revisions. For instance, "1999-01-31 12:00",
or "31 Jan 1999 12:00".
file_to_diff
identifies the path to the file or directory which will be compared. If
a directory is specified, CVS will compare all differing files in this
directory as well as its subdirectories.
Use Compare
Suite as WinCVS external diff engine
WinCVS
supports external comparison tool integration. External diff
applications provide for display of file differences visually,
"side by side". The use of such applications streamlines the
comparison process and allows the developer to review and modify the
compared files. For instance, Compare Suite diff application converts
the compared files for easy revision and then saves them in any
supported file format. Compare Suite contains a range of useful
functions, such as fonts and colors customization, keyword search,
white space and letter case ignoring, using special words, etc. Compare
Suite diff engine also allows the user to easily navigate between the
file differences and make changes to the compared files.
To
set external diff application in WinCVS, in the menu bar go to Admin>>Preferences. In the WinCvs Preferences
window, select WinCvs tab and then specify the path to the
application in the "External diff:" field. For
instance, to set Compare Suite as a WinCVS external diff engine, set
the full path to Compare Suite in the "External diff:"
field (usually C:\Program Files\Compare Suite).
After
reviewing and modifying the files by external diff application, the
user can save the files in the appropriate file formats. When closing
external application window, be careful not to close the entire WinCVS
window (it is more convenient to open external diff window in Tile
mode). With external diff engine, you can also generate reports based
on comparison procedure, which contains compared files information,
comparison statistics as well as details of file differences.
YOUR FEEDBACK
Please, let us know what you
think about this article:
This article
was useful for me
If
article was not useful then, please let us know
if: