Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: Git Migration.

Obsolete:Git Migration: Difference between revisions

From MoodleDocs
No edit summary
m (removing categories as page is obsolete)
 
(21 intermediate revisions by 13 users not shown)
Line 7: Line 7:
= Git and human usage =
= Git and human usage =


* A lot of people need an easy interface to the revision system.  Most of them are currently using TortoiseCVS (a lot of translators, it seems). There is no tool (as of late June 2008) for Git that is equivalent in ease of use to TortoiseCVS, though [http://digilander.libero.it/mcostalba/ qgit] and [http://cola.tuxfamily.org/ git-cola] are improving. In the meantime, people could use a CVS gateway, which would need to work both ways (read & write), to give people time to change over once proper tools become available.
* A lot of people need an easy interface to the revision system.  Most of them are currently using TortoiseCVS (a lot of translators, it seems). There is no tool (as of late June 2008) for Git that is equivalent in ease of use to TortoiseCVS, though [http://digilander.libero.it/mcostalba/ qgit] (said to be running flawlessly on Windows) and [http://cola.tuxfamily.org/ git-cola] are improving. In the meantime, people could use a CVS gateway, which would need to work both ways (read & write), to give people time to change over once proper tools become available. '''Updated: As Martin Langhoff points out (late May 2009), there are two nice Windows GUI projects that are maturing quickly and look impressive: [http://code.google.com/p/gitextensions/ Git Extensions] and [http://code.google.com/p/tortoisegit/ TortoiseGit] [[User:Iñaki Arenaza|Iñaki Arenaza]] 22:35, 2 June 2009 (UTC) '''
* Developers using Eclipse need to wait for a plugin. There is a [http://wiki.eclipse.org/EGit/Proposal proposal], but it's still not ready for prime time (June 2008).
* Developers using Eclipse, NetBeans, and most other major IDEs need to wait for plugins. There is a [http://wiki.eclipse.org/EGit/Proposal proposal], which is aiming to provide a pure-Java implementation along with an Eclipse plugin and should lead to support at least in the Java-based IDEs, but this is still not ready for prime time (June 2008). '''Updated: Netbeans has [http://www.nbgit.org/ NBGit] with some basic support, and Eclipse has [http://www.eclipse.org/egit/ EGit]'''
* [http://vim.sourceforge.net/scripts/script.php?script_id=90 VCSCommand] plugin for Vim now supports Git.
* [http://vim.sourceforge.net/scripts/script.php?script_id=90 VCSCommand] plugin for Vim now supports Git.
* Some users are using CVS mirrors to deploy (and update) their site. Can't break this. A read-only CVS gateway could be a good working solution to this.
* Some users are using CVS mirrors to deploy (and update) their site. Can't break this. A read-only CVS gateway could be a good working solution to this.
* Workflows for the development need to be started - see [[Development:Git Migration Workflows]]


= Git and server-side tool integration =
= Git and server-side tool integration =


* Web interface to the repository: Git provides a web interface. Alternatively, Trac now provides a [http://trac-hacks.org/wiki/GitPlugin GitPlugin] that could be used.
* Web interface to the repository: Git provides a web interface. Alternatively, Trac now provides a [http://trac-hacks.org/wiki/GitPlugin GitPlugin] that could be used.
* Bug tracking: see [http://forums.atlassian.com/thread.jspa?threadID=24671&tstart=0] and [http://jira.atlassian.com/browse/FE-337] (support still uncomplete, on June 24 2008).  Martín Langhoff says: "[http://moodle.org/mod/forum/discuss.php?d=99763#p441057 looks like there is a mercurial plugin we can quickly grab and, ahem, repurpose...]". We could also use a CVS gateway, though there could be problems with this workaround, as "[http://moodle.org/mod/forum/discuss.php?d=99763#p440831 the rev numbers don't line up]".
* Bug tracking: see [http://forums.atlassian.com/thread.jspa?threadID=24671&tstart=0] and [http://jira.atlassian.com/browse/FE-337] (support still uncomplete, on June 24 2008).  Martín Langhoff says: "[http://moodle.org/mod/forum/discuss.php?d=99763#p441057 looks like there is a mercurial plugin we can quickly grab and, ahem, repurpose...]". We could also use a CVS gateway, though there could be problems with this workaround, as "[http://moodle.org/mod/forum/discuss.php?d=99763#p440831 the rev numbers don't line up]" (seems to be fixed, as of late July 2008).
* The module managing [http://moodle.org/cvs moodle.org/cvs] would need to be rewritten to use Git. The user-access control would need to be managed [http://moodle.org/mod/forum/discuss.php?d=99763#p441030 using the pre-received hook].
* Need to see if cvsspam (for the cvs-commits list) would still work
* Need to see if cvsspam (for the cvs-commits list) would still work
* Moving cvs.moodle.org to git.moodle.org? Or keep both?
* Moving cvs.moodle.org to git.moodle.org? Or keep both?


[[Category:Developer]]
= The way to go for developers who want it now =
[[Category:Developer tools]]
 
It's possible to use Git right now, to track
* Follow instructions on the "[[Tracking Moodle CVS with git]]" page
* Try the [[Development:Tutorial on using git in Moodle development]]
* Use git-cvsexportcommit to commit to Moodle CVS
* Wait until the next refresh (50min after the hour every hour, New Zealand time) to get the patch back into your local Git repository
 
= Git tutorials and reference =
Here is a list of useful tutorials and reference links for Git.
* [http://www.kernel.org/pub/software/scm/git/docs/gitcvs-migration.html gitcvs-migration - git for CVS users]
* [http://git.or.cz/course/svn.html Git - SVN Crash Course]
* [http://www.kernel.org/pub/software/scm/git/docs/everyday.html Everyday GIT With 20 Commands Or So]
* [http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html gittutorial - A tutorial introduction to git]
* [http://www.kernel.org/pub/software/scm/git/docs/user-manual.html Git User's Manual]
* [http://www.kernel.org/pub/software/scm/git/docs/howto-index.html GIT Howto Index]
* [http://www.slideshare.net/err/git-machine Git: The Lean, Mean, Distributed Machine] Interesting presentation discussing various workflows
* [http://progit.org/book/ The book "Pro Git" available online for free]
* [http://book.git-scm.com/ The Git Community book]
* [http://nvie.com/posts/a-successful-git-branching-model/ A successful Git branching model]
 
= Other interesting links =
 
* [http://garrys-brain.blogspot.com/2008/04/git-for-windows-msysgit.html Garry Bodsworth] says some good of the MinGW port of Git (for Windows)
* Installation reports - Git growth amongst DSCMs: [http://tinyurl.com/4uemg2 http://tinyurl.com/4uemg2]
* Usage reports - With a longer timeframe, and counting CVS/SVN: [http://tinyurl.com/4hu2cn http://tinyurl.com/4hu2cn]
* Get a free personal public git repo with some cool tools: [http://github.com/ http://github.com/]
* Free screencasts by Scott Chacon on using Git: [http://gitcasts.com/ http://gitcasts.com/]
* [http://pragprog.com/titles/tsgit/pragmatic-version-control-using-git Pragmatic Version Control using Git] will come out on November 1st, 2008.
* [http://article.gmane.org/gmane.comp.version-control.git/44827 Message from Linus Torvalds, on gmane.comp.version-control.git]
* [http://moodle.org/mod/forum/discuss.php?d=119016 Moodle Development with git]

Latest revision as of 08:24, 23 December 2010

Proposal to move Moodle development from CVS to Git

There have been discussions to abandon CVS as the main version tracking system, to move to a distributed system instead. Many developers have expressed their interest for Git. A discussion is taking place in moodle.org forums about a possible move to Git and contains a lot of information.

Some other systems have also been mentioned, such as Mercurial.

Git and human usage

  • A lot of people need an easy interface to the revision system. Most of them are currently using TortoiseCVS (a lot of translators, it seems). There is no tool (as of late June 2008) for Git that is equivalent in ease of use to TortoiseCVS, though qgit (said to be running flawlessly on Windows) and git-cola are improving. In the meantime, people could use a CVS gateway, which would need to work both ways (read & write), to give people time to change over once proper tools become available. Updated: As Martin Langhoff points out (late May 2009), there are two nice Windows GUI projects that are maturing quickly and look impressive: Git Extensions and TortoiseGit Iñaki Arenaza 22:35, 2 June 2009 (UTC)
  • Developers using Eclipse, NetBeans, and most other major IDEs need to wait for plugins. There is a proposal, which is aiming to provide a pure-Java implementation along with an Eclipse plugin and should lead to support at least in the Java-based IDEs, but this is still not ready for prime time (June 2008). Updated: Netbeans has NBGit with some basic support, and Eclipse has EGit
  • VCSCommand plugin for Vim now supports Git.
  • Some users are using CVS mirrors to deploy (and update) their site. Can't break this. A read-only CVS gateway could be a good working solution to this.
  • Workflows for the development need to be started - see Development:Git Migration Workflows

Git and server-side tool integration

The way to go for developers who want it now

It's possible to use Git right now, to track

Git tutorials and reference

Here is a list of useful tutorials and reference links for Git.

Other interesting links