HOME

TheInfoList



OR:

CVSNT is a
version control system In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
compatible with and originally based on Concurrent Versions System (CVS), but whereas that was popular in the open-source world, CVSNT included features designed for developers working on
commercial software Commercial software, or seldom payware, is a computer software that is produced for sale or that serves commercial purposes. Commercial software can be proprietary software or free and open-source software. Background and challenge While sof ...
including support for Windows, Active Directory authentication, reserved branches/locking, per-file access control lists and Unicode filenames. Also included in CVSNT were various RCS tools updated to work with more recent compilers and compatible with CVSNT. CVSNT was initially developed by users unhappy with the limitations of CVS 1.10.8, addressing limitations related to running CVS server on Windows and handling filenames for case-insensitive platforms. March Hare Software began sponsorship of the project in July 2004 to guarantee the project's future and to employ the original project manager on CVSNT development and commercial support. CVSNT was commercially popular, with a number of commercial IDEs directly including support for it including Oracle JDeveloper, IBM Rational Application Developer, and IBM WebSphere Business Modeler. The CVSNT variation of RCS tools were also widely used, including by
Apple, Inc Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company ...
. CVSNT was so ubiquitous in commercial programming that it was often referred to simply as ''CVS'', even though the open-source CVS developers had publicly stated that CVSNT was significantly different and should be kept as a separate project. Several books were written about CVSNT including ''CVSNT (CVS for NT)'' and ''All About CVS''.


Features

CVSNT keeps track of the version history of a project (or set of files). CVSNT is based on the same client–server architecture as the Concurrent Versions System: a server stores the current version(s) of the project and its history, and clients connect to the server in order to check-out a complete copy of the project, work on this copy and then later check-in their changes. A server may be a caching or proxy server (a read only server that passes on write requests to another server) or a read and write (normal) server. Typically, client and server connect over a WAN or
Internet The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a '' network of networks'' that consists of private, pub ...
, but client and server may both run on the same LAN or even the same machine. The server software runs equally well on
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
and
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
. It is compatible with CVS clients and supports a large number of
configuration management Configuration management (CM) is a process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life. The CM proc ...
methodologies including the CVS compatible unreserved method and the VSS-like reserved method. The modular nature of CVSNT allows server administrators to dynamically enable and disable protocols as well as load additional functions via triggers such as Audit, Defect Tracking Integration, Automatic Checkout (for webservers) and more. CVSNT Server features include: * Access control for securing projects and branches. * Detailed audit and metrics recorded in an SQL database. * Authentication with
Active Directory Active Directory (AD) is a directory service developed by Microsoft for Windows domain networks. It is included in most Windows Server operating systems as a set of Process (computing), processes and Windows service, services. Initially, Active D ...
. * Tracking everything about the change - including whether it was merged from somewhere, belongs to a problem report or was part of a change set. * A control panel to manage email notification of changes, defect tracking integration, and more. * Integrated repository synchronisation (for fail-over servers). * Change set support (group changes by defect number). * Supports Unicode
UTF-8 UTF-8 is a variable-width encoding, variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit'' ...
/
UCS-2 The Universal Coded Character Set (UCS, Unicode) is a standard set of characters defined by the international standard ISO/IEC 10646, ''Information technology — Universal Coded Character Set (UCS)'' (plus amendments to that standard), w ...
files and multi-lingual filenames. * When operating in UTF-8 (Unicode) mode it can automatically translate filename encoding for any client. * Plug-ins for email notification. * Helps make merging branches easier with its "Mergepoint" feature. * Native servers available for Mac OS X, Windows, Linux, Solaris, HP-UX. * Supports reserved and unreserved versioning methodologies. * CVSAPI for integration into third-party products. * Script, COM and 3GL interface for triggers and integration into 3rd party tools (such as defect tracking)


History and status

