From 726b6091753c00db20f1d7474dc5310230075909 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 24 May 2024 08:25:41 -0700 Subject: [PATCH] Added a function to mark lines in a file that were contributed by aider commits. --- scripts/blame.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/scripts/blame.py b/scripts/blame.py index cebfb4240..59a4471e9 100755 --- a/scripts/blame.py +++ b/scripts/blame.py @@ -21,5 +21,30 @@ def get_aider_commits(): return commits +import sys + +def mark_aider_lines(filename): + aider_commits = set(get_aider_commits()) + + with open(filename, "r") as f: + lines = f.readlines() + + for i, line in enumerate(lines, start=1): + result = subprocess.run( + ["git", "blame", "-L", f"{i},{i}", "--porcelain", filename], + capture_output=True, + text=True, + check=True + ) + commit_hash = result.stdout.split(" ")[0] + if commit_hash in aider_commits: + print(f"* {line}", end="") + else: + print(f" {line}", end="") + if __name__ == "__main__": + if len(sys.argv) != 2: + print(f"Usage: {sys.argv[0]} ") + sys.exit(1) + mark_aider_lines(sys.argv[1])