codechanges(1) computes the amount of code changes between two code trees or single files

SYNOPSIS

codechanges [-n] old-directory new-directory

codechanges [-n] old-file new-file

DESCRIPTION

codechanges recursively compares the two named directories (or files) calculating new/deleted/changed lines, not including comments or blank lines, in files which appear to be source files (C, C++, shell, and Makefiles). To include comments and blank lines, use the -n option.

APPLICATIONS

codechanges is purpose designed to measure the amount of code change between milestones in a project's life. The following output is from two stages, plus some artificial test cases, in the pmccabe code stream:

NEW     DELETED CHANGED Old File, New File
11      19      4       old.pmccabe/./Makefile pmccabe/./Makefile
214     10      39      old.pmccabe/./cparse.c pmccabe/./cparse.c
463     0       0       NEWFILE pmccabe/./decomment.c
147     4       39      old.pmccabe/./dmain.c pmccabe/./dmain.c
10      0       0       NEWFILE pmccabe/./dmain.h
407     0       0       NEWFILE pmccabe/./getopt.c
48      0       0       NEWFILE pmccabe/./getopt.h
9       18      12      old.pmccabe/./gettoken.c pmccabe/./gettoken.c
18      18      15      old.pmccabe/./io.c pmccabe/./io.c
175     43      20      old.pmccabe/./nmain.c pmccabe/./nmain.c
194     11      22      old.pmccabe/./pmccabe.c pmccabe/./pmccabe.c
42      0       20      old.pmccabe/./pmccabe.h pmccabe/./pmccabe.h
0       1318    0       old.pmccabe/./test/langMode.c DELETED
24      0       0       NEWFILE pmccabe/./test006/Grapher.H
620     0       0       NEWFILE pmccabe/./test006/Handler.H
442     0       0       NEWFILE pmccabe/./test006/NodeArc.H
764     0       0       NEWFILE pmccabe/./w/parser.C
95      0       0       NEWFILE pmccabe/./w/tokens.h
4       0       0       NEWFILE pmccabe/./x.sh
3687    1441    171     TOTAL

DIAGNOSTICS

There aren't many at this time.

BUGS

codechanges thinks it knows what source files are interesting and the user may not agree with its choices. It's a script and should be easy to modify. Ultimately this should probably be configurable.

codechanges uses a program called decomment which guesses how to de-comment a file based on its file name and it's not always perfect.

AUTHOR

Paul Bame