* <spanstyle="font-weight: bold; color: #e42e16">41290e0 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ don't use glibc-specific execinfo.h on uclibc builds
* <spanstyle="font-weight: bold; color: #e42e16">a76fde7 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ [fsp] Add requestUnmount() method together with the request manager.
* <spanstyle="font-weight: bold; color: #e42e16">9de7a71 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ linux_aura: Use system configuration for middle clicking the titlebar.
Your branch is ahead of 'origin/master' by 1 commit.
Your branch is ahead of 'origin/main' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
@ -1276,7 +1276,7 @@ nothing to commit, working tree clean
... truncated output ...
</code></pre></div></div><p><divclass="paragraph"> While we wait for feedback, let's do something else.</p></div><divclass="listingblock"><divclass="content"><pre><code><spanstyle="font-weight: bold; color: #ffffff">$ git new-branch chap2</span>
(use "git add <file>..." to update what will be committed)
@ -1299,7 +1299,7 @@ no changes added to commit (use "git add" and/or "git commit -a")
</code></pre></div></div><p><divclass="paragraph"> Someone on the code review pointed out that our typo-fix has a typo :( We're still working on 'chap2' but we really want to land 'fix_typo', so let's switch over and fix it.</p></div><divclass="listingblock"><divclass="content"><pre><code><spanstyle="font-weight: bold; color: #ffffff">$ git freeze</span>
* <spanstyle="font-weight: bold; color: #e42e16">41290e0 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ don't use glibc-specific execinfo.h on uclibc builds
* <spanstyle="font-weight: bold; color: #e42e16">a76fde7 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ [fsp] Add requestUnmount() method together with the request manager.
* <spanstyle="font-weight: bold; color: #e42e16">9de7a71 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ linux_aura: Use system configuration for middle clicking the titlebar.
@ -1338,11 +1338,11 @@ It was a Domo-<span style="color: #e42e16">Banana</span><span style="color: #19c
</code></pre></div></div><p><divclass="paragraph"> Switch back to where we were using the nav* commands (for fun... git checkout would work here too)</p></div><divclass="listingblock"><divclass="content"><pre><code><spanstyle="font-weight: bold; color: #ffffff">$ git map-branches</span>
</code></pre></div></div><p><divclass="paragraph"> Now we can pick up on chapter2 where we left off.</p></div><divclass="listingblock"><divclass="content"><pre><code></span><spanstyle="font-weight: bold; color: #ffffff">$ git thaw</span>
* <spanstyle="font-weight: bold; color: #e42e16">41290e0 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ don't use glibc-specific execinfo.h on uclibc builds
* <spanstyle="font-weight: bold; color: #e42e16">a76fde7 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ [fsp] Add requestUnmount() method together with the request manager.
* <spanstyle="font-weight: bold; color: #e42e16">9de7a71 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ linux_aura: Use system configuration for middle clicking the titlebar.
* <spanstyle="font-weight: bold; color: #e42e16">41290e0 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ don't use glibc-specific execinfo.h on uclibc builds
* <spanstyle="font-weight: bold; color: #e42e16">a76fde7 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ [fsp] Add requestUnmount() method together with the request manager.
* <spanstyle="font-weight: bold; color: #e42e16">9de7a71 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ linux_aura: Use system configuration for middle clicking the titlebar.
@ -1450,19 +1450,19 @@ EOF
</code></pre></div></div><p><divclass="paragraph"> We haven't updated the code in a while, so let's do that now.</p></div><divclass="listingblock"><divclass="content"><pre><code><spanstyle="font-weight: bold; color: #ffffff">$ git rebase-update</span>
Fetching origin
From https://upstream
beec6f4..59cdb73 master -> origin/master
beec6f4..59cdb73 main -> origin/main
Rebasing: chap2
Rebasing: fix_typo
Failed! Attempting to squash fix_typo ... Success!
Rebasing: chap3
Reparented chap3 to track origin/master (was tracking chap2)
Reparented chap3 to track origin/main (was tracking chap2)
Deleted branch fix_typo (was 5d26fec).
Deleted branch chap2 (was 5d26fec).
</code></pre></div></div><p><divclass="paragraph"> Well look at that. The CQ landed our typo and chapter2 branches already and git rebase-update cleaned them up for us.</p></div><divclass="listingblock"><divclass="content"><pre><code><spanstyle="font-weight: bold; color: #ffffff">$ gclient sync</span>
* <spanstyle="font-weight: bold; color: #e42e16">df7fefb </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ Revert 255617, due to it not tracking use of the link doctor page properly.
</code></pre></div></div><p><divclass="paragraph"> Someone on IRC mentions that they actually landed a chapter 3 already! We should pull their changes before continuing. Brace for a code conflict!</p></div><divclass="listingblock"><divclass="content"><pre><code><spanstyle="font-weight: bold; color: #ffffff">$ git rebase-update</span>
* <spanstyle="font-weight: bold; color: #e42e16">41290e0 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ don't use glibc-specific execinfo.h on uclibc builds
* <spanstyle="font-weight: bold; color: #e42e16">a76fde7 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ [fsp] Add requestUnmount() method together with the request manager.
* <spanstyle="font-weight: bold; color: #e42e16">9de7a71 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ linux_aura: Use system configuration for middle clicking the titlebar.
* <spanstyle="font-weight: bold; color: #e42e16">41290e0 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ don't use glibc-specific execinfo.h on uclibc builds
* <spanstyle="font-weight: bold; color: #e42e16">a76fde7 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ [fsp] Add requestUnmount() method together with the request manager.
* <spanstyle="font-weight: bold; color: #e42e16">9de7a71 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ linux_aura: Use system configuration for middle clicking the titlebar.
@ -834,7 +834,7 @@ verify that the conflict diff is what you expected (and then skip it with
* <spanstyle="font-weight: bold; color: #e42e16">41290e0 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ don't use glibc-specific execinfo.h on uclibc builds
* <spanstyle="font-weight: bold; color: #e42e16">a76fde7 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ [fsp] Add requestUnmount() method together with the request manager.
* <spanstyle="font-weight: bold; color: #e42e16">9de7a71 </span><spanstyle="color: #19c518"></span><spanstyle="color: #e7e71c">2014-04-10</span> ~ linux_aura: Use system configuration for middle clicking the titlebar.
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\&.
If your cherrypick onto a release branch gets reverted, do not create a new cherrypick from main onto that release branch\&. Instead, use the "Reland" button on the original cherrypick CL\&.
@ -41,7 +41,7 @@ git-new-branch \- Create a new branch with correct tracking information\&.
.sp
.SH"DESCRIPTION"
.sp
Creates a new branch\&. By default the new branch will track the configured upstream for the repo (defaults to \fIorigin/master\fR)\&. If one of the other options is specified, it will track that other ref instead\&.
Creates a new branch\&. By default the new branch will track the configured upstream for the repo (defaults to \fIorigin/main\fR)\&. If one of the other options is specified, it will track that other ref instead\&.
.sp
Conceptually, each branch in your repo represents one \fIChange List (CL)\fR\&. If you have many independent CLs (i\&.e\&. the changes in one do not interact with/depend on the changes in another), then you should create them as new branches tracking the default upstream (i\&.e\&. git new\-branch <branch_name>)\&. If you have features which depend on each other, you should create stacked branches using git new\-branch \-\-upstream_current <branch_name>\&.
.SH"OPTIONS"
@ -80,7 +80,7 @@ The name for the new branch\&.
.SH"CONFIGURATION VARIABLES"
.SS"depot\-tools\&.upstream"
.sp
This configures the default \fIupstream\fR for all new branches\&. If it is unset, it defaults to \fIorigin\fR\*(Aqs default branch or \fIorigin/master\fR if that can\(cqt be found\&. This is considered to be the \fIroot\fR branch\&.
This configures the default \fIupstream\fR for all new branches\&. If it is unset, it defaults to \fIorigin\fR\*(Aqs default branch or \fIorigin/main\fR if that can\(cqt be found\&. This is considered to be the \fIroot\fR branch\&.
.SH"EXAMPLE"
.sp
@ -90,14 +90,14 @@ This configures the default \fIupstream\fR for all new branches\&. If it is unse
@ -369,7 +369,7 @@ Each CL corresponds exactly with a single branch in git\&. Any time you want to
.\}
.sp
.sp
This will create and checkout a new branch named branch_name which will track the default upstream branch (origin/master)\&. See \fBgit-new-branch\fR(1) for more features\&.
This will create and checkout a new branch named branch_name which will track the default upstream branch (origin/main)\&. See \fBgit-new-branch\fR(1) for more features\&.
.sp
Commit as many changes as you like to this branch\&. When you want to upload it for review, run:
.sp
@ -384,7 +384,7 @@ Commit as many changes as you like to this branch\&. When you want to upload it
.\}
.sp
.sp
This will take the diff of your branch against its upstream branch (in that case origin/master), and will post it to the \m[blue]\fBChromium code review site\fR\m[]\&\s-2\u[5]\d\s+2\&.
This will take the diff of your branch against its upstream branch (in that case origin/main), and will post it to the \m[blue]\fBChromium code review site\fR\m[]\&\s-2\u[5]\d\s+2\&.
.SH"UPDATING THE CODE"
.sp
Inevitably, you\(cqll want to pull in changes from the main Chromium repo\&. This is pretty easy with \fIdepot_tools\fR:
@ -437,9 +437,9 @@ Once you start to have more than one CL at a time, it can be easy to lose your b
@ -462,11 +462,11 @@ Note that this example repo is in dire need of a \fBgit-rebase-update\fR(1)!
.\}
.nf
\fB$ git map\-branches\fR
origin/master
origin/main
cool_feature
subfeature
frozen_changes *
master
main
.fi
.ifn\{\
.RE
@ -508,11 +508,11 @@ Like all of the other CLs we\(cqve created, we use \fBgit-new-branch\fR(1), but
.\}
.sp
.sp
This will make a new branch which tracks the \fIcurrent\fR branch as its upstream (as opposed to \fIorigin/master\fR)\&. All changes you commit to this branch will be in addition to the previous branch, but when you git cl upload, you will only upload the diff for the dependent (child) branch\&. You may have as many branches nested in this fashion as you like\&.
This will make a new branch which tracks the \fIcurrent\fR branch as its upstream (as opposed to \fIorigin/main\fR)\&. All changes you commit to this branch will be in addition to the previous branch, but when you git cl upload, you will only upload the diff for the dependent (child) branch\&. You may have as many branches nested in this fashion as you like\&.
.sp
\fBgit-map\fR(1) and \fBgit-map-branches\fR(1) are particularly helpful when you have dependent branches\&. In addition, there are two helper commands which let you traverse your working copy up and down this tree of branches: \fBgit-nav-upstream\fR(1) and \fBgit-nav-downstream\fR(1)\&.
.sp
Sometimes when dealing with dependent CLs, it turns out that you accidentally based a branch on the wrong upstream, but since then you\(cqve committed changes to it, or even based \fIanother\fR branch off of that one\&. Or you discover that you have two independent CLs that would actually be much better off as dependent CLs\&. In instances like these, you can check out the offending branch and use \fBgit-reparent-branch\fR(1) to move it to track a different parent\&. Note that this can also be used to move a branch from tracking origin/master to lkgr or vice versa\&.
Sometimes when dealing with dependent CLs, it turns out that you accidentally based a branch on the wrong upstream, but since then you\(cqve committed changes to it, or even based \fIanother\fR branch off of that one\&. Or you discover that you have two independent CLs that would actually be much better off as dependent CLs\&. In instances like these, you can check out the offending branch and use \fBgit-reparent-branch\fR(1) to move it to track a different parent\&. Note that this can also be used to move a branch from tracking origin/main to lkgr or vice versa\&.
.SH"EXAMPLE WALKTHROUGH"
.sp
This section will demo what a typical workflow looks like when writing, updating, and committing multiple CLs\&.