| Index: man/html/git-hyper-blame.html
|
| diff --git a/man/html/git-footers.html b/man/html/git-hyper-blame.html
|
| similarity index 81%
|
| copy from man/html/git-footers.html
|
| copy to man/html/git-hyper-blame.html
|
| index 0315f4a9385ac199281374f6b0fc0bc71a8fb0c1..a08de12f5b9c443388f3fbe76b969d1e396e58d0 100644
|
| --- a/man/html/git-footers.html
|
| +++ b/man/html/git-hyper-blame.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-footers(1)</title>
|
| +<title>git-hyper-blame(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-footers(1) Manual Page
|
| +git-hyper-blame(1) Manual Page
|
| </h1>
|
| <h2>NAME</h2>
|
| <div class="sectionbody">
|
| -<p>git-footers -
|
| - Extract meta-information expressed as footers in a commit message.
|
| +<p>git-hyper-blame -
|
| + Like git blame, but with the ability to ignore or bypass certain commits.
|
| </p>
|
| </div>
|
| </div>
|
| @@ -755,8 +755,7 @@ git-footers(1) Manual Page
|
| <h2 id="_synopsis">SYNOPSIS</h2>
|
| <div class="sectionbody">
|
| <div class="verseblock">
|
| -<pre class="content"><em>git footers</em> [--key FOOTER] REF
|
| -<em>git footers</em> [--position | --position-ref | --position-num] REF</pre>
|
| +<pre class="content"><em>git hyper-blame</em> [-i <rev> [-i <rev> …]] [<rev>] [--] <file></pre>
|
| <div class="attribution">
|
| </div></div>
|
| </div>
|
| @@ -764,71 +763,28 @@ git-footers(1) Manual Page
|
| <div class="sect1">
|
| <h2 id="_description">DESCRIPTION</h2>
|
| <div class="sectionbody">
|
| -<div class="paragraph"><p><code>git footers</code> extracts information included in commit messages as "footers",
|
| -which are roughly like HTTP headers except they are at the end. For example, a
|
| -commit might look like:</p></div>
|
| -<div class="literalblock">
|
| -<div class="content">
|
| -<pre><code>This is a fancy commit message.</code></pre>
|
| -</div></div>
|
| -<div class="literalblock">
|
| -<div class="content">
|
| -<pre><code>Cr-Commit-Position: refs/heads/master@{#292272}
|
| -Tech-Debt-Introduced: 17 nanoMSOffices</code></pre>
|
| -</div></div>
|
| -<div class="paragraph"><p><code>git footers</code> knows how to extract this information.</p></div>
|
| -<div class="paragraph"><p>Footers are order-independent and can appear more than once. Thus they are
|
| -treated as a multimap.</p></div>
|
| +<div class="paragraph"><p><code>git hyper-blame</code> is like <code>git blame</code> but it can ignore or "look through" a
|
| +given set of commits, to find the real culprit.</p></div>
|
| +<div class="paragraph"><p>This is useful if you have a commit that makes sweeping changes that are
|
| +unlikely to be what you are looking for in a blame, such as mass reformatting or
|
| +renaming. By adding these commits to the hyper-blame ignore list, <code>git
|
| +hyper-blame</code> will look past these commits to find the previous commit that
|
| +touched a given line.</p></div>
|
| +<div class="paragraph"><p>Follows the normal <code>blame</code> syntax: annotates <code><file></code> with the revision that
|
| +last modified each line. Optional <code><rev></code> specifies the revision of <code><file></code> to
|
| +start from.</p></div>
|
| </div>
|
| </div>
|
| <div class="sect1">
|
| <h2 id="_options">OPTIONS</h2>
|
| <div class="sectionbody">
|
| -<div class="paragraph"><p>If no options are given, all footers are printed, with their names
|
| -case-normalized.</p></div>
|
| <div class="dlist"><dl>
|
| <dt class="hdlist1">
|
| ---key FOOTER
|
| -</dt>
|
| -<dd>
|
| -<p>
|
| - Extract all the headers associated with the given key, and print one per
|
| - line. If there are no footers with this key, produces no output and exits
|
| - successfully.
|
| -</p>
|
| -</dd>
|
| -<dt class="hdlist1">
|
| ---position
|
| -</dt>
|
| -<dd>
|
| -<p>
|
| - Extract the Chrome commit position from the footers. This first attempts
|
| - to get the value of the <code>Cr-Commit-Position</code> footer. If that doesn’t exist
|
| - then it tries a heuristic based on <code>Git-Svn-Id</code>. Output is in one of the
|
| - following forms:
|
| -</p>
|
| -<div class="literalblock">
|
| -<div class="content">
|
| -<pre><code>refs/heads/master@{#292272}
|
| -refs/branch-heads/branchname</code></pre>
|
| -</div></div>
|
| -</dd>
|
| -<dt class="hdlist1">
|
| ---position-num
|
| -</dt>
|
| -<dd>
|
| -<p>
|
| - Extracts and prints the Chrome commit position number only (292272 in the
|
| - example above). Exits with an error if one cannot be found.
|
| -</p>
|
| -</dd>
|
| -<dt class="hdlist1">
|
| ---position-ref
|
| +-i <rev>
|
| </dt>
|
| <dd>
|
| <p>
|
| - Extracts and prints the Chrome commit position ref name only
|
| - (<code>ref/heads/master</code> or <code>refs/branch-heads/branchname</code> in the example above).
|
| + A revision to ignore. Can be specified as many times as needed.
|
| </p>
|
| </dd>
|
| </dl></div>
|
| @@ -837,26 +793,63 @@ refs/branch-heads/branchname</code></pre>
|
| <div class="sect1">
|
| <h2 id="_example">EXAMPLE</h2>
|
| <div class="sectionbody">
|
| -<div class="paragraph"><p></p></div><div class="listingblock"><div class="content"><pre><code><span style="font-weight: bold; color: #ffffff">$ git footers HEAD</span>
|
| -Tech-Debt-Introduced: -4 microMSOffices
|
| -Tech-Debt-Introduced: 17 microMSOffices
|
| -Cr-Commit-Position: refs/heads/master@{#292272}
|
| -<span style="font-weight: bold; color: #ffffff">$ git footers --key Tech-Debt-Introduced HEAD</span>
|
| --4 microMSOffices
|
| -17 microMSOffices
|
| -<span style="font-weight: bold; color: #ffffff">$ git footers --position HEAD</span>
|
| -refs/heads/master@{#292272}
|
| -<span style="font-weight: bold; color: #ffffff">$ git footers --position-num HEAD</span>
|
| -292272
|
| -<span style="font-weight: bold; color: #ffffff">$ git footers --position-ref HEAD</span>
|
| -refs/heads/master
|
| +<div class="paragraph"><p>Let’s run <code>git blame</code> on a file:</p></div>
|
| +<div class="paragraph"><p></p></div><div class="listingblock"><div class="content"><pre><code><span style="font-weight: bold; color: #ffffff">$ git blame ipsum.txt</span>
|
| +c6eb3bfa (lorem 2014-08-11 23:15:57 +0000 1) LOREM IPSUM DOLOR SIT AMET, CONSECTETUR
|
| +3ddda43c (auto-uppercaser 2014-07-05 02:05:18 +0000 2) ADIPISCING ELIT, SED DO EIUSMOD TEMPOR
|
| +3ddda43c (auto-uppercaser 2014-07-05 02:05:18 +0000 3) INCIDIDUNT UT LABORE ET DOLORE MAGNA
|
| +3ddda43c (auto-uppercaser 2014-07-05 02:05:18 +0000 4) ALIQUA. UT ENIM AD MINIM VENIAM, QUIS
|
| +c6eb3bfa (lorem 2014-08-11 23:15:57 +0000 5) NOSTRUD EXERCITATION ULLAMCO LABORIS
|
| +3ddda43c (auto-uppercaser 2014-07-05 02:05:18 +0000 6) NISI UT ALIQUIP EX EA COMMODO CONSEQUAT.
|
| +</code></pre></div></div><p><div class="paragraph"></p></div>
|
| +<div class="paragraph"><p>Notice that almost the entire file has been blamed on a formatting change? You
|
| +aren’t interested in the uppercasing of the file. You want to know who
|
| +wrote/modified those lines in the first place. Just tell <code>hyper-blame</code> to ignore
|
| +that commit:</p></div>
|
| +<div class="paragraph"><p></p></div><div class="listingblock"><div class="content"><pre><code><span style="font-weight: bold; color: #ffffff">$ git hyper-blame -i 3ddda43c ipsum.txt</span>
|
| +c6eb3bfa (lorem 2014-08-11 23:15:57 +0000 1) LOREM IPSUM DOLOR SIT AMET, CONSECTETUR
|
| +134200d1 (lorem 2014-04-10 08:54:46 +0000 2*) ADIPISCING ELIT, SED DO EIUSMOD TEMPOR
|
| +a34a1d0d (ipsum 2014-04-11 11:25:04 +0000 3*) INCIDIDUNT UT LABORE ET DOLORE MAGNA
|
| +134200d1 (lorem 2014-04-10 08:54:46 +0000 4*) ALIQUA. UT ENIM AD MINIM VENIAM, QUIS
|
| +c6eb3bfa (lorem 2014-08-11 23:15:57 +0000 5) NOSTRUD EXERCITATION ULLAMCO LABORIS
|
| +0f0d17bd (dolor 2014-06-02 11:31:48 +0000 6*) NISI UT ALIQUIP EX EA COMMODO CONSEQUAT.
|
| </code></pre></div></div><p><div class="paragraph"></p></div>
|
| +<div class="paragraph"><p><code>hyper-blame</code> places a <code>*</code> next to any line where it has skipped over an ignored
|
| +commit, so you know that the line in question has been changed (by an ignored
|
| +commit) since the given person wrote it.</p></div>
|
| +</div>
|
| +</div>
|
| +<div class="sect1">
|
| +<h2 id="_bugs">BUGS</h2>
|
| +<div class="sectionbody">
|
| +<div class="ulist"><ul>
|
| +<li>
|
| +<p>
|
| +When a commit is ignored, hyper-blame currently just blames the same line in
|
| + the previous version of the file. This can be wildly inaccurate if the ignored
|
| + commit adds or removes lines, resulting in a completely wrong commit being
|
| + blamed.
|
| +</p>
|
| +</li>
|
| +<li>
|
| +<p>
|
| +There is currently no way to pass the ignore list as a file.
|
| +</p>
|
| +</li>
|
| +<li>
|
| +<p>
|
| +It should be possible for a git repository to configure an automatic list of
|
| + commits to ignore (like <code>.gitignore</code>), so that project owners can maintain a
|
| + list of "big change" commits that are ignored by hyper-blame by default.
|
| +</p>
|
| +</li>
|
| +</ul></div>
|
| </div>
|
| </div>
|
| <div class="sect1">
|
| <h2 id="_see_also">SEE ALSO</h2>
|
| <div class="sectionbody">
|
| -<div class="paragraph"><p><a href="git-number.html">git-number(1)</a></p></div>
|
| +<div class="paragraph"><p><a href="git-blame.html">git-blame(1)</a></p></div>
|
| </div>
|
| </div>
|
| <div class="sect1">
|
| @@ -871,7 +864,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-09-09 14:13:46 PDT
|
| +Last updated 2016-01-28 16:40:21 AEDT
|
| </div>
|
| </div>
|
| </body>
|
|
|