[Live-demo] [live-demo] Migration to git

Angelos Tzotsos gcpp.kalxas at gmail.com
Wed Apr 22 15:47:32 PDT 2015


Thanks Alex for bringing the git migration topic up again.
Our git-svn mirror (https://github.com/OSGeo/OSGeoLive) has been working 
very well for the last couple of months.
As mentioned in my previous e-mail, I have managed to split a doc git 
repository (with history).
The question is when do we "officially" switch.
Are there any news on OSGeo git hosting options?


On 04/22/2015 06:27 PM, Alex Mandel wrote:
> Perhaps this is time to check in on the plan to migrate the docs to git,
> as that would better enable additional contributors.

On 01/31/2015 08:09 PM, Angelos Tzotsos wrote:
> Hi all,
> We have been discussing this for a couple of years and I think it is 
> time to seriously start considering a strategy for migrating to Git as 
> our source control system [1].
> If someone is unfamiliar with Git, there are great resources online 
> pointing to why we should use Git instead of svn [2] [3] [4].
> Git is a free and open source distributed revision 
> control<http://en.wikipedia.org/wiki/Distributed_revision_control> 
> system with an emphasis on speed, data 
> integrity,^<http://en.wikipedia.org/wiki/Git_%28software%29#cite_note-integrity_goals-7> 
> and support for distributed, non-linear 
> workflows.^<http://en.wikipedia.org/wiki/Git_%28software%29#cite_note-linusGoogleTalk-8> 
> Git was initially designed and developed by Linus Torvalds for Linux 
> kernel<http://en.wikipedia.org/wiki/Linux_kernel> development in 2005, 
> and has since become the most widely adopted version control system 
> for open source software 
> development.<http://en.wikipedia.org/wiki/Git_%28software%29#cite_note-ianskerrett.wordpress.com-9>
> Many people tend to confuse Git with GitHub [5] which is an excellent 
> code collaboration service (most open source projects use it today, 
> even Linux kernel keeps a code mirror there) but it is not available 
> under an open source license.
> This is not a problem for us. Git is a distributed source control 
> system, which means that there is no need for a centralized server as 
> in subversion. Every developer has a copy of the whole repository 
> (including history). In order to keep our Subversion-style workflow 
> (store commits to a reference repository), we can use something like 
> GitLab [6] or something even simpler [7] on an OSGeo server to host 
> git repositories. Also, there is an OSGeo GitHub account [8] that we 
> could use as a mirror too...
> Regarding the actual port, I propose that we should do this smoothly:
> 1. Create an OSGeoLive-docs repository (with full svn history)
> 2. Start building our docs as a deb package based on Git repository. 
> The Git repository can be synchronized with our svn for a while until 
> we abandon svn.
> 3. Migrate our translation process to Git or even use excellent 
> translation tools like Transifex [9] (GeoServer and other projects 
> already use it for translations) [10]
> 4. Create an OSGeoLive repository (with svn history, without docs)
> 5. Migrate our iso build scripts to use the Git repositories (with 
> branch and tag support)
> 6. Keep Git and svn synchronized for a while until we abandon svn
> I have already done some work for step 1:
> There is an Git-svn mirror of our docs available here [11].
> In order to be able to accurately hold a git history, we need to 
> provide a name and e-mail for every contributor.
> This is why I have committed this transformation file [12] that I use 
> to rebuild the history on the Git side, so that we can have the 
> complete history of commits [13] (for now I just committed my own 
> details as an example here [14]).
> I would like to ask everyone to add their name and e-mail (that they 
> already use on their Git projects). We could extract this information 
> from our contributors.csv file for you if you don't want to provide 
> this info again.
> Regarding our ticket system, there is a Trac plugin for Git available 
> that we could use [15].
> Resources for the migration can be found here: [16] [17] [18]
> Sorry for the long e-mail.
> Lets have a discussion here before we vote.
> This proposal is for AFTER we release 8.5 final ;)
> Best,
> Angelos
> [1] http://git-scm.com/
> [2] http://git-scm.com/about/
> [3] https://www.youtube.com/watch?v=4XpnKHJAok8
> [4] http://git-scm.com/book/en/v2
> [5] https://github.com
> [6] https://about.gitlab.com/
> [7] https://git.kernel.org/cgit/
> [8] https://github.com/OSGeo
> [9] https://www.transifex.com/
> [10] https://www.transifex.com/projects/p/geoserver/
> [11] https://github.com/kalxas/OSGeoLive-docs
> [12] 
> http://trac.osgeo.org/osgeo/browser/livedvd/gisvm/trunk/doc/contributors-transform-git.txt
> [13] https://github.com/kalxas/OSGeoLive-docs/graphs/contributors
> [14] http://trac.osgeo.org/osgeo/changeset/12235
> [15] http://trac.edgewall.org/wiki/TracGit
> [16] 
> http://git-scm.com/book/en/v1/Git-and-Other-Systems-Git-and-Subversion
> [17] 
> http://stackoverflow.com/questions/79165/migrate-svn-repository-with-history-to-a-new-git-repository
> [18] http://john.albin.net/git/convert-subversion-to-git

Angelos Tzotsos
Remote Sensing Laboratory
National Technical University of Athens

More information about the Osgeolive mailing list