views:

17

answers:

1

I need to find out that how many times and which files are fixed or changed due to a bug between two specific dates in an open source project which uses Trac. I selected Webkit project for that purpose. (https://trac.webkit.org/) However, it can be any open source project.

What can I do for that? How do I start? Do i have to use version control systems like svn or git for intergration? I am kinda newbie for these bug-tracking and issue-tracking systems.

A: 

I'm not certain I exactly understand your question, but...

If you browse to the directory containing the files you care about in the Trac site, then click on Revision Log, you will get a list of changesets that affected that directory. You can select the revisions that span the timeframe of interest and then View changes and you will get a summary of the changes, and depending on the size of the changes and the particular Trac configuration, you may get the diffs on that page as well.

Now, that won't tell you how many times those files were changed, just the net changes.

It also won't tell you which bugs those changes were for.

If you really need to filter on what bug, you'll have to determine how that information is tracked by the particular project; and some might not track it directly. The project might include a #123 in the commit message. If you can rely on that, you could use svn log --xml {2009-11-01}:{2009-12-01} ... to get an xml version of the commit log which you could then parse and filter based on the presence of the bug's ticket number in the commit message. From that, you should have a list of the revisions that you care about.

retracile
Thanks for the answer. But I need to make an automation to parse changesets. And as i found out, there is not a command line interface of trac that i can get changesets quickly. Thats why i will try to download the diff files of each changesets and parse the dates and messages. Any better ideas?
mkafkas
Don't go through Trac for that; use the svn commandline as shown in my answer. That will give you the dates and messages.
retracile