Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Git Migration: Difference between revisions

From MoodleDocs
 
No edit summary
 
Line 1: Line 1:
#REDIRECT [[Obsolete:Git Migration]]
{{obsolete}}
 
= 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 [http://git.or.cz Git]. A [http://moodle.org/mod/forum/discuss.php?d=99763 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 [http://www.selenic.com/mercurial/wiki/ 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 [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, 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.
* 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 [[Git Migration Workflows]]
 
= 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.
* 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
* 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
* Try the [[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 01:13, 28 July 2011

Warning: This page is no longer in use. The information contained on the page should NOT be seen as relevant or reliable.


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 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