CVSNT
From Wikipedia, the free encyclopedia
CVSNT | |
Developer: | March Hare Software, Ltd. |
---|---|
Latest release: | 2.5.03 / July 5, 2006 |
Preview release: | 2.5.04 / September 29, 2006 |
OS: | Unix-like, Linux, Windows, Mac OS X, OS/400 |
Platform: | Cross-platform |
Use: | Revision control |
License: | LGPL/GPL Style |
Website: | CVSNT Home |
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, and allows several (potentially geographically separated) developers to collaborate. It is compatible with and originally based on Concurrent Versions System (CVS), which has become popular in the open-source world and is released under the GNU General Public License.
Contents |
[edit] Features
CVSNT Server features include:
- Access control for securing projects and branches.
- Detailed audit and metrics recorded in an SQL database.
- Authentication with Active Directory.
- 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/UCS2 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, HPUX.
- Supports reserved and unreserved versioning methodologies.
- CVSAPI for integration into 3rd party products.
- Script, COM and 3GL interface for triggers and integration into 3rd party tools (such as defect tracking)
[edit] 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, 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.
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 a final release of CVSNT 2.5 planned, and continuing evolution of CVSNT 2.6. CVSNT 3.1 is planned, and will implement a complete SQL database repository to support further complex server and client features. An RCS emulation layer is also planned for CVSNT 3.1 to support legacy systems.
[edit] Features
According to March Hare webpage:
- Runs on Windows, Unix, Linux and Mac OS X
- CVSNT runs on the most popular servers and operating systems in the world. Choose from the easy to setup Windows systems, high reliability Unix systems from HP and Sun, affordable Linux from Red Hat or the sheep in wolfs clothing Mac OS X.
- CVS began its life on Unix, but don't be fooled into thinking that CVSNT relies on any Unix filesystem or Unix emulation for Windows. CVSNT has a high performance native file system library on each platform to get the most performance and the highest reliability out of the file systems.
- Configuring CVSNT on Windows is a simple matter of running the CVSNT control panel - just like any other Windows server is configured. Unix system adminstrators will find the CVSNT configuration files stored exactly where they expect, or they can build a custom CVSNT that has its home anywhere on the system.
- Effective Configuration Management
- Implementing version control is the basis of a good configuration management system. But configuration management has a cost or if you prefer it has an overhead. People generally agree that the benefits of good configuration management will outweigh the costs. Lose an important change to a web site, a document or software source code and you'll quickly realise the cost of not versioning.
- However most of the benefits of good configuration management come from developing a network of information about the reason for changes. This web page was changed because this new feature was added to the web site. This program was changed because of this bug report.
- CVSNT makes it easy for you to get all of the benefits from configuration management by integrating with your other business systems. This is what we call Effective Configuration Management. Don't choose another system where you end up paying the price - but you never see the benefit.
- Best Practice
- Don't confuse CVSNT's twenty year pedigree with tools that have been around forever but have not kept up to date with modern best practice. CVSNT helps you manage your changes flexibly, providing ways to implement most modern configuration management practices.
- All version control methodologies work - but there are many because different people and different organisations work in different ways. Just because someone else was successful with one methodology does not mean that you will be. Look at your requirements, your culture, and your objectives and find a tool which will work with you - not against you.
- The way CVSNT is developed is designed to get the most creative ideas and the most flexible approaches to versioning so they can be incorporated into one easy to use server.
- Reliability and Security
- CVSNT Servers just keep working. Twenty-four hours a day, each and every day of the year. This is not by accident, it's by design. We started with a fifteen year old versioning system called CVS, and we added modern memory management, API's for different interfaces, secure protocols and authentication schemes. This means that when you design and install your CVSNT server, you only install the pieces that you want.
- If you want secure, then you can use the inbuilt SSH client, SSL encrypted connections, or use the in-built Kerberos encryption that Microsoft Windows uses to log you into the workstation with in the first place.
- Tracking changes is only as accurate as your ability to track who made the change. By using the Windows authentication tokens, rather than an arbitrary username and password mechanism you can be sure that the name that is listed against a change is the name of the person who made the change. If you have activated auditing on the server - there is no way the user can proceed without the changes being logged - if the logging fails so does the requested action.
- Change Sets
- CVSNT Server incorporates support for change sets (bug numbers, job numbers) so that each change you make to a file can be labelled with a meaningful change identification, whether it be your job number or the bug number. You can then organise your work according to these numbers, including finialising all work for the urgent job while leaving your long term projects untouched. The CVS Suite TortoiseCVS includes support for this built right in so it's easy to use. You can use the supplied server integration with Bugzilla or integrate to your own job management system.
- Works Simply, Simply Works
- CVSNT is designed to help you track changes to files - so we prefer to focus on its ability to do just that. But for those who want to know, behind the scenes CVSNT has rename support, atomic checkouts, multi-threaded lock server, unique transaction identifiers (session identifiers and commit identifiers), meta data, user definable keywords, efficient handling of binary files and the code is structured as a set of modules with well-defined interfaces. Looking at some of our competitors web sites you'd think all that stuff was what was important. Yes CVSNT has all that - but what's important is getting your files versioned: accurately, securely, easily.
- Stands Alone
- In an enterprise datacenter, or even a small business, every piece of software you run on your servers increases the number of security alerts you need to keep up to date with. CVSNT doesn't need Apache or any other software to get you running - its what we call stand alone.
- You can even send your audit logs to an SQL Server running on a different machine using ODBC. Choose from client repository browsers like Workspace Manager or run a web server and a web based browser like ViewCVS (any web server in your organisation).
- free software / Open Source
- CVSNT is Open Source Software licensed under the GNU GPL. This means that you can get your own copy of the source code. It means that CVSNT is never going to disappear.
- March Hare remains committed to the Open Source development model, and believe that it makes CVSNT a more robust, secure versioning system, as its core has been subjected to the crucible of peer review for decades. Any problems found with this software can be immediately identified and fixed by March Hare Software and the free software community.
[edit] Related Software
[edit] GUI front-ends/clients
- generally, if the software works with CVS, it has some amount of chance to work with CVSNT
- Eclipse (Java-IDE with embedded CVS support)
- NetBeans (Java-IDE with embedded CVS support)
- IntelliJ IDEA (Java-IDE with embedded CVS support)
- SmartCVS
- TortoiseCVS (actively supports CVSNT)
- MarmaladeCvs
- ViewVC (formerly ViewCVS)
- DevGuy's Official CVS Software List
[edit] See also
- Version control system, general overview
- CVS Suite - a commercially supported versioning software and defect management suite
- List of revision control software
- Comparison of revision control software
[edit] External links
- March Hare's CVSNT FAQ
- CVSNT Release History
- CVSNT Wiki
- Anandtech CVSNT tutorial (2004)
- CVSNT Home Page - GPL licensed CVS implementation with a server and client for many platforms including Microsoft Windows and Linux.
- CVSNT Professional Support Home Page - commercial support, multi site solutions and training by the authors of CVSNT.
- CVSNT Open Source Support Mailing List - free support by volunteers in the open source CVSNT community.
[edit] Literature
- March Hare Software: All About CVS: How to Design and Build an Effective CM solution using TortoiseCVS, WinCVS, Bugzilla on Windows and Linux (2005), purchase eBook online