black: add .git-blame-ignore-revs toignore black reformatting in blame

- [x] add `.git-blame-ignore-revs` to ignore black reformatting
- [x] make `spack blame` respect `.git-blame-ignore-revs`
      (even if the user hasn't configured git to do so)
This commit is contained in:
Todd Gamblin 2022-07-24 17:27:21 -07:00
parent c661ca248b
commit f27eeaa2e8
2 changed files with 15 additions and 2 deletions

3
.git-blame-ignore-revs Normal file
View file

@ -0,0 +1,3 @@
# .git-blame-ignore-revs
# Formatted entire codebase with black
0e7b83453cc0115e19c87b6150b4f91eb3d824f3

View file

@ -131,11 +131,21 @@ def blame(parser, args):
# get git blame for the package
with working_dir(spack.paths.prefix):
# ignore the great black reformatting of 2022
ignore_file = os.path.join(spack.paths.prefix, ".git-blame-ignore-revs")
if args.view == "git":
git("blame", blame_file)
git("blame", "--ignore-revs-file", ignore_file, blame_file)
return
else:
output = git("blame", "--line-porcelain", blame_file, output=str)
output = git(
"blame",
"--line-porcelain",
"--ignore-revs-file",
ignore_file,
blame_file,
output=str,
)
lines = output.split("\n")
# Histogram authors