Difference between revisions of "GitInfrastructureComparison"

From OSGeo
Jump to navigation Jump to search
m (add note onwiki)
(→‎Comparison Table: Gogs->Gitea)
 
(43 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
= Comparison Table =
 
= Comparison Table =
 
Moved from https://git.osgeo.org/_gogs_/sac/gogs-service/wiki/Git-services-comparison
 
  
 
This table is aimed at helping to decide which [[SAC:Git_Service|service]] to install on             
 
This table is aimed at helping to decide which [[SAC:Git_Service|service]] to install on             
Line 7: Line 5:
 
                                                                                  
 
                                                                                  
 
The priority of each parameter is not currently defined.
 
The priority of each parameter is not currently defined.
 +
 +
See a list of requirements [[GitServiceRequirement|here]]
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Feature !! Gogs !! GitLab-CE
+
! 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]
 
|-
 
|-
| '''deployed in staging''' || [https://wiki.osgeo.org/wiki/SAC:Gogs YES] || [https://trac.osgeo.org/osgeo/ticket/1651 NO]
+
| security level || || ||  ||
|-                                                                            
+
|-                                                                  
| login via LDAP            ||  YES          ||    YES                        
+
| login via LDAP            ||  YES          ||    YES   ||    YES        || [https://docs.kallithea-scm.org/en/latest/setup.html#setting-up-ldap-support YES]           
 
|-                                                                               
 
|-                                                                               
| LDAP groups sync      ||  NO          ||                                    
+
| LDAP groups sync      ||  NO          ||         ||          ||                     
 
|-
 
|-
| autonomous creation of repositories || YES || YES
+
| autonomous creation of repositories || YES || YES || NO || YES
 
|-
 
|-
| autonomous creation of organizations || YES ||  
+
| autonomous creation of organizations || YES || || NO || YES
 
|-
 
|-
| organization management  ||  YES ([https://discuss.gogs.io/t/how-to-manage-collaborators/87 poor])   ||   YES
+
| organization management  ||  YES ||   YES || NO || YES
 
|-   
 
|-   
| private repositories      ||  YES ([https://github.com/gogits/gogs/issues/2950 no filesystem permission handling]) ||    YES
+
| private repositories      ||  YES ||    YES ||  || YES
 
|-                                                                               
 
|-                                                                               
| external issue tracker    ||  YES ([https://git.osgeo.org/_gogs_/qgis/qgis/commits/25ad0af86cb465a44214944b7a5169d8e55d94eb example])        ||    [https://github.com/gitlabhq/gitlabhq/blob/master/doc/integration/external-issue-tracker.md 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
 
|-                                                                               
 
|-                                                                               
| internal issue tracker    ||  YES          ||    YES                         
+
| 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 trac ||  NO          || [http://eric.van-der-vlist.com/blog/2013/11/06/from-trac-to-gitlab/ YES]     
+
| tool to migrate from github ||            || [http://doc.gitlab.com/ee/workflow/importing/import_projects_from_github.html YES] ||     ||
|-                                                                            
+
|-
| external wiki            ||  YES          ||                                
+
| external wiki            ||  YES          || ||      || tbd                   
 
|-                                                                               
 
|-                                                                               
| internal wiki            ||  YES ([https://github.com/gogits/gogs/issues/2978 edit permissions match code repo ones]) ||    YES (1)
+
| internal wiki            ||  YES (1) ||    YES (1) || YES || NO
 
|-                                                                                                                                                           
 
|-                                                                                                                                                           
| comment issues via mail  ||  NO          ||    [http://doc.gitlab.com/ce/incoming_email/README.html YES]
+
| comment issues via mail  ||  NO          ||    [http://doc.gitlab.com/ce/incoming_email/README.html YES] || YES || YES
 
|-                                                                               
 
|-                                                                               
| PostgreSQL backend        ||  YES          ||    YES                        
+
| PostgreSQL backend        ||  YES          ||    YES || YES          || YES             
 
|-                                                                               
 
|-                                                                               
| Multilanguage            ||  15 languages ||                                
+
| Multilanguage            ||  15 languages || || YES || YES                     
 
|-                                                                               
 
|-                                                                               
| Comments on diff lines    ||  NO          ||    YES                        
+
| Comments on diff lines    ||  NO          ||    YES|| YES (via [https://trac.edgewall.org/wiki/CodeReview plugins]) || YES
 
|-                                                                               
 
|-                                                                               
| Pull requests            ||  YES          || YES  
+
| Pull requests            ||  YES          || YES || NO (?) || YES
 
|-                                                                                     
 
|-                                                                                     
| Webhooks                  ||  [https://gogs.io/docs/features/webhook YES]         ||    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]
 
|-                                                                               
 
|-                                                                               
| Edit 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]
 
|-                                                                               
 
|-                                                                               
| CI                        || external (like [https://github.com/drone/drone/blob/master/remote/gogs/gogs.go drone]) || integrated
+
| tracking of forks        || YES ([https://git.osgeo.org/gitea/postgis/postgis/forks example]) ||         YES || NO || YES
 
|-                                                                               
 
|-                                                                               
| tracking of forks        || YES ([https://git.osgeo.org/_gogs_/postgis/postgis/forks example]) ||         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 wiki permissions match repo ones. GitLab wikis can be accessed through a git repo.
+
* (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.
 +
 
 +
= Other Comparisons =
 +
 
 +
* [http://jbrodriguez.io/gogs-an-alternative-to-gitlab/ Features comparison of Gogs, GitLab, GitHub]
 +
* [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]
  
 
= More about existing software packages =
 
= More about existing software packages =
  
 
See [[GitHostingSoftware]]
 
See [[GitHostingSoftware]]
 +
 +
[[Category:Infrastructure]]

Latest revision as of 04: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