The Scmbug project plans to participate in the Google Summer of Code event for 2008 as a mentoring organization. Students/interns with a strong interest in Software Configuration Management (SCM) are highly encouraged to apply for participation in our project.
Project ideas are listed below:
- Implement autolinkification: When a developer browses the changeset comments in a bug-tracker, they would like to click on a commited file and be directed to a ViewCVS/ViewSVN application that annotates the changes. Implementing this requires changes to the bug-trackers to enable them to transform commit comment descriptions according to a predefined convention. Autolinkification is a highly-desired open issue for Bugzilla and Mantis and will require extending these bug-trackers.
- Freeze repositories: It would be immensely beneficial to add a policy that lets repository administrators flag a repository as "frozen". This means that commits to the repository, or a particular branch of the repository, could be accepted only by a select list of users, only against specific bug ids, or not at all.
- Finish Merger Tool:A tool is being developed that can merge changesets to a branch given as input a list of bug ids. The backend support for this tool has been implemented, but the guts of the tool that invoke the SCM system and apply the changesets has not.
- Develop Web Reports: One of the most common feature requests is to build a tool that allows users to see easily which files (and revisions) have been effected by a given bug. Essentially, provide a user-friendly, web-based interface to release engineering and reporting.
- Develop GIT SCM frontend: GIT is the SCM system used by the Linux kernel. Scmbug currently offers incomplete glueing support for GIT. Extending the existing frontend requires an understanding of the GIT hooks mechanism. It may require contributing improvements to it's hooks implementation in order to support extracting the minimum information needed by the Scmbug frontend interface.
- Improve accuracy of VDD Generator:The Version Description Document (VDD) generator is a tool that given two labels (tag or branch names) automatically produces a document describing the list of bugs worked-on between the two labels and the specific changesets. The tool currently omits reporting changesets that were applied after the time the commit comment of the second tag was applied. Additionally, some SCM systems (like CVS) don't even store the date a label was applied, hence making it impossible to produce VDDs for them. A new design in the integration process of labels has been drafted that would make it possible to support accurate reporting for all SCM systems.