GitHostingSoftware

Some info to help with comparing git hosting software packages. See GitInfrastructureComparison

GOGS

 * https://gogs.io/
 * http://jbrodriguez.io/gogs-an-alternative-to-gitlab/
 * https://git.osgeo.org/_gogs_/org/sac/teams/gogs-service-writers
 * https://github.com/gogits/go-gogs-client
 * https://discuss.gogs.io/t/how-to-manage-collaborators/87

Github.com
https://github.com/osgeo

Dev-Info: https://developer.github.com/v3/ https://developer.github.com/v3/#authentication https://developer.github.com/webhooks/

GitLab
“You will be running Sidekiq, Unicorn, Nginx, Ruby (plus all its gems) and then Gitlab itself.”


 * https://about.gitlab.com/better-than-github/
 * https://github.com/WebEntity/Installation-guide-for-GitLab-on-OS-X
 * https://github.com/gitlabhq/gitlabhq/blob/8-0-stable/doc/instal/installation.md#advanced-setup-tips
 * https://about.gitlab.com/downloads/

Kallithea

 * https://kallithea-scm.org/
 * https://en.wikipedia.org/wiki/Kallithea_%28software%29

cgit

 * https://git.zx2c4.com/cgit/
 * https://wiki.archlinux.org/index.php/Cgit#Configuration_of_Cgit
 * http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
 * https://git.gnome.org/browse/
 * https://anonscm.debian.org/git/
 * https://sources.debian.net/stats/

gitbucket - JVM

 * https://gitbucket.github.io/gitbucket-news/about/
 * https://gitbucket.github.io/gitbucket-news/

gitblit - JVM

 * http://gitblit.com/

Phabricator + Diffusion

 * https://secure.phabricator.com/book/phabricator/article/installation_guide/
 * https://secure.phabricator.com/book/phabricator/article/diffusion/
 * https://phabricator.wikimedia.org/T117071#2200208

gitolite

 * http://gitolite.com/gitolite/index.html

Apache Allura

 * https://forge-allura.apache.org/docs/getting_started/installation.html#step-by-step-installation
 * https://forge-allura.apache.org/p/allura/wiki/Feature%20Comparison/

Misc
Other Links
 * https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools
 * http://gitolite.com/index2.html
 * https://wiki.osgeo.org/wiki/SAC
 * https://github.com/Soullivaneuh/trac2gitlab

YA Feature Comparison Page
 * https://en.wikipedia.org/wiki/Comparison_of_source_code_hosting_facilities

Apache Foundation Git

 * http://git.apache.org/
 * https://git-wip-us.apache.org/#git-at-apache

Please contact the infrastructure-dev@apache.org mailing list if you have comments or suggestions regarding this service.

Apache Software Foundation (ASF) infrastructure has evolved over more than a decade, with several major internal revisions, leading to the current implementations. ASF infrastructure design has concepts of mirrors (sites) and committers (people) built-in throughout. The ability of an ASF project to semi-autonomously create its own repositories and web presence, which then benefits from shared authentication, backup and other infrastructure services, is fundamental. Core servers were BSD and Solaris as well as Linux; small tools are often bash, perl, xslt and others; substantial backend engines are often implemented in java.

The 2013 U.S. Form 990 lists gross income for the ASF as $1.1 million, with $489k spent on infrastructure maintenance and development.

Guidelines for New Project Steering Committee Members: http://www.apache.org/dev/pmc.html#newcommitter http://www.apache.org/dev/pmc.html#SVNaccess

This tool is part of the committers-to-permissions chain: https://svn.apache.org/repos/asf/infrastructure/site/trunk/people/keys-fetch.py https://svn.apache.org/repos/asf/infrastructure/site/trunk/people/keys-README https://people.apache.org/keys/committer/

An example of an early 2000's era,  process to auto-generate sites with permissions: https://svn.apache.org/repos/asf/infrastructure/site-tools/trunk/projects/HowItWorks

Misc ASF entrypoint: https://svn.apache.org/repos/infra/infrastructure/trunk/projects/whimsy/www/secretary/workbench/worklist.cgi

ref: https://mail-archives.apache.org/mod_mbox/

A 2009 Infastructure Incident Report: https://blogs.apache.org/infra/entry/apache_org_downtime_initial_report

Debian Project Git
The Debian Project hosts extensive, custom-built project and package infrastructure including a comprehensive git interface using cgit, replacing an earlier gitweb system (when?).

cgit Browser:

gitweb Repository Browser Example:

Kernel dot org Git
05Mar2015 -- Linux Foundation System Administrator Konstanin Ryabitsev mentions gitolite and cgit LINK

https://git.kernel.org/cgit/ https://git.wiki.kernel.org/index.php/Main_Page

Wikimedia Foundation Git
twentyafterfour on #wikimedia-labs: phabricator might still be a decent way of managing your repositories; our phabricator accepts LDAP logins plus OAuth. It's essentially the same thing as gitolite but with a lot more automation around account management, key management and hooks. Phabricator integrates all of that into one package (which can still be somewhat automated / integrated with other tools) Gitolite likely doesn't support LDAP; certainly a lot lighter weight than Phab stack, if you are comfortable with perl and don't mind doing a bit of integration work; you have to deal with account management yourself.

mutante on #wikimedia-devtools says: we currently use gerrit for code review gerrit.wikimedia.org and gitblit for git.wikimedia.org. Things are being migrated to phabricator.wikimedia.org though diffusion. You are in the right channel. You can git clone all of our server configs btw. it's a puppet repo and all public. you might also be interested in wikitech.wikimedia.org, our labs environment where you can get free virtual machines to test things

General Attributes of Git Hosts

 * Implementation Language
 * License
 * Machine Resource Usage

Common Features

 * Dashboard & File Browser
 * Issue Tracking, Milestones & Commit keywords
 * Organizations support
 * Wiki
 * Code Review
 * GIST
 * Web Hooks

Feature Comparison

 * login via LDAP
 * private repositories
 * external issue tracker
 * internal issue tracker
 * tool to migrate from trac
 * external wiki
 * internal wiki
 * organization management
 * comment issues via mail
 * PostgreSQL backend
 * Multilanguage
 * Comments on diff lines
 * Pull requests
 * Webhooks
 * CL
 * tracking of forks