[cvsnt] cvslock.exe not started: bug?
dcitron at nni.com
Fri Jan 26 04:22:31 GMT 2007
Upon further inspection, I think the bug may be isolated to "rcsfile":
- "rcsfile" sets the internal flags CVS_CMD_NO_ROOT_NEEDED and
- CVS_CMD_NO_ROOT_NEEDED ensures that the variable
"current_parsed_root" is NULL
- "current_parsed_root == NULL" ensures that cvslock.exe is not started
- CVS_CMD_LOCKSERVER ensures that cvs.exe attempts to connect to
the lock server
And thus it fails if cvslock.exe is not already running.
At 07:31 PM 1/25/2007, David Citron wrote:
>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
>2) As such, current_parsed_root will be NULL
>3) If current_parsed_root is NULL, then cvslock.exe is not started
>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?
>P.S. The work-around is to install cvslock as a service and leave it running.
>cvsnt mailing list
>cvsnt at cvsnt.org
More information about the cvsnt