Difference between revisions of "GitInfrastructureComparison"

From OSGeo
Jump to navigation Jump to search
(Created page with "=== '''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:/...")
 
(→‎Comparison Table: Gogs->Gitea)
 
(53 intermediate revisions by 5 users not shown)
Line 1: Line 1:
=== '''GitLab''' ===
+
= Comparison Table =
"You will be running Sidekiq, Unicorn, Nginx, Ruby (plus all its gems)
 
and then Gitlab itself."
 
  
* https://about.gitlab.com/better-than-github/
+
This table is aimed at helping to decide which [[SAC:Git_Service|service]] to install on           
* https://github.com/WebEntity/Installation-guide-for-GitLab-on-OS-X
+
OSGeo machines to provide hosting for OSGeo projects.                          
* https://github.com/gitlabhq/gitlabhq/blob/8-0-stable/doc/instal/installation.md#advanced-setup-tips
+
                                                                               
* https://about.gitlab.com/downloads/
+
The priority of each parameter is not currently defined.
  
 +
See a list of requirements [[GitServiceRequirement|here]]
  
=== '''GOGS''' ===
+
{| class="wikitable"
https://gogs.io/
+
|-
http://jbrodriguez.io/gogs-an-alternative-to-gitlab/
+
! Feature !! Gitea !! GitLab-CE !! Trac !! Kallithea
 +
|-
 +
| '''deployed in staging''' || [[SAC:Gitea|YES]] || [https://trac.osgeo.org/osgeo/ticket/1651 NO] || [https://trac.osgeo.org/ YES] (in use) || NO
 +
|-
 +
| open dev. model || YES || MOSTLY (2) || || [http://sfconservancy.org/ YES]
 +
|-
 +
| security level || || ||  ||
 +
|-                                                                   
 +
| login via LDAP            ||  YES          ||    YES  ||    YES        || [https://docs.kallithea-scm.org/en/latest/setup.html#setting-up-ldap-support YES]           
 +
|-                                                                             
 +
| LDAP groups sync      ||  NO          ||        ||          ||                     
 +
|-
 +
| autonomous creation of repositories || YES || YES || NO || YES
 +
|-
 +
| autonomous creation of organizations || YES || || NO || YES
 +
|-
 +
| organization management  ||  YES ||  YES || NO || YES
 +
|- 
 +
| private repositories      ||  YES ||    YES ||  || YES
 +
|-                                                                             
 +
| external issue tracker    ||  YES ([https://git.osgeo.org/gitea/qgis/qgis/commits/25ad0af86cb465a44214944b7a5169d8e55d94eb example])        ||    [https://github.com/gitlabhq/gitlabhq/blob/master/doc/integration/external-issue-tracker.md YES] || NO || [https://docs.kallithea-scm.org/en/latest/setup.html#integration-with-issue-trackers MIN]
 +
|- 
 +
| automatic mirroring of git repos ||  YES || NO (EE only) ||  ||
 +
|-                                                                                                                             
 +
| internal issue tracker    ||  YES          ||    YES || YES || NO
 +
|-                                                                             
 +
| tool to migrate from trac ||  [https://notabug.org/strk/trac2gogs YES]          || [http://eric.van-der-vlist.com/blog/2013/11/06/from-trac-to-gitlab/ YES] || n/a    || tbd
 +
|-
 +
| tool to migrate from github ||            || [http://doc.gitlab.com/ee/workflow/importing/import_projects_from_github.html YES] ||    ||
 +
|-
 +
| external wiki            ||  YES          ||  ||      || tbd                   
 +
|-                                                                             
 +
| internal wiki            ||  YES (1) ||    YES (1) || YES || NO
 +
|-                                                                                                                                                         
 +
| comment issues via mail  ||  NO          ||    [http://doc.gitlab.com/ce/incoming_email/README.html YES] || YES || YES
 +
|-                                                                             
 +
| PostgreSQL backend        ||  YES          ||    YES || YES          || YES             
 +
|-                                                                             
 +
| Multilanguage            ||  15 languages || || YES || YES                     
 +
|-                                                                             
 +
| Comments on diff lines    ||  NO          ||    YES|| YES (via [https://trac.edgewall.org/wiki/CodeReview plugins]) || YES
 +
|-                                                                             
 +
| Pull requests            ||  YES          || YES || NO (?) || YES
 +
|-                                                                                   
 +
| Webhooks                  ||  YES          ||    YES || || tbd
 +
|-                                                                             
 +
| Edit GIT hooks            ||  YES (only for enabled users) || || || [http://docs.kallithea-scm.org/en/latest/api/models.html#kallithea.model.scm.ScmModel.install_git_hooks YES]
 +
|-                                                                             
 +
| CI                        ||  external (like [https://github.com/drone/drone/tree/master/remote/gitea drone]) || integrated || YES ([https://bitten.edgewall.org/ plugin]) || [http://docs.kallithea-scm.org/en/latest/api/models.html YES]
 +
|-                                                                            
 +
| tracking of forks        || YES ([https://git.osgeo.org/gitea/postgis/postgis/forks example]) ||        YES || NO || YES
 +
|-                                                                             
 +
| download area              || NO (but annotated tags become downloadable packages) ||  YES (3)    || NO ||
 +
|-
 +
| '''static web pages'''    || NO || [http://doc.gitlab.com/ee/pages/README.html NO] || NO || [https://wiki.osgeo.org/wiki/GitHostingSoftware#Kallithea YES]
 +
|-
 +
| ticket reply by mail      || NO ||  || YES (via [https://trac.osgeo.org/osgeo/ticket/897 plugin]) ||
 +
|}
  
 +
* (1) : GitLab and [https://github.com/gogits/gogs/issues/2978 Gitea] wiki permissions match repo ones. GitLab and Gitea wikis can be accessed through a git repo.
 +
* (2) : GitLab's development process is subject to discussion and subjective opinions. Be careful when stating a definite answer to this question. You can read [https://about.gitlab.com/2016/01/11/being-a-good-open-source-steward/ here] and also [https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/1106 here] and [https://news.ycombinator.com/item?id=10923747 there] with your trollometer on.
 +
* (3) : GitLab allows to add release notes to git tags. Release notes are Markdown text, and you can attach files to it, resulting in a download area much like github's release area.
  
=== '''Github.com''' ===
+
= Other Comparisons =
default
 
 
  
=== '''Kallithea''' ===
+
* [http://jbrodriguez.io/gogs-an-alternative-to-gitlab/ Features comparison of Gogs, GitLab, GitHub]
https://kallithea-scm.org/
+
* [https://ethercalc.org/choose-the-git-host.html Choose the git host] comparison table for [https://notabug.org/NotABug.org/notabug/issues/25#issuecomment-3783 notabug.org]
https://en.wikipedia.org/wiki/Kallithea_%28software%29
 
  
 +
= More about existing software packages =
  
=== '''cgit''' ===
+
See [[GitHostingSoftware]]
* 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 ===
+
[[Category:Infrastructure]]
* 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
 
 
 
''twentyafterfour from wikimieda-labs'':
 
 
 
our phabricator accepts ldap logins plus oauth;
 
phabricator might still be a decent way of managing your repositories. It's essentially the same thing as gitolite but with a lot more automation around account management, key management and hooks...
 
you have to deal with account management yourself, phabricator integrates all of that into one package (which can still be somewhat automated / integrated with other tools)
 
 
 
 
 
=== '''gitolite''' ===
 
''twentyafterfour from wikimieda-labs'':
 
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
 
 
 
 
 
''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
 
 
 
 
 
 
 
=== '''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/
 
 
 
 
 
 
 
''Other Links''
 
* https://wiki.osgeo.org/wiki/SAC
 
* 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://github.com/Soullivaneuh/trac2gitlab
 
* https://discuss.gogs.io/t/how-to-manage-collaborators/87
 
 
 
 
 
 
==== Other Backend Sites ====
 
* http://git.apache.org/ 
 
''Please contact the infrastructure-dev@apache.org mailing list if you have comments or suggestions regarding this service.''
 
 
 
==== git.osgeo.org ====
 
  https://git.osgeo.org/_gogs_/explore/repos
 
 
 
 
 
 
 
 
 
==== General Attributes ====
 
------------------------------------
 
Implementation Language
 
License
 
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
 

Latest revision as of 05:12, 17 December 2017

Comparison Table

This table is aimed at helping to decide which service to install on OSGeo machines to provide hosting for OSGeo projects.

The priority of each parameter is not currently defined.

See a list of requirements here

Feature Gitea GitLab-CE Trac Kallithea
deployed in staging YES NO YES (in use) NO
open dev. model YES MOSTLY (2) YES
security level
login via LDAP YES YES YES YES
LDAP groups sync NO
autonomous creation of repositories YES YES NO YES
autonomous creation of organizations YES NO YES
organization management YES YES NO YES
private repositories YES YES YES
external issue tracker YES (example) YES NO MIN
automatic mirroring of git repos YES NO (EE only)
internal issue tracker YES YES YES NO
tool to migrate from trac YES YES n/a tbd
tool to migrate from github YES
external wiki YES tbd
internal wiki YES (1) YES (1) YES NO
comment issues via mail NO YES YES YES
PostgreSQL backend YES YES YES YES
Multilanguage 15 languages YES YES
Comments on diff lines NO YES YES (via plugins) YES
Pull requests YES YES NO (?) YES
Webhooks YES YES tbd
Edit GIT hooks YES (only for enabled users) YES
CI external (like drone) integrated YES (plugin) YES
tracking of forks YES (example) YES NO YES
download area NO (but annotated tags become downloadable packages) YES (3) NO
static web pages NO NO NO YES
ticket reply by mail NO YES (via plugin)
  • (1) : GitLab and Gitea wiki permissions match repo ones. GitLab and Gitea wikis can be accessed through a git repo.
  • (2) : GitLab's development process is subject to discussion and subjective opinions. Be careful when stating a definite answer to this question. You can read here and also here and there with your trollometer on.
  • (3) : GitLab allows to add release notes to git tags. Release notes are Markdown text, and you can attach files to it, resulting in a download area much like github's release area.

Other Comparisons

More about existing software packages

See GitHostingSoftware