« More documentation | Main | TOT Build Failure »

files4ecr.pl/Building TOT as per instructions

  • Worked on getting files4ecr.pl to work
  • Attempted to rebuild TOT using the documentation created so far as a guide. Ran out of disk space! :-(
  • More documentation of build/test/release process

files4ecr.pl

The daily CVS Checkin Log works by creating a temporary CVS area based on a tag then doing a cvs update capturing what files have changed. Those files are examined and a report is produced by ECR number.

While this works fairly well and is relatively optimized (only working on the files that changed since the label) it may not be that accurate. It seems to assume that all files for an ECR are checked in together and on the same day. What if, for example, somebody checked in a file for an ECR days ago and it now checking in the rest of the work? The files reported for this ECR may be incomplete.

Here's an example of where this happened. In today's CVS Checkin Log email the following files are listed as associated with ECR # 20591:

ECR Number:  20591
	src/lib/libc/strto_int.c              10.2    	zhuravle	2004/12/27 16:11:21
	src/lib/libc/strto_real.c             10.2    	zhuravle	2004/12/27 16:09:47
	src/lib/libc/strto_real.h             10.2    	zhuravle	2004/12/27 16:09:47
	src/lib/libc/strtod.c                 10.4    	zhuravle	2004/12/27 16:09:47
	src/lib/libc/strtof.c                 10.2    	zhuravle	2004/12/27 16:09:47
	src/lib/libc/strtoimax.c              10.2    	zhuravle	2004/12/27 16:11:58
	src/lib/libc/strtol.c                 10.2    	zhuravle	2004/12/27 16:11:58
	src/lib/libc/strtold.c                10.2    	zhuravle	2004/12/27 16:09:48
	src/lib/libc/strtoll.c                10.3    	zhuravle	2004/12/27 16:11:58
	src/lib/libc/strtoul.c                10.2    	zhuravle	2004/12/27 16:11:58
	src/lib/libc/strtoull.c               10.3    	zhuravle	2004/12/27 16:11:58
	src/lib/libc/strtoumax.c              10.2    	zhuravle	2004/12/27 16:11:58
	usr/include/rcsid.h                   10.2    	zhuravle	2004/12/27 15:57:50
	usr/include/stdlib.h                  10.10   	zhuravle	2004/12/27 16:07:26

Yet thoroughly scanning the CVS logs we find:

ECR Number: 20591 Nbr of files: 25

Nbr Path/File                           Version   Author    Date
--- ----------------------------------- ------- ----------- -------------------
  1 strtoull.c                           10.3   zhuravle    2004/12/27 16:11:58
  2 strtoull.c                           10.2   zhuravle    2004/10/22 12:04:48
  3 Makefile                             10.18  zhuravle    2004/10/22 12:04:47
  4 strto_int.c                          10.2   zhuravle    2004/12/27 16:11:21
  5 strto_int.c                          10.1   zhuravle    2004/10/22 12:04:48
  6 strtold.c                            10.2   zhuravle    2004/12/27 16:09:48
  7 strtold.c                            10.1   zhuravle    2004/10/22 12:04:48
  8 strtoll.c                            10.3   zhuravle    2004/12/27 16:11:58
  9 strtoll.c                            10.2   zhuravle    2004/10/22 12:04:48
 10 strtoul.c                            10.2   zhuravle    2004/12/27 16:11:58
 11 strtoul.c                            10.1   zhuravle    2004/10/22 12:04:48
 12 strtoimax.c                          10.2   zhuravle    2004/12/27 16:11:58
 13 strtoimax.c                          10.1   zhuravle    2004/10/22 12:04:48
 14 strtoumax.c                          10.2   zhuravle    2004/12/27 16:11:58
 15 strtoumax.c                          10.1   zhuravle    2004/10/22 12:04:48
 16 strto_real.c                         10.2   zhuravle    2004/12/27 16:09:47
 17 strto_real.c                         10.1   zhuravle    2004/10/22 12:04:48
 18 strto_real.h                         10.2   zhuravle    2004/12/27 16:09:47
 19 strto_real.h                         10.1   zhuravle    2004/10/22 12:04:48
 20 strtod.c                             10.4   zhuravle    2004/12/27 16:09:47
 21 strtod.c                             10.3   zhuravle    2004/10/22 12:04:48
 22 strtof.c                             10.2   zhuravle    2004/12/27 16:09:47
 23 strtof.c                             10.1   zhuravle    2004/10/22 12:04:48
 24 strtol.c                             10.2   zhuravle    2004/12/27 16:11:58
 25 strtol.c                             10.1   zhuravle    2004/10/22 12:04:48

Now files4ecr.pl thoroughly checks all CVS logs (based on the paths it is givin that is) but this takes a lot of time.

Note that Makefile is listed by files4ecr.pl but not in the daily CVS Checking Log. That's because Makefile was checked in with that ECR number a while ago. The daily CVS Checkin Log does not reflect this historical fact.

Also note that ECR's unlike tags that can only exist on one revision, ECR numbers are just strings placed in the check in comment. Thus there is the possibility that they will exist on more than one revision (e.g. strtod.c versions 10.4 and 10.3). IOW checking in another version of a file and using the same ECR number will not remove the ECR number in the command of a previous version of the file!