Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Side by Side Diff: man/man1/git-drover.1

Issue 1397313002: Support merging with conflicts with git-drover. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « man/html/git-drover.html ('k') | man/src/git-drover.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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.78.1 <http://docbook.sf.net/> 4 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
5 .\" Date: 09/23/2015 5 .\" Date: 10/20/2015
6 .\" Manual: Chromium depot_tools Manual 6 .\" Manual: Chromium depot_tools Manual
7 .\" Source: depot_tools 4549a59 7 .\" Source: depot_tools 704d890
8 .\" Language: English 8 .\" Language: English
9 .\" 9 .\"
10 .TH "GIT\-DROVER" "1" "09/23/2015" "depot_tools 4549a59" "Chromium depot_tools M anual" 10 .TH "GIT\-DROVER" "1" "10/20/2015" "depot_tools 704d890" "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 \-\-branch <branch> \-\-cherry\-pick <commit> 35 \fIgit drover\fR \-\-branch <branch>
36 (\-\-cherry\-pick <change> | \-\-continue [path_to_workdir] |
37 \-\-abort [path_to_workdir])
36 [\-\-parent_checkout <path\-to\-existing\-checkout>] 38 [\-\-parent_checkout <path\-to\-existing\-checkout>]
37 [\-\-verbose] [\-\-dry\-run] 39 [\-\-verbose] [\-\-dry\-run]
38 .fi 40 .fi
39 .sp 41 .sp
40 .SH "DESCRIPTION" 42 .SH "DESCRIPTION"
41 .sp 43 .sp
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\&. 44 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\&.
43 .sp 45 .sp
44 git drover does not support reverts\&. See the EXAMPLE section for the equivalen t sequence of commands to run\&. 46 git drover does not support reverts\&. See the EXAMPLE section for the equivalen t sequence of commands to run\&.
45 .SH "OPTIONS" 47 .SH "OPTIONS"
46 .PP 48 .PP
47 \-\-branch <branch> 49 \-\-branch <branch>
48 .RS 4 50 .RS 4
49 The branch to cherry\-pick the commit to\&. 51 The branch to cherry\-pick the commit to\&.
50 .RE 52 .RE
51 .PP 53 .PP
52 \-\-cherry\-pick <commit> 54 \-\-cherry\-pick <commit>
53 .RS 4 55 .RS 4
54 The commit to cherry\-pick\&. 56 The commit to cherry\-pick\&.
55 .RE 57 .RE
56 .PP 58 .PP
59 \-\-continue [path_to_workdir]
60 .RS 4
61 Continue a cherry\-pick that required manual resolution\&. The path to the drove r workdir is optional\&. If unspecified, the current directory is used\&.
62 .RE
63 .PP
64 \-\-abort [path_to_workdir]
65 .RS 4
66 Abort a cherry\-pick that required manual resolution and clean up its workdir\&. The path to the drover workdir is optional\&. If unspecified, the current direc tory is used\&.
67 .RE
68 .PP
57 \-\-parent_checkout 69 \-\-parent_checkout
58 .RS 4 70 .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\&. 71 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 72 .RE
61 .PP 73 .PP
62 \-v, \-\-verbose 74 \-v, \-\-verbose
63 .RS 4 75 .RS 4
64 Enable verbose logging\&. 76 Enable verbose logging\&.
65 .RE 77 .RE
66 .PP 78 .PP
(...skipping 15 matching lines...) Expand all
82 .RS 4 94 .RS 4
83 .sp 95 .sp
84 96
85 .sp 97 .sp
86 .if n \{\ 98 .if n \{\
87 .RS 4 99 .RS 4
88 .\} 100 .\}
89 .nf 101 .nf
90 # Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\& . 102 # Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\& .
91 \fB$ git log \-n 1 \-\-pretty=fuller\fR 103 \fB$ git log \-n 1 \-\-pretty=fuller\fR
92 commit b5a049e34297f22a4ea63567b32e3290bb3f244c 104 commit 9b111fcda69cb6bf8a38d1e77867c298d80ca9d1
93 Author: some\&.committer <some\&.committer@chromium\&.org> 105 Author: some\&.committer <some\&.committer@chromium\&.org>
94 AuthorDate: Thu Apr 10 08:54:46 2014 +0000 106 AuthorDate: Thu Apr 10 08:54:46 2014 +0000
95 Commit: some\&.committer <some\&.committer@chromium\&.org> 107 Commit: some\&.committer <some\&.committer@chromium\&.org>
108 CommitDate: Thu Apr 10 08:54:46 2014 +0000
109
110 This change needs to go to branch 9999
111
112 # Now do the \*(Aqdrover\*(Aq\&.
113 \fB$ git drover \-\-branch 9999 \-\-cherry\-pick 9b111fcda69cb6bf8a38d1e77867c29 8d80ca9d1\fR
114 Going to cherry\-pick
115 """
116 commit 9b111fcda69cb6bf8a38d1e77867c298d80ca9d1
117 Author: some\&.committer <some\&.committer@chromium\&.org>
118 Date: Thu Apr 10 08:54:46 2014 +0000
119
120 This change needs to go to branch 9999
121 """
122 to 9999\&. Continue (y/n)? y
123
124 # A cl is uploaded to rietveld, where it can be reviewed before landing\&.
125
126 About to land on 9999\&. Continue (y/n)? y
127 # The cherry\-pick cl is landed on the branch 9999\&.
128 .fi
129 .if n \{\
130 .RE
131 .\}
132 .sp
133 .RE
134 .sp
135 .it 1 an-trap
136 .nr an-no-space-flag 1
137 .nr an-break-flag 1
138 .br
139 .ps +1
140 \fBMerge with Conflicts Example\fR
141 .RS 4
142 .sp
143
144 .sp
145 .if n \{\
146 .RS 4
147 .\}
148 .nf
149 # Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\& .
150 \fB$ git log \-n 1 \-\-pretty=fuller\fR
151 commit 89ce5bb7bdf7149754b94e4d9fc5413435e6680d
152 Author: some\&.committer <some\&.committer@chromium\&.org>
153 AuthorDate: Thu Apr 10 08:54:46 2014 +0000
154 Commit: some\&.committer <some\&.committer@chromium\&.org>
96 CommitDate: Thu Apr 10 08:54:46 2014 +0000 155 CommitDate: Thu Apr 10 08:54:46 2014 +0000
97 156
98 This change needs to go to branch 9999 157 This change needs to go to branch 9999
99 158
100 # Now do the \*(Aqdrover\*(Aq\&. 159 # Now do the \*(Aqdrover\*(Aq\&.
101 \fB$ git drover \-\-branch 9999 \-\-cherry\-pick b5a049e34297f22a4ea63567b32e329 0bb3f244c\fR 160 \fB$ git drover \-\-branch 9999 \-\-cherry\-pick 89ce5bb7bdf7149754b94e4d9fc5413 435e6680d\fR
102 Going to cherry\-pick 161 Going to cherry\-pick
103 """ 162 """
104 commit b5a049e34297f22a4ea63567b32e3290bb3f244c 163 commit 89ce5bb7bdf7149754b94e4d9fc5413435e6680d
105 Author: some\&.committer <some\&.committer@chromium\&.org> 164 Author: some\&.committer <some\&.committer@chromium\&.org>
106 Date: Thu Apr 10 08:54:46 2014 +0000 165 Date: Thu Apr 10 08:54:46 2014 +0000
107 166
108 This change needs to go to branch 9999 167 This change needs to go to branch 9999
109 """ 168 """
110 to 9999\&. Continue (y/n)? y 169 to 9999\&. Continue (y/n)? y
111 170
171 Error: Patch failed to apply\&.
172
173 A workdir for this cherry\-pick has been created in
174 /tmp/drover_9999
175
176 To continue, resolve the conflicts there and run
177 git drover \-\-continue /tmp/drover_9999
178
179 To abort this cherry\-pick run
180 git drover \-\-abort /tmp/drover_9999
181
182 \fB$ pushd /tmp/drover_9999\fR
183 # Manually resolve conflicts\&.
184 \fB$ git add path/to/file_with_conflicts\fR
185 \fB$ popd\fR
186 \fB$ git drover \-\-continue /tmp/drover_9999\fR
187
112 # A cl is uploaded to rietveld, where it can be reviewed before landing\&. 188 # A cl is uploaded to rietveld, where it can be reviewed before landing\&.
113 189
114 About to land on 9999\&. Continue (y/n)? y 190 About to land on 9999\&. Continue (y/n)? y
115 # The cherry\-pick cl is landed on the branch 9999\&. 191 # The cherry\-pick cl is landed on the branch 9999\&.
116 .fi 192 .fi
117 .if n \{\ 193 .if n \{\
118 .RE 194 .RE
119 .\} 195 .\}
120 .sp 196 .sp
121 .RE 197 .RE
(...skipping 14 matching lines...) Expand all
136 .nf 212 .nf
137 # Make sure we have the most up\-to\-date branch sources\&. 213 # Make sure we have the most up\-to\-date branch sources\&.
138 \fB$ git fetch\fR 214 \fB$ git fetch\fR
139 215
140 # Checkout the branch with the change we want to revert\&. 216 # Checkout the branch with the change we want to revert\&.
141 \fB$ git checkout \-b drover_9999 branch\-heads/9999\fR 217 \fB$ git checkout \-b drover_9999 branch\-heads/9999\fR
142 Branch drover_9999 set up to track remote ref refs/branch\-heads/9999\&. 218 Branch drover_9999 set up to track remote ref refs/branch\-heads/9999\&.
143 219
144 # Here\*(Aqs the commit we want to revert\&. 220 # Here\*(Aqs the commit we want to revert\&.
145 \fB$ git log \-n 1\fR 221 \fB$ git log \-n 1\fR
146 commit 215689406a8ca5813412becc6258509be903db59 222 commit d5efb50dcc76ea29ad30d1015fb291a9ba5fc0db
147 Author: some\&.committer <some\&.committer@chromium\&.org> 223 Author: some\&.committer <some\&.committer@chromium\&.org>
148 Date: Thu Apr 10 08:54:46 2014 +0000 224 Date: Thu Apr 10 08:54:46 2014 +0000
149 225
150 This change is horribly broken\&. 226 This change is horribly broken\&.
151 227
152 # Now do the revert\&. 228 # Now do the revert\&.
153 \fB$ git revert 215689406a8ca5813412becc6258509be903db59\fR 229 \fB$ git revert d5efb50dcc76ea29ad30d1015fb291a9ba5fc0db\fR
154 230
155 # That reverted the change and committed the revert\&. 231 # That reverted the change and committed the revert\&.
156 \fB$ git log \-n 1\fR 232 \fB$ git log \-n 1\fR
157 commit 1efaf0e8b1c6c6afadfb37e15023b52b960ac2fd 233 commit 1b6ccf84e2c13c6f6a2b69b29626aed8fa0ae24d
158 Author: you <you@chromium\&.org> 234 Author: you <you@chromium\&.org>
159 Date: Thu Apr 10 09:11:36 2014 +0000 235 Date: Thu Apr 10 09:11:36 2014 +0000
160 236
161 Revert "This change is horribly broken\&." 237 Revert "This change is horribly broken\&."
162 238
163 This reverts commit 215689406a8ca5813412becc6258509be903db59\&. 239 This reverts commit d5efb50dcc76ea29ad30d1015fb291a9ba5fc0db\&.
164 240
165 # As with old drover, reverts are generally OK to commit without LGTM\&. 241 # As with old drover, reverts are generally OK to commit without LGTM\&.
166 \fB$ git cl upload \-r some\&.committer@chromium\&.org \-\-send\-mail\fR 242 \fB$ git cl upload \-r some\&.committer@chromium\&.org \-\-send\-mail\fR
167 \fB$ git cl land \-\-bypass\-hooks\fR 243 \fB$ git cl land \-\-bypass\-hooks\fR
168 .fi 244 .fi
169 .if n \{\ 245 .if n \{\
170 .RE 246 .RE
171 .\} 247 .\}
172 .sp 248 .sp
173 .RE 249 .RE
(...skipping 10 matching lines...) Expand all
184 .sp 260 .sp
185 .if n \{\ 261 .if n \{\
186 .RS 4 262 .RS 4
187 .\} 263 .\}
188 .nf 264 .nf
189 # Make sure we have the most up\-to\-date branch sources\&. 265 # Make sure we have the most up\-to\-date branch sources\&.
190 \fB$ git fetch\fR 266 \fB$ git fetch\fR
191 267
192 # Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\& . 268 # Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\& .
193 \fB$ git log \-n 1 \-\-pretty=fuller\fR 269 \fB$ git log \-n 1 \-\-pretty=fuller\fR
194 commit 640f962733bfd2b9c44539a0d65952643750957e 270 commit 2655f8d9d48f18dbfed237c67b8c65134050b2e3
195 Author: some\&.committer <some\&.committer@chromium\&.org> 271 Author: some\&.committer <some\&.committer@chromium\&.org>
196 AuthorDate: Thu Apr 10 08:54:46 2014 +0000 272 AuthorDate: Thu Apr 10 08:54:46 2014 +0000
197 Commit: some\&.committer <some\&.committer@chromium\&.org> 273 Commit: some\&.committer <some\&.committer@chromium\&.org>
198 CommitDate: Thu Apr 10 08:54:46 2014 +0000 274 CommitDate: Thu Apr 10 08:54:46 2014 +0000
199 275
200 This change needs to go to branch 9999 276 This change needs to go to branch 9999
201 277
202 # Checkout the branch we want to \*(Aqdrover\*(Aq to\&. 278 # Checkout the branch we want to \*(Aqdrover\*(Aq to\&.
203 \fB$ git checkout \-b drover_9999 branch\-heads/9999\fR 279 \fB$ git checkout \-b drover_9999 branch\-heads/9999\fR
204 Branch drover_9999 set up to track remote ref refs/branch\-heads/9999\&. 280 Branch drover_9999 set up to track remote ref refs/branch\-heads/9999\&.
205 281
206 # Now do the \*(Aqdrover\*(Aq\&. 282 # Now do the \*(Aqdrover\*(Aq\&.
207 # IMPORTANT!!! Do Not leave off the \*(Aq\-x\*(Aq flag 283 # IMPORTANT!!! Do Not leave off the \*(Aq\-x\*(Aq flag
208 \fB$ git cherry\-pick \-x 640f962733bfd2b9c44539a0d65952643750957e\fR 284 \fB$ git cherry\-pick \-x 2655f8d9d48f18dbfed237c67b8c65134050b2e3\fR
209 [drover_9999 5f1ae97] This change needs to go to branch 9999 285 [drover_9999 589e8ad] This change needs to go to branch 9999
210 Author: some\&.committer <some\&.committer@chromium\&.org> 286 Author: some\&.committer <some\&.committer@chromium\&.org>
211 Date: Thu Apr 10 08:54:46 2014 +0000 287 Date: Thu Apr 10 08:54:46 2014 +0000
212 1 file changed, 1 insertion(+) 288 1 file changed, 1 insertion(+)
213 create mode 100644 modified_file 289 create mode 100644 modified_file
214 290
215 # That took the code authored by some\&.committer and committed it to 291 # That took the code authored by some\&.committer and committed it to
216 # the branch by the person who drovered it (i\&.e\&. you)\&. 292 # the branch by the person who drovered it (i\&.e\&. you)\&.
217 \fB$ git log \-n 1 \-\-pretty=fuller\fR 293 \fB$ git log \-n 1 \-\-pretty=fuller\fR
218 commit 5f1ae978a8d05c16d8ed812163b7aa927f028bf9 294 commit 589e8adbb095944100d029724b4038094120f23b
219 Author: some\&.committer <some\&.committer@chromium\&.org> 295 Author: some\&.committer <some\&.committer@chromium\&.org>
220 AuthorDate: Thu Apr 10 08:54:46 2014 +0000 296 AuthorDate: Thu Apr 10 08:54:46 2014 +0000
221 Commit: you <you@chromium\&.org> 297 Commit: you <you@chromium\&.org>
222 CommitDate: Thu Apr 10 09:11:36 2014 +0000 298 CommitDate: Thu Apr 10 09:11:36 2014 +0000
223 299
224 This change needs to go to branch 9999 300 This change needs to go to branch 9999
225 301
226 (cherry picked from commit 640f962733bfd2b9c44539a0d65952643750957e) 302 (cherry picked from commit 2655f8d9d48f18dbfed237c67b8c65134050b2e3)
227 303
228 # Looks good\&. Ship it! 304 # Looks good\&. Ship it!
229 \fB$ git cl upload\fR 305 \fB$ git cl upload\fR
230 # Wait for LGTM or TBR it\&. 306 # Wait for LGTM or TBR it\&.
231 \fB$ git cl land\fR 307 \fB$ git cl land\fR
232 # Or skip the LGTM/TBR and just \*(Aqgit cl land \-\-bypass\-hooks\*(Aq 308 # Or skip the LGTM/TBR and just \*(Aqgit cl land \-\-bypass\-hooks\*(Aq
233 .fi 309 .fi
234 .if n \{\ 310 .if n \{\
235 .RE 311 .RE
236 .\} 312 .\}
237 .sp 313 .sp
238 .RE 314 .RE
239 .SH "SEE ALSO" 315 .SH "SEE ALSO"
240 .sp 316 .sp
241 \fBgit-cherry-pick\fR(1), \fBgit-revert\fR(1) 317 \fBgit-cherry-pick\fR(1), \fBgit-revert\fR(1)
242 .SH "CHROMIUM DEPOT_TOOLS" 318 .SH "CHROMIUM DEPOT_TOOLS"
243 .sp 319 .sp
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\&. 320 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\&.
245 .SH "NOTES" 321 .SH "NOTES"
246 .IP " 1." 4 322 .IP " 1." 4
247 here 323 here
248 .RS 4 324 .RS 4
249 \%https://chromium.googlesource.com/chromium/tools/depot_tools.git 325 \%https://chromium.googlesource.com/chromium/tools/depot_tools.git
250 .RE 326 .RE
OLDNEW
« no previous file with comments | « man/html/git-drover.html ('k') | man/src/git-drover.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698