|
|
@@ -1,28 +0,0 @@
|
|
|
-#!/usr/bin/env python3
|
|
|
-'''
|
|
|
-git blame a file repeatedly, showing the blame at previous versions
|
|
|
-'''
|
|
|
-
|
|
|
-import re
|
|
|
-import subprocess
|
|
|
-import sys
|
|
|
-
|
|
|
-def main():
|
|
|
- commit = 'HEAD'
|
|
|
- while True:
|
|
|
- blame = subprocess.Popen(['git-blame', *sys.argv[1:], commit],
|
|
|
- stdout=subprocess.PIPE)
|
|
|
- try:
|
|
|
- blame = subprocess.Popen(['delta', '--color-only'],
|
|
|
- stdin=blame.stdout, stdout=subprocess.PIPE)
|
|
|
- except FileNotFoundError:
|
|
|
- pass
|
|
|
- fzf = subprocess.run(['fzf', '--no-sort', '--tiebreak=index', '--reverse', '--ansi'],
|
|
|
- stdin=blame.stdout, stdout=subprocess.PIPE, text=True)
|
|
|
- blame.wait()
|
|
|
- if fzf.returncode in (1, 130): # no match, esc
|
|
|
- return
|
|
|
- commit = re.search('[0-9a-f]{7,40}', fzf.stdout).group(0) + '^'
|
|
|
-
|
|
|
-if __name__ == '__main__':
|
|
|
- main()
|