| Index: docs/html/depot_tools_tutorial.html
|
| diff --git a/docs/html/git-map.html b/docs/html/depot_tools_tutorial.html
|
| similarity index 50%
|
| copy from docs/html/git-map.html
|
| copy to docs/html/depot_tools_tutorial.html
|
| index 02f6274b60c3b2a19601a3b1e684794b90779029..8db983ee39ac43fa4927b0781d149f54be2488b3 100644
|
| --- a/docs/html/git-map.html
|
| +++ b/docs/html/depot_tools_tutorial.html
|
| @@ -4,7 +4,7 @@
|
| <head>
|
| <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
| <meta name="generator" content="AsciiDoc 8.6.9" />
|
| -<title>git-map(1)</title>
|
| +<title>depot_tools_tutorial(7)</title>
|
| <style type="text/css">
|
| /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
|
|
| @@ -741,99 +741,337 @@ asciidoc.install();
|
| <body class="manpage">
|
| <div id="header">
|
| <h1>
|
| -git-map(1) Manual Page
|
| +depot_tools_tutorial(7) Manual Page
|
| </h1>
|
| <h2>NAME</h2>
|
| <div class="sectionbody">
|
| -<p>git-map -
|
| - Display history of all branches in a colorized terminal format.
|
| +<p>depot_tools_tutorial -
|
| + A tutorial introduction to the Chromium depot_tools git extensions.
|
| </p>
|
| </div>
|
| </div>
|
| <div id="content">
|
| <div class="sect1">
|
| -<h2 id="_synopsis">SYNOPSIS</h2>
|
| -<div class="sectionbody">
|
| -<div class="verseblock">
|
| -<pre class="content"><em>git map</em> [<extra_args>…]</pre>
|
| -<div class="attribution">
|
| -</div></div>
|
| -</div>
|
| -</div>
|
| -<div class="sect1">
|
| <h2 id="_description">DESCRIPTION</h2>
|
| <div class="sectionbody">
|
| -<div class="paragraph"><p>Git map formats the output of <code>git log --graph</code> from all refs such that:</p></div>
|
| +<div class="paragraph"><p>The Chromium <a href="depot_tools.html">depot_tools(7)</a> suite contains many git workflow-enhancing
|
| +tools which are designed to work together to enable anyone to wrangle the
|
| +Chromium codebase expertly. This tutorial explains how to do development on
|
| +Chromium using these tools. This will cover:</p></div>
|
| <div class="ulist"><ul>
|
| <li>
|
| <p>
|
| -Current branch is <span class="aqua">cyan</span>.
|
| +<a href="#_setting_up">Setting up</a>
|
| </p>
|
| </li>
|
| <li>
|
| <p>
|
| -Local branches are <span class="green">green</span>.
|
| +<a href="#_getting_the_code">Getting the code</a>
|
| </p>
|
| </li>
|
| <li>
|
| <p>
|
| -Remote branches are <span class="red">red</span>.
|
| +<a href="#_creating_uploading_a_cl">Creating / Uploading a CL</a>
|
| </p>
|
| </li>
|
| <li>
|
| <p>
|
| -Tags are <span class="fuchsia">magenta</span>.
|
| +<a href="#_updating_the_code">Updating the code</a>
|
| </p>
|
| </li>
|
| <li>
|
| <p>
|
| -Merge Base markers are <span class="black-background white">white</span>.
|
| +<a href="#_managing_multiple_cls">Managing multiple CLs</a>
|
| </p>
|
| </li>
|
| <li>
|
| <p>
|
| -The currently checked out commit is highlighted with a <span class="yellow blue-background">blue background</span>.
|
| +<a href="#_managing_dependent_cls">Managing dependent CLs</a>
|
| </p>
|
| </li>
|
| </ul></div>
|
| -<div class="paragraph"><p>The output is automatically piped through the <code>less</code> pager command, even on
|
| -windows.</p></div>
|
| +<div class="paragraph"><p>Please refer to the manpages (or <code>--help</code> output) for details about any of the
|
| +commands mentioned in this tutorial.</p></div>
|
| +<div class="admonitionblock">
|
| +<table><tr>
|
| +<td class="icon">
|
| +<div class="title">Note</div>
|
| +</td>
|
| +<td class="content">If your platform does not support manpages (or you prefer something a bit more
|
| +expressive than plain text) you can find all documentation in <em>html</em> form in the
|
| +<code>[DEPOT_TOOLS]/docs/html</code> folder.</td>
|
| +</tr></table>
|
| +</div>
|
| +<div class="sect2">
|
| +<h3 id="_prerequisites">PREREQUISITES</h3>
|
| +<div class="paragraph"><p>This tutorial will assume some basic familarity with git terminology and basic
|
| +premises. If you need to brush up on these, the following are very good
|
| +resources:</p></div>
|
| +<div class="ulist"><ul>
|
| +<li>
|
| +<p>
|
| +<a href="http://git-scm.com/book">Pro Git book</a> - Pretty good overview of git to
|
| + bootstrap a working knowledge.
|
| +</p>
|
| +</li>
|
| +<li>
|
| +<p>
|
| +<a href="http://gitimmersion.com/">Git Immersion Tutorial</a> - An in-depth git
|
| + tutorial.
|
| +</p>
|
| +</li>
|
| +<li>
|
| +<p>
|
| +<a href="http://pcottle.github.io/learnGitBranching">pcottle’s Visual Git
|
| + Branching</a> - An excellent interactive/graphical demo on how git handles
|
| + commits, branches, and shows the operations git performs on them.
|
| +</p>
|
| +</li>
|
| +</ul></div>
|
| +</div>
|
| </div>
|
| </div>
|
| <div class="sect1">
|
| -<h2 id="_options">OPTIONS</h2>
|
| +<h2 id="_setting_up">SETTING UP</h2>
|
| <div class="sectionbody">
|
| +<div class="sect2">
|
| +<h3 id="_get_depot_tools">GET DEPOT TOOLS</h3>
|
| +<div class="sect3">
|
| +<h4 id="_linux_mac">LINUX / MAC</h4>
|
| +<div class="paragraph"><p>Clone the <em>depot_tools</em> repository:</p></div>
|
| +<div class="listingblock">
|
| +<div class="content">
|
| +<pre><code><strong><span class="white">$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools</span></strong></code></pre>
|
| +</div></div>
|
| +<div class="paragraph"><p>Add <em>depot_tools</em> to the <em>end</em> of your PATH and MANPATH (you will probably want
|
| +to put this in your <code>~/.bashrc</code> or <code>~/.zshrc</code>). Assuming you cloned
|
| +<em>depot_tools</em> to <code>/path/to/depot_tools</code>:</p></div>
|
| +<div class="listingblock">
|
| +<div class="content">
|
| +<pre><code><strong><span class="white">$ export PATH=$PATH:/path/to/depot_tools</span></strong>
|
| +<strong><span class="white">$ export MANPATH=$MANPATH:/path/to/depot_tools/docs</span></strong> <b><1></b></code></pre>
|
| +</div></div>
|
| +<div class="colist arabic"><ol>
|
| +<li>
|
| +<p>
|
| +Observe that this path is <code>depot_tools/</code><strong><code>docs</code></strong>.
|
| +</p>
|
| +</li>
|
| +</ol></div>
|
| +</div>
|
| +<div class="sect3">
|
| +<h4 id="_windows">WINDOWS</h4>
|
| +<div class="paragraph"><p>Download the <em>depot_tools</em>
|
| +<a href="https://src.chromium.org/svn/trunk/tools/depot_tools.zip">bundle</a> and
|
| +extract it somewhere.</p></div>
|
| +<div class="admonitionblock">
|
| +<table><tr>
|
| +<td class="icon">
|
| +<div class="title">Warning</div>
|
| +</td>
|
| +<td class="content"><strong>DO NOT</strong> use drag-n-drop or copy-n-paste extract from Explorer, this will not
|
| +extract the hidden “.git” folder which is necessary for <em>depot_tools</em> to
|
| +autoupdate itself. You can use “Extract all…” from the context menu though.</td>
|
| +</tr></table>
|
| +</div>
|
| +<div class="paragraph"><p>Add <em>depot_tools</em> to the <em>end</em> of your PATH. Assuming you unzipped the
|
| +bundle to <code>C:\workspace\depot_tools</code>:</p></div>
|
| <div class="dlist"><dl>
|
| <dt class="hdlist1">
|
| -<extra_args>…
|
| +With Administrator access:
|
| </dt>
|
| <dd>
|
| <p>
|
| - Extra parameters to pass to the internal <a href="git-log.html">git-log(1)</a> invocation. This
|
| - can be used to restrict what refs <em>git map</em> operates on, etc.
|
| + <strong>Control Panel → System and Security → System → Advanced system settings</strong>
|
| </p>
|
| -<div class="paragraph"><p>If you run git map with a series of fixed arguments frequently, you can use
|
| -the depot-tools.map-extra configuration variable to pre-set arguments (See
|
| -<code>CONFIGURATION VARIABLES</code>)</p></div>
|
| +<div class="paragraph"><p>Modify the PATH system variable to include <code>C:\workspace\depot_tools</code>.</p></div>
|
| +</dd>
|
| +<dt class="hdlist1">
|
| +Without Administrator access:
|
| +</dt>
|
| +<dd>
|
| +<p>
|
| + <strong>Control Panel → User Accounts → User Accounts → Change my environment variables</strong>
|
| +</p>
|
| +<div class="paragraph"><p>Add a PATH user variable: <code>%PATH%;C:\workspace\depot_tools</code>.</p></div>
|
| </dd>
|
| </dl></div>
|
| +<div class="paragraph"><p>From a <code>cmd.exe</code> shell, run the command <code>gclient</code> (without arguments). On first
|
| +run, gclient will install all the Windows-specific bits needed to work with the
|
| +code, including msysgit and python.</p></div>
|
| +<div class="admonitionblock">
|
| +<table><tr>
|
| +<td class="icon">
|
| +<div class="title">Note</div>
|
| +</td>
|
| +<td class="content">
|
| +<div class="ulist"><ul>
|
| +<li>
|
| +<p>
|
| +If you run gclient from a non-cmd shell (e.g., cygwin, PowerShell), it
|
| + may appear to run properly, but msysgit, python, and other tools may not get
|
| + installed correctly.
|
| +</p>
|
| +</li>
|
| +<li>
|
| +<p>
|
| +If you see strange errors with the file system on the first run of gclient,
|
| + you may want to <a href="http://tortoisesvn.tigris.org/faq.html#cantmove2">disable
|
| + Windows Indexing</a>.
|
| +</p>
|
| +</li>
|
| +<li>
|
| +<p>
|
| +If you are running Windows XP and see errors like “The system cannot execute
|
| + the specified program”, try installing the
|
| + <a href="http://code.google.com/p/chromium/issues/detail?id=75886">“Microsoft
|
| + Visual C++ 2008 Redistributable Package”</a>.
|
| +</p>
|
| +</li>
|
| +</ul></div>
|
| +</td>
|
| +</tr></table>
|
| +</div>
|
| +</div>
|
| +</div>
|
| +<div class="sect2">
|
| +<h3 id="_bootstrapping_configuration">BOOTSTRAPPING CONFIGURATION</h3>
|
| +<div class="paragraph"><p>If you have never used git before, you’ll need to set some global git
|
| +configurations; substitute your name and email address in the following
|
| +commands:</p></div>
|
| +<div class="listingblock">
|
| +<div class="content">
|
| +<pre><code><strong><span class="white">$ git config --global user.name “John Doe”</span></strong>
|
| +<strong><span class="white">$ git config --global user.email “jdoe@email.com”</span></strong>
|
| +<strong><span class="white">$ git config --global core.autocrlf false</span></strong>
|
| +<strong><span class="white">$ git config --global core.filemode false</span></strong>
|
| +<strong><span class="white">$</span></strong> # and for fun!
|
| +<strong><span class="white">$ git config --global color.ui true</span></strong></code></pre>
|
| +</div></div>
|
| +</div>
|
| </div>
|
| </div>
|
| <div class="sect1">
|
| -<h2 id="_configuration_variables">CONFIGURATION VARIABLES</h2>
|
| +<h2 id="_getting_the_code">GETTING THE CODE</h2>
|
| <div class="sectionbody">
|
| -<div class="sect2">
|
| -<h3 id="_depot_tools_map_extra">depot-tools.map-extra</h3>
|
| -<div class="paragraph"><p>Each value of the <em>depot-tools.map-extra</em> config variable is applied as an
|
| -additional argument to <code>git log</code> during the execution of git map. If you wish to
|
| -configure this, use git <code>config --add depot-tools.map-extra <value></code> to do so.</p></div>
|
| +<div class="paragraph"><p>Pick an empty directory and run one of the following:</p></div>
|
| +<div class="listingblock">
|
| +<div class="content">
|
| +<pre><code><strong><span class="white">$ fetch chromium</span></strong> # Basic checkout for desktop Chromium
|
| +<strong><span class="white">$ fetch blink</span></strong> # Chromium code with blink checked out to tip-of-tree
|
| +<strong><span class="white">$ fetch android</span></strong> # Chromium checkout for Android platform
|
| +<strong><span class="white">$ fetch ios</span></strong> # Chromium checkout for iOS platform</code></pre>
|
| +</div></div>
|
| +<div class="paragraph"><p>When the <code>fetch</code> tool completes you should have the following in your working
|
| +directory:</p></div>
|
| +<div class="listingblock">
|
| +<div class="content">
|
| +<pre><code><strong><span class="white">.gclient</span></strong> # A configuration file for you source checkout
|
| +<strong><span class="white">src/</span></strong> # Top-level Chromium source checkout.</code></pre>
|
| +</div></div>
|
| +<div class="paragraph"><p>If you are on linux, then you’ll need to run:</p></div>
|
| +<div class="listingblock">
|
| +<div class="content">
|
| +<pre><code><strong><span class="white">$ cd src && ./build/install-build-deps.sh</span></strong></code></pre>
|
| +</div></div>
|
| +<div class="paragraph"><p>And finally:</p></div>
|
| +<div class="listingblock">
|
| +<div class="content">
|
| +<pre><code><strong><span class="white">$ gclient sync</span></strong> <b><1></b></code></pre>
|
| +</div></div>
|
| +<div class="colist arabic"><ol>
|
| +<li>
|
| +<p>
|
| +This will pull all dependencies of the Chromium src checkout. You will need
|
| +to run this any time you update the main src checkout.
|
| +</p>
|
| +</li>
|
| +</ol></div>
|
| </div>
|
| </div>
|
| +<div class="sect1">
|
| +<h2 id="_creating_uploading_a_cl">CREATING / UPLOADING A CL</h2>
|
| +<div class="sectionbody">
|
| +<div class="admonitionblock">
|
| +<table><tr>
|
| +<td class="icon">
|
| +<div class="title">Note</div>
|
| +</td>
|
| +<td class="content">The remainder of the tutorial assumes that your current working directory
|
| +is the <code>src/</code> folder mentioned in <a href="#_getting_the_code">Getting the code</a>.</td>
|
| +</tr></table>
|
| +</div>
|
| +<div class="paragraph"><p>Each CL corresponds exactly with a single branch in git. Any time you want to
|
| +begin a new CL, just:</p></div>
|
| +<div class="listingblock">
|
| +<div class="content">
|
| +<pre><code><strong><span class="white">$ git new-branch <branch_name></span></strong></code></pre>
|
| +</div></div>
|
| +<div class="paragraph"><p>This will create and checkout a new branch named <code>branch_name</code> which will track
|
| +the default upstream (which is <code>origin/master</code>). See <a href="git-new-branch.html">git-new-branch(1)</a>
|
| +for more features, such as the ability to track <em>LKGR</em>.</p></div>
|
| +<div class="paragraph"><p>Commit as many changes as you like to this branch. When you want to upload it
|
| +for review, run:</p></div>
|
| +<div class="listingblock">
|
| +<div class="content">
|
| +<pre><code><strong><span class="white">$ git cl upload</span></strong></code></pre>
|
| +</div></div>
|
| +<div class="paragraph"><p>This will take the diff of your branch against it’s upstream (<code>origin/master</code>),
|
| +and will post it to the <a href="https://codereview.chromium.org">Chromium code
|
| +review site</a>.</p></div>
|
| +</div>
|
| </div>
|
| <div class="sect1">
|
| -<h2 id="_example">EXAMPLE</h2>
|
| +<h2 id="_updating_the_code">UPDATING THE CODE</h2>
|
| <div class="sectionbody">
|
| -<div class="paragraph"><p>Running <em>git map</em> would result in an output something like:</p></div>
|
| +<div class="paragraph"><p>Inevitably, you’ll want to pull in changes from the main Chromium repo. This is
|
| +pretty easy with <em>depot_tools</em>:</p></div>
|
| +<div class="listingblock">
|
| +<div class="content">
|
| +<pre><code><strong><span class="white">$ git rebase-update</span></strong></code></pre>
|
| +</div></div>
|
| +<div class="paragraph"><p>This command will update all of your CLs to contain the latest code from their
|
| +upstreams. It will also automatically clean up CLs which have been committed and
|
| +a couple other nice things :). See <a href="git-rebase-update.html">git-rebase-update(1)</a> for the full
|
| +scoop.</p></div>
|
| +<div class="paragraph"><p>One thing to look out for are <em>merge conflicts</em>. These happen for exactly the
|
| +same as they do with SVN, but the experience is a little more controllable with
|
| +git. <code>git rebase-update</code> will try to rebase all your branches for you, but if it
|
| +encounters a merge conflict in one, it will halt and leave you in a rebase
|
| +conflict state (see <a href="git-rebase.html">git-rebase(1)</a>). Resolving <code>git rebase</code> merge
|
| +conflicts is beyond the scope of this tutorial, but there are many good sources
|
| +online (see the <a href="#_prerequisites">Prerequisites</a> for some).</p></div>
|
| +<div class="paragraph"><p>Sometimes you’re pretty certain that you’ve committed a certain branch, but <code>git
|
| +rebase-update</code> isn’t able to tell that because your branch doesn’t rebase
|
| +cleanly, and you’d like to double check the diff of your branch against its
|
| +upstream before deleting it. If this is the case you can abort the rebase, and
|
| +then run <a href="git-squash-branch.html">git-squash-branch(1)</a> to flatten your branch into a single
|
| +commit. When you run <code>git rebase-update</code> again, you’ll get a (hopefully) much
|
| +smaller / saner diff. If it turns out you were wrong, you can use
|
| +<a href="git-reflog.html">git-reflog(1)</a> to reset your branch back to where it was.</p></div>
|
| +<div class="paragraph"><p>Once you’re done resolving all of the merge conflict, just run <code>git
|
| +rebase-update</code>, and it will pick up where it left off. Once the command has
|
| +finished updating all of your branches, it will return you back to the branch
|
| +you started on.</p></div>
|
| +<div class="admonitionblock">
|
| +<table><tr>
|
| +<td class="icon">
|
| +<div class="title">Note</div>
|
| +</td>
|
| +<td class="content">Running <code>git rebase-update</code> will update all your branches, but it will not
|
| +automatically run <code>gclient sync</code> to update your dependencies.</td>
|
| +</tr></table>
|
| +</div>
|
| +</div>
|
| +</div>
|
| +<div class="sect1">
|
| +<h2 id="_managing_multiple_cls">MANAGING MULTIPLE CLS</h2>
|
| +<div class="sectionbody">
|
| +<div class="paragraph"><p>Sometimes you want to work on more than one CL at once (say, you have a CL
|
| +posted for review and want to work on something else). For each CL that you
|
| +want to work on, just use <code>git new-branch <branchname></code>.</p></div>
|
| +<div class="paragraph"><p>Once you start to have more than one CL at a time, it can be easy to lose your
|
| +bearings. Fortunately, <em>depot_tools</em> has two tools to help you out:</p></div>
|
| <div class="listingblock">
|
| <div class="content">
|
| <pre><code><strong><span class="white">$ git map</span></strong>
|
| @@ -853,22 +1091,135 @@ configure this, use git <code>config --add depot-tools.map-extra <value></
|
| <span class="red">|/</span>
|
| * <strong><span class="red">d08c5b3</span></strong> <span class="green">(</span>​<strong><span class="lime">bogus_noparent</span></strong>​<span class="green">)</span> <span class="yellow">2014-03-11</span> ~ Wonderful beginnings <strong><span class="white"><(cool_feature)</span></strong></code></pre>
|
| </div></div>
|
| -<div class="paragraph"><p>As you can see, the structure of the commit history is visible, particularly
|
| -what the parents of each commit are. In order to see the <em>upstream</em>
|
| -relationships of the branches (i.e. which branch is tracking which other
|
| -branch), use the <a href="git-map-branches.html">git-map-branches(1)</a> command.</p></div>
|
| +<div class="paragraph"><p>Note that this example repo is in dire need of a <a href="git-rebase-update.html">git-rebase-update(1)</a>!</p></div>
|
| +<div class="listingblock">
|
| +<div class="content">
|
| +<pre><code><strong><span class="white">$ git map-branches</span></strong>
|
| +<span class="red">origin/master</span>
|
| + <span class="green">cool_feature</span>
|
| + <span class="green">subfeature</span>
|
| + <span class="aqua">frozen_changes *</span>
|
| + <span class="green">master</span></code></pre>
|
| +</div></div>
|
| +<div class="dlist"><dl>
|
| +<dt class="hdlist1">
|
| +<a href="git-map.html">git-map(1)</a>
|
| +</dt>
|
| +<dd>
|
| +<p>
|
| + This tool shows you the history of all of your branches in a pseudo-graphical
|
| + format. In particular, it will show you which commits all of your branches
|
| + are on, which commit you currently have checked out, and more. Check out the
|
| + doc for the full details.
|
| +</p>
|
| +</dd>
|
| +<dt class="hdlist1">
|
| +<a href="git-map-branches.html">git-map-branches(1)</a>
|
| +</dt>
|
| +<dd>
|
| +<p>
|
| + This tool just shows you which branches you have in your repo, and thier
|
| + upstream relationship to each other (as well as which branch you have checked
|
| + out at the moment).
|
| +</p>
|
| +</dd>
|
| +</dl></div>
|
| +<div class="paragraph"><p>Additionally, sometimes you need to switch between branches, but you’ve got work
|
| +in progress. You could use <a href="git-stash.html">git-stash(1)</a>, but that can be tricky to
|
| +manage because you need to remember which branches you stashed what changes on.
|
| +Helpfully <em>depot_tools</em> includes two tools which can greatly assist in case:</p></div>
|
| +<div class="paragraph"><p><a href="git-freeze.html">git-freeze(1)</a> allows you to put the current branch in 'suspended
|
| +animation' by committing your changes to a specially-named commit on the top of
|
| +your current branch. When you come back to your branch later, you can just run
|
| +<a href="git-thaw.html">git-thaw(1)</a> to get your work-in-progress changes back to what they were.</p></div>
|
| +<div class="paragraph"><p>Another useful tool is <a href="git-rename-branch.html">git-rename-branch(1)</a>. No, I’m not going to
|
| +explain what it does.</p></div>
|
| +<div class="paragraph"><p>Finally, take a look at <a href="git-upstream-diff.html">git-upstream-diff(1)</a>. This will show you the
|
| +combined diff for all the commits on your branch against the upstream tracking
|
| +branch. This is <em>exactly</em> what <code>git cl upload</code> will push up to code review.
|
| +Additionally, consider trying the <code>--wordwise</code> argument to get a colorized
|
| +per-word diff (instead of a per-line diff).</p></div>
|
| +</div>
|
| +</div>
|
| +<div class="sect1">
|
| +<h2 id="_managing_dependent_cls">MANAGING DEPENDENT CLS</h2>
|
| +<div class="sectionbody">
|
| +<div class="paragraph"><p>Now that you know how to manage <a href="#_managing_multiple_cls"><em>independent</em> CLs</a>,
|
| +we’ll see how to manage <em>dependent</em> CLs. Dependent CLs are useful when your
|
| +second (or third or fourth or …) CL depends on the changes in one of your
|
| +other CLs (such as: CL 2 won’t compile without CL 1, but you want to submit
|
| +them as two separate reviews).</p></div>
|
| +<div class="paragraph"><p>Like all of the other CLs we’ve created, we use <a href="git-new-branch.html">git-new-branch(1)</a>, but
|
| +this time with a (not very surprising) twist. First, <code>git checkout</code> the branch
|
| +you want to base the new one on (i.e. CL 1), and then run:</p></div>
|
| +<div class="listingblock">
|
| +<div class="content">
|
| +<pre><code><strong><span class="white">$ git new-branch --upstream_current <branch_name></span></strong></code></pre>
|
| +</div></div>
|
| +<div class="paragraph"><p>This will make a new branch which tracks the <em>current</em> branch as its upstream
|
| +(as opposed to <em>origin/master</em>). All changes you commit to this branch will be
|
| +in addition to the previous branch, but when you <code>git cl upload</code>, you will only
|
| +upload the diff for the dependent (child) branch. You may have as many branches
|
| +nested in this fashion as you like.</p></div>
|
| +<div class="paragraph"><p><a href="git-map.html">git-map(1)</a> and <a href="git-map-branches.html">git-map-branches(1)</a> 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:
|
| +<a href="git-nav-upstream.html">git-nav-upstream(1)</a> and <a href="git-nav-downstream.html">git-nav-downstream(1)</a>.</p></div>
|
| +<div class="paragraph"><p>Sometimes when dealing with dependent CLs, it turns out that you accidentally
|
| +based a branch on the wrong upstream, but since then you’ve committed changes to
|
| +it, or even based <em>another</em> branch off of that one. Or say that you have two
|
| +independent CLs that would actually be much better off as dependent CLs. Not to
|
| +worry, because you can just check out the offending branch and use
|
| +<a href="git-reparent-branch.html">git-reparent-branch(1)</a> to move it around the tree.</p></div>
|
| </div>
|
| </div>
|
| <div class="sect1">
|
| -<h2 id="_see_also">SEE ALSO</h2>
|
| +<h2 id="_conclusion">CONCLUSION</h2>
|
| <div class="sectionbody">
|
| -<div class="paragraph"><p><a href="git-map-branches.html">git-map-branches(1)</a></p></div>
|
| +<div class="paragraph"><p>Well that wraps up the whirlwind tour of the <em>depot_tools</em> helper tools. If you
|
| +have questions which weren’t answered by this tutorial or the man pages for the
|
| +tools (see the index of all tools here: <a href="depot_tools.html">depot_tools(7)</a>), please ask :).</p></div>
|
| +</div>
|
| +</div>
|
| +<div class="sect1">
|
| +<h2 id="_glossary">GLOSSARY</h2>
|
| +<div class="sectionbody">
|
| +<div class="dlist"><dl>
|
| +<dt class="hdlist1">
|
| +CL
|
| +</dt>
|
| +<dd>
|
| +<p>
|
| + A <em>change-list</em>. This is a diff which you would like to commit to the
|
| + codebase.
|
| +</p>
|
| +</dd>
|
| +<dt class="hdlist1">
|
| +DEPS
|
| +</dt>
|
| +<dd>
|
| +<p>
|
| + A file in the chromium checkout which <code>gclient sync</code> uses to determine what
|
| + dependencies to pull in. This file also contains <em>hooks</em>.
|
| +</p>
|
| +</dd>
|
| +<dt class="hdlist1">
|
| +LKGR
|
| +</dt>
|
| +<dd>
|
| +<p>
|
| + Last Known Good Revision. This is a <a href="git-tag.html">git-tag(1)</a> which tracks the last
|
| + version of <code>origin/master</code> which has passed the full set of testing on the
|
| + <a href="http://build.chromium.org">main Chromium waterfall</a>.
|
| +</p>
|
| +</dd>
|
| +</dl></div>
|
| </div>
|
| </div>
|
| <div class="sect1">
|
| <h2 id="_chromium_depot_tools">CHROMIUM DEPOT_TOOLS</h2>
|
| <div class="sectionbody">
|
| -<div class="paragraph"><p>Part of the chromium <a href="depot_tools.html">depot_tools(1)</a> suite. These tools are meant to
|
| +<div class="paragraph"><p>Part of the chromium <a href="depot_tools.html">depot_tools(7)</a> suite. These tools are meant to
|
| assist with the development of chromium and related projects. Download the tools
|
| from <a href="https://chromium.googlesource.com/chromium/tools/depot_tools.git">here</a>.</p></div>
|
| </div>
|
| @@ -877,7 +1228,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 2014-03-25 15:09:11 PDT
|
| +Last updated 2014-04-04 01:40:30 PDT
|
| </div>
|
| </div>
|
| </body>
|
|
|