GitViewer
Categories
Component ID
Component name
Component type
Maintenance status
Development status
Component security advisory coverage
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
- Tested with Drupal 6.22 and 7.2
- Clean URL's
- WebDAV for HTTP clone push/pull. See http://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-o...
- server-side git client
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.