What does HackerNews think of gitolite?

Hosting git repositories -- Gitolite allows you to setup git hosting on a central server, with very fine-grained access control and many (many!) more powerful features.

Language: Perl

Maybe something like gitolite then?

https://github.com/sitaramc/gitolite

I've not used it personally though, so no idea how well it works in practise.

People also forget about Gitolite, which provides lightweight shared access control around Git+SSH+server-repos. For me it's a much simpler alternative than systems with a heavyweight web UI. Although to be honest I don't know whether Gitolite handles SHA256 hashes (I've never tested it).

https://gitolite.com

https://github.com/sitaramc/gitolite

Very true and the search engines are to be blamed as well.

Recently, I was searching for a Git - fork project (i.e. a project forked from git itself) which allowed separate machine based accounts for Git branches. It was quite famous, I had used it about 4 years back and I don't remember its name now.

Now, this is the worst case scenario for the search engines -

• 'git fork project' would bring numerous github forked projects.

• 'git original source' would bring the mirror of git in github, but then again there are hundreds of fork.

After, lot of time spent on this in vain, I gave up.

UPDATE: While writing this comment I remembered the USP of that project was 'Branch specific permissions', so I gave a fresh attempt at finding it and I did via SO! It's Gitolite[1].

[1]https://github.com/sitaramc/gitolite

Coming from a custom Gitolite [0] setup where I was able to protect branches and reject commits and do other basic or complex stuff with ease, GitHub looks like a joke. Their "improved" permissioning made me laugh. It doesn't even show signed commits, tags, and branches! Simply put, I like the "Hub", I hate the "Git" in GitHub.

[0] https://github.com/sitaramc/gitolite

If you want free Git hosting, you can DIY with Gitlab [1] if you want a web-based GUI like Github's.

If you prefer command-line usage, I'd recommend Gitolite [2]. It allows you to give people access to git and only git (as opposed to git's built-in system, which requires granting ssh shell access); and it only uses one OS-level user/group regardless of how many people it's managing.

Either of the above solutions are for your compsci professors who are clued-in enough to be comfortable with CLI in general and Git in particular.

If you're trying to give files to technically clueless humanities professors, I'd suggest only using Git privately, to develop your paper or whatever, then using a plain old email attachment, or hosting on an HTTP server, to submit the assignment. Or going really old-school by printing out an old-fashioned dead-tree hardcopy.

Of course, all of these solutions (except email attachments and printouts) require running your own server, which is actually a great learning experience. I'd recommend prgmr.com for hosting; their smallest plans should be able to fit even an undergrad's budget, and you have full root access to your (Xen VM) system, so you can do all kinds of fun and exotic experiments. It's not necessary for basic usage, but you can install any version of any Linux distro, use LVM, even use a custom-compiled kernel or FreeBSD (the only requirement is guest Xen patches). It's great because if you have problems, they give you access to an ssh-based out-of-band console, rebooter, and rescue image so you can fix them yourself. (By contrast, many other hosts require you to make changes through some half-baked web UI that lacks half the tools you need, require you to install only approved distros and only do OS upgrades on an approved schedule, and require you to file tickets with lengthy turnaround times and/or fees in order to do the most routine troubleshooting or maintenance tasks.)

Disclaimer: My only relationship with prgmr.com is that I've been their hosting customer for a long time (and very happy with them given the nonsense I've had to put up with from other hosts, in case you couldn't figure that part out from my above rant).

My only relationship with Gitolite is a project user. (I've created and maintained three small-scale Gitolite installations.)

I haven't used Gitlab, but I've heard good things about it.

[1] http://news.ycombinator.com/item?id=4957145

[2] https://github.com/sitaramc/gitolite

If you want private repo hosting on the cheap, I would suggest using Gitolite [1] on a VPS [2].

The current version includes self-service key management, regular users are able to create repos in their own namespace, and easy forking of repositories. It's extensible, you can write your own commands in any language.

Granted, it has minuses. It only has a command line interface (no GUI), requires a little setup and editing of configuration files and reading of docs.

[1] https://github.com/sitaramc/gitolite

[2] http://prgmr.com/

I agree -- I have too many repos I'd like to keep private to host them on github, but would love to if I could.

I'm currently paying for a prgmr instance just to run gitolite (https://github.com/sitaramc/gitolite) so I could have a private place to store remotes for my repos. I'm planning to move to bitbucket immediately.

The killer feature of codeplane is cheap shared private git repositories. If you are the only person using your git repo, there is no reason you wouldn't store your remote on some random webhost (you can do this at http://nearlyfreespeech.net for essentially free).

If you want to collaborate with this setup, you would need to create a system-level account for every collaborator on your VPS (ugly) or install something like gitolite (https://github.com/sitaramc/gitolite).

The downside to gitolite is then you are running your own VPS, i.e. are responsible for security, updates, config, etc. It seems codeplane takes care of all the nonsense for you so you can get on with your real project.

As someone who had to set up gitolite because of this exact need, I can attest to the need for a service like codeplane.

You can set something like this up on any VPS with gitolite (https://github.com/sitaramc/gitolite) pretty easily. gitolite lets you set up very fine-grained per-user/repo/branch permissions, manage your users' SSH keys, and gives you nice clean [email protected]:repo-name access to your remotes.

I've done this for myself with a $48/year VPS from prgmr.com specifically because I needed more private repos than Github could offer (my setup instructions are here: https://gist.github.com/1035834).

Granted, if codeplane.com existed six months ago I probably wouldn't have bothered with gitolite. It appears they do nice things for you like backups.

No matter how often you want to review code, I think it could work for your team like this:

- dev works on a feature branch, making multiple commits and pushes

- once ready, squash all the commits and submit it to gerrit

[- perhaps have hudson/jenkins run the unit tests at this point automatically]

- have the code review in gerrit

- once the review is done, gerrit would merge it into the develop or master branch (depending on your git workflow)

That approach blends in nicely with git-flow (1). If you want to be sure that no single dev is pushing to the develop or master branches you'd need to setup per-branch permissions, which can be done with gitolite (2). Too bad github (even the self-hosted version) doesn't support per-branch permissions, which forces organizations that use it and only want gerrit to be able to push into the main branch to do excessive repo forking instead of using feature branches. Also I'd love to be able to do ad-hoc code reviews in github, as the interface is the most beautiful of all imo.

[1] http://nvie.com/posts/a-successful-git-branching-model/, https://github.com/nvie/gitflow, http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flo...

[2] https://github.com/sitaramc/gitolite

Gitosis is indeed pretty good, but I've recently found better and migrated to gitolite: https://github.com/sitaramc/gitolite

The flexibility is pretty neat. Being able to do brach-based ACL in particular is killer for some environments and larger teams.