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

Unified Diff: docs/html/git-rebase-update.html

Issue 184253003: Add git-reup and friends (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@freeze_thaw
Patch Set: fix pylint Created 6 years, 9 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « docs/html/git-new-branch.html ('k') | docs/html/git-rename-branch.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: docs/html/git-rebase-update.html
diff --git a/docs/html/git-map.html b/docs/html/git-rebase-update.html
similarity index 73%
copy from docs/html/git-map.html
copy to docs/html/git-rebase-update.html
index 828e1c057695e35234afcc7f22298417c620a40e..9ec57306258b7e87ca2ffe05a7a8099c1de87baa 100644
--- a/docs/html/git-map.html
+++ b/docs/html/git-rebase-update.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>git-rebase-update(1)</title>
<style type="text/css">
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
@@ -741,12 +741,12 @@ asciidoc.install();
<body class="manpage">
<div id="header">
<h1>
-git-map(1) Manual Page
+git-rebase-update(1) Manual Page
</h1>
<h2>NAME</h2>
<div class="sectionbody">
-<p>git-map -
- Display history of all branches in a colorized terminal format.
+<p>git-rebase-update -
+ Updates all branches to have the latest changes from their upstreams.
</p>
</div>
</div>
@@ -755,7 +755,7 @@ git-map(1) Manual Page
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
-<pre class="content"><em>git map</em> [&lt;extra_args&gt;&#8230;]</pre>
+<pre class="content"><em>git rebase-update</em> [-v | --verbose] [-n | --no_fetch]</pre>
<div class="attribution">
</div></div>
</div>
@@ -763,36 +763,77 @@ git-map(1) Manual Page
<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="ulist"><ul>
-<li>
+<div class="paragraph"><p>Brings all branches up-to-date with their tracking branches. This involves
+several phases:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Preparation
+</dt>
+<dd>
<p>
-Current branch is <span class="aqua">cyan</span>.
+ If you currently have a branch checked out, any changes on that branch are
+ <em>frozen</em> (See <a href="git-freeze.html">git-freeze(1)</a> for more detail). Additionally, the current
+ branch is recorded for the <em>Restoration</em> phase later (see <em>CONFIGURATION
+ VARIABLES</em> for details on <code>depot-tools.rebase-update.starting-branch</code>).
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+Fetching
+</dt>
+<dd>
<p>
-Local branches are <span class="green">green</span>.
+ All branches are examined to find their upstream references. The correct set
+ of git remotes is determined, and fetched accordingly. Note that if any
+ branches have a tag as their upstream, we are forced to pull all remotes.
</p>
-</li>
-<li>
+<div class="paragraph"><p>Pass <code>--no_fetch</code> to skip this phase.</p></div>
+</dd>
+<dt class="hdlist1">
+Rebasing
+</dt>
+<dd>
<p>
-Remote branches are <span class="red">red</span>.
+ All branches are rebased in topological order from roots (upstreams) to
+ leaves. Each branch is rebased from its marked merge-base (see <em>CONFIGURATION
+ VARIABLES</em>) to the branch tip on top of its parent branch. If the parent
+ branch is <em>frozen</em> (see <a href="git-freeze.html">git-freeze(1)</a>), the branch will be rebased
+ onto the last non-freeze commit on the parent branch.
</p>
-</li>
-<li>
+<div class="paragraph"><p>Things get interesting when there are merge conflicts on rebase. The <strong>most
+common</strong> cause for conflicts is when your branch has been committed to the
+upstream in squashed form, ala <a href="git-squash-branch.html">git-squash-branch(1)</a>, which is what
+<a href="git-cl.html">git-cl(1)</a> and the <em>Commit Queue</em> will do. Because of that, <code>git
+rebase-update</code> will attempt to squash your conflicted branch to see if the
+squashed version applies cleanly to its upstream.</p></div>
+<div class="paragraph"><p>If it does not apply cleanly, then your original (non-squashed) branch will be
+left in mid-rebase and <code>git rebase-update</code> will exit. You can deal with this
+like any other conflicted rebase. When you&#8217;re done, just <code>git rebase-update</code>
+again to pick up where you left off.</p></div>
+</dd>
+<dt class="hdlist1">
+Cleanup
+</dt>
+<dd>
<p>
-Tags are <span class="fuchsia">magenta</span>.
+ Once all the branches have been rebased, any empty branches (i.e. branches
+ with no commits on them) are removed. If a branch is removed in this fashion,
+ any branches which depend on it are reparented to the parent of the removed
+ branch (see <a href="git-reparent-branch.html">git-reparent-branch(1)</a>).
</p>
-</li>
-<li>
+</dd>
+<dt class="hdlist1">
+Restoration
+</dt>
+<dd>
<p>
-The currently checked out commit is highlighted with a <span class="yellow blue-background">blue background</span>.
+ <code>git rebase-update</code> checks out the branch that you started on, and <em>thaws</em> it,
+ if necessary (see <a href="git-thaw.html">git-thaw(1)</a>). If the branch you started on got
+ cleaned up, <code>git rebase-update</code> will checkout the <em>root</em> ref (defaults to
+ <em>origin/master</em>, as configured by <code>depot-tools.upstream</code>, see
+ <a href="git-new-branch.html">git-new-branch(1)</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>
+</dd>
+</dl></div>
</div>
</div>
<div class="sect1">
@@ -800,16 +841,26 @@ windows.</p></div>
<div class="sectionbody">
<div class="dlist"><dl>
<dt class="hdlist1">
-&lt;extra_args&gt;&#8230;
+-n
+</dt>
+<dt class="hdlist1">
+--no_fetch
+</dt>
+<dd>
+<p>
+ Skip the <code>git fetch</code> phase of rebase-update.
+</p>
+</dd>
+<dt class="hdlist1">
+-v
+</dt>
+<dt class="hdlist1">
+--verbose
</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.
+ More text than your terminal can handle.
</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>
</dd>
</dl></div>
</div>
@@ -818,46 +869,53 @@ the depot_tools.map_extra configuration variable to pre-set arguments (See
<h2 id="_configuration_variables">CONFIGURATION VARIABLES</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 &lt;value&gt;</code> to do so.</p></div>
+<h3 id="_depot_tools_rebase_update_starting_branch">depot-tools.rebase-update.starting-branch</h3>
+<div class="paragraph"><p>When <code>git rebase-update</code> first runs, it will record the current branch here so
+that when it completes successfully, it will return back to the same branch you
+started on, even if <code>git rebase-update</code> is interrupted due to rebase conflicts.
+When <code>git rebase-update</code> completes successfully, this configuration variable is
+removed.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_branch_lt_name_gt_dormant">branch.&lt;name&gt;.dormant</h3>
+<div class="paragraph"><p>If <code>true</code>, will cause rebase-update to skip all processing on the branch.
+Useful for old/high-conflict branches which you want to keep for posterity, but
+don&#8217;t want to deal with when running <code>git rebase-update</code></p></div>
+</div>
+<div class="sect2">
+<h3 id="_branch_lt_name_gt_base">branch.&lt;name&gt;.base</h3>
+<div class="paragraph"><p>Holds the <em>base</em> reference for this branch. By default this is equivalent to
+<code>git merge-base &lt;name&gt; &lt;name&gt;@{upstream}</code>. However, it can diverge if
+<code>&lt;name&gt;@{upstream}</code> is manually rebased. In this case, it correctly preserves
+the value it had before, where <code>git merge-base</code> would now report the wrong
+value.</p></div>
+<div class="paragraph"><p>All of the tools in the <a href="depot_tools.html">depot_tools(1)</a> suite collude to keep this value
+as up-to-date as possible, including <a href="git-reparent-branch.html">git-reparent-branch(1)</a>, and
+<a href="git-new-branch.html">git-new-branch(1)</a>. <a href="git-map.html">git-map(1)</a> also shows the location of these
+marker values in <strong><span class="black-background white">white</span></strong>.</p></div>
+<div class="paragraph"><p><a href="git-mark-merge-base.html">git-mark-merge-base(1)</a> allows easy manual interaction for this value,
+in the unlikely event that it gets out of sync.</p></div>
</div>
</div>
</div>
<div class="sect1">
-<h2 id="_example">EXAMPLE</h2>
+<h2 id="_suggested_aliases">SUGGESTED ALIASES</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>Some common short-hand aliases. Feel free to add these to your <em>~/.gitconfig</em>
+file.</p></div>
<div class="listingblock">
<div class="content">
-<pre><code><strong><span class="white">$ git map</span></strong>
-<span class="white blue-background">*</span>&#8203;<strong><span class="blue-background red"> 7dcfe47 </span></strong> <span class="green">(</span>&#8203;<strong><span class="aqua">frozen_changes</span></strong>&#8203;<span class="green">)</span> <span class="yellow">2014-03-12</span> ~ FREEZE.unindexed
-* <strong><span class="red">4b0c180</span></strong> <span class="yellow">2014-03-12</span> ~ modfile
-* <strong><span class="red">59a7cca</span></strong> <span class="yellow">2014-03-12</span> ~ a deleted file
-* <strong><span class="red">6bec695</span></strong> <span class="green">(</span>&#8203;<span class="red">origin/master</span>&#8203;<span class="green">)</span> <span class="yellow">2014-03-11</span> ~ Add neat feature
-* <strong><span class="red">d15a38a</span></strong> <span class="yellow">2014-03-11</span> ~ Epic README update
-* <strong><span class="red">d559894</span></strong> <span class="green">(</span>&#8203;<strong><span class="lime">master</span></strong>&#8203;<span class="green">)</span> <span class="yellow">2014-03-11</span> ~ Important upstream change
-<span class="red">|</span> * <strong><span class="red">9c311fd</span></strong> <span class="green">(</span>&#8203;<strong><span class="lime">cool_feature</span></strong>&#8203;<span class="green">)</span> <span class="yellow">2014-03-11</span> ~ Respond to CL comments
-<span class="red">|</span> <span class="green">|</span> * <strong><span class="red">2a1eeb2</span></strong> <span class="green">(</span>&#8203;<strong><span class="lime">subfeature</span></strong>&#8203;<span class="green">)</span> <span class="yellow">2014-03-11</span> ~ integrate with CoolService
-<span class="red">|</span> <span class="green">|</span> * <strong><span class="red">d777af6</span></strong> <span class="yellow">2014-03-11</span> ~ slick commenting action
-<span class="red">|</span> <span class="green">|/</span>
-<span class="red">|</span> * <strong><span class="red">265803a</span></strong> <span class="yellow">2014-03-11</span> ~ another improvement
-<span class="red">|</span> * <strong><span class="red">6d831ac</span></strong> <span class="green">(</span>&#8203;<strong><span class="fuchsia">spleen_tag</span></strong>&#8203;<span class="green">)</span> <span class="yellow">2014-03-11</span> ~ Refactor spleen
-<span class="red">|</span> * <strong><span class="red">82e74ab</span></strong> <span class="yellow">2014-03-11</span> ~ Add widget
-<span class="red">|/</span>
-* <strong><span class="red">d08c5b3</span></strong> <span class="green">(</span>&#8203;<strong><span class="lime">bogus_noparent</span></strong>&#8203;<span class="green">)</span> <span class="yellow">2014-03-11</span> ~ Wonderful beginnings</code></pre>
+<pre><code>[alias]
+ git reup = rebase-update</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>
</div>
<div class="sect1">
<h2 id="_see_also">SEE ALSO</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><a href="git-new-branch.html">git-new-branch(1)</a>, <a href="git-reparent-branch.html">git-reparent-branch(1)</a>,
+<a href="git-rename-branch.html">git-rename-branch(1)</a>, <a href="git-upstream-diff.html">git-upstream-diff(1)</a>,
+<a href="git-freeze.html">git-freeze(1)</a>, <a href="git-mark-merge-base.html">git-mark-merge-base(1)</a></p></div>
</div>
</div>
<div class="sect1">
@@ -872,7 +930,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-14 14:01:55 PDT
+Last updated 2014-03-25 15:09:11 PDT
</div>
</div>
</body>
« no previous file with comments | « docs/html/git-new-branch.html ('k') | docs/html/git-rename-branch.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698