45

In the past I have really enjoyed using Trac with subversion repositories hosted on some of my own servers. The integrated ticketing and online code browsing is very convenient.

I have used github for some of my public projects but I don't have the money to shell out for an extra service, espcially when I am already paying for remote VPS hosting.

Does anyone know of or have any experience setting up something like Trac with git version control? Specifically, I can already push to a remote server but I would like some web interface that allows me (and people working with me) to see that commits and current state of the codebase online without making the project public. I am aware of GitPlugin but have not been able to get it up and running successfully. Any other suggestions?

Integrated ticketing (and wiki) is desired but not an absolute necessity.

Edit:

After playing around with GitPlugin and Trac a bit more I have been able to get it up and running. The main problem was that I needed to explicitly enable the plugin for the trac environment by doing something like this in trac.ini:

[components]
# for version 0.10
gitplugin.* = enabled
# for version 0.11
tracext.git.* = enabled 

I may also try out Redmine and CGit as this seem like other pieces of software that do what I am looking for. Any other suggestions are welcome.

Paul Osborne
  • 5,024
  • 6
  • 24
  • 20

16 Answers16

19

You should take a look at Redmine (http://www.redmine.org/). It has all of the features you mention and more. You can host it on your own vps (I do).

Michael Larocque
  • 1,166
  • 1
  • 6
  • 6
9

We use Trac and both of the two Git plugins -- the GitPlugin as well as the GitWebPlugin. See, we actually have three repositories (long story) and Trac is still limited to a single-repository. So, I wrote my own plugin that defines wiki syntax (Macros actually) for referencing a repository, branch or commit and these link to the GitWebPlugin links. I was also able to write some git hook scripts so that we can reference, close or modify Trac tickets in commit messages -- it's a modified version of the SVN commit hook that comes with Trac.

The main problem with the GitPlugin is that it's slow due to the lack of "libgit" library. It's not bad for small-medium sized projects but large projects are a pain. If you really need a speedy web interface you should really check out Cgit. Cgit makes it's own libgit so it's tied to a particular version of Git.

The truth, however, is that web based views of Git are not that useful except when you want to send someone a link (like in email or IRC). Because with Git you have the full repository in every clone you're much better off using tools like gitk or even plain ol' git log. The queries and grepping capabilities are really amazing and (obviously) fast. I find that Cgit and GitWeb are really only useful for sending links to commits and that's pretty rare.

Pat Notz
  • 208,672
  • 30
  • 90
  • 92
  • 2
    In small teams, one of the things I like about Trac is the timeline view. It is nice to be able to see what changes have been pushed to the main repo. It is often easier to open up the browser and go to the Trac site than to fire up gitk or the console. Often it comes down to driving motivation. – Paul Osborne Mar 09 '09 at 05:06
  • 1
    Good point. The Trac timeline is nice, especially when you can see commits interspersed with ticket updates, wiki edits, etc. Currently, only the GitPlugin (not GitWebPlugin) gives you that level of integration. – Pat Notz Mar 09 '09 at 13:39
  • 4
    Beginning with Trac 0.12, witch has been released on 13-Jun-2010, you're able to add multiple repositories to one Trac environment, even repositories of different kind intermixed. – hasienda Nov 23 '11 at 23:06
7

Tip: A completely different way to get Trac ticketing functionality is ditz.

"Ditz is a simple, light-weight distributed issue tracker designed to work with distributed version control systems like git, darcs, Mercurial, and Bazaar."

Your tickets reside with your code. It's not possible to lose one and have the other; which is a good thing. The Trac-like website is generated by the ditz command-line tool.

I enjoy it.

olleolleolle
  • 1,918
  • 16
  • 20
6

Since this question was asked GitHub now has integrated issue tracking. Somewhat lightweight, but for me that's a bonus.

Will Robertson
  • 62,540
  • 32
  • 99
  • 117
6

we are using GitLab, it's an open source GitHub clone. it has

  1. online code browsing (same as GitHub sliding tree).
  2. Issues Tracking.
  3. Wikis.
  4. Also you can manage the project privileges through it.
Khaled Talaat
  • 61
  • 1
  • 1
5

Assembla provides a wiki, tickets, and other things for free, and allows Github integration. If you don't want to use Github, you can use plain Git with Assembla (with all the goodies you get with any other project).

Pricing is cheap, too ("$2 per team member per month").

strager
  • 88,763
  • 26
  • 134
  • 176
  • I've used Assembla with SVN/Trac before and am glad to see that they have added GIT support. It's not quite what I am looking for but a great suggestion. – Paul Osborne Mar 09 '09 at 05:09
4

For completeness: http://gitorious.org/

qu1j0t3
  • 720
  • 8
  • 15
3

http://mtrack.wezfurlong.org/ simil Trac with Git support

sak
  • 31
  • 1
3

Gitweb can be nice, but it doesn't have integrated ticketing or a wiki or anything like that.

Sophie Alpert
  • 139,698
  • 36
  • 220
  • 238
2

Github's Trac postreceive hook has now been fixed: http://support.github.com/discussions/post-receive-issues/118-trac-service-hook

user395485
  • 21
  • 2
1

By the way with InDefero, you can go the hosted way with 250MB free space and unlimited private/public projects. The hosted option offers Git and Subversion but sadly no Mercurial yet :/

1

I found this when searching the other day, but I have not used it personally yet so I can not vouch for it.

http://www.indefero.net/

Angela
  • 3,050
  • 2
  • 30
  • 37
  • 1
    I tried to install this using MAMP on my Mac OSX. 4 hours later and no joy. Trying to get the dependencies of PEAR/PLUF framework to work with MAMP was a no go for me. Someone please let me know if they figure out how to get MAMP + InDefero to work. :) – program247365 May 10 '09 at 20:16
1

gitweb is great and easy to setup, git gui isn't bad either

Brendon-Van-Heyzen
  • 2,493
  • 2
  • 24
  • 23
0

I run Trac + Perforce, I would keep trying to get the GitPlugin to work.

Shawn
  • 19,465
  • 20
  • 98
  • 152
0

JavaForge also offers free Git hosting with all the features of Trac, plus a lot more.

You can also download and install the software that powers JavaForge, if you want to do the hosting for your projects.

(Disclaimer: the software itself is a commercial product, and we are the company behind it.)

intland
  • 576
  • 1
  • 6
  • 5
-2

This helped out alot http://www.lowendbox.com/blog/running-trac-git-hosting-on-a-low-end-vps/ should get you pointed in the right direction to get things up and running.

  • 2
    Answers which just contain links are [considered bad practice](http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers). Please summarize the content here (don't copy/paste) so the answer can stand on its own. If you don't you run the risk of your answer being removed, especially if the link ever dies. – Martijn Pieters Jun 01 '12 at 08:24