Changes between Initial Version and Version 1 of GitMigration


Ignore:
Timestamp:
Jan 26, 2019, 3:01:41 PM (5 years ago)
Author:
sbl
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GitMigration

    v1 v1  
     1= Migrating GRASS code repository from SVN to git =
     2
     3== Background and aims ==
     4
     5SVN has served the GRASS project well as a version control system for
     6numberous years now. The project has estabished routines and infrastructure
     7(code repository, ticketing system, developer wiki) connected to SVN.
     8However, with an increasing number of Open Source developers using git
     9(and here especially the success of github), interest in moving from SVN
     10to git has been expressed.
     11
     12Reasons to consider moving from SVN to git are to:
     13* increase the number of contributers and thus contributions due of the popularity of git
     14* make features and functionality of git available for developing GRASS and thus
     15* make the current GRASS developers happy that prefer git (even if git can already be used against SVN: https://trac.osgeo.org/grass/wiki/HowToMaintainGrassWorkflowUsingGit)
     16
     17Other OSGeo projects already moved (even if some only partly)
     18* GDAL moved to github (https://trac.osgeo.org/gdal/wiki/rfc71_github_migration)
     19* QGIS has been on github for a while already ()
     20* GEOS seems to be on gitea (provided by OSGeo)
     21* ...
     22
     23See e.g.:
     24https://git.osgeo.org/gitea/strk/trac2gogs
     25
     26Like other OSGeo projects GRASS has already a git-mirror-repository for CI:
     27* https://github.com/GRASS-GIS  (used for Travis CI, in sync)
     28In addition GRASS has a team within the OSGeo organisation on github.com:
     29* https://github.com/orgs/OSGeo/teams/grass-gis
     30
     31Possible migration of GRASS code to git has been discussed at community
     32sprints in 2017 and 2018. At the community Sprint in Bonn 2018 first tools
     33for moving content from trac (SVN) to git were developed (mainly by Martin Landa):
     34https://trac.osgeo.org/grass/browser/grass-addons/tools/svn2git?order=name
     35
     36
     37== Choosing a git plattform ==
     38
     39Moving to git involves the question which git platform to move to. So, in
     40addition to technical work, strategical decisions have to be made.
     41
     42=== Available options ===
     43
     44Most common options / git platforms are:
     45* github (still the most popular, yet proprietary, system with online hosting service)
     46* gitlab (another plattform with online hosting service and increasing popularity esp. after Microsoft bought github)
     47* bitbucket (another popular plattform with online hosting service)
     48* gitea/gogs ("painlessly selfhosted" plattform, hosted by OSGeo SAC)
     49
     50Yet, there are plenty of other options:
     51https://wiki.osgeo.org/wiki/GitHostingSoftware
     52
     53And there are several comparisons of available git platforms available online:
     54https://wiki.osgeo.org/wiki/GitInfrastructureComparison
     55https://ethercalc.org/choose-the-git-host.html
     56
     57=== Requirements and criteria ===
     58
     59Anyway, a first step in order to chose from the available options is to define a
     60list of criteria (here requirements and features) of the git platform to
     61move to. For OSGeo a list of requirements has been compiled:
     62https://wiki.osgeo.org/wiki/GitServiceRequirement
     63Yet, that list does not necessarily reflect all or the most important
     64requirements of the GRASS project and the motivation for moving to git...
     65
     66
     67* Sign in using OSGeo Userid
     68* Autonomously create and manage teams
     69* Autonomously create and manage repositories
     70* Create private repositories (for software vulnerability testing, etc.)
     71* Import tickets from Trac
     72* Import tickets from Redmine
     73* Comment tickets via email
     74* Comment/close tickets via commit log
     75* SVN->GIT sync - (Mirroring existing SVN repository) see:/ticket/1654
     76* Integration with CI service (hosted eg. Travis CI, AppVeyor, GitLab CI), self-hosted (eg. Buildbot, ?))
     77* ... (Please add)
     78
     79
     80== Next steps ==
     81
     82Prepare a PSC decision e.g. with a user/developer survey?