On Mon, 27 Nov 2006, Jon Radel wrote:

> 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.

plus.html is a bit behind.  these issues have been fixes recently in
-current, AFAIKT. Check for example
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/rcs/co.c rev 1.100
and related commits. 

        -Otto

> 
> 
> 
> 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]

Reply via email to