OLD | NEW |
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" | 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" |
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | 2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> | 3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> |
4 <head> | 4 <head> |
5 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /
> | 5 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /
> |
6 <meta name="generator" content="AsciiDoc 8.6.9" /> | 6 <meta name="generator" content="AsciiDoc 8.6.9" /> |
7 <title>git-footers(1)</title> | 7 <title>git-hyper-blame(1)</title> |
8 <style type="text/css"> | 8 <style type="text/css"> |
9 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */ | 9 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */ |
10 | 10 |
11 /* Default font. */ | 11 /* Default font. */ |
12 body { | 12 body { |
13 font-family: Georgia,serif; | 13 font-family: Georgia,serif; |
14 } | 14 } |
15 | 15 |
16 /* Title font. */ | 16 /* Title font. */ |
17 h1, h2, h3, h4, h5, h6, | 17 h1, h2, h3, h4, h5, h6, |
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
734 } | 734 } |
735 | 735 |
736 } | 736 } |
737 asciidoc.install(); | 737 asciidoc.install(); |
738 /*]]>*/ | 738 /*]]>*/ |
739 </script> | 739 </script> |
740 </head> | 740 </head> |
741 <body class="manpage"> | 741 <body class="manpage"> |
742 <div id="header"> | 742 <div id="header"> |
743 <h1> | 743 <h1> |
744 git-footers(1) Manual Page | 744 git-hyper-blame(1) Manual Page |
745 </h1> | 745 </h1> |
746 <h2>NAME</h2> | 746 <h2>NAME</h2> |
747 <div class="sectionbody"> | 747 <div class="sectionbody"> |
748 <p>git-footers - | 748 <p>git-hyper-blame - |
749 Extract meta-information expressed as footers in a commit message. | 749 Like git blame, but with the ability to ignore or bypass certain commits. |
750 </p> | 750 </p> |
751 </div> | 751 </div> |
752 </div> | 752 </div> |
753 <div id="content"> | 753 <div id="content"> |
754 <div class="sect1"> | 754 <div class="sect1"> |
755 <h2 id="_synopsis">SYNOPSIS</h2> | 755 <h2 id="_synopsis">SYNOPSIS</h2> |
756 <div class="sectionbody"> | 756 <div class="sectionbody"> |
757 <div class="verseblock"> | 757 <div class="verseblock"> |
758 <pre class="content"><em>git footers</em> [--key FOOTER] REF | 758 <pre class="content"><em>git hyper-blame</em> [-i <rev> [-i <rev> &#
8230;]] [<rev>] [--] <file></pre> |
759 <em>git footers</em> [--position | --position-ref | --position-num] REF</pre> | |
760 <div class="attribution"> | 759 <div class="attribution"> |
761 </div></div> | 760 </div></div> |
762 </div> | 761 </div> |
763 </div> | 762 </div> |
764 <div class="sect1"> | 763 <div class="sect1"> |
765 <h2 id="_description">DESCRIPTION</h2> | 764 <h2 id="_description">DESCRIPTION</h2> |
766 <div class="sectionbody"> | 765 <div class="sectionbody"> |
767 <div class="paragraph"><p><code>git footers</code> extracts information included
in commit messages as "footers", | 766 <div class="paragraph"><p><code>git hyper-blame</code> is like <code>git blame</
code> but it can ignore or "look through" a |
768 which are roughly like HTTP headers except they are at the end. For example, a | 767 given set of commits, to find the real culprit.</p></div> |
769 commit might look like:</p></div> | 768 <div class="paragraph"><p>This is useful if you have a commit that makes sweepin
g changes that are |
770 <div class="literalblock"> | 769 unlikely to be what you are looking for in a blame, such as mass reformatting or |
771 <div class="content"> | 770 renaming. By adding these commits to the hyper-blame ignore list, <code>git |
772 <pre><code>This is a fancy commit message.</code></pre> | 771 hyper-blame</code> will look past these commits to find the previous commit that |
773 </div></div> | 772 touched a given line.</p></div> |
774 <div class="literalblock"> | 773 <div class="paragraph"><p>Follows the normal <code>blame</code> syntax: annotate
s <code><file></code> with the revision that |
775 <div class="content"> | 774 last modified each line. Optional <code><rev></code> specifies the revisio
n of <code><file></code> to |
776 <pre><code>Cr-Commit-Position: refs/heads/master@{#292272} | 775 start from.</p></div> |
777 Tech-Debt-Introduced: 17 nanoMSOffices</code></pre> | |
778 </div></div> | |
779 <div class="paragraph"><p><code>git footers</code> knows how to extract this inf
ormation.</p></div> | |
780 <div class="paragraph"><p>Footers are order-independent and can appear more than
once. Thus they are | |
781 treated as a multimap.</p></div> | |
782 </div> | 776 </div> |
783 </div> | 777 </div> |
784 <div class="sect1"> | 778 <div class="sect1"> |
785 <h2 id="_options">OPTIONS</h2> | 779 <h2 id="_options">OPTIONS</h2> |
786 <div class="sectionbody"> | 780 <div class="sectionbody"> |
787 <div class="paragraph"><p>If no options are given, all footers are printed, with
their names | |
788 case-normalized.</p></div> | |
789 <div class="dlist"><dl> | 781 <div class="dlist"><dl> |
790 <dt class="hdlist1"> | 782 <dt class="hdlist1"> |
791 --key FOOTER | 783 -i <rev> |
792 </dt> | 784 </dt> |
793 <dd> | 785 <dd> |
794 <p> | 786 <p> |
795 Extract all the headers associated with the given key, and print one per | 787 A revision to ignore. Can be specified as many times as needed. |
796 line. If there are no footers with this key, produces no output and exits | |
797 successfully. | |
798 </p> | |
799 </dd> | |
800 <dt class="hdlist1"> | |
801 --position | |
802 </dt> | |
803 <dd> | |
804 <p> | |
805 Extract the Chrome commit position from the footers. This first attempts | |
806 to get the value of the <code>Cr-Commit-Position</code> footer. If that doesn
’t exist | |
807 then it tries a heuristic based on <code>Git-Svn-Id</code>. Output is in one
of the | |
808 following forms: | |
809 </p> | |
810 <div class="literalblock"> | |
811 <div class="content"> | |
812 <pre><code>refs/heads/master@{#292272} | |
813 refs/branch-heads/branchname</code></pre> | |
814 </div></div> | |
815 </dd> | |
816 <dt class="hdlist1"> | |
817 --position-num | |
818 </dt> | |
819 <dd> | |
820 <p> | |
821 Extracts and prints the Chrome commit position number only (292272 in the | |
822 example above). Exits with an error if one cannot be found. | |
823 </p> | |
824 </dd> | |
825 <dt class="hdlist1"> | |
826 --position-ref | |
827 </dt> | |
828 <dd> | |
829 <p> | |
830 Extracts and prints the Chrome commit position ref name only | |
831 (<code>ref/heads/master</code> or <code>refs/branch-heads/branchname</code> in
the example above). | |
832 </p> | 788 </p> |
833 </dd> | 789 </dd> |
834 </dl></div> | 790 </dl></div> |
835 </div> | 791 </div> |
836 </div> | 792 </div> |
837 <div class="sect1"> | 793 <div class="sect1"> |
838 <h2 id="_example">EXAMPLE</h2> | 794 <h2 id="_example">EXAMPLE</h2> |
839 <div class="sectionbody"> | 795 <div class="sectionbody"> |
840 <div class="paragraph"><p></p></div><div class="listingblock"><div class="conten
t"><pre><code><span style="font-weight: bold; color: #ffffff">$ git footers HEAD
</span> | 796 <div class="paragraph"><p>Let’s run <code>git blame</code> on a file:</p><
/div> |
841 Tech-Debt-Introduced: -4 microMSOffices | 797 <div class="paragraph"><p></p></div><div class="listingblock"><div class="conten
t"><pre><code><span style="font-weight: bold; color: #ffffff">$ git blame ipsum.
txt</span> |
842 Tech-Debt-Introduced: 17 microMSOffices | 798 c6eb3bfa (lorem 2014-08-11 23:15:57 +0000 1) LOREM IPSUM DOLOR SIT AME
T, CONSECTETUR |
843 Cr-Commit-Position: refs/heads/master@{#292272} | 799 3ddda43c (auto-uppercaser 2014-07-05 02:05:18 +0000 2) ADIPISCING ELIT, SED DO E
IUSMOD TEMPOR |
844 <span style="font-weight: bold; color: #ffffff">$ git footers --key Tech-Debt-In
troduced HEAD</span> | 800 3ddda43c (auto-uppercaser 2014-07-05 02:05:18 +0000 3) INCIDIDUNT UT LABORE ET D
OLORE MAGNA |
845 -4 microMSOffices | 801 3ddda43c (auto-uppercaser 2014-07-05 02:05:18 +0000 4) ALIQUA. UT ENIM AD MINIM
VENIAM, QUIS |
846 17 microMSOffices | 802 c6eb3bfa (lorem 2014-08-11 23:15:57 +0000 5) NOSTRUD EXERCITATION ULLA
MCO LABORIS |
847 <span style="font-weight: bold; color: #ffffff">$ git footers --position HEAD</s
pan> | 803 3ddda43c (auto-uppercaser 2014-07-05 02:05:18 +0000 6) NISI UT ALIQUIP EX EA COM
MODO CONSEQUAT. |
848 refs/heads/master@{#292272} | |
849 <span style="font-weight: bold; color: #ffffff">$ git footers --position-num HEA
D</span> | |
850 292272 | |
851 <span style="font-weight: bold; color: #ffffff">$ git footers --position-ref HEA
D</span> | |
852 refs/heads/master | |
853 </code></pre></div></div><p><div class="paragraph"></p></div> | 804 </code></pre></div></div><p><div class="paragraph"></p></div> |
| 805 <div class="paragraph"><p>Notice that almost the entire file has been blamed on
a formatting change? You |
| 806 aren’t interested in the uppercasing of the file. You want to know who |
| 807 wrote/modified those lines in the first place. Just tell <code>hyper-blame</code
> to ignore |
| 808 that commit:</p></div> |
| 809 <div class="paragraph"><p></p></div><div class="listingblock"><div class="conten
t"><pre><code><span style="font-weight: bold; color: #ffffff">$ git hyper-blame
-i 3ddda43c ipsum.txt</span> |
| 810 c6eb3bfa (lorem 2014-08-11 23:15:57 +0000 1) LOREM IPSUM DOLOR SIT AMET, CONSEC
TETUR |
| 811 134200d1 (lorem 2014-04-10 08:54:46 +0000 2*) ADIPISCING ELIT, SED DO EIUSMOD TE
MPOR |
| 812 a34a1d0d (ipsum 2014-04-11 11:25:04 +0000 3*) INCIDIDUNT UT LABORE ET DOLORE MAG
NA |
| 813 134200d1 (lorem 2014-04-10 08:54:46 +0000 4*) ALIQUA. UT ENIM AD MINIM VENIAM, Q
UIS |
| 814 c6eb3bfa (lorem 2014-08-11 23:15:57 +0000 5) NOSTRUD EXERCITATION ULLAMCO LABOR
IS |
| 815 0f0d17bd (dolor 2014-06-02 11:31:48 +0000 6*) NISI UT ALIQUIP EX EA COMMODO CONS
EQUAT. |
| 816 </code></pre></div></div><p><div class="paragraph"></p></div> |
| 817 <div class="paragraph"><p><code>hyper-blame</code> places a <code>*</code> next
to any line where it has skipped over an ignored |
| 818 commit, so you know that the line in question has been changed (by an ignored |
| 819 commit) since the given person wrote it.</p></div> |
| 820 </div> |
| 821 </div> |
| 822 <div class="sect1"> |
| 823 <h2 id="_bugs">BUGS</h2> |
| 824 <div class="sectionbody"> |
| 825 <div class="ulist"><ul> |
| 826 <li> |
| 827 <p> |
| 828 When a commit is ignored, hyper-blame currently just blames the same line in |
| 829 the previous version of the file. This can be wildly inaccurate if the ignored |
| 830 commit adds or removes lines, resulting in a completely wrong commit being |
| 831 blamed. |
| 832 </p> |
| 833 </li> |
| 834 <li> |
| 835 <p> |
| 836 There is currently no way to pass the ignore list as a file. |
| 837 </p> |
| 838 </li> |
| 839 <li> |
| 840 <p> |
| 841 It should be possible for a git repository to configure an automatic list of |
| 842 commits to ignore (like <code>.gitignore</code>), so that project owners can m
aintain a |
| 843 list of "big change" commits that are ignored by hyper-blame by default. |
| 844 </p> |
| 845 </li> |
| 846 </ul></div> |
854 </div> | 847 </div> |
855 </div> | 848 </div> |
856 <div class="sect1"> | 849 <div class="sect1"> |
857 <h2 id="_see_also">SEE ALSO</h2> | 850 <h2 id="_see_also">SEE ALSO</h2> |
858 <div class="sectionbody"> | 851 <div class="sectionbody"> |
859 <div class="paragraph"><p><a href="git-number.html">git-number(1)</a></p></div> | 852 <div class="paragraph"><p><a href="git-blame.html">git-blame(1)</a></p></div> |
860 </div> | 853 </div> |
861 </div> | 854 </div> |
862 <div class="sect1"> | 855 <div class="sect1"> |
863 <h2 id="_chromium_depot_tools">CHROMIUM DEPOT_TOOLS</h2> | 856 <h2 id="_chromium_depot_tools">CHROMIUM DEPOT_TOOLS</h2> |
864 <div class="sectionbody"> | 857 <div class="sectionbody"> |
865 <div class="paragraph"><p>Part of the chromium <a href="depot_tools.html">depot_
tools(7)</a> suite. These tools are meant to | 858 <div class="paragraph"><p>Part of the chromium <a href="depot_tools.html">depot_
tools(7)</a> suite. These tools are meant to |
866 assist with the development of chromium and related projects. Download the tools | 859 assist with the development of chromium and related projects. Download the tools |
867 from <a href="https://chromium.googlesource.com/chromium/tools/depot_tools.git">
here</a>.</p></div> | 860 from <a href="https://chromium.googlesource.com/chromium/tools/depot_tools.git">
here</a>.</p></div> |
868 </div> | 861 </div> |
869 </div> | 862 </div> |
870 </div> | 863 </div> |
871 <div id="footnotes"><hr /></div> | 864 <div id="footnotes"><hr /></div> |
872 <div id="footer"> | 865 <div id="footer"> |
873 <div id="footer-text"> | 866 <div id="footer-text"> |
874 Last updated 2014-09-09 14:13:46 PDT | 867 Last updated 2016-01-28 16:40:21 AEDT |
875 </div> | 868 </div> |
876 </div> | 869 </div> |
877 </body> | 870 </body> |
878 </html> | 871 </html> |
OLD | NEW |