CVSNT
Encyclopedia
The CVSNT Versioning System implements a version control system: it keeps track of all changes in a set of files, typically the implementation of a software project
Project
A project in business and science is typically defined as a collaborative enterprise, frequently involving research or design, that is carefully planned to achieve a particular aim. Projects can be further defined as temporary rather than permanent social systems that are constituted by teams...

, and allows several (potentially geographically separated) developers to collaborate
Collaboration
Collaboration is working together to achieve a goal. It is a recursive process where two or more people or organizations work together to realize shared goals, — for example, an intriguing endeavor that is creative in nature—by sharing...

. It is compatible with and originally based on Concurrent Versions System
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...

 (CVS), which has become popular in the open-source world.

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
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...

: 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
Wide area network
A wide area network is a telecommunication network that covers a broad area . Business and government entities utilize WANs to relay data among employees, clients, buyers, and suppliers from various geographical locations...

 or Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

, but client and server may both run on the same LAN
Local area network
A local area network is a computer network that interconnects computers in a limited area such as a home, school, computer laboratory, or office building...

 or even the same machine. The server software runs equally well on Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 and Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

. It is compatible with CVS clients and supports a large number of configuration management
Configuration management
Configuration management is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.For information assurance, CM...

 methodologies including the CVS compatible unreserved method and the VSS
Microsoft Visual SourceSafe
Microsoft Visual SourceSafe is a source control software package oriented towards small software development projects. Like most source control systems, SourceSafe creates a virtual library of computer files...

-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
    SQL
    SQL is a programming language designed for managing data in relational database management systems ....

     database.
  • Authentication with Active Directory
    Active Directory
    Active Directory is a directory service created by Microsoft for Windows domain networks. It is included in most Windows Server operating systems. Server computers on which Active Directory is running are called domain controllers....

    .
  • 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
    UTF-8 is a multibyte character encoding for Unicode. Like UTF-16 and UTF-32, UTF-8 can represent every character in the Unicode character set. Unlike them, it is backward-compatible with ASCII and avoids the complications of endianness and byte order marks...

    /UCS-2 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 and most from 1.12 are included in CVSNT.

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
Access control list
An access control list , with respect to a computer file system, is a list of permissions attached to an object. An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on given objects. Each entry in a typical ACL specifies a subject...

, 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). Note: Although March-Hare's site gives 'instructions' for disabling the advertising messages, it has been documented that the method given does not work for release 2.5.04.''

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
Internationalized domain name
An internationalized domain name is an Internet domain name that contains at least one label that is displayed in software applications, in whole or in part, in a language-specific script or alphabet, such as Arabic, Chinese, Russian, Hindi or the Latin alphabet-based characters with diacritics,...

.

The open source CVSNT project does not have a "project charter". This was a decision based on the observation that the charter prevented the CVS project from evolving CVS into a versioning system supporting modern CM best practice. The CVSNT project will continue to evolve the software as the scope of version management and CM changes, including changes to expand the supported methodologies.

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
Revision Control System
The Revision Control System is a software implementation of revision control that automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, procedural graphics, papers, and form...

 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
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

, since the software offered for download includes a written offer to receive the source code, as is explicitly required by the license.
Older versions can still be downloaded for free from various repositories http://packages.ubuntu.com/search?suite=natty§ion=all&arch=any&searchon=names&keywords=cvsnt, http://packages.debian.org/search?searchon=names&keywords=cvsnt, or http://rpmfind.net/linux/rpm2html/search.php?query=cvsnt&submit=Search+...&system=&arch=, including source code.

Future roadmap

March Hare plans to deliver the following features in the next release :
  • Atomic Commits
  • Database backend (no more Revision Control System (RCS)
    Revision Control System
    The Revision Control System is a software implementation of revision control that automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, procedural graphics, papers, and form...

     files)
  • RCS
    Revision Control System
    The Revision Control System is a software implementation of revision control that automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, procedural graphics, papers, and form...

     "interface" for legacy integrating

See also

  • Version control system, general overview
  • CVSNT was originally forked from Concurrent Versions System (CVS)
    Concurrent Versions System
    The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...

     in 2004
  • List of revision control software
  • Comparison of revision control software
    Comparison of revision control software
    The following is a comparison of revision control software. The following tables includes general and technical information for notable revision control and software configuration management software.- General information :Table Explanation...


External links

  • CVSNT Home Page - GPL
    GNU General Public License
    The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

     licensed CVS implementation with a server and client for many platforms including Microsoft Windows
    Microsoft Windows
    Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

     and Linux
    Linux
    Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

    .
  • EVS Home Page - LGPL
    GNU Lesser General Public License
    The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...

     licensed CVS implementation with a server and client for many platforms including Microsoft Windows
    Microsoft Windows
    Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

     and Linux
    Linux
    Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

    .
  • March Hare's CVSNT FAQ

Literature

  • March Hare Software: All About CVS: How to Design and Build an Effective CM solution using TortoiseCVS
    TortoiseCVS
    TortoiseCVS is a CVS client for Microsoft Windows released under the GNU General Public License. Unlike most CVS tools, it includes itself in Windows' shell by adding entries in the contextual menu of the file explorer, therefore it does not run in its own window...

    , WinCVS, Bugzilla
    Bugzilla
    Bugzilla is a Web-based general-purpose bugtracker and testing tool originally developed and used by the Mozilla project, and licensed under the Mozilla Public License....

    on Windows and Linux (2005).
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK