'\" t
. \" Title: git-drover
. \" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
. \" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
. \" Date: 09/05/2014
. \" Manual: Chromium depot_tools Manual
. \" Source: depot_tools 2171f9c
. \" Language: English
. \"
.TH "GIT\-DROVER" "1" "09/05/2014" "depot_tools 2171f9c" "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-drover \- Apply a commit from the trunk to a release branch, or from one release branch to another\& .
.SH "SYNOPSIS"
.sp
.nf
\fI git drover\fR
.fi
.sp
.SH "DESCRIPTION"
.sp
git drover is NOT IMPLEMENTED yet\& . See the EXAMPLE section for the equivalent sequence of commands to run\& .
.SH "EXAMPLE"
.SS "PREREQUISITES"
.sp
Before working with branches, you must \fI gclient sync \- \- with_branch_heads\fR at least once to fetch the branches\& .
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB Merge Example\fR
.RS 4
.sp
.sp
.if n \{ \
.RS 4
. \}
.nf
# Make sure we have the most up\- to\- date branch sources\& .
\fB $ git fetch\fR
# Here\* (Aqs the commit we want to \* (Aqdrover\* (Aq\& .
\fB $ git log \- n 1 \- \- pretty=fuller\fR
commit 14293306d7969cff815969e2502f47794a63fbc5
Author: some\& .committer <some\& .committer@chromium\& .org>
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
Commit: some\& .committer <some\& .committer@chromium\& .org>
CommitDate: Thu Apr 10 08:54:46 2014 +0000
This change needs to go to branch 9999
# Checkout the branch we want to \* (Aqdrover\* (Aq to\& .
\fB $ git checkout \- b drover_9999 branch\- heads/9999\fR
Branch drover_9999 set up to track remote ref refs/branch\- heads/9999\& .
# Now do the \* (Aqdrover\* (Aq\& .
# IMPORTANT!!! Do Not leave off the \* (Aq\- x\* (Aq flag
\fB $ git cherry\- pick \- x 14293306d7969cff815969e2502f47794a63fbc5\fR
[drover_9999 3200a8c] This change needs to go to branch 9999
Author: some\& .committer <some\& .committer@chromium\& .org>
Date: Thu Apr 10 08:54:46 2014 +0000
1 file changed, 1 insertion(+)
create mode 100644 modified_file
# That took the code authored by some\& .commiter and commited it to the
# branch by branch\& .maintainer (us)\& .
\fB $ git log \- n 1 \- \- pretty=fuller\fR
commit 3200a8cb2072a7c84aaba52baaecbf5e4d17ad00
Author: some\& .committer <some\& .committer@chromium\& .org>
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
Commit: branch\& .maintainer <branch\& .maintainer@chromium\& .org>
CommitDate: Thu Apr 10 09:11:36 2014 +0000
This change needs to go to branch 9999
(cherry picked from commit 14293306d7969cff815969e2502f47794a63fbc5)
# Looks good\& . Ship it!
\fB $ git cl upload\fR
# Wait for LGTM or TBR it\& .
\fB $ git cl land\fR
# Or skip the LGTM/TBR and just \* (Aqgit cl land \- \- bypass\- hooks\* (Aq
.fi
.if n \{ \
.RE
. \}
.sp
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB Revert Example\fR
.RS 4
.sp
.sp
.if n \{ \
.RS 4
. \}
.nf
# Make sure we have the most up\- to\- date branch sources\& .
\fB $ git fetch\fR
# Checkout the branch with the change we want to revert\& .
\fB $ git checkout \- b drover_9999 branch\- heads/9999\fR
Branch drover_9999 set up to track remote ref refs/branch\- heads/9999\& .
# Here\* (Aqs the commit we want to revert\& .
\fB $ git log \- n 1\fR
commit 4803efead17077ecd40440caef2e78d1c66098cf
Author: some\& .committer <some\& .committer@chromium\& .org>
Date: Thu Apr 10 08:54:46 2014 +0000
This change is horribly broken\& .
# Now do the revert\& .
\fB $ git revert 4803efead17077ecd40440caef2e78d1c66098cf\fR
# That reverted the change and committed the revert\& .
\fB $ git log \- n 1\fR
commit 52350f2809ce71352326f1518feae57ac5152f18
Author: branch\& .maintainer <branch\& .maintainer@chromium\& .org>
Date: Thu Apr 10 09:11:36 2014 +0000
Revert "This change is horribly broken\& ."
This reverts commit 4803efead17077ecd40440caef2e78d1c66098cf\& .
# As with old drover, reverts are generally OK to commit without LGTM\& .
\fB $ git cl upload \- r some\& .committer@chromium\& .org \- \- send\- mail\fR
\fB $ git cl land \- \- bypass\- hooks\fR
.fi
.if n \{ \
.RE
. \}
.sp
.RE
.SH "SEE ALSO"
.sp
\fB git-cherry-pick\fR (1) \fB git-revert\fR (1)
.SH "CHROMIUM DEPOT_TOOLS"
.sp
Part of the chromium \fB depot_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