Version Control API

See also generated documentation(including doxygen generated files) by version:

Version Control API and related modules provide functions for interfacing with the server side of version control systems (VCS). It enables you to track changes in a VCS repository, show a log of commit messages, and control write access to the repository based on site specific settings.

Why is it necessary at all?

On the one hand, because version control is cool, and by integrating it with Drupal it's possible to let the CMS react on changes in the repository and add stuff to nodes. Also, Drupal themes look better than many other VCS web frontends :-P

Objectives

  • No assumptions towards a specific VCS. (Tailoring towards specific feature sets such as “distributed”, “supports directory revisions”, etc., is ok.) Code supporting one VCS should support all of them.
  • Modularize functionality so that sites only need to use the features that they actually need. Should work just as well for sites other than drupal.org.
  • More possibilities through a generic API instead of hardcoded workflows and lots of db queries.
  • Get rid of cvs.module on drupal.org.
  • Make VCS integration with Drupal rock!

The big idea: three layers of responsibility

Version Control API specifies a set of mandatory and optional functions that can be implemented for every common VCS. Backends implement those functions as good as possible. Higher-level modules use those functions for integration purposes.

For developers

The API is a mixture of retrieving stuff from the database and delegating to backend modules. It's extensively (some would say ridiculously)

For users

From an administration point of view, the Version Control API module provides the admin pages for repository management, account management

Roadmap

In general, the roadmap for Version Control API looks like this:

Version Control API - Git backend

Documentation for versioncontrol_git can be found per version: 6.x-1.x 6.x-2.x 7.x-1.x

Guide maintainers

jpetso's picture