Date: Thu, 18 May 2000 15:47:18 +0200
From: Carlo Wood
To: Universal IRC Daemon developerslist
Subject: [ircu-development] The use of tags

At this moment I am manually adding tags and editting .patches.
That isn't as fancy as it used to be, but will still allow
everyone to get back the seperate patches.

For example - in order to see the "p9serv" patch do:

>cat .patches
>cvs diff -r sed -r p9serv

Where 'sed' is the patch directly preceding the wanted patch (p9serv
in this case).  If you would like to see the `nicklen' patch
then you can do:

>cvs diff -r ircu2_10_08 -r nicklen

where the dots (.) are replaced by underscores (_). The '+' is ignored.

Finally, getting the log message(s) for a patch is also possible,
although a lot harder.  As an example, you could do:

>cvs diff -r sed -r p9serv | grep RCSTAG
-RCSTAG_CC("$Id: IPcheck.c,v 1.4 2000/05/15 16:33:44 libcw Exp $");
+RCSTAG_CC("$Id: IPcheck.c,v 1.6 2000/05/18 12:39:24 libcw Exp $");
-RCSTAG_CC("$Id: numnicks.c,v 1.2 2000/05/15 16:33:44 libcw Exp $");
+RCSTAG_CC("$Id: numnicks.c,v 1.3 2000/05/18 12:34:44 libcw Exp $");
>cvs log -r1.5:1.6 ircd/IPcheck.c
>cvs log -r1.3:1.3 ircd/numnicks.c

Note the skipping of the first version returned.

When I finally stop forgetting to add the patch to .patches, then
an alternative and much easier way is:

>cvs log -h .patches | grep p9serv 
        p9serv: 1.10
>cvs log -r1.9:1.10 .patches | grep '^date:'
date: 2000/05/18 12:36:37;  author: libcw;  state: Exp;  lines: +1 -1
date: 2000/05/17 17:17:15;  author: libcw;  state: Exp;  lines: +1 -1
>cvs log -d'17 May 2000 17:17:15<18 May 2000 12:36:37'

The date string conversion is unfortunately necessary. Also, this
outputs a lot of junk for every file, also for those without any logs
in the given interval (a bug of rcs imho). Awk is your friend
(if anyone manages to write a neat awk filter for this output,
please send it to me!)


PS All of the above cvs commands should be done in a checked out source tree.
   See for more info.