OLD | NEW |
1 '\" t | 1 '\" t |
2 .\" Title: git-drover | 2 .\" Title: git-drover |
3 .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] | 3 .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] |
4 .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/> | 4 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> |
5 .\" Date: 09/09/2014 | 5 .\" Date: 09/23/2015 |
6 .\" Manual: Chromium depot_tools Manual | 6 .\" Manual: Chromium depot_tools Manual |
7 .\" Source: depot_tools 6e7202b | 7 .\" Source: depot_tools 4549a59 |
8 .\" Language: English | 8 .\" Language: English |
9 .\" | 9 .\" |
10 .TH "GIT\-DROVER" "1" "09/09/2014" "depot_tools 6e7202b" "Chromium depot_tools M
anual" | 10 .TH "GIT\-DROVER" "1" "09/23/2015" "depot_tools 4549a59" "Chromium depot_tools M
anual" |
11 .\" ----------------------------------------------------------------- | 11 .\" ----------------------------------------------------------------- |
12 .\" * Define some portability stuff | 12 .\" * Define some portability stuff |
13 .\" ----------------------------------------------------------------- | 13 .\" ----------------------------------------------------------------- |
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
15 .\" http://bugs.debian.org/507673 | 15 .\" http://bugs.debian.org/507673 |
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html | 16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html |
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
18 .ie \n(.g .ds Aq \(aq | 18 .ie \n(.g .ds Aq \(aq |
19 .el .ds Aq ' | 19 .el .ds Aq ' |
20 .\" ----------------------------------------------------------------- | 20 .\" ----------------------------------------------------------------- |
21 .\" * set default formatting | 21 .\" * set default formatting |
22 .\" ----------------------------------------------------------------- | 22 .\" ----------------------------------------------------------------- |
23 .\" disable hyphenation | 23 .\" disable hyphenation |
24 .nh | 24 .nh |
25 .\" disable justification (adjust text to left margin only) | 25 .\" disable justification (adjust text to left margin only) |
26 .ad l | 26 .ad l |
27 .\" ----------------------------------------------------------------- | 27 .\" ----------------------------------------------------------------- |
28 .\" * MAIN CONTENT STARTS HERE * | 28 .\" * MAIN CONTENT STARTS HERE * |
29 .\" ----------------------------------------------------------------- | 29 .\" ----------------------------------------------------------------- |
30 .SH "NAME" | 30 .SH "NAME" |
31 git-drover \- Apply a commit from the trunk to a release branch, or from one rel
ease branch to another\&. | 31 git-drover \- Apply a commit from the trunk to a release branch, or from one rel
ease branch to another\&. |
32 .SH "SYNOPSIS" | 32 .SH "SYNOPSIS" |
33 .sp | 33 .sp |
34 .nf | 34 .nf |
35 \fIgit drover\fR | 35 \fIgit drover\fR \-\-branch <branch> \-\-cherry\-pick <commit> |
| 36 [\-\-parent_checkout <path\-to\-existing\-checkout>] |
| 37 [\-\-verbose] [\-\-dry\-run] |
36 .fi | 38 .fi |
37 .sp | 39 .sp |
38 .SH "DESCRIPTION" | 40 .SH "DESCRIPTION" |
39 .sp | 41 .sp |
40 git drover is NOT IMPLEMENTED yet\&. See the EXAMPLE section for the equivalent
sequence of commands to run\&. | 42 git drover applies a commit to a release branch\&. It creates a new workdir from
an existing checkout to avoid downloading a new checkout without affecting the
existing checkout\&. Creating a workdir requires symlinks so this does not work
on Windows\&. See the EXAMPLE section for the equivalent sequence of commands to
run\&. |
| 43 .sp |
| 44 git drover does not support reverts\&. See the EXAMPLE section for the equivalen
t sequence of commands to run\&. |
| 45 .SH "OPTIONS" |
| 46 .PP |
| 47 \-\-branch <branch> |
| 48 .RS 4 |
| 49 The branch to cherry\-pick the commit to\&. |
| 50 .RE |
| 51 .PP |
| 52 \-\-cherry\-pick <commit> |
| 53 .RS 4 |
| 54 The commit to cherry\-pick\&. |
| 55 .RE |
| 56 .PP |
| 57 \-\-parent_checkout |
| 58 .RS 4 |
| 59 The path to the chromium checkout to use as the source for a creating git\-new\-
workdir workdir to use for cherry\-picking\&. If unspecified, the current direct
ory is used\&. |
| 60 .RE |
| 61 .PP |
| 62 \-v, \-\-verbose |
| 63 .RS 4 |
| 64 Enable verbose logging\&. |
| 65 .RE |
| 66 .PP |
| 67 \-\-dry\-run |
| 68 .RS 4 |
| 69 Skip landing the cherry\-pick\&. Just ensure that the commit can be cherry\-pick
ed into the branch\&. |
| 70 .RE |
41 .SH "EXAMPLE" | 71 .SH "EXAMPLE" |
42 .SS "PREREQUISITES" | 72 .SS "PREREQUISITES" |
43 .sp | 73 .sp |
44 Before working with branches, you must \fIgclient sync \-\-with_branch_heads\fR
at least once to fetch the branches\&. | 74 Before working with branches, you must \fIgclient sync \-\-with_branch_heads\fR
at least once to fetch the branches\&. |
45 .sp | 75 .sp |
46 .it 1 an-trap | 76 .it 1 an-trap |
47 .nr an-no-space-flag 1 | 77 .nr an-no-space-flag 1 |
48 .nr an-break-flag 1 | 78 .nr an-break-flag 1 |
49 .br | 79 .br |
50 .ps +1 | 80 .ps +1 |
51 \fBMerge Example\fR | 81 \fBMerge Example\fR |
52 .RS 4 | 82 .RS 4 |
53 .sp | 83 .sp |
54 | 84 |
55 .sp | 85 .sp |
56 .if n \{\ | 86 .if n \{\ |
57 .RS 4 | 87 .RS 4 |
58 .\} | 88 .\} |
59 .nf | 89 .nf |
60 # Make sure we have the most up\-to\-date branch sources\&. | |
61 \fB$ git fetch\fR | |
62 | |
63 # Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\&
. | 90 # Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\&
. |
64 \fB$ git log \-n 1 \-\-pretty=fuller\fR | 91 \fB$ git log \-n 1 \-\-pretty=fuller\fR |
65 commit 0421d3583f73220c8f88b1a96898fcd81222fe73 | 92 commit b5a049e34297f22a4ea63567b32e3290bb3f244c |
66 Author: some\&.committer <some\&.committer@chromium\&.org> | 93 Author: some\&.committer <some\&.committer@chromium\&.org> |
67 AuthorDate: Thu Apr 10 08:54:46 2014 +0000 | 94 AuthorDate: Thu Apr 10 08:54:46 2014 +0000 |
68 Commit: some\&.committer <some\&.committer@chromium\&.org> | 95 Commit: some\&.committer <some\&.committer@chromium\&.org> |
69 CommitDate: Thu Apr 10 08:54:46 2014 +0000 | 96 CommitDate: Thu Apr 10 08:54:46 2014 +0000 |
70 | 97 |
71 This change needs to go to branch 9999 | 98 This change needs to go to branch 9999 |
72 | 99 |
73 # Checkout the branch we want to \*(Aqdrover\*(Aq to\&. | |
74 \fB$ git checkout \-b drover_9999 branch\-heads/9999\fR | |
75 Branch drover_9999 set up to track remote ref refs/branch\-heads/9999\&. | |
76 | |
77 # Now do the \*(Aqdrover\*(Aq\&. | 100 # Now do the \*(Aqdrover\*(Aq\&. |
78 # IMPORTANT!!! Do Not leave off the \*(Aq\-x\*(Aq flag | 101 \fB$ git drover \-\-branch 9999 \-\-cherry\-pick b5a049e34297f22a4ea63567b32e329
0bb3f244c\fR |
79 \fB$ git cherry\-pick \-x 0421d3583f73220c8f88b1a96898fcd81222fe73\fR | 102 Going to cherry\-pick |
80 [drover_9999 5c0a17d] This change needs to go to branch 9999 | 103 """ |
81 Author: some\&.committer <some\&.committer@chromium\&.org> | 104 commit b5a049e34297f22a4ea63567b32e3290bb3f244c |
82 Date: Thu Apr 10 08:54:46 2014 +0000 | 105 Author: some\&.committer <some\&.committer@chromium\&.org> |
83 1 file changed, 1 insertion(+) | 106 Date: Thu Apr 10 08:54:46 2014 +0000 |
84 create mode 100644 modified_file | |
85 | |
86 # That took the code authored by some\&.committer and committed it to | |
87 # the branch by the person who drovered it (i\&.e\&. you)\&. | |
88 \fB$ git log \-n 1 \-\-pretty=fuller\fR | |
89 commit 5c0a17dd382cd098182ac9f486ccd6b86c28d96e | |
90 Author: some\&.committer <some\&.committer@chromium\&.org> | |
91 AuthorDate: Thu Apr 10 08:54:46 2014 +0000 | |
92 Commit: you <you@chromium\&.org> | |
93 CommitDate: Thu Apr 10 09:11:36 2014 +0000 | |
94 | 107 |
95 This change needs to go to branch 9999 | 108 This change needs to go to branch 9999 |
| 109 """ |
| 110 to 9999\&. Continue (y/n)? y |
96 | 111 |
97 (cherry picked from commit 0421d3583f73220c8f88b1a96898fcd81222fe73) | 112 # A cl is uploaded to rietveld, where it can be reviewed before landing\&. |
98 | 113 |
99 # Looks good\&. Ship it! | 114 About to land on 9999\&. Continue (y/n)? y |
100 \fB$ git cl upload\fR | 115 # The cherry\-pick cl is landed on the branch 9999\&. |
101 # Wait for LGTM or TBR it\&. | |
102 \fB$ git cl land\fR | |
103 # Or skip the LGTM/TBR and just \*(Aqgit cl land \-\-bypass\-hooks\*(Aq | |
104 .fi | 116 .fi |
105 .if n \{\ | 117 .if n \{\ |
106 .RE | 118 .RE |
107 .\} | 119 .\} |
108 .sp | 120 .sp |
109 .RE | 121 .RE |
110 .sp | 122 .sp |
111 .it 1 an-trap | 123 .it 1 an-trap |
112 .nr an-no-space-flag 1 | 124 .nr an-no-space-flag 1 |
113 .nr an-break-flag 1 | 125 .nr an-break-flag 1 |
(...skipping 10 matching lines...) Expand all Loading... |
124 .nf | 136 .nf |
125 # Make sure we have the most up\-to\-date branch sources\&. | 137 # Make sure we have the most up\-to\-date branch sources\&. |
126 \fB$ git fetch\fR | 138 \fB$ git fetch\fR |
127 | 139 |
128 # Checkout the branch with the change we want to revert\&. | 140 # Checkout the branch with the change we want to revert\&. |
129 \fB$ git checkout \-b drover_9999 branch\-heads/9999\fR | 141 \fB$ git checkout \-b drover_9999 branch\-heads/9999\fR |
130 Branch drover_9999 set up to track remote ref refs/branch\-heads/9999\&. | 142 Branch drover_9999 set up to track remote ref refs/branch\-heads/9999\&. |
131 | 143 |
132 # Here\*(Aqs the commit we want to revert\&. | 144 # Here\*(Aqs the commit we want to revert\&. |
133 \fB$ git log \-n 1\fR | 145 \fB$ git log \-n 1\fR |
134 commit 28bb44fa7f9d5e19b73a670ae923d3a96dec250a | 146 commit 215689406a8ca5813412becc6258509be903db59 |
135 Author: some\&.committer <some\&.committer@chromium\&.org> | 147 Author: some\&.committer <some\&.committer@chromium\&.org> |
136 Date: Thu Apr 10 08:54:46 2014 +0000 | 148 Date: Thu Apr 10 08:54:46 2014 +0000 |
137 | 149 |
138 This change is horribly broken\&. | 150 This change is horribly broken\&. |
139 | 151 |
140 # Now do the revert\&. | 152 # Now do the revert\&. |
141 \fB$ git revert 28bb44fa7f9d5e19b73a670ae923d3a96dec250a\fR | 153 \fB$ git revert 215689406a8ca5813412becc6258509be903db59\fR |
142 | 154 |
143 # That reverted the change and committed the revert\&. | 155 # That reverted the change and committed the revert\&. |
144 \fB$ git log \-n 1\fR | 156 \fB$ git log \-n 1\fR |
145 commit 4618467de1407aa159624015c8c8461ec35fbaf1 | 157 commit 1efaf0e8b1c6c6afadfb37e15023b52b960ac2fd |
146 Author: you <you@chromium\&.org> | 158 Author: you <you@chromium\&.org> |
147 Date: Thu Apr 10 09:11:36 2014 +0000 | 159 Date: Thu Apr 10 09:11:36 2014 +0000 |
148 | 160 |
149 Revert "This change is horribly broken\&." | 161 Revert "This change is horribly broken\&." |
150 | 162 |
151 This reverts commit 28bb44fa7f9d5e19b73a670ae923d3a96dec250a\&. | 163 This reverts commit 215689406a8ca5813412becc6258509be903db59\&. |
152 | 164 |
153 # As with old drover, reverts are generally OK to commit without LGTM\&. | 165 # As with old drover, reverts are generally OK to commit without LGTM\&. |
154 \fB$ git cl upload \-r some\&.committer@chromium\&.org \-\-send\-mail\fR | 166 \fB$ git cl upload \-r some\&.committer@chromium\&.org \-\-send\-mail\fR |
155 \fB$ git cl land \-\-bypass\-hooks\fR | 167 \fB$ git cl land \-\-bypass\-hooks\fR |
156 .fi | 168 .fi |
157 .if n \{\ | 169 .if n \{\ |
158 .RE | 170 .RE |
159 .\} | 171 .\} |
160 .sp | 172 .sp |
161 .RE | 173 .RE |
| 174 .sp |
| 175 .it 1 an-trap |
| 176 .nr an-no-space-flag 1 |
| 177 .nr an-break-flag 1 |
| 178 .br |
| 179 .ps +1 |
| 180 \fBManual Merge Example\fR |
| 181 .RS 4 |
| 182 .sp |
| 183 |
| 184 .sp |
| 185 .if n \{\ |
| 186 .RS 4 |
| 187 .\} |
| 188 .nf |
| 189 # Make sure we have the most up\-to\-date branch sources\&. |
| 190 \fB$ git fetch\fR |
| 191 |
| 192 # Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\&
. |
| 193 \fB$ git log \-n 1 \-\-pretty=fuller\fR |
| 194 commit 640f962733bfd2b9c44539a0d65952643750957e |
| 195 Author: some\&.committer <some\&.committer@chromium\&.org> |
| 196 AuthorDate: Thu Apr 10 08:54:46 2014 +0000 |
| 197 Commit: some\&.committer <some\&.committer@chromium\&.org> |
| 198 CommitDate: Thu Apr 10 08:54:46 2014 +0000 |
| 199 |
| 200 This change needs to go to branch 9999 |
| 201 |
| 202 # Checkout the branch we want to \*(Aqdrover\*(Aq to\&. |
| 203 \fB$ git checkout \-b drover_9999 branch\-heads/9999\fR |
| 204 Branch drover_9999 set up to track remote ref refs/branch\-heads/9999\&. |
| 205 |
| 206 # Now do the \*(Aqdrover\*(Aq\&. |
| 207 # IMPORTANT!!! Do Not leave off the \*(Aq\-x\*(Aq flag |
| 208 \fB$ git cherry\-pick \-x 640f962733bfd2b9c44539a0d65952643750957e\fR |
| 209 [drover_9999 5f1ae97] This change needs to go to branch 9999 |
| 210 Author: some\&.committer <some\&.committer@chromium\&.org> |
| 211 Date: Thu Apr 10 08:54:46 2014 +0000 |
| 212 1 file changed, 1 insertion(+) |
| 213 create mode 100644 modified_file |
| 214 |
| 215 # That took the code authored by some\&.committer and committed it to |
| 216 # the branch by the person who drovered it (i\&.e\&. you)\&. |
| 217 \fB$ git log \-n 1 \-\-pretty=fuller\fR |
| 218 commit 5f1ae978a8d05c16d8ed812163b7aa927f028bf9 |
| 219 Author: some\&.committer <some\&.committer@chromium\&.org> |
| 220 AuthorDate: Thu Apr 10 08:54:46 2014 +0000 |
| 221 Commit: you <you@chromium\&.org> |
| 222 CommitDate: Thu Apr 10 09:11:36 2014 +0000 |
| 223 |
| 224 This change needs to go to branch 9999 |
| 225 |
| 226 (cherry picked from commit 640f962733bfd2b9c44539a0d65952643750957e) |
| 227 |
| 228 # Looks good\&. Ship it! |
| 229 \fB$ git cl upload\fR |
| 230 # Wait for LGTM or TBR it\&. |
| 231 \fB$ git cl land\fR |
| 232 # Or skip the LGTM/TBR and just \*(Aqgit cl land \-\-bypass\-hooks\*(Aq |
| 233 .fi |
| 234 .if n \{\ |
| 235 .RE |
| 236 .\} |
| 237 .sp |
| 238 .RE |
162 .SH "SEE ALSO" | 239 .SH "SEE ALSO" |
163 .sp | 240 .sp |
164 \fBgit-cherry-pick\fR(1), \fBgit-revert\fR(1) | 241 \fBgit-cherry-pick\fR(1), \fBgit-revert\fR(1) |
165 .SH "CHROMIUM DEPOT_TOOLS" | 242 .SH "CHROMIUM DEPOT_TOOLS" |
166 .sp | 243 .sp |
167 Part of the chromium \fBdepot_tools\fR(7) suite\&. These tools are meant to assi
st with the development of chromium and related projects\&. Download the tools f
rom \m[blue]\fBhere\fR\m[]\&\s-2\u[1]\d\s+2\&. | 244 Part of the chromium \fBdepot_tools\fR(7) suite\&. These tools are meant to assi
st with the development of chromium and related projects\&. Download the tools f
rom \m[blue]\fBhere\fR\m[]\&\s-2\u[1]\d\s+2\&. |
168 .SH "NOTES" | 245 .SH "NOTES" |
169 .IP " 1." 4 | 246 .IP " 1." 4 |
170 here | 247 here |
171 .RS 4 | 248 .RS 4 |
172 \%https://chromium.googlesource.com/chromium/tools/depot_tools.git | 249 \%https://chromium.googlesource.com/chromium/tools/depot_tools.git |
173 .RE | 250 .RE |
OLD | NEW |