On Thu, 13 Nov 2003, Shapira, Yoav wrote:

>
> Howdy,
> Actually, I'm curious to know how you obtained this list: some script
> with mixed CVS commands?  I'd like to come up with similar lists for
> other modules where I'm a committer.  I *know* for example that tomcat
> hasn't had more than 10 active committers during the past year even
> though there are 64 on the page you cited.

I've been playing with some ruby scripting to do this and the
jakarta-committers.html report, but shell and system commands do most of
it.

In particular:

  cvs log -d "2002/11/13<2003/12/21" | grep "  state: "

gives you the date and name of all changes to the repository for a given
date range.  A little regular expression matching on that will give you
the names (or at least user ids).  E.g., this script will give you a list
of the unique accounts that have made commits in the past year:

#!/usr/bin/ruby
@tempFile = "log.tmp"
@cmnd = "cvs -d log -d \"2002/11/13<2003/12/31\" | grep \"  state:\" > [EMAIL 
PROTECTED]"
system("[EMAIL PROTECTED]")
people = Array.new
File.open(@tempFile,"r") do |f|
  f.each_line do |line|
    matches = /  author: ([^;]*);  /.match(line)
    person = matches[1].strip
    people.push(person) if not people.include?(person)
  end
end
File.chmod(0644,@tempFile)
File.delete(@tempFile)
people.sort!
puts people

I just diff'ed that list with a list of commiters (cut and pasted from the
jakarta-committers.html page) to find out who's not on that list.

> Yoav Shapira
> Millennium ChemInformatics

- Rod <http://radio.weblogs.com/0122027/>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to