From: Richard C. <ri...@cy...> - 2005-02-22 09:47:05
|
Hi Aaron, sounds like an interesting research project. Is there anything to look at yet? Am 22.02.2005 um 04:35 schrieb Aaron Zinman: > I basically need to know who owns what lines of code at what point in > time. However, I'm not quite sure how you get the statistics that you > do only from the "cvs log" command. Your generated reports indicate > that you can know that "cyganiak" has 4323 lines of code, but how are > you getting this information? That is, cvs logs give you > > revision 1.2 > date: 2003/03/25 01:20:13; author: lukasz; state: Exp; lines: +20 -2 > Minor code review tasks. > Added some javadocs > Fixed some unhandled Exceptions > > So you know that lukasz added 20 lines of code, but you don't know > who's -2 he got rid of, so how could you properly deduct them from the > right other people? We don't deduct them. You're referring to the chart and table on the Authors page of the StatCVS report. The story we want to tell there is: How much did each author, over time, contribute to the project? We don't want to show who has written how much of the code that is up-to-date *right now*, but how much they've written *over time*. So it's reasonable to count 20 lines for lukasz, and the person who wrote the original 2 lines keeps them. The contribution doesn't become worthless just because it was later replaced by something else. This probably doesn't help you much. But here's something that you could use: the "cvs annotate" command. We don't use the data from that, but you probably want to. In a checked-out working copy, run: "cvs annotate SomeFile.java". This gives you a breakdown of who owns which line of that file *right now*. "cvs annotate -r 1.5 SomeFile.java" shows you who owned which line at the time of revision 1.5 of the file. From "cvs log", you can get the date of revision 1.5. I guess this is exactly the data you need. Richard |