Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 git-hyper-blame(1) | |
| 2 ================== | |
| 3 | |
| 4 NAME | |
| 5 ---- | |
| 6 git-hyper-blame - | |
| 7 include::_git-hyper-blame_desc.helper.txt[] | |
| 8 | |
| 9 SYNOPSIS | |
| 10 -------- | |
| 11 [verse] | |
| 12 'git hyper-blame' [-i <rev> [-i <rev> ...]] [<rev>] [--] <file> | |
| 13 | |
| 14 DESCRIPTION | |
| 15 ----------- | |
| 16 | |
| 17 `git hyper-blame` is like `git blame` but it can ignore or "look through" a | |
| 18 given set of commits, to find the real culprit. | |
| 19 | |
| 20 This is useful if you have a commit that makes sweeping changes that are | |
| 21 unlikely to be what you are looking for in a blame, such as mass reformatting or | |
| 22 renaming. By adding these commits to the hyper-blame ignore list, `git | |
| 23 hyper-blame` will look past these commits to find the previous commit that | |
| 24 touched a given line. | |
| 25 | |
| 26 Follows the normal `blame` syntax: annotates `<file>` with the revision that | |
| 27 last modified each line. Optional `<rev>` specifies the revision of `<file>` to | |
| 28 start from. | |
|
iannucci
2016/01/29 19:29:25
You know, it would be useful if we could use a git
Matt Giuca
2016/02/01 03:51:06
See below.
| |
| 29 | |
| 30 OPTIONS | |
| 31 ------- | |
| 32 | |
| 33 -i <rev>:: | |
| 34 A revision to ignore. Can be specified as many times as needed. | |
| 35 | |
| 36 EXAMPLE | |
| 37 ------- | |
| 38 | |
| 39 Let's run `git blame` on a file: | |
| 40 | |
| 41 demo:1[] | |
| 42 | |
| 43 Notice that almost the entire file has been blamed on a formatting change? You | |
| 44 aren't interested in the uppercasing of the file. You want to know who | |
| 45 wrote/modified those lines in the first place. Just tell `hyper-blame` to ignore | |
| 46 that commit: | |
| 47 | |
| 48 demo:2[] | |
| 49 | |
| 50 `hyper-blame` places a `*` next to any line where it has skipped over an ignored | |
| 51 commit, so you know that the line in question has been changed (by an ignored | |
| 52 commit) since the given person wrote it. | |
| 53 | |
| 54 BUGS | |
| 55 ---- | |
| 56 | |
| 57 - When a commit is ignored, hyper-blame currently just blames the same line in | |
| 58 the previous version of the file. This can be wildly inaccurate if the ignored | |
| 59 commit adds or removes lines, resulting in a completely wrong commit being | |
| 60 blamed. | |
| 61 - There is currently no way to pass the ignore list as a file. | |
| 62 - It should be possible for a git repository to configure an automatic list of | |
| 63 commits to ignore (like `.gitignore`), so that project owners can maintain a | |
| 64 list of "big change" commits that are ignored by hyper-blame by default. | |
|
iannucci
2016/01/29 19:29:25
er, right :)
I would definitely use git-notes tho
Matt Giuca
2016/02/01 03:51:06
If you can crack the SHA-1 algorithm then you shou
| |
| 65 | |
| 66 SEE ALSO | |
| 67 -------- | |
| 68 linkgit:git-blame[1] | |
| 69 | |
| 70 include::_footer.txt[] | |
| 71 | |
| 72 // vim: ft=asciidoc: | |
| OLD | NEW |