git-auto-svn(1) =============== NAME ---- git-auto-svn - include::_git-auto-svn_desc.helper.txt[] SYNOPSIS -------- [verse] '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 include::_footer.txt[] // vim: ft=asciidoc: