codechanges(1)

codechanges1

Computes the amount of code changes between two code trees or single files

Usage

codechanges [-n] old-directory new-directory

codechanges [-n] old-file new-file

Overview

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.

Releases

11 releases since Debian 3.1 (Sarge); the text changed 1 time.

  1. 3.1–10
  2. 11–13

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

From pmccabe 2.8-3 in Debian 13 (Trixie). Parsed by carta from the page's man source.