As our company would never let a third party like github anywhere near our source code, is anyone aware of any software or setup guides or blogs on how to setup a scm server like github, ie it would support
- Creation of repostories using a web interface
- Limiting/managing user access to individual repositories
- Browsing repositories online
If I can get this going I can see a potential mass migration from svn/cvs to git. (The only stumbling block I can see will be the windows Tortise SVN users having difficulty with the Git windows alternatives)
There are a few open source git hosting software / forges: both Gitorious (in Ruby) and InDefero (in PHP) have freely available source. The code used to manage repositories by repo.or.cz is also open-source and freely available as Girocco.
There is GitHub:FI “self-hosted” version of GitHub software… but it is proprietary and expensive.
There are even more git web interfaces: gitweb (in Perl, distributed with Git), cgit (in C, offers caching), git-php and GitPHP and ViewGit (all in PHP), Ginatra (in Ruby, uses Sinatra framework). A few more can be found at InterfacesFrontendsAndTools page on git wiki.
GitHub:FI is an “inside-the-firewall” edition of GitHub, and very slick. It’s also a lot easier to install than gitorious. The downside is, it’s very expensive. We looked but had to pass.
We opted for gitosis for repository management with github for browsing. The one thing it lacks is the ability to create a repository using a web interface, although I suspect that could be cobbled together.
I’m not sure what you are looking for but you might not need a web interface.
You could also create a linux server and run git-deamon on it. Then you could use ssh to restrict user access. It is also possible to just create a network share and rescrict access that way.
There are lots of web interfaces for browsing, but I have found none that would run on window out-of-the-box, that could also create/modify a repositorie. A lot of the web interfaces just won’t work in windows. Or maybe I didn’t looked hard enough… As mentioned before InterfacesFrontendsAndTools is a great source to start looking.
The only stumbling block I can see will be the windows Tortise SVN users having difficulty with the Git windows alternatives
Try GitExtensions, it is very easy.
I tested my self on a virtual machine GitLab Community Edition
It works great. It is free (with some limitations).
I found GitLab to be very very very resources hungry. Officially, you should have 4 GB of RAM, just to get started. This is not an option for a small virtual server.
Therefore, I recommend GitList, where you may even contribute yourself, if needed.
Use Gogs. It’s a lightweight git server with web interface written in Go language. It looks like a github clone, but not at all. There is an internal bugtracker and wiki, but they can be replaced by external in settings. Take a look at it.