SYNOPSIS

git auto-svn

DESCRIPTION

git auto-svn automatically sets up git-svn metadata and runs git-svn fetch for repos that are homed in SVN but mirrored to Git (such as depot_tools itself).

It determines the metadata to use by inspecting the git-svn-id footer of the HEAD of the remote upstream ref (by default, origin/master). git-svn-id footers look like this:

git-svn-id: svn://some.host.org/repo/path/to/a/sub/folder@123456 0039d316-1c4b-4281-b951-d872f2087c98

git auto-svn extracts the repository url (svn://some.host.org/repo/path/to/a/sub/folder) from the git-svn-id, and splits it into the root repository (svn://some.host.org/repo) and the path within that repository (/path/to/a/sub/folder).

It then sets up the following stanza in .git/config:

[svn-remote "svn"]
    url = svn://some.host.org/repo
    fetch = path/to/a/sub/folder:refs/remotes/origin/master

Finally, it runs git svn fetch to pull in the data from the svn remote.

CONFIGURATION VARIABLES

svn-remote.svn.url

This is the url of the root of the remote svn repository.

svn-remote.svn.fetch

This looks like a git refspec, but maps a subdirectory of the svn repository to a single ref in the git remote.

EXAMPLE

git clone https://chromium.googlesource.com/chromium/tools/depot_tools
cd depot_tools
git auto-svn

This results in the following stanza in depot_tools/.git/config:

[svn-remote "svn"]
    url = svn://svn.chromium.org/chrome
    fetch = trunk/tools/depot_tools:refs/remotes/origin/master

CHROMIUM DEPOT_TOOLS

Part of the chromium depot_tools(7) suite. These tools are meant to assist with the development of chromium and related projects. Download the tools from here.