| '\" 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/09/2014 |
| .\" Manual: Chromium depot_tools Manual |
| .\" Source: depot_tools 6e7202b |
| .\" Language: English |
| .\" |
| .TH "GIT\-DROVER" "1" "09/09/2014" "depot_tools 6e7202b" "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 |
| \fIgit 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 \fIgclient 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 |
| \fBMerge 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 a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\&. |
| \fB$ git log \-n 1 \-\-pretty=fuller\fR |
| commit 0421d3583f73220c8f88b1a96898fcd81222fe73 |
| 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 0421d3583f73220c8f88b1a96898fcd81222fe73\fR |
| [drover_9999 5c0a17d] 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\&.committer and committed it to |
| # the branch by the person who drovered it (i\&.e\&. you)\&. |
| \fB$ git log \-n 1 \-\-pretty=fuller\fR |
| commit 5c0a17dd382cd098182ac9f486ccd6b86c28d96e |
| Author: some\&.committer <some\&.committer@chromium\&.org> |
| AuthorDate: Thu Apr 10 08:54:46 2014 +0000 |
| Commit: you <you@chromium\&.org> |
| CommitDate: Thu Apr 10 09:11:36 2014 +0000 |
| |
| This change needs to go to branch 9999 |
| |
| (cherry picked from commit 0421d3583f73220c8f88b1a96898fcd81222fe73) |
| |
| # 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 |
| \fBRevert 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 28bb44fa7f9d5e19b73a670ae923d3a96dec250a |
| 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 28bb44fa7f9d5e19b73a670ae923d3a96dec250a\fR |
| |
| # That reverted the change and committed the revert\&. |
| \fB$ git log \-n 1\fR |
| commit 4618467de1407aa159624015c8c8461ec35fbaf1 |
| Author: you <you@chromium\&.org> |
| Date: Thu Apr 10 09:11:36 2014 +0000 |
| |
| Revert "This change is horribly broken\&." |
| |
| This reverts commit 28bb44fa7f9d5e19b73a670ae923d3a96dec250a\&. |
| |
| # 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 |
| \fBgit-cherry-pick\fR(1), \fBgit-revert\fR(1) |
| .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 |