'\" t .\" Title: git-auto-svn .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 07/21/2016 .\" Manual: Chromium depot_tools Manual .\" Source: depot_tools bf2a341 .\" Language: English .\" .TH "GIT\-AUTO\-SVN" "1" "07/21/2016" "depot_tools bf2a341" "Chromium depot_tools Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" git-auto-svn \- Automatically set up git\-svn metadata for a repo mirrored from SVN\&. .SH "SYNOPSIS" .sp .nf \fIgit auto\-svn\fR .fi .sp .SH "DESCRIPTION" .sp 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)\&. .sp 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: .sp .if n \{\ .RS 4 .\} .nf git\-svn\-id: svn://some\&.host\&.org/repo/path/to/a/sub/folder@123456 0039d316\-1c4b\-4281\-b951\-d872f2087c98 .fi .if n \{\ .RE .\} .sp 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)\&. .sp It then sets up the following stanza in \&.git/config: .sp .if n \{\ .RS 4 .\} .nf [svn\-remote "svn"] url = svn://some\&.host\&.org/repo fetch = path/to/a/sub/folder:refs/remotes/origin/master .fi .if n \{\ .RE .\} .sp Finally, it runs git svn fetch to pull in the data from the svn remote\&. .SH "CONFIGURATION VARIABLES" .SS "svn\-remote\&.svn\&.url" .sp This is the url of the root of the remote svn repository\&. .SS "svn\-remote\&.svn\&.fetch" .sp This looks like a git refspec, but maps a subdirectory of the svn repository to a single ref in the git remote\&. .SH "EXAMPLE" .sp .if n \{\ .RS 4 .\} .nf git clone https://chromium\&.googlesource\&.com/chromium/tools/depot_tools cd depot_tools git auto\-svn .fi .if n \{\ .RE .\} .sp This results in the following stanza in depot_tools/\&.git/config: .sp .if n \{\ .RS 4 .\} .nf [svn\-remote "svn"] url = svn://svn\&.chromium\&.org/chrome fetch = trunk/tools/depot_tools:refs/remotes/origin/master .fi .if n \{\ .RE .\} .SH "CHROMIUM DEPOT_TOOLS" .sp Part of the chromium \fBdepot_tools\fR(7) suite\&. These tools are meant to assist with the development of chromium and related projects\&. Download the tools from \m[blue]\fBhere\fR\m[]\&\s-2\u[1]\d\s+2\&. .SH "NOTES" .IP " 1." 4 here .RS 4 \%https://chromium.googlesource.com/chromium/tools/depot_tools .RE