Voting starts in March for the Drupal Association Board election.
The Version Control API module is a relatively new module that provides functions for interfacing with the server side of version control systems (VCS). In order to work, Version Control API needs at least one VCS backend module that provides the specific VCS's functionality. At the moment, only a back end for CVS has been written (see references).
For this task, you will create a module similar to the Version Control API -- CVS backend module but which instead provides an implementation of the Git version control system. You should also have a look at the example "FakeVCS backend" that ships with Version Control API itself, and the overall OVERVIEW.txt for a better understanding of the API's main concepts.
Your module should have functionality similar to what is currently present in the CVS backend.
* A new versioncontrol_git.module that implements the required functions for Version Control API backends. These are mostly functions that transform the revision data from the database representation to the API's array format. Here's the exact list of required functions:
* ...and others that you might consider practicable - in particular, you'll probably need versioncontrol_git_commit() for managing additional commit data in the database.
* Functionality to import commits from Git logs, similar to the CVS backend's "log fetching" functionality.
* Hook scripts that enable recording and access control for commits, similar to the CVS backend's xcvs-* scripts.
* The task will be complete when the submitted module is marked as RTBC by one of the mentors.
* Develop a database table structure to store information that is required for repository configuration, user account properties and displaying transactions.
* Version Control API Module ( http://drupal.org/project/versioncontrol)
* Version Control API -- CVS Backend ( http://drupal.org/project/versioncontrol_cvs )
* Git (http://git.or.cz/)
* Git commit hooks (http://www.kernel.org/pub/software/scm/git/docs/hooks.html )