Jump to: navigation, search

Modeling IP Log Generation

Revision as of 10:20, 12 June 2007 by Codeslave.ca.ibm.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Maintaining an accurate IP Log is a pain. So, to simplify the process, there are a number of tools available to use:

Current Bugzilla Tag Scraper Method

Step 1

Currently, EMF committers use tags in Bugzilla to identify contributions.

[contrib email="john.doe@some.company.com"/]

Step 2

Later, these tags can be scraped to partially generate the IP Log data, using a script: http://www.eclipse.org/emf/plan/contributors.php

Step 3

After the partial data is collected, it can be pasted into the IP Log.

Step 4

Then, for each bug listed, the incomplete data can be fixed using the provided links to Search CVS, Changeset Patch Generator, and Bugzilla to determine how many LOC were actually contributed vs. committed, and in which components or CVS modules the changes were done. Even with these tools, this is a slow process.

Extended Bugzilla Tag Scraper Method (Proposed)

Step 1

EMF committers would use tags in Bugzilla to identify contributions, as before, but would provide more information at the time.

[contrib email="john.doe@some.company.com" contributor="John Doe" size="200" modules="org.eclipse.emf.ecore,org.eclipse.emf.codegen"/]

Note that size measured is in lines of code added or changed; if under 100 lines, size should be noted as "small" instead of an actual number [1]. One easy way to estimate the LOC count for changes to existing files is to generate a patch and then count the lines with "+" on them. Then, for new files, a simple line count will suffice.

grep -c "+" changeset_161744.patch
cat SomeFile.java | wc -l

Step 2

Later, the full IP Log data would be scraped directly from Bugzilla, with no manual forensic work required. This would save hours of effort, and has the added benefit of being done at the time the code is committed rather than months later, by the committer instead of someone less closely affiliated with the code and the changes done.