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
No edit summary
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.
* 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 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).
* [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.
Line 16: Line 16:
* 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]".
* 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?
= The way to go for developers who want it now =
It's possible to use Git right now, to track
* Follow instructions on the "[Tracking Moodle CVS with git]" page
* Use git-cvsexportcommit to commit to Moodle CVS
* Wait until the next refresh (5h30 am, New Zealand time) to get the patch back into your local Git repository
= 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.


[[Category:Developer]]
[[Category:Developer]]
[[Category:Developer tools]]
[[Category:Developer tools]]

Revision as of 06:42, 24 June 2008

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.
  • Developers using Eclipse need to wait for a plugin. There is a proposal, but it's still not ready for prime time (June 2008).
  • 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.

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

  • Follow instructions on the "[Tracking Moodle CVS with git]" page
  • Use git-cvsexportcommit to commit to Moodle CVS
  • Wait until the next refresh (5h30 am, New Zealand time) to get the patch back into your local Git repository

Other interesting links