Answers Available:
»
Can I use CVSNT to replace Visual SourceSafe, PVCS, ClearCase or Perforce?
»
Can I use CVSNT to replace CVS?
»
What are the minimum system requirements to run CVSNT?
»
[80090311] No authority could be contacted for authentication.
»
Rights required to run CVSNT Server (Pserver impersonation)
»
Error "The :<whatever>: access method is not supported by this port of CVS"
»
Connection takes a long time (around 10 seconds)
»
I get "Cannot open <path>/CVSROOT: Permission denied"
»
I get "Cannot create directory <temp path>/cvs-servxxx: Permission denied"
»
On a Win2003 server, Non administrator users cannot execute scripts
»
Unknown escape character \P ignored.
»
How do I upgrade from older versions of CVS or CVSNT?
»
CVSNT crashed, but it couldnt write its crashdump file (error 5)
»
CVSNT crashed and wrote a crashdump file
»
CVSNT crashed and I dont want it to try and send a crashdump file.
»
CVS Lock Server crashes on start up
»
How to enable server side and client side debug logging
»
Why does CVSNT attempt to contact 69.93.197.231
»
Can I create multiple synchronised repositories with CVSNT
»
Are the commercial releases of CVS Suite the same as the free CVSNT?
»
Low Performance CVSNT versus High Performance CVS Suite
»
How much of the code is Free/Open Source
» Return to section list
Can I use CVSNT to replace Visual SourceSafe, PVCS, ClearCase or Perforce?
Visual Source Safe, PVCS, ClearCase and Perforce are each excellent version control solutions each with many features, and each with unique features.
CVSNT is not an emulator designed to replace any of them. However these tools solve problems generally defined by the phrases "version control" and "configuration management", and those are the same problems that CVSNT is designed to solve. Therefore in some situations it may be possible to switch one for the other and have very little impact on your business.
Several scripts are available for converting the core repositories of some versioning systems such as Visual SourceSafe to a CVSNT repository. March Hare Software can also provide consulting and training to assist with this.
Can I use CVSNT to replace CVS?
Yes. CVSNT is a drop in replacement for CVS. The repository or workspace will be converted automatically. The CVS Suite includes an eBook chapter on the best way to manage this type of migration, and if you contact the CVS Suite Support team they can check your migration plan.
CVSNT Server and command line client are available for free download pre-compiled for the following platforms:
- Windows
- Mac OS X 10.3.7
- Solaris 9
- HPUX 11i
- Red Hat ES Linux v4
If you are running CVS on another platform then you should download the source code and build CVSNT using the procedure specified in the INSTALL file.
What are the minimum system requirements to run CVSNT?
The minimum hardware and software requirements to run CVSNT and CVS Suite are listed here: http://www.march-hare.com/cvsnt/techspecs/.
Note: On PCs a Pentium III or higher processor is requried. (AMD K6 is not supported). If you require support for older processors then you may download the CVSNT Server source code and compile it with an alternative processor preference.
[80090311] No authority could be contacted for authentication.
This error occurs when you are using SSPI authentication with a CVSNT Server released prior to version 2.0.58 (eg: 2.0.38 or 2.0.41a) and you have upgraded the CVSNT client to version 2.5.02 or later.
The SSPI protocol authenticates the client against the Windows Domain Controller or Active Directory. Microsoft have various security strengths for performing this authentication including NTLM, NTLMv2 and Kerberos.
CVSNT 2.5.02 clients will use the highest possible authentication security strength with the SSPI protocol - this is usually Kerberos. However CVSNT clients released prior to 2.5.02 generally used NTLM to authenticate with the server. CVSNT Servers prior to 2.0.51d can incorrectly respond that they support Kerberos when they do not. In this case the newer client will insist on using Kerberos and the connection fails with the message [80090311] No authority could be contacted for authentication.
The solutions are:
- Upgrade CVSNT Server to a stable version more recent than 2.0.51d
- Downgrade the CVSNT Client to a version older than 2.5.02
- Change the CVSROOT to
:sspi;force=NTLM:user@host:/repo . In this case you will have to re-create your sandboxes or use a WinCVS macro to change the CVSROOT embedded in the workspace.
Rights required to run CVSNT Server (Pserver impersonation)
To successfully impersonate pserver on Win2000 and XP (pre-SP2) the server needs the right "Act as part of the operating system" (seTcbName) enabled.
The default LocalSystem account has this privilege, so impersonation will work without problems after a standard installation. If you change the user that the service runs under you may have to explicitly grant this privilige to the user.
On Win2003 (also XP SP2?) the server will also need seImpersonationPrivilege enabled. This is also enabled by default on the LocalSystem account. If your administrator has removed this privilege then you may need to create a special user with it enabled.
Error "The :<whatever>: access method is not supported by this port of CVS"
If you see this you probably havent installed the protocol when installing cvsnt. Note that :ntserver: protocol is no longer supported, and is replaced by :sspi:, which offers better functionality.
You should also make sure the cvs client executable provided with CVSNT is being used. Type "cvs -v" on the command line to check this.
The command "cvs info" will list the protocols installed by the client or server.
Connection takes a long time (around 10 seconds)
Normally the connection to the server should complete very quickly - less than a second in most cases. If you find that it is taking a long time there may be one of two problems:
- Misconfigured reverse DNS.
- CVSNT does a reverse DNS lookup on startup to verify the client hostname. This will usually complete very quickly, however it is possible to misconfigure the reverse DNS in such a way that the lookup hangs and eventually times out after around 10 seconds. Your network administrator will usually be able to sort this out in a few minutes, as its usually a simple misconfiguration. On NT4 machines there is a setting "Use NetBIOS for DNS resolution" which may help. (Q: Is there an equivalent for W2K or do they always do it?)
- Very slow connection to PDC
- CVSNT needs to contact the PDC to verify identities and check privileges. Normally across a LAN this will be quite quick, but over a saturated network or over a Dialup (in local mode) it can be very slow.
- See also http://support.microsoft.com/default.aspx?scid=kb;en-us;Q308512 for a possible solution.
- Another thing to try: Disable the virus checker on the machine that hosts the CVS server.
I get "Cannot open <path>/CVSROOT: Permission denied"
This error means that the LocalSystem does not have read access to your repository. The server needs to read the CVSROOT/ directory as LocalSystem before it switches to the identity of the logged in user.
On windows all the directories above the repository directory require "Traverse Folder" access for LocalSystem, on Unix/Linux the execute bit must be set on all folders above the repository.
Note that LocalSystem is not a member of the "Everyone" group and has to be given specific priviliges.
(If you are running the server under a different user to the default then replace "LocalSystem" with the user that you are using).
I get "Cannot create directory <temp path>/cvs-servxxx: Permission denied"
This error means that your temporary directory does not have write acess for the user you are logged in as.On XP and Win2003 this can be a problem because the default global temporary directory is read only for normal users. The solution is to use a special CVS temporary directory and tell CVSNT to use it via the control panel (see the various installation guides for details on that). The temporary directory needs write access for everyone that will be using CVS remotely. (Q? Shouldnt have to give LocalSystem access here - need to check).
On a Win2003 server, Non administrator users cannot execute scripts
By default on Win2003 only Administrators can execute scripts. This causes failure of the loginfo/commitinfo scripts on the server. To remedy this make sure that ordinary users have execute permissions to cmd.exe, and read/execute to the script you are executing.
Unknown escape character \P ignored.
Recent versions of CVSNT require that the script lines in loginfo (and the other scripts) do not contain the backslash character. This problem frequently occurs when upgrading older CVSNT installations with loginfo scripts such as CVSMailer are upgraded. For example CVSMailer must be entered in this way:
DEFAULT c:/Programs/CVSMailer/CVSMailer.exe ......
How do I upgrade from older versions of CVS or CVSNT?
This is straightforward. See the Upgrading page for more information.
The latest stable version of CVSNT Server and command line client is available at http://march-hare.com/cvspro/.
CVSNT crashed, but it couldnt write its crashdump file (error 5)
Check the permissions on the temporary directory that CVSNT is trying to write to, and make sure that the permissions are such that both the user you are using and LocalSystem can write to it (note: LocalSystem is not a member of "Everyone"). Sometimes this isnt enough - the reason for this is unknown but it appears to be an OS bug.
CVSNT crashed and wrote a crashdump file
Firstly, please try to repeat this on the latest revision if you havent already - the older a version is that caused a crash, the less useful it is to the developers.
When you manage to get a crashdump, zip it up and send it to crashdumps@march-hare.com, along with an explanation of how you created the crash.
In particular your explanation should contain the exact commands, the CVSROOT and any error messages. If at all possible try and reproduce the command with a trace, eg: cvs -ttt commit -m "test" > test.txt 2> test-err.txt
CVSNT crashed and I dont want it to try and send a crashdump file.
If CVSNT crashes it will try and send the crashdump to the CVSNT crashdump server. It is a feature enabled by default and you cannot disable it.
That behaviour was decided by the open source community on the list as the least-worst given the
alternatives.
To avoid sending it you can just select "no" on the dialog box. There is nothing in the crashdump of particular sensitivity, just the place it crashed. If it bothers you then firewall it out.
Crashes should not happen - experience shows they are pretty rare
overall (given the statistics of downloads vs. crashdumps it is virtually
background noise).
CVS Lock Server crashes on start up
Here is the top reasons why the CVSNT Lock Service may crash at start up:
- conflict with something else on your system
- using an unsupported OS (eg: XP Home)
- zeroconf conflict (can be worked around by disabling zeroconf)
- running with simple file sharing enabled
The most common cause for a failure of CVSLOCK at startup is a conflict with another program on your system (such as a personal firewall or anti-virus scanner). You can disable these and try again.
To configure cvslock to start in a reduced function mode - use the control panel to disable the publishing of repository information (disable zeroconf on the advanced tab of the cvsnt control panel).
If the above information does not help to resolve your problem then run the
following commands from the command prompt (Start->All
Programs->Accessories->Command Prompt) and send the results to the open source newsgroup:
cvsdiag
cvslock -v
cvslock -test
How to enable server side and client side debug logging
CVS Suite Server and Client has many levels of logging available for providing more information about the processes that are occuring and the communication between the client and the server.
Versions and Operating System
If you are generating debug logs for March Hare Software support you also need to ensure that you send information about your environment such as the version of the server and the client and what operating systems are being used.
Enabling Server Side Tracing
For security purposes tracing of what is occuring on the server is disabled by default. Enabling Server Side Tracing using the Advanced tab in the “CVS for NT” Control Panel (Windows) or the /etc/cvsnt/PServer
file AllowTrace=1 (Unix) will allow the server to be traced. Enabling tracing does not create any log files.
Debug Logging by Creating a Client and Server Trace from the Client
Any command that is ran on the client can create a debug log. This is the most common and generally the most useful type of logging. Use the -ttt switch with any CVSNT client command, for example:
cvs -ttt add fred.txt 2> addlog.err > addlog.log
cvs -ttt commit -m "commit this file" fred.txt 2> addlog.err > addlog.log
The log will appear on stderr.
Creating a Server Side Trace (Windows)
You can enable additional server side debug logging by setting the following registry variable to the name of a file to accept the log:
HLKM\Software\CVS\PServer\ServerTraceFile
The file and path must be writable by the CVS Suite Server.
Creating a Server Side Trace (Unix)
You can enable additional server side debug logging by setting the following variable in the /etc/cvsnt/PServer configuration file to the name of a file to accept the log:
ServerTraceFile=log20050622.log
The file and path must be writable by the CVS Suite Server.
Creating a Server Side Communications Log (Unix)
If the $CVS_SERVER_LOG variable is set in the servers environment to a name of a file that can be written then everything sent to the server is logged into $CVS_SERVER_LOG.in and everything sent from the server is logged into $CVS_SERVER_LOG.out .
Creating a Communications Trace Log (Windows or Unix Client)
If the $CVS_CLIENT_LOG variable is set in the client environment to a name of a file that can be written then everything received by the client is logged into $CVS_CLIENT_LOG.in and everything sent from the client is logged into $CVS_CLIENT_LOG.out .
Eg: set CVS_CLIENT_LOG=log20050622
Why does CVSNT attempt to contact 69.93.197.231
CVSNT may attempt to contact 69.93.197.231 if it crashes. Crashes are rare in CVSNT and automatically sending the crash dump allows us to investigate the case. If the crash occurs in an interactive session the user is can cancel the crash dump send.
Can I create multiple synchronised repositories with CVSNT
March Hare Software can implement multiple synchronised copies of the CVSNT repository for you. You will need several days of consulting and a support contract for each site that hosts or accesses a repository. Multiple sites within one region can be covered by a singlecontract. Sites in different regions (eg: one in London one in Los Angeles) may require separate contracts.
March Hare Software have our own repository hosted in UK, Australia and the USA. A sales consultant will be able to assist you further.
Are the commercial releases of CVS Suite the same as the free CVSNT?
No.
The changes in the community editions of CVSNT are driven by the requirements of the open source developers, whereas the changes in the CVS Suite are driven by our customers.
Features only available in CVS Suite include:
- CVS Suite High Performance Server Service
- Bugzilla, Mantis and Atlassian Jira Integration
- Multi-Site unison synchronisation
- Visual Studio Integration (SCCI)
- CVS Suite Studio - Graphical CVS Client
- Release Manager
- Install Guide / eBook
- Using CVS Suite with Eclipse guide
- Using CVS Suite with SQL Navigator and Oracle Guide
Generally this CVSNT Community Edition supports newer versions of Open Source Linux libraries and has cutting edge experimental features, and the CVS Suite works with and is tested with Commercial Linux, Windows and Unix distributions and is more stable and has features commercial software developers require.
Between CVSNT 2.0.51 and CVSNT 2.5.02 we did try and keep the two releases very similar - however from CVSNT 2.5.03 it became clear that the community of open source developers wanted to use much newer technologies (like libxml2 versus expat) than most commercial operating systems supported.
The source code for all versions of CVSNT are available from the CVSNT repository, and all builds are available at some time from the open source web site. However the open source CVSNT web site only keeps one build of CVSNT available at any time. Open source developers can "checkout" any version from the repository and build it at any time.
March Hare Software provide five levels of commercial support, and all levels have access to the latest software at the time of purchase.
Silver, Gold and Platinum Annual Software Maintenance and Support customers have access to the entire history of stable and patched releases of CVS Suite.
CVS Suite (no Annual Software Maintenance and Support) customers have access to the latest stable and patched versions at the time of purchase.
All Annual Software Maintenance and Support customers receive patched versions of CVSNT as frequently as every fortnight (but not usually so - since there are many fortnights with no bugs reported).
All CVS Suite customers also receive some plugins and client applications which are not licensed under the GPL and are not available for free. The source code for these is not available in the CVSNT repository.
Conversely not all versions of CVSNT are made available to professional and basic support customers. Releases of CVSNT made to customers undergo additional quality assurance and release procedures.
The following data was generated using David A. Wheelers SLOCCount:
- TOTAL SUITE CODE: 794,361 lines
- DIRECTLY FROM CVSNT PROJECT: 443,003 (56%) lines
- AVAILABLE IN SUITE ONLY (NON-GPL): 35,324 (4%) lines
Low Performance CVSNT versus High Performance CVS Suite
With the release of CVS Suite 2009 ( CVSNT 2.8.01 ) there is a major architectural difference in the CVSNT Server used in the community edition versus the commercial edition of CVSNT.
The commercial implementation is faster but also uses a manager process that is not open source. This provides:
- reduced lag on client performance while servers start
- allows the server processes to share information to improve performance
It is not possible to use CVSNT 2.8 Server without the manager process.
How much of the code is Free/Open Source
March Hare Software believe that open source software has many advantages over closed source software - and we would like to release all the CVSNT software as open source. However some large enterprises who use CVSNT as a core part of their IT (eg: 3000+ users) have told us that they have budget to spend on CVSNT but cannot use it to support the project whilst 100% of the code is free/open source.
Therefore to help them we make a deliberate decision to keep a small but extremely useful part of the code non-open source.
We have NOT removed any features or documentation from the Community edition of CVSNT, but included in the CVS Suite these additional components:
- CVS Suite High Performance Server Service
- Bugzilla, Mantis and Atlassian Jira Integration
- Multi-Site unison synchronisation
- Visual Studio Integration (SCCI)
- CVS Suite Studio - Graphical CVS Client
- Release Manager
- Install Guide / eBook
- Using CVS Suite with Eclipse guide
- Using CVS Suite with SQL Navigator and Oracle Guide
NOTE: The majority of code in the CVSNT Project is Copyright March Hare Software Ltd, with some code Copyright March Hare Software Ltd and Tony Hoyle.
The following data was generated using David A. Wheelers SLOCCount and CVS Suite 2009:
- TOTAL SUITE CODE: 794,361 lines
- CVSNT PROJECT: 443,003 (56%) lines
- AVAILABLE IN SUITE ONLY (NON-GPL): 35,324 (4%) lines
CVSNT ONLY
- ansic: 224603 (55.09%)
- cpp: 123608 (30.32%)
- sh: 48791 (11.97%)
- asm: 3495 (0.86%)
- ada: 1681 (0.41%)
- perl: 1493 (0.37%)
- pascal: 1089 (0.27%)
- cs: 1008 (0.25%)
- python: 918 (0.23%)
- yacc: 805 (0.20%)
- sed: 181 (0.04%)
- lisp: 7 (0.00%)
- Total Physical Source Lines of Code (SLOC) = 407,679
cvsnt + winmerge + tortoisecvs + wincvs:
- cpp: 436878 (57.56%)
- ansic: 255095 (33.61%)
- sh: 50251 (6.62%)
- asm: 5570 (0.73%)
- perl: 2234 (0.29%)
- cs: 1887 (0.25%)
- ada: 1681 (0.22%)
- yacc: 1559 (0.21%)
- pascal: 1289 (0.17%)
- python: 962 (0.13%)
- php: 726 (0.10%)
- exp: 692 (0.09%)
- sed: 181 (0.02%)
- ruby: 25 (0.00%)
- lisp: 7 (0.00%)
- Total Physical Source Lines of Code (SLOC) = 759,037
COMMERCIAL SUITE CODE ONLY:
- cpp: 26524 (75.09%)
- sh: 8800 (24.91%)
- Total Physical Source Lines of Code (SLOC) = 35,324
» Return to section list
|