using commitinfo and verifymsg

2004-06-24 Thread Jason . Gibbons
If a developer checks in multiple files in a single commit, is there anyway
of finding out what all the files are using either bash or perl scripts on
the cvs server?  I've tried using the 'cvs status' command in a bash script
tied into the commitinfo file, but that only works on a directory by
directory basis.  It may help if I give an overview of what I'm aiming to
do:

We have a project which consists of a number of software components, the
source for which is kept in separate subdirectories.  Each separate
component has associated with it a history file, so each of the
subdirectories has a history.txt file in it (sometimes at the top level,
sometimes in a further subdirectory).  I want to use cvs to ensure that
when a developer checks in a bunch of files, that he/she is also checking
in an updated history file which gives an overview of his changes.  It is
possible for one developer to want to check in files from many different
components (and so should be required to commit several different
history.txt updates).  What I need to do then, is have commitinfo run a
script which (i) gets the names/paths of all the files being checked in,
(ii) makes sure that each component which has been changed has a changed
history file included in the checkin.

My problem with using cvs status is that it will only give out information
on multiple files that belong to the same directory.  I need something like
cvs status, but which outputs all the files being commited, regardless
where they belong in the repository.  Is their anyway of doing that?

For info, the version of cvs running on the server is 1.11.5

Thanks


Jason Gibbons






___
Info-cvs mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: using commitinfo and verifymsg

2004-06-24 Thread Todd Denniston
[EMAIL PROTECTED] wrote:
 
 If a developer checks in multiple files in a single commit, is there anyway
 of finding out what all the files are using either bash or perl scripts on
 the cvs server?  I've tried using the 'cvs status' command in a bash script
 tied into the commitinfo file, but that only works on a directory by
 directory basis.  It may help if I give an overview of what I'm aiming to
 do:
 
 We have a project which consists of a number of software components, the
 source for which is kept in separate subdirectories.  Each separate
 component has associated with it a history file, so each of the
 subdirectories has a history.txt file in it (sometimes at the top level,
 sometimes in a further subdirectory).  I want to use cvs to ensure that
 when a developer checks in a bunch of files, that he/she is also checking
 in an updated history file which gives an overview of his changes. 
SNIP
If you do not have policies that are carved in stone, you may be able to let
the programmers work smarter not harder.

Instead of attempting to make sure there is a history file in the directory,
why not make sure that there is history kept with each file that is changed?
Sounds like I am suggesting more work for the programer, but cvs makes this
less work than keeping the history file for the directory, IFF you can get the
programmer to make comments that are as good as s/he would have put in the
history.txt file.

use rcsinfo  verifymsg[1] to force the inclusion of bugfix numbers (if
needed) and a comment of the history.txt quality[2].  Then when the
history.txt files are needed, grab cvs2cl[3] and go to the head of a checked
out tree and issue `cvs2cl -d -f history.txt`.  I prefer to have it in one big
file most times and with revision  tag information, so I use `cvs2cl -r -t -b
-f ChangeLog.txt`.  You might want to try `cvs2cl -d -f
differentTypeOfhistory.txt` on your baseline now and see if it could be close
to what you need.


I have discussed[4][5] with others on the list ways these can be used to track
history, perhaps those discussions might be helpful to you as well.


[1]Re: Verifymsg on branches?Date: Wed, 22 Nov 2000 15:29:54
example rcsinfo  verifymsg
http://lists.gnu.org/archive/html/info-cvs/2000-11/msg00330.html

[2] you will probably need to write some bash/perl/C code that implements your
idea of how to mechanicaly guess if the programmer has entered a quality
comment, and then update it when they start figuring out how to trick your
rules (arms race), or beat them with a manger who will ask if they really want
to go back to making history.txt files.

[3] http://www.red-bean.com/cvs2cl/

[4]Re: 2 how to  in CVS questionsDate:  Fri, 16 Feb 2001 16:02:16 
http://lists.gnu.org/archive/html/info-cvs/2001-02/msg00428.html

[5]Re: Tags usage -- comments pleaseDate:  Mon, 14 Jun 2004 11:49:28 
http://lists.gnu.org/archive/html/info-cvs/2004-06/msg00217.html

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the WarfighterThe opinions expressed here are not sanctioned by and do not necessarily 
represent those of my employer.
___
Info-cvs mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/info-cvs