[cvsnt] cvslock.exe not started: bug?
David Citron
dcitron at nni.com
Fri Jan 26 00:31:10 GMT 2007
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.
More information about the cvsnt
mailing list