Experimental project

This is a sandbox project, which contains experimental code for developer use only.

Gitpal Logo Draft "mashup" Source: Git logo and Drupal 8
Gitpal.org Introduction

Basic idea: provide an API to map Git functionality into Drupal to do version control of content with all the benefits of distributed branching models.

Introduction at Drupal Camp Iceland 2017


Slack Channel



Git comes with all the necessary methods to keep control of content and allows us to work with remote repositories. Making this functionality available to the Drupal Entity API and user interface will enable us to maintain content on several branches, same like we do with source code. Of course there are several challenges to solve, but a reliable implementation will allow us to provide further modules to enable automation, deployment and merging of content without loosing track of the history of it - even on distributed sites!

This means we could provide enterprise ready version control for content by combining two of the most popular open source projects in the history of the web.

Next steps:

  1. Find and excite volunteers for this project who like to contribute!
  2. Discuss the best approach for a Git connector and the usage of the Entity API to enable basic features (like clone, pull, push, checkout, commit)
  3. Define the basic UI elements, like connecting to a remote repository and extend the existing revision architecture with Git methods
  4. Identify the best structure for content to be stored it in a Git repository and make it accessible (in terms of listing, searching and so on)
  5. Think about content automation possibilities, like automatic deployment to connected sites, distributed work flows and only applying change sets to keep local modifications (in terms of collaboration)

This project is inspired by conversations at the Drupal Con Barcelona 2015 and is looking for co-maintainers who like to leverage the way how we work with content in the future. Any feedback is really appreciated, because this is a project which can't be handled by a single persons alone! Right now it's just an idea, but together we could prove the value of it and finally make content versioning really reliable!

Get in contact: contact@gitpal.org

Project Information