Version Control API

sdboyer - May 31, 2007 - 15:26

This is a pure API module, providing 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.

In subdirectories, you can find three modules that extend the basic administration functionality of Version Control API with additional functionality:

  • Commit Log displays a history of commits and optionally sends out commit notification mails to the version control administrator.
  • Commit Restrictions grants or denies repository access based on path, branch or tag.
  • Version Control Account Status requires users to submit motivation texts and meet approval of version control administrators before their VCS account is enabled.

At the moment, functional backends exist for CVS, Subversion, Git and Mercurial - the latter two thanks to Google's GHOP contest and the participating students.

Modules using Version Control API:

Version Control API does not run on PHP 4, as that doesn't support default values for parameters by reference. Fixing this issue would make core parts of the API very ugly, and as PHP 4 is unsupported as of January 1st, 2008, there's little point in doing that. Version Control API is known to work with PHP 5.2 or later.

Note that support for client-side operations as checkout, commit, update and delete is not in any way supported or planned for this module, if it happens it should go into a separate module instead. Have a look at this issue for an explanation.

This module was created as part of the Google Summer of Code 2007 where it was mentored by AjK and dww. You can find further information on ideas and development in the original project the original project proposal and in the Version Control API category on groups.drupal.org where the progress of the project was documented.

5.x-2.0 is out, and fixed several architectural issues that came with 5.x-1.x. (If you are a developer, please consider to help porting the Git and Mercurial backends to the new API, see this documentation page for the API changes.) The Drupal 6 port (...more API changes) is also done feature-wise, we're now hoping on your testing and bug reports to get it stable.

Releases

Official releasesDateSizeLinksStatus
6.x-1.0-rc22009-Jun-09115.58 KBRecommended for 6.xThis is currently the recommended release for 6.x.
5.x-2.02009-Jan-25110.26 KBRecommended for 5.xThis is currently the recommended release for 5.x.
5.x-1.22008-Feb-2094.3 KBSupported for 5.xThis release is supported but is not currently the recommended release for 5.x.


 
 

Drupal is a registered trademark of Dries Buytaert.