Difference between revisions of "GitHostingSoftware"

From OSGeo
Jump to navigation Jump to search
m (Reverted edits by Wiki-Darkblue b (talk) to last revision by Strk)
Tag: Rollback
 
(74 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
Some info to help with comparing git hosting software packages.
 
Some info to help with comparing git hosting software packages.
 
See [[GitInfrastructureComparison]]
 
See [[GitInfrastructureComparison]]
 +
 +
== Git Server Software ==
 +
 +
=== '''GOGS''' ===
 +
https://git.osgeo.org/gogs/ (main instance)
 +
 +
* 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
 +
* https://notabug.org -- community hosted git repositories
 +
 +
=== '''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''' ===
 
=== '''GitLab''' ===
"You will be running Sidekiq, Unicorn, Nginx, Ruby (plus all its gems)  
+
 
and then Gitlab itself."
+
https://git.osgeo.org/gitlab/ (main instance)
 +
 
 +
“You will be running Sidekiq, Unicorn, Nginx, Ruby (plus all its gems)  
 +
and then Gitlab itself.
  
 
* https://about.gitlab.com/better-than-github/
 
* https://about.gitlab.com/better-than-github/
Line 12: Line 35:
 
* https://about.gitlab.com/downloads/
 
* https://about.gitlab.com/downloads/
  
 +
=== '''Kallithea''' ===
 +
* https://kallithea-scm.org/
 +
* https://en.wikipedia.org/wiki/Kallithea_%28software%29
  
=== '''GOGS''' ===
+
'''Q.''' can Kallithea add "static web pages" .. (perhaps with the "Apache sub-directory" setup?)
https://gogs.io/
 
http://jbrodriguez.io/gogs-an-alternative-to-gitlab/
 
 
 
 
 
=== '''Github.com''' ===
 
default
 
 
 
 
=== '''Kallithea''' ===
 
https://kallithea-scm.org/
 
https://en.wikipedia.org/wiki/Kallithea_%28software%29
 
  
 +
''andrewsh on #kallithea:''
 +
technically, there's <code>kallithea/public</code> directory, which you can put stuff into; it's just a directory where static files go if you use <code>static_files = true</code>, it's around line 59 in <code>kallithea/config/envirorment.py</code>, otherwise it's in your webserver's configuration. You can link that to the web interface using '''"Analytics"''' setting, there you can type there random HTML or JS stuff to modify the DOM whatever way you like.
  
 
=== '''cgit''' ===
 
=== '''cgit''' ===
Line 38: Line 55:
 
* https://gitbucket.github.io/gitbucket-news/about/
 
* https://gitbucket.github.io/gitbucket-news/about/
 
* https://gitbucket.github.io/gitbucket-news/
 
* https://gitbucket.github.io/gitbucket-news/
 +
 +
GitHub.com issues UI infringement [https://gitbucket.github.io/gitbucket-news/gitbucket/2016/03/20/change-user-interface.html warning]
  
 
=== '''gitblit''' - JVM ===
 
=== '''gitblit''' - JVM ===
Line 47: Line 66:
 
* https://phabricator.wikimedia.org/T117071#2200208
 
* https://phabricator.wikimedia.org/T117071#2200208
  
''twentyafterfour from wikimedia-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''' ===
 
=== '''gitolite''' ===
''twentyafterfour from wikimdia-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
 
  
 +
* http://gitolite.com/gitolite/index.html
  
=== '''gitblit''' ===
 
''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
 
  
 
=== '''Apache Allura''' ===
 
=== '''Apache Allura''' ===
Line 68: Line 77:
  
  
 +
=== '''Misc''' ===
  
 
''Other Links''
 
''Other Links''
 +
* https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools
 +
* http://gitolite.com/index2.html
 
* https://wiki.osgeo.org/wiki/SAC
 
* 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://github.com/Soullivaneuh/trac2gitlab
* https://discuss.gogs.io/t/how-to-manage-collaborators/87
 
 
  
 +
''YA Feature Comparison Page''
 +
* https://en.wikipedia.org/wiki/Comparison_of_source_code_hosting_facilities
 +
 +
== FOSS dot-org Git Implementations ==
 +
 +
=== Apache Foundation Git ===
 +
* http://git.apache.org/
 +
* https://git-wip-us.apache.org/#git-at-apache
  
==== 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.''
 
''Please contact the infrastructure-dev@apache.org mailing list if you have comments or suggestions regarding this service.''
  
==== git.osgeo.org ====
+
Apache Software Foundation (ASF) infrastructure  has [http://www.apache.org/history/timeline.html 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 [http://people.apache.org/phonebook.html?unix=committers '''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 [https://www.apache.org/foundation/records/990-2013.pdf 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, <code>xml</code> 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:
 +
<code>https://anonscm.debian.org/cgit/</code> '''30,000''' entries among four hundred eighty catagories.
 +
 
 +
Various ways to address content via URL:
 +
* Project ''pkg-grass'' <code>https://anonscm.debian.org/cgit/pkg-grass</code>
 +
* Project ''qa'' Package <code>https://anonscm.debian.org/cgit/qa/debsources.git/</code>
 +
* Package Group <code>https://anonscm.debian.org/cgit/pkg-gnupg</code>
 +
* Package <code>https://anonscm.debian.org/cgit/pkg-gnupg/gnupg2.git/</code>
 +
* Username <code>https://anonscm.debian.org/cgit/users/eric/gnupg2.git/</code>
 +
 
 +
gitweb Repository Browser Example:
 +
<code>Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-gnutls/libgcrypt.git;a=shortlog;h=refs/heads/branch1.6</code>
 +
 
 +
[https://alioth.debian.org/ Alioth.debian.org] is a Debian server running [http://fusionforge.org/ FusionForge]  [https://wiki.debian.org/Alioth WIKI] Git endpoints are integrated under Alioth ''(how? - see debsources above)''
 +
 
 +
Debian [https://anonscm.debian.org/cgit/pkg-grass '''pkg-grass'''] is maintained largely by  <code>sebastic</code> Debian Developer (DD)
 +
* https://qa.debian.org/developer.php?login=sebastic%40debian.org
 +
 
 +
pkg-grass git branch guidelines  https://pkg-grass.alioth.debian.org/policy/repositories.html#git-branches
 +
 
 +
=== Kernel dot org Git ===
 +
 
 +
05Mar2015 -- Linux Foundation System Administrator Konstanin Ryabitsev mentions '''gitolite''' and '''cgit'''  [https://www.linux.com/blog/15-questions-kernelorg-sysadmin-konstantin-ryabitsevs-reddit-ama 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 [https://gerrit.wikimedia.org gerrit.wikimedia.org] and '''gitblit''' for [https://git.wikimedia.org/ 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
 +
 
 +
 
 +
=== Openstreetmap Internal Git ===
 +
 
 +
http://git.osm.org
  
https://git.osgeo.org/_gogs_/explore/repos
+
https://git.openstreetmap.org/
  
all three versions fetch the same repository
 
  git clone git://git.osgeo.org/geos # under construction
 
  git clone https://git.osgeo.org/git/geos # works
 
  git clone https://git.osgeo.org/_gogs_/geos/geos # works
 
  
==== General Attributes ====
+
=== Libre Office Git ===
------------------------------------
 
Implementation Language
 
License
 
Resource Usage
 
  
 +
https://gerrit.libreoffice.org
  
 +
Developer Wiki page:  https://wiki.documentfoundation.org/Development
  
==== Common Features ====
+
== General Attributes of Git Hosts ==
 
------------------------------------
 
------------------------------------
Dashboard & File Browser
+
* Implementation Language
Issue Tracking, Milestones & Commit keywords
+
* License
Organizations support
+
* Machine Resource Usage
Wiki
 
Code Review
 
GIST
 
Web Hooks
 
  
 +
==== 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
  
==== Feature Comparison ====
+
 
------------------------------------
+
[[Category:Infrastructure]]
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 01:32, 20 April 2021

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

Git Server Software

GOGS

https://git.osgeo.org/gogs/ (main instance)

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

https://git.osgeo.org/gitlab/ (main instance)

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

Kallithea

Q. can Kallithea add "static web pages" .. (perhaps with the "Apache sub-directory" setup?)

andrewsh on #kallithea: technically, there's kallithea/public directory, which you can put stuff into; it's just a directory where static files go if you use static_files = true, it's around line 59 in kallithea/config/envirorment.py, otherwise it's in your webserver's configuration. You can link that to the web interface using "Analytics" setting, there you can type there random HTML or JS stuff to modify the DOM whatever way you like.

cgit

gitbucket - JVM

GitHub.com issues UI infringement warning

gitblit - JVM

Phabricator + Diffusion


gitolite


Apache Allura


Misc

Other Links

YA Feature Comparison Page

FOSS dot-org Git Implementations

Apache Foundation Git

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, xml 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: https://anonscm.debian.org/cgit/ 30,000 entries among four hundred eighty catagories.

Various ways to address content via URL:

gitweb Repository Browser Example: Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-gnutls/libgcrypt.git;a=shortlog;h=refs/heads/branch1.6

Alioth.debian.org is a Debian server running FusionForge WIKI Git endpoints are integrated under Alioth (how? - see debsources above)

Debian pkg-grass is maintained largely by sebastic Debian Developer (DD)

pkg-grass git branch guidelines https://pkg-grass.alioth.debian.org/policy/repositories.html#git-branches

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


Openstreetmap Internal Git

http://git.osm.org

https://git.openstreetmap.org/


Libre Office Git

https://gerrit.libreoffice.org

Developer Wiki page: https://wiki.documentfoundation.org/Development

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