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

Issue 1559943003: Added git hyper-blame, a tool that skips unwanted commits in git blame. (Closed)

Created:
4 years, 11 months ago by Matt Giuca
Modified:
4 years, 10 months ago
Reviewers:
iannucci
CC:
chrome-apps-syd-reviews_chromium.org, chromium-reviews, dpranke+depot_tools_chromium.org, iannucci+depot_tools_chromium.org, Primiano Tucci (use gerrit), Nico
Base URL:
https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Added git hyper-blame, a tool that skips unwanted commits in git blame. Currently, the script requires you to pass the unwanted commits on the command line, but eventually, you could configure it with a file (checked into the repo) that provides a fixed set of commits to always skip (such as commits that do a huge amount of renaming and nothing else). BUG=574290 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=298544

Patch Set 1 #

Patch Set 2 : Disable debug logging. #

Patch Set 3 : Now diffs correctly across renames. #

Patch Set 4 : Minor changes. #

Patch Set 5 : Misc refactors and huge speedup. #

Patch Set 6 : Big cleanup, bugfixes and new features (closer to git blame). #

Patch Set 7 : Remove approx_lineno_across_revs algorithm (save for future CL). #

Patch Set 8 : Added tests. Fixed bugs exposed by the tests. #

Patch Set 9 : Split git_test_utils fixes into CL 1640973002. #

Patch Set 10 : Coverage testing. #

Patch Set 11 : Better date testing. #

Patch Set 12 : Added man page. #

Patch Set 13 : Fix comment. #

Total comments: 14

Patch Set 14 : Respond to reviews. More tests. #

Patch Set 15 : Avoid IOError on Windows if the pipe is closed early. #

Total comments: 6

Patch Set 16 : Respond to review. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1227 lines, -85 lines) Patch
A + git-hyper-blame View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M git_common.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +39 lines, -0 lines 0 comments Download
A git_dates.py View 1 2 3 4 5 6 7 8 9 10 1 chunk +62 lines, -0 lines 0 comments Download
A git_hyper_blame.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +266 lines, -0 lines 0 comments Download
M man/html/depot_tools.html View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +9 lines, -1 line 0 comments Download
A + man/html/git-hyper-blame.html View 1 2 3 4 5 6 7 8 9 10 11 6 chunks +69 lines, -76 lines 0 comments Download
A man/man1/git-hyper-blame.1 View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +142 lines, -0 lines 0 comments Download
M man/man7/depot_tools.7 View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +9 lines, -4 lines 0 comments Download
A man/src/_git-hyper-blame_desc.helper.txt View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
A man/src/git-hyper-blame.txt View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +72 lines, -0 lines 0 comments Download
A man/src/git-hyper-blame.demo.1.sh View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -0 lines 0 comments Download
A man/src/git-hyper-blame.demo.2.sh View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
A man/src/git-hyper-blame.demo.common.sh View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +57 lines, -0 lines 0 comments Download
M tests/git_common_test.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +48 lines, -3 lines 0 comments Download
A tests/git_dates_test.py View 1 2 3 4 5 6 7 8 9 10 1 chunk +78 lines, -0 lines 0 comments Download
A tests/git_hyper_blame_test.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +367 lines, -0 lines 0 comments Download

Depends on Patchset:

Dependent Patchsets:

Messages

Total messages: 16 (8 generated)
Matt Giuca
Hi Robert, I don't know who the best reviewer is for that, but you are ...
4 years, 10 months ago (2016-01-28 05:58:51 UTC) #5
iannucci
generally lgtm, though I suspect that this algorithm may fall apart with any sort of ...
4 years, 10 months ago (2016-01-29 19:29:25 UTC) #6
Matt Giuca
PTAL. On 2016/01/29 19:29:25, iannucci wrote: > generally lgtm, though I suspect that this algorithm ...
4 years, 10 months ago (2016-02-01 03:51:06 UTC) #8
Matt Giuca
Hi Robert, PTAL. Thanks. (Not sure if you were expecting me to land with your ...
4 years, 10 months ago (2016-02-03 00:53:25 UTC) #9
iannucci
lgtm, I'm fine with hyperblame or any other name that folks feel strongly about. git ...
4 years, 10 months ago (2016-02-03 01:14:51 UTC) #10
Matt Giuca
https://codereview.chromium.org/1559943003/diff/290001/git_hyper_blame.py File git_hyper_blame.py (right): https://codereview.chromium.org/1559943003/diff/290001/git_hyper_blame.py#newcode226 git_hyper_blame.py:226: def main(args=None, stdout=sys.stdout, stderr=sys.stderr): On 2016/02/03 01:14:51, iannucci wrote: ...
4 years, 10 months ago (2016-02-03 07:27:58 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1559943003/310001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1559943003/310001
4 years, 10 months ago (2016-02-03 07:58:49 UTC) #14
commit-bot: I haz the power
4 years, 10 months ago (2016-02-03 08:00:54 UTC) #16
Message was sent while issue was closed.
Committed patchset #16 (id:310001) as
http://src.chromium.org/viewvc/chrome?view=rev&revision=298544

Powered by Google App Engine
This is Rietveld 408576698