blob: 84e238bb45a24f6e2e0f84e8d5723357de7a6cd5 [file] [log] [blame]
'\" t
.\" Title: git-auto-svn
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\" Date: 09/30/2014
.\" Manual: Chromium depot_tools Manual
.\" Source: depot_tools 2bbacdc
.\" Language: English
.\"
.TH "GIT\-AUTO\-SVN" "1" "09/30/2014" "depot_tools 2bbacdc" "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.git
.RE