Users unhappy with the limitations of CVS 1.10.8 began the development of CVSNT. The original limitations addressed were related to running CVS server on Windows and handling filenames for case-insensitive platforms. The first version was released in 1998, and stable feature releases have been released roughly every three to four months since. Linux and Unix support was re-added to CVSNT in early 2002. From the project's inception until October 2002 CVSNT and CVS used identical version numbers and CVSNT was "kept in sync" with the features and code base of CVS. After October 2002, CVSNT began its own version sequence beginning with "2" to indicate significant departure from its CVS origins. Since that time, there has not been a stable feature release of CVS. However the unstable CVS 1.12 contains some of the oldest features originally implemented in CVSNT. Due to this shared history, all features from CVS 1.11 are included in CVSNT and most from CVS 1.12 (e.g.: the 1.12 'ls' feature is functionally compatible with the CVSNT 'ls'). In 2003, the CVSNT SJIS project released a Japanese version of CVSNT including support for SJIS filenames and file encoding. March Hare Software began sponsorship of the project in July 2004 to guarantee the project's future and to employ the original project manager on CVSNT development and commercial support. In February 2005, the project servers moved to CVSNT version 2.5 and began unstable releases of a new server incorporating server plugins, ACLs, filename character set conversion as well as client/server autodiscovery. In October 2005, the first commercial CVS Suite was released, incorporating non-GPL addins and clients for CVSNT. In November 2005, CVSNT was enhanced to incorporate the features of the CVSNT SJIS project. In March 2006, the project servers moved to CVSNT version 2.6 and began unstable releases of the new server backend. This backend incorporated a partial SQL database repository to facilitate better server performance and more complex server features. When work was abandoned on CVSNT 2.6 and moved to EVS/CVSNT 3.1 the project server was moved back to 2.5.04. In November 2008 the project released version 2.5.04 with support for multi site repository replication or 'local' repository caches and specific performance features for using large files use over a WAN. The project began advertising for contributors more aggressively including placing advertising in commit comments (which can be turned off). In March 2010 the project released version 2.5.05 with a server that always runs in Unicode, native Windows crypt and schannel support and support for
Internationalized Domain Names An internationalized domain name (IDN) is an Internet domain name that contains at least one label displayed in software applications, in whole or in part, in non-latin script or alphabet, such as Arabic, Bengali, Chinese ( Mandarin, simplifie ...
. The status of the project is active, with further releases of CVSNT 2.5 planned, and continuing evolution of CVSNT/EVS 3.1. CVSNT/EVS will implement a complete SQL database repository to support further complex server and client features. An
RCS RCS may refer to: Organisations *Racing Club de Strasbourg Alsace * Radio Corporation of Singapore *Radcliffe Choral Society * Rawmarsh Community School *Red Crescent Society *Red Cross Society * Representation of Czechs and Slovaks, a football t ...
emulation layer is also planned for CVSNT/EVS 3.1 to support legacy systems. On June 30, 2010, March Hare retired the zero-dollar Community edition, however the commercial "CVS Suite" edition with a new CVSNT 2.8 release and support is actively developed and available from the web store, as are snapshots of the older community releases (unsupported, and a fee is required to download). Email support is available for customers but the community mailing list/newsgroup has been removed. The description of the public CVS server for source code was updated with the caveat "not guaranteed to be available 24x7, is provided by a volunteer and may be withdrawn at any time". This arrangement appears to fulfil the requirements of the
GPL The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general u ...
, since the software offered for download includes a written offer to receive the source code, as is explicitly required by the license.


Embedded

Software incorporating CVSNT includes: * TortoiseCVS recommend CVSNT for both Unix and Windows machines. * WinCVS was developed in close cooperation with CVSNT project. * VP/MS


Future roadmap

March Hare plans to deliver the following features in the next release: * Atomic Commits * Database backend (no more Revision Control System (RCS) files) *
RCS RCS may refer to: Organisations *Racing Club de Strasbourg Alsace * Radio Corporation of Singapore *Radcliffe Choral Society * Rawmarsh Community School *Red Crescent Society *Red Cross Society * Representation of Czechs and Slovaks, a football t ...
"interface" for legacy integrating


See also

*
List of revision control software This is a list of notable software for version control. Local data model In the local-only approach, all developers must use the same file system. Open source * Revision Control System (RCS) – stores the latest version and backward del ...
*
Comparison of revision control software In software development, version control is a class of systems responsible for managing changes to computer programs or other collections of information such that revisions have a logical and consistent organization. The following tables includ ...


References


Further reading

* March Hare Software: ''All About CVS: How to Design and Build an Effective CM solution'' using TortoiseCVS, WinCVS,
Bugzilla Bugzilla is a web-based general-purpose bug tracking system and testing tool originally developed and used by the Mozilla project, and licensed under the Mozilla Public License. Released as open-source software by Netscape Communications in 199 ...
on Windows and Linux (2005).


External links


EVS Home Page

March Hare's CVSNT FAQ

CVSNT Legacy Home Page
- CVSNT Legacy client/server tools v2.5.05 for
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
. {{Revision control software Free version control software Free software programmed in C++ Cross-platform free software Version control systems