= Git Plugin for Trac = == Description == This is yet another plugin for Trac 0.10/0.11 which enables [http://git.or.cz/ GIT] to be used instead of [http://subversion.tigris.org/ 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 [TracDiff 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(s) == See [http://nanosleep.org/proj/trac-git-plugin/browser nanosleep.org's GitPlugin branch] == 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: [[TicketQuery(component=GitPlugin&status!=closed)]] ...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 [report:9?COMPONENT=GitPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=GitPlugin&owner=hvr new ticket]. == Download == Download the zipped source from [download:gitplugin here]. == Source == You can check out GitPlugin from [http://trac-hacks.org/svn/gitplugin here] using Subversion, or [source:gitplugin browse the source] with Trac. (An experimental branch of this plugin with a hacky caching feature and some bug fixes is available from [http://nanosleep.org/proj/trac-git-plugin/ 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''': "Test.git" 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 == [[ChangeLog(gitplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:hvr Herbert Valerio Riedel] [[BR]] '''Contributors:''' Hans Petter Jansson