[Live-demo] [live-demo] Migration to git
Angelos Tzotsos
gcpp.kalxas at gmail.com
Sat Jan 31 10:09:29 PST 2015
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/live-demo/attachments/20150131/3a124834/attachment.html>
More information about the Live-demo
mailing list