[CVS] has a large interface--a discouragingly large one, in fact. [CL] is nearly convinced that even experts don't understand it all. In particular, many frequent CVS users aren't aware of the protocol's reporting capabilities. You can, for example, get a handle on what the latest action in [Tcl]'s "head" has been with set REPOSITORY -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/tcl set everything [exec cvs $REPOSITORY history -c -a] foreach line [split $everything \n] { foreach {type date time timezone user revision file directory other1 other2 other3} $line break # Is it worth printing out part of the "check-in comment"? set item [format "%s %s %-20s %-6s %-10s" \ $date $time $file $revision $user] lappend list $item } set count 0 foreach item [lsort -decreasing $list] { puts $item # Just print out the last ten check-ins. if {[incr count] > 10} break } With typical [SourceForge] activity and a high-speed connection, this takes up to half a minute to produce such output as 2003-07-19 01:37 Makefile 1.7 das 2003-07-19 01:37 ChangeLog 1.1650 das 2003-07-19 01:35 Makefile 1.5.2.3 das 2003-07-19 01:35 ChangeLog 1.1453.2.119 das 2003-07-18 23:35 tclProc.c 1.44.2.1 dgp 2003-07-18 23:35 tclCompile.c 1.43.2.3 dgp 2003-07-18 23:35 tclBasic.c 1.75.2.5 dgp 2003-07-18 23:35 init.test 1.9.2.1 dgp 2003-07-18 23:35 init.tcl 1.55.2.1 dgp 2003-07-18 23:35 ChangeLog 1.1453.2.118 dgp 2003-07-18 22:17 Utf.3 1.15 dkf