rcsclean in OpenRCS
-------------------

Last edited: $Date: 2018/08/25 18:32:56 $



## Introcuction

When using rcsclean in OpenRCS, files that contain expanded keywords
are  not  recognised  as  unchanged after  the  last  checkout,  and
therefore are not removed.

Description of rcsclean from the manpage:

    The rcsclean program is used to clean up (remove) files that are not
    being worked on.  Only checked out files from the current working
    directory are removed.

The idea  behind rcsclean is that  you remove all the  files in your
current  working directory  that  have not  changed  since the  last
checkout.  This  prevents  removing  files  that  have  un-committed
changes.

Here  there is  a  major  difference between  OpenRCS  and GNU  RCS.
OpenRCS doesnot  clean files that  have expanded keywords,  GNU RCS.
does                                                               .


## Checkin and checkout cycle on OpenRCS

Here is how it works on OpenRCS (on OpenBSD):

Without keywords:

   $ mkdir -p test/RCS
   $ cd test
   $ echo 'First line' > testfile
   $ ci -u -t-"file" -m"Start versioning" testfile
   RCS/testfile,v  <--  testfile
   initial revision: 1.1
   done
   $ co -l testfile
   RCS/testfile,v  -->  testfile
   revision 1.1 (locked)
   done
   $ rcsclean -u
   rcs -u1.1 RCS/testfile,v
   rm -f testfile


Now, add a keyword and check in for keyword expansion:

   $ echo '$Id: rcsclean.txt,v 1.3 2018/08/25 18:32:56 matto Exp $' >> testfile
   $ ci -u -m"Add id" testfile
   RCS/testfile,v  <--  testfile
   revision 1.2 (unlocked)
   done
   $ rcsclean -u
   $

So, no rm -f testfile here ...

The keyword '$Id$' is  expanded and  now rcsclean  cannot recognise
that the file  has not changed since the last  checkout. Also, after
multiple cycles of checking in changes  to the file and checking the
file out again, this doesnot change.

Most of  the time, the extra  options that the GNU  utilities offer,
make life a little easier,  but here the difference in functionality
is quite strong.


$Id: rcsclean.txt,v 1.3 2018/08/25 18:32:56 matto Exp $