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.
The Git workflow is similar to SVN, but with an extra step: to create a new feature, you take an exact copy of the central repository to create your local repository on your local machine (you can think of this as your “local trunk”).
Mercurial (hg) is probably the most well-known and popular Git alternative. Like Git, it is a distributed VCS.
SVN is better than Git for architecture performance, binary files, and usability. And it may be better for access control and auditability, based on your needs.
Git can be classified as a tool in the "Version Control System" category, while Git-Repo is grouped under "Git Tools". Git and Git-Repo are both open source tools. It seems that Git with 28.2K GitHub stars and 16.3K forks on GitHub has more adoption than Git-Repo with 802 GitHub stars and 67 GitHub forks.
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).
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With