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

Angelos Tzotsos gcpp.kalxas at gmail.com
Thu May 14 16:08:41 PDT 2015


Hi all,

In today's meeting, our move from subversion to git was decided.
Starting from now, we would like to ask everyone not to commit anything 
to svn (we cannot make svn read-only, since it is used for other OSGeo 
activities). Anything committed to svn from now on, might be lost.

Within the next couple of weeks we will make the transition to git. This 
will include separate repositories for docs and scripts.

Our subversion mirror on GitHub is frozen and renamed to OSGeoLive-svn. 
It is not going to be the official repository, so please do not fork, or 
use it in any way. If you have already forked it, you will need to 
delete and fork the new repository, when that is available.

We will soon post migration results so we can review the history for any 
issues.
Next week we will decide on the next steps.

Best,
Angelos


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
http://users.ntua.gr/tzotsos




More information about the Osgeolive mailing list