wiki:GitPlugin

Version 21 (modified by Herbert Valerio Riedel, 16 years ago) (diff)

added GNU Parted to example sites

Git Plugin for Trac

Description

This is yet another plugin for Trac 0.10/0.11 which enables GIT to be used instead of Subversion for the trac:VersioningSystemBackend

Features

  • Browsing source code in a Git repository via the TracBrowser
  • Viewing the change history of a file or directory using TracRevisionLog
  • Performing diffs between any two files or two directories
  • Displaying submitted changes in the TracTimeline (0.11)
  • (Optionally) caching TracChangeset information in Trac's database (0.11)
  • Caching Git commit relation graph in memory (0.11)
  • Using the TracSearch page to search change descriptions (0.11)
  • Interpretation of 40-character wide hex-strings as sha1 commit checksums
  • ...

Example Sites

Bugs/Feature Requests

As this is for now just a proof of concept implementation, it has quite some deficiencies, some of which exist as tickets already:

No results

...and other potential issues which aren't ticket-tracked yet:

  • does not highlight sha1sums automatically
  • will only work with filenames not containing newlines
  • ...

Existing bugs and feature requests for GitPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from [download:gitplugin here].

Source

You can check out GitPlugin from here using Subversion, or browse the source with Trac.

(An experimental branch of this plugin with a hacky caching feature and some bug fixes is available from here.)

Configuration

Simply point your Trac instance to a local git repository:

[trac]
repository_dir = /var/git/Test.git
repository_type = git

## the following is only for the 0.11 branch
[git]
## let Trac cache meta-data via CachedRepository wrapper
cached_repository = true

## disable automatic garbage collection for in-memory commit-tree cache
persistent_cache = true

/!\ NOTE: the Test.git above needs to be the .git repository directory (i.e. the one containing the file HEAD and config), not the working tree directory that holds the .git/ folder.

If installed globally, don't forget to enable the plugin:

[components]
gitplugin.* = enabled

Recent Changes

7757 by hvr on 2010-03-07 17:16:57
GitPlugin: ported code from TracMercurial in trac:changeset:6461
7756 by hvr on 2010-03-07 16:13:38
minor logging tweak
7755 by hvr on 2010-03-07 13:00:01
GitPlugin: decode git paths to unicode strings; fixes #5357
(more)

Author/Contributors

Author: Herbert Valerio Riedel
Contributors: Hans Petter Jansson

Attachments (7)

Download all attachments as: .zip