/matzruby

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!