I was using RCS under 4.0-release when it started causing me grief. At first I thought I'd been making typos in options, but I can replicate what I *think* are two errors in behavior. I welcome being set right. (And I did check the change notes for 4.0-current, but didn't see anything to indicate that this had been worked on.)
It has long been my habit to maintain every configuration file I "hand edit" in RCS. This means that I generally use the sequence: co -l ....make changes with editor.... ci -u ....allow the system to run with new settings.... However, OpenRCS 3.6 won't allow me to cleanly do a co -l when the file exists (mod 444) and there's no lock. It complains that the file is writeable (despite permissions being read only). Also, if I abort the checkout it still places a lock on the file. An example sequence of commands: $ touch test $ ls -l test -rw-r--r-- 1 jon wheel 0 Nov 27 11:20 test $ ci -u test RCS/test,v <-- test enter description, terminated with single '.' or end of file: NOTE: This is NOT the log message! >> A test file >> . initial revision: 1.1 done $ ls -l total 4 drwxr-xr-x 2 jon wheel 512 Nov 27 11:20 RCS -r--r--r-- 1 jon wheel 0 Nov 27 11:20 test $ ls -l RCS total 4 -r--r--r-- 1 jon wheel 188 Nov 27 11:20 test,v $ rlog test RCS file: RCS/test,v Working file: test head: 1.1 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 1; selected revisions: 1 description: A test file ---------------------------- revision 1.1 date: 2006/11/27 16:20:57; author: jon; state: Exp; Initial revision ============================================================================= $ co -l test RCS/test,v --> test revision 1.1 (locked) test exists; remove it? [ny](n): n co: writable test exists; checkout aborted $ ls -l total 4 drwxr-xr-x 2 jon wheel 512 Nov 27 11:21 RCS -r--r--r-- 1 jon wheel 0 Nov 27 11:20 test $ rlog test RCS file: RCS/test,v Working file: test head: 1.1 branch: locks: strict jon: 1.1 access list: symbolic names: keyword substitution: kv total revisions: 1; selected revisions: 1 description: A test file ---------------------------- revision 1.1 locked by: jon; date: 2006/11/27 16:20:57; author: jon; state: Exp; Initial revision ============================================================================= $ ci -V OpenCVS RCS version 3.6 $ co -V OpenCVS RCS version 3.6 $ rlog -V OpenCVS RCS version 3.6 $ With GNU RCS you can checkout a file that is not locked and is read-only: $ touch test $ ls -l test -rw-r--r-- 1 jon wheel 0 Nov 27 11:39 test $ gci -u test RCS/test,v <-- test enter description, terminated with single '.' or end of file: NOTE: This is NOT the log message! >> A test file >> . initial revision: 1.1 done $ ls -l total 4 drwxr-xr-x 2 jon wheel 512 Nov 27 11:39 RCS -r--r--r-- 1 jon wheel 0 Nov 27 11:39 test $ ls -l RCS total 4 -r--r--r-- 1 jon wheel 188 Nov 27 11:39 test,v $ grlog test RCS file: RCS/test,v Working file: test head: 1.1 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 1; selected revisions: 1 description: A test file ---------------------------- revision 1.1 date: 2006/11/27 16:39:47; author: jon; state: Exp; Initial revision ============================================================================= $ gco -l test RCS/test,v --> test revision 1.1 (locked) done $ grlog test RCS file: RCS/test,v Working file: test head: 1.1 branch: locks: strict jon: 1.1 access list: symbolic names: keyword substitution: kv total revisions: 1; selected revisions: 1 description: A test file ---------------------------- revision 1.1 locked by: jon; date: 2006/11/27 16:39:47; author: jon; state: Exp; Initial revision ============================================================================= Also, in GNU RCS, if you abort a checkout of an unlocked file, the file remains unlocked: $ grlog test RCS file: RCS/test,v Working file: test head: 1.1 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 1; selected revisions: 1 description: A test file ---------------------------- revision 1.1 date: 2006/11/27 16:39:47; author: jon; state: Exp; Initial revision ============================================================================= $ ls -l test -r--r--r-- 1 jon wheel 0 Nov 27 11:41 test $ chmod 644 test $ gco -l test RCS/test,v --> test revision 1.1 (locked) writable test exists; remove it? [ny](n): n co: checkout aborted $ grlog test RCS file: RCS/test,v Working file: test head: 1.1 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 1; selected revisions: 1 description: A test file ---------------------------- revision 1.1 date: 2006/11/27 16:39:47; author: jon; state: Exp; Initial revision ============================================================================= $ Thanks. --Jon Radel [EMAIL PROTECTED]