Commit 9756104b authored by Aaron Gable's avatar Aaron Gable Committed by Commit Bot

Document drover process for re-landing a CL in a release branch.

BUG=735230

Change-Id: Ia75170b3ea13c4c14eb7e8066ecb533f69adbc8d
Reviewed-on: https://chromium-review.googlesource.com/542038Reviewed-by: 's avatarAaron Gable <agable@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
parent fd0057e4
......@@ -917,6 +917,14 @@ set-commit
</p>
</dd>
<dt class="hdlist1">
split
</dt>
<dd>
<p>
splits a branch into smaller branches and uploads CLs
</p>
</dd>
<dt class="hdlist1">
status
</dt>
<dd>
......@@ -1018,7 +1026,7 @@ from <a href="https://chromium.googlesource.com/chromium/tools/depot_tools.git">
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
Last updated 2017-02-27 13:47:35 PST
Last updated 2017-06-21 09:37:12 PDT
</div>
</div>
</body>
......
......@@ -858,7 +858,7 @@ at least once to fetch the branches.</p></div>
<h4 id="_merge_example">Merge Example</h4>
<div class="paragraph"><p></p></div><div class="listingblock"><div class="content"><pre><code># Here's a commit (from some.committer) that we want to 'drover'.
<span style="font-weight: bold; color: #ffffff">$ git log -n 1 --pretty=fuller</span>
<span style="color: #e7e71c">commit 3b3f7e1631a521457357228c2048e647c60e67bd</span>
<span style="color: #e7e71c">commit c4c505c80a710432a95089cd7dca83e801bd3787</span>
Author: some.committer &lt;some.committer@chromium.org&gt;
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
Commit: some.committer &lt;some.committer@chromium.org&gt;
......@@ -867,10 +867,10 @@ CommitDate: Thu Apr 10 08:54:46 2014 +0000
This change needs to go to branch 9999
# Now do the 'drover'.
<span style="font-weight: bold; color: #ffffff">$ git drover --branch 9999 --cherry-pick 3b3f7e1631a521457357228c2048e647c60e67bd</span>
<span style="font-weight: bold; color: #ffffff">$ git drover --branch 9999 --cherry-pick c4c505c80a710432a95089cd7dca83e801bd3787</span>
Going to cherry-pick
"""
<span style="color: #e7e71c">commit 3b3f7e1631a521457357228c2048e647c60e67bd</span>
<span style="color: #e7e71c">commit c4c505c80a710432a95089cd7dca83e801bd3787</span>
Author: some.committer &lt;some.committer@chromium.org&gt;
Date: Thu Apr 10 08:54:46 2014 +0000
......@@ -888,7 +888,7 @@ About to land on 9999. Continue (y/n)? y
<h4 id="_merge_with_conflicts_example">Merge with Conflicts Example</h4>
<div class="paragraph"><p></p></div><div class="listingblock"><div class="content"><pre><code># Here's a commit (from some.committer) that we want to 'drover'.
<span style="font-weight: bold; color: #ffffff">$ git log -n 1 --pretty=fuller</span>
<span style="color: #e7e71c">commit 28f2d8f22642366b09afa8ea2d4ef6ea6de2f662</span>
<span style="color: #e7e71c">commit 1bf3c1360a47ee7db9ab3a1960bada575652ab18</span>
Author: some.committer &lt;some.committer@chromium.org&gt;
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
Commit: some.committer &lt;some.committer@chromium.org&gt;
......@@ -897,10 +897,10 @@ CommitDate: Thu Apr 10 08:54:46 2014 +0000
This change needs to go to branch 9999
# Now do the 'drover'.
<span style="font-weight: bold; color: #ffffff">$ git drover --branch 9999 --cherry-pick 28f2d8f22642366b09afa8ea2d4ef6ea6de2f662</span>
<span style="font-weight: bold; color: #ffffff">$ git drover --branch 9999 --cherry-pick 1bf3c1360a47ee7db9ab3a1960bada575652ab18</span>
Going to cherry-pick
"""
<span style="color: #e7e71c">commit 28f2d8f22642366b09afa8ea2d4ef6ea6de2f662</span>
<span style="color: #e7e71c">commit 1bf3c1360a47ee7db9ab3a1960bada575652ab18</span>
Author: some.committer &lt;some.committer@chromium.org&gt;
Date: Thu Apr 10 08:54:46 2014 +0000
......@@ -942,30 +942,32 @@ Branch drover_9999 set up to track remote ref refs/branch-heads/9999.
# Here's the commit we want to revert.
<span style="font-weight: bold; color: #ffffff">$ git log -n 1</span>
<span style="color: #e7e71c">commit 302334dbd2dca060814ffd3567808f2beafbf647</span>
<span style="color: #e7e71c">commit 62b99a198636d608dd761b8f87714627154dbd34</span>
Author: some.committer &lt;some.committer@chromium.org&gt;
Date: Thu Apr 10 08:54:46 2014 +0000
This change is horribly broken.
# Now do the revert.
<span style="font-weight: bold; color: #ffffff">$ git revert 302334dbd2dca060814ffd3567808f2beafbf647</span>
<span style="font-weight: bold; color: #ffffff">$ git revert 62b99a198636d608dd761b8f87714627154dbd34</span>
# That reverted the change and committed the revert.
<span style="font-weight: bold; color: #ffffff">$ git log -n 1</span>
<span style="color: #e7e71c">commit dd4742441d71cf2b8f403ff9ca819b3201de3c5b</span>
<span style="color: #e7e71c">commit 5ae4e652a29fd78de0ef0a9560878e5ae95c6c82</span>
Author: you &lt;you@chromium.org&gt;
Date: Thu Apr 10 09:11:36 2014 +0000
Revert "This change is horribly broken."
This reverts commit 302334dbd2dca060814ffd3567808f2beafbf647.
This reverts commit 62b99a198636d608dd761b8f87714627154dbd34.
# As with old drover, reverts are generally OK to commit without LGTM.
<span style="font-weight: bold; color: #ffffff">$ git cl upload -r some.committer@chromium.org --send-mail</span>
<span style="font-weight: bold; color: #ffffff">$ git cl land --bypass-hooks</span>
Using 50% similarity for rename/copy detection. Override with --similarity.
</code></pre></div></div><p><div class="paragraph"></p></div>
<div class="paragraph"><p>If your cherrypick onto a release branch gets reverted, do not create a new
cherrypick from master onto that release branch. Instead, use the "Reland"
button on the original cherrypick CL.</p></div>
</div>
<div class="sect3">
<h4 id="_manual_merge_example">Manual Merge Example</h4>
......@@ -974,7 +976,7 @@ Using 50% similarity for rename/copy detection. Override with --similarity.
# Here's a commit (from some.committer) that we want to 'drover'.
<span style="font-weight: bold; color: #ffffff">$ git log -n 1 --pretty=fuller</span>
<span style="color: #e7e71c">commit 441c947b3ff6e1d6b9036d67926011fbea92724f</span>
<span style="color: #e7e71c">commit 91ee663980fecd3bb7d6e8e166458e84b4e02d99</span>
Author: some.committer &lt;some.committer@chromium.org&gt;
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
Commit: some.committer &lt;some.committer@chromium.org&gt;
......@@ -988,8 +990,8 @@ Branch drover_9999 set up to track remote ref refs/branch-heads/9999.
# Now do the 'drover'.
# IMPORTANT!!! Do Not leave off the '-x' flag
<span style="font-weight: bold; color: #ffffff">$ git cherry-pick -x 441c947b3ff6e1d6b9036d67926011fbea92724f</span>
[drover_9999 c7b0d40] This change needs to go to branch 9999
<span style="font-weight: bold; color: #ffffff">$ git cherry-pick -x 91ee663980fecd3bb7d6e8e166458e84b4e02d99</span>
[drover_9999 73a5705] This change needs to go to branch 9999
Author: some.committer &lt;some.committer@chromium.org&gt;
Date: Thu Apr 10 08:54:46 2014 +0000
1 file changed, 1 insertion(+)
......@@ -998,7 +1000,7 @@ Branch drover_9999 set up to track remote ref refs/branch-heads/9999.
# That took the code authored by some.committer and committed it to
# the branch by the person who drovered it (i.e. you).
<span style="font-weight: bold; color: #ffffff">$ git log -n 1 --pretty=fuller</span>
<span style="color: #e7e71c">commit c7b0d40c9f5793a27043688183a48597e656adcc</span>
<span style="color: #e7e71c">commit 73a5705417e67c31f93d27fdee8240204082b5ef</span>
Author: some.committer &lt;some.committer@chromium.org&gt;
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
Commit: you &lt;you@chromium.org&gt;
......@@ -1006,15 +1008,17 @@ CommitDate: Thu Apr 10 09:11:36 2014 +0000
This change needs to go to branch 9999
(cherry picked from commit 441c947b3ff6e1d6b9036d67926011fbea92724f)
(cherry picked from commit 91ee663980fecd3bb7d6e8e166458e84b4e02d99)
# Looks good. Ship it!
<span style="font-weight: bold; color: #ffffff">$ git cl upload</span>
# Wait for LGTM or TBR it.
<span style="font-weight: bold; color: #ffffff">$ git cl land</span>
Using 50% similarity for rename/copy detection. Override with --similarity.
# Or skip the LGTM/TBR and just 'git cl land --bypass-hooks'
</code></pre></div></div><p><div class="paragraph"></p></div>
<div class="paragraph"><p>If <code>git cl upload</code> errors out, the branch you&#8217;re uploading to probably has a CL
with the same Change-Id. Instead of cherry-picking manually, use the Reland
button in the Gerrit UI to create a new CL, and patch that CL into your client.</p></div>
</div>
</div>
</div>
......@@ -1037,7 +1041,7 @@ from <a href="https://chromium.googlesource.com/chromium/tools/depot_tools.git">
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
Last updated 2016-12-15 15:36:52 PST
Last updated 2017-06-21 09:37:12 PDT
</div>
</div>
</body>
......
......@@ -2,12 +2,12 @@
.\" Title: git-cl
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\" Date: 02/27/2017
.\" Date: 06/21/2017
.\" Manual: Chromium depot_tools Manual
.\" Source: depot_tools a6ba28f5
.\" Source: depot_tools 0867192e
.\" Language: English
.\"
.TH "GIT\-CL" "1" "02/27/2017" "depot_tools a6ba28f5" "Chromium depot_tools Manual"
.TH "GIT\-CL" "1" "06/21/2017" "depot_tools 0867192e" "Chromium depot_tools Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
......@@ -132,6 +132,11 @@ set\-commit
sets the commit bit to trigger the Commit Queue
.RE
.PP
split
.RS 4
splits a branch into smaller branches and uploads CLs
.RE
.PP
status
.RS 4
show status of changelists
......
......@@ -2,12 +2,12 @@
.\" Title: git-drover
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\" Date: 12/15/2016
.\" Date: 06/21/2017
.\" Manual: Chromium depot_tools Manual
.\" Source: depot_tools f72f1ad
.\" Source: depot_tools 0867192e
.\" Language: English
.\"
.TH "GIT\-DROVER" "1" "12/15/2016" "depot_tools f72f1ad" "Chromium depot_tools Manual"
.TH "GIT\-DROVER" "1" "06/21/2017" "depot_tools 0867192e" "Chromium depot_tools Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
......@@ -101,7 +101,7 @@ Before working with branches, you must \fIgclient sync \-\-with_branch_heads\fR
.nf
# Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\&.
\fB$ git log \-n 1 \-\-pretty=fuller\fR
commit 067e08ebd511040fa9d5350da54112300d9c1801
commit 386bdd1dc15d367d7c33aa5d2ae5d10eb4b278bf
Author: some\&.committer <some\&.committer@chromium\&.org>
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
Commit: some\&.committer <some\&.committer@chromium\&.org>
......@@ -110,10 +110,10 @@ CommitDate: Thu Apr 10 08:54:46 2014 +0000
This change needs to go to branch 9999
# Now do the \*(Aqdrover\*(Aq\&.
\fB$ git drover \-\-branch 9999 \-\-cherry\-pick 067e08ebd511040fa9d5350da54112300d9c1801\fR
\fB$ git drover \-\-branch 9999 \-\-cherry\-pick 386bdd1dc15d367d7c33aa5d2ae5d10eb4b278bf\fR
Going to cherry\-pick
"""
commit 067e08ebd511040fa9d5350da54112300d9c1801
commit 386bdd1dc15d367d7c33aa5d2ae5d10eb4b278bf
Author: some\&.committer <some\&.committer@chromium\&.org>
Date: Thu Apr 10 08:54:46 2014 +0000
......@@ -148,7 +148,7 @@ About to land on 9999\&. Continue (y/n)? y
.nf
# Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\&.
\fB$ git log \-n 1 \-\-pretty=fuller\fR
commit e4fdcfa1a16c8b7265fb74a20cd029aa75cecaa8
commit 870faa8f7621b82b98e2e9a29056dff1fbf6b713
Author: some\&.committer <some\&.committer@chromium\&.org>
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
Commit: some\&.committer <some\&.committer@chromium\&.org>
......@@ -157,10 +157,10 @@ CommitDate: Thu Apr 10 08:54:46 2014 +0000
This change needs to go to branch 9999
# Now do the \*(Aqdrover\*(Aq\&.
\fB$ git drover \-\-branch 9999 \-\-cherry\-pick e4fdcfa1a16c8b7265fb74a20cd029aa75cecaa8\fR
\fB$ git drover \-\-branch 9999 \-\-cherry\-pick 870faa8f7621b82b98e2e9a29056dff1fbf6b713\fR
Going to cherry\-pick
"""
commit e4fdcfa1a16c8b7265fb74a20cd029aa75cecaa8
commit 870faa8f7621b82b98e2e9a29056dff1fbf6b713
Author: some\&.committer <some\&.committer@chromium\&.org>
Date: Thu Apr 10 08:54:46 2014 +0000
......@@ -219,34 +219,35 @@ 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 00b47037e6732455c6b90f8800f4ffe5fbe7326d
commit 7066f3820fe39e50400b9d406a394117f807538e
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 00b47037e6732455c6b90f8800f4ffe5fbe7326d\fR
\fB$ git revert 7066f3820fe39e50400b9d406a394117f807538e\fR
# That reverted the change and committed the revert\&.
\fB$ git log \-n 1\fR
commit e31cae25b69f773e05ea206848d1479315f2e349
commit 13e37b2a88d8fcd4ca4a55a4db27c619345f8396
Author: you <you@chromium\&.org>
Date: Thu Apr 10 09:11:36 2014 +0000
Revert "This change is horribly broken\&."
This reverts commit 00b47037e6732455c6b90f8800f4ffe5fbe7326d\&.
This reverts commit 7066f3820fe39e50400b9d406a394117f807538e\&.
# 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
Using 50% similarity for rename/copy detection\&. Override with \-\-similarity\&.
.fi
.if n \{\
.RE
.\}
.sp
.sp
If your cherrypick onto a release branch gets reverted, do not create a new cherrypick from master onto that release branch\&. Instead, use the "Reland" button on the original cherrypick CL\&.
.RE
.sp
.it 1 an-trap
......@@ -268,7 +269,7 @@ Using 50% similarity for rename/copy detection\&. Override with \-\-similarity\&
# Here\*(Aqs a commit (from some\&.committer) that we want to \*(Aqdrover\*(Aq\&.
\fB$ git log \-n 1 \-\-pretty=fuller\fR
commit 87e5c05985d9c2ee235c6b7b5d29cc50f45783db
commit 54631489ecf24a4ae3f5a12c393619a717cee85a
Author: some\&.committer <some\&.committer@chromium\&.org>
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
Commit: some\&.committer <some\&.committer@chromium\&.org>
......@@ -282,8 +283,8 @@ 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 87e5c05985d9c2ee235c6b7b5d29cc50f45783db\fR
[drover_9999 5c879cc] This change needs to go to branch 9999
\fB$ git cherry\-pick \-x 54631489ecf24a4ae3f5a12c393619a717cee85a\fR
[drover_9999 56188f1] 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(+)
......@@ -292,7 +293,7 @@ Branch drover_9999 set up to track remote ref refs/branch\-heads/9999\&.
# 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 5c879cc29a19045571b08d9b058b8306bf7dee6c
commit 56188f1e5b44b5ce95394d41912e980bccca8cc2
Author: some\&.committer <some\&.committer@chromium\&.org>
AuthorDate: Thu Apr 10 08:54:46 2014 +0000
Commit: you <you@chromium\&.org>
......@@ -300,19 +301,20 @@ CommitDate: Thu Apr 10 09:11:36 2014 +0000
This change needs to go to branch 9999
(cherry picked from commit 87e5c05985d9c2ee235c6b7b5d29cc50f45783db)
(cherry picked from commit 54631489ecf24a4ae3f5a12c393619a717cee85a)
# Looks good\&. Ship it!
\fB$ git cl upload\fR
# Wait for LGTM or TBR it\&.
\fB$ git cl land\fR
Using 50% similarity for rename/copy detection\&. Override with \-\-similarity\&.
# Or skip the LGTM/TBR and just \*(Aqgit cl land \-\-bypass\-hooks\*(Aq
.fi
.if n \{\
.RE
.\}
.sp
.sp
If git cl upload errors out, the branch you\(cqre uploading to probably has a CL with the same Change\-Id\&. Instead of cherry\-picking manually, use the Reland button in the Gerrit UI to create a new CL, and patch that CL into your client\&.
.RE
.SH "SEE ALSO"
.sp
......
......@@ -81,10 +81,18 @@ Revert Example
^^^^^^^^^^^^^^
demo:2[]
If your cherrypick onto a release branch gets reverted, do not create a new
cherrypick from master onto that release branch. Instead, use the "Reland"
button on the original cherrypick CL.
Manual Merge Example
^^^^^^^^^^^^^^^^^^^^
demo:3[]
If `git cl upload` errors out, the branch you're uploading to probably has a CL
with the same Change-Id. Instead of cherry-picking manually, use the Reland
button in the Gerrit UI to create a new CL, and patch that CL into your client.
SEE ALSO
--------
linkgit:git-cherry-pick[1], linkgit:git-revert[1]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment