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> |