<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi all,<br>
    <br>
    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].<br>
    If someone is unfamiliar with Git, there are great resources online
    pointing to why we should use Git instead of svn [2] [3] [4].<br>
    <br>
    Git is a free and open source distributed revision control<a
      href="http://en.wikipedia.org/wiki/Distributed_revision_control"
      title="Distributed revision control"></a> system with an emphasis
    on speed, data integrity,<sup id="cite_ref-integrity_goals_7-0"
      class="reference"><a
href="http://en.wikipedia.org/wiki/Git_%28software%29#cite_note-integrity_goals-7"><span></span></a></sup>
    and support for distributed, non-linear workflows.<sup
      id="cite_ref-linusGoogleTalk_8-0" class="reference"><a
href="http://en.wikipedia.org/wiki/Git_%28software%29#cite_note-linusGoogleTalk-8"><span></span></a></sup>
    Git was initially designed and developed by Linus Torvalds for Linux
    kernel<a href="http://en.wikipedia.org/wiki/Linux_kernel"
      title="Linux kernel"></a> development in 2005, and has since
    become the most widely adopted version control system for open
    source software development.<a
href="http://en.wikipedia.org/wiki/Git_%28software%29#cite_note-ianskerrett.wordpress.com-9"><span></span></a><br>
    <br>
    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.<br>
    <br>
    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...<br>
    <br>
    Regarding the actual port, I propose that we should do this
    smoothly:<br>
    <br>
    1. Create an OSGeoLive-docs repository (with full svn history) <br>
    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.<br>
    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]<br>
    4. Create an OSGeoLive repository (with svn history, without docs)<br>
    5. Migrate our iso build scripts to use the Git repositories (with
    branch and tag support)<br>
    6. Keep Git and svn synchronized for a while until we abandon svn<br>
    <br>
    I have already done some work for step 1:<br>
    There is an Git-svn mirror of our docs available here [11].<br>
    In order to be able to accurately hold a git history, we need to
    provide a name and e-mail for every contributor.<br>
    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]).<br>
    <br>
    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.<br>
    <br>
    Regarding our ticket system, there is a Trac plugin for Git
    available that we could use [15].<br>
    Resources for the migration can be found here: [16] [17] [18]<br>
    <br>
    Sorry for the long e-mail. <br>
    Lets have a discussion here before we vote.<br>
    <br>
    This proposal is for AFTER we release 8.5 final ;)<br>
    <br>
    Best,<br>
    Angelos<br>
    <br>
    [1] <a class="moz-txt-link-freetext" href="http://git-scm.com/">http://git-scm.com/</a><br>
    [2] <a class="moz-txt-link-freetext" href="http://git-scm.com/about/">http://git-scm.com/about/</a><br>
    [3] <a class="moz-txt-link-freetext" href="https://www.youtube.com/watch?v=4XpnKHJAok8">https://www.youtube.com/watch?v=4XpnKHJAok8</a><br>
    [4] <a class="moz-txt-link-freetext" href="http://git-scm.com/book/en/v2">http://git-scm.com/book/en/v2</a><br>
    [5] <a class="moz-txt-link-freetext" href="https://github.com">https://github.com</a><br>
    [6] <a class="moz-txt-link-freetext" href="https://about.gitlab.com/">https://about.gitlab.com/</a><br>
    [7] <a class="moz-txt-link-freetext" href="https://git.kernel.org/cgit/">https://git.kernel.org/cgit/</a><br>
    [8] <a class="moz-txt-link-freetext" href="https://github.com/OSGeo">https://github.com/OSGeo</a><br>
    [9] <a class="moz-txt-link-freetext" href="https://www.transifex.com/">https://www.transifex.com/</a><br>
    [10] <a class="moz-txt-link-freetext" href="https://www.transifex.com/projects/p/geoserver/">https://www.transifex.com/projects/p/geoserver/</a><br>
    [11] <a class="moz-txt-link-freetext" href="https://github.com/kalxas/OSGeoLive-docs">https://github.com/kalxas/OSGeoLive-docs</a><br>
    [12]
<a class="moz-txt-link-freetext" href="http://trac.osgeo.org/osgeo/browser/livedvd/gisvm/trunk/doc/contributors-transform-git.txt">http://trac.osgeo.org/osgeo/browser/livedvd/gisvm/trunk/doc/contributors-transform-git.txt</a><br>
    [13] <a class="moz-txt-link-freetext" href="https://github.com/kalxas/OSGeoLive-docs/graphs/contributors">https://github.com/kalxas/OSGeoLive-docs/graphs/contributors</a><br>
    [14] <a class="moz-txt-link-freetext" href="http://trac.osgeo.org/osgeo/changeset/12235">http://trac.osgeo.org/osgeo/changeset/12235</a><br>
    [15] <a class="moz-txt-link-freetext" href="http://trac.edgewall.org/wiki/TracGit">http://trac.edgewall.org/wiki/TracGit</a><br>
    [16]
    <a class="moz-txt-link-freetext" href="http://git-scm.com/book/en/v1/Git-and-Other-Systems-Git-and-Subversion">http://git-scm.com/book/en/v1/Git-and-Other-Systems-Git-and-Subversion</a><br>
    [17]
<a class="moz-txt-link-freetext" href="http://stackoverflow.com/questions/79165/migrate-svn-repository-with-history-to-a-new-git-repository">http://stackoverflow.com/questions/79165/migrate-svn-repository-with-history-to-a-new-git-repository</a><br>
    [18] <a class="moz-txt-link-freetext" href="http://john.albin.net/git/convert-subversion-to-git">http://john.albin.net/git/convert-subversion-to-git</a><br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Angelos Tzotsos
Remote Sensing Laboratory
National Technical University of Athens
<a class="moz-txt-link-freetext" href="http://users.ntua.gr/tzotsos">http://users.ntua.gr/tzotsos</a></pre>
  </body>
</html>