GitViewer

Component ID

1178730

Component name

GitViewer

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Component created

Component changed

Component body

Overview

This module provides an additional Node, named Repository.
Adding a path to a git repository, it will allow users with appropriate permissions
to clone repositories via http, download archives, view diffs and commits and browse the repository tree.

After spent hours to get a git viewer working with available drupal modules like versioncontrol_api, we write a new git repository browser.

For HTTP clone support the module use WebDAV and git http-push.
You can set per repository permissions, so only defined users are allowed to clone a repository. Only if Drupal init the repository it controls direct write access to repositories.

Note: We only maintain the 7.x release

Features

  • Supports Geshi Filter for diff output format
  • Create repository for http push/pull and clone with http basic auth
  • Permissions for view diffs, commits, patch, etc ..

Requirements

Configuration

  • Enable WebDAV Apache modules and add a Locationmatch to your conf for git repository folders
        <LocationMatch /files/git>
            Dav On
        </LocationMatch>
    
  • Set up a rewrite rule to ignore git repositories folders. they can be protected by .htacces and http basic auth.
        RewriteCond %{REQUEST_URI} !sites/default/files/git/(.*)$
    
  • Protect your HTTP Basic Auth files
        <FilesMatch ".htpasswd">
          Order allow,deny
          Deny from all
        </FilesMatch>
    

Tutorial

  • Enable Git Viewer and Repository Node
  • Enabled Geshi Filter for best diff results
  • Add a repository Node and set path to repository root
  • View your git repository within drupal
  • Clone your git repository from drupal

Credits

Sponsored by fabforge.ch.
Original Development, Fabian Dennler "foxfabi" (http://drupal.org/user/240264)
Based on ViewGit.