matzruby
matzruby copied to clipboard
A Git mirror of http://svn.ruby-lang.org/repos/ruby.
= Overview
This is a full git mirror of Matz' Ruby Subversion repository. It contains FULL MRI history, right from the revision 1, including most branches and all tags.
Currently, the repository is updated manually but quite often so that the changes are at most a few days old.
This repository is supposed to be used as any other read-only GIT repository, with periodic pulls or fetches. Do not use git svn command on your clone, there is no need.
= Branches
The master branch of this repository is intentionally empty and contains only this README.
Once you've cloned the repo, invoke 'git branch -a' to see a list of all available branches or invoke 'git tag -l ' to see a list of all available tags. Then just create a local branch to track the remote branch:
git checkout -b trunk origin/trunk
All you have to do now is invoking 'git pull' from time to time to get the latest updates in your branch.
NOTE: If the tags in your repo are not being updated over time and you don't see newer tags, invoke 'git fetch -t', this will force git go fetch all currently available tags.
Most interesting branches:
- trunk - The current development branch (1.9 dev)
- ruby_1_8 - 1.8.* series dev line
- ruby_1_8_7 - 1.8.7 maint line (bugfixes only)
- ruby_1_8_6 - 1.8.6 maint line (bugfixes only)
Typically, the changes are first done on trunk, and then they are backported to ruby_1_8, and picked up by maintainers and further backported to ruby_1_8_7 and in some cases even to ruby_1_8_6.
Clearly, you could also switch to any other branch of your interest, including ALL patchlevel tags.
= Converting to git-svn repository
If you really wish to have you local clone to be a full "git-svn repository" (so that you could fetch the data from the main repository yourself), it also can be done, by doing so:
git svn init --prefix=origin/ --stdlayout
http://svn.ruby-lang.org/repos/ruby
(this assumes that the remote repo is known in your local clone as "origin")
git svn fetch --all
It would take a while to update all the branches (1-2 hours), but still much, much faster than cloning the Ruby subversion repository from scratch (which would take 12-15 hours).
Enjoy!