Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
Hi! I am using CvsNT via TortoiseCVS, so the lock server is not always running. As such, if I issue a cvs command from the command-line that does not include a CVSROOT or -d flag, cvs.exe fails because it does not start cvslock.exe and thus cannot connect to it. An example command might be: "<cvsnt>\cvs.exe" "rcsfile" "rlog" "-r" "<cvsroot>\<module>\<file>,v" ... Note that "rcsfile" does not require a root. I have some observations after looking at the source code (src/main.cpp). 1) CVS_CMD_NO_ROOT_NEEDED is set for "rcsfile", thus it is valid to omit CVSROOT 2) As such, current_parsed_root will be NULL 3) If current_parsed_root is NULL, then cvslock.exe is not started (main.cpp:1486) 4) Even when current_parsed_root is NULL, lock_register_client() is still called (main.cpp:1534) So the issue here seems to be that when current_parsed_root is NULL, either cvslock.exe should still be started, or lock_register_client() should not be called. Should I file a bug report for this or am I missing something? Thanks! David Citron P.S. The work-around is to install cvslock as a service and leave it running.