Refactored get_lines_with_commit_hash to extract commit hashes and lines separately.

This commit is contained in:
Paul Gauthier 2024-05-24 08:30:42 -07:00
parent 53a3b30a93
commit ff4ef0cf95

View file

@ -6,7 +6,7 @@ from aider.dump import dump
def get_lines_with_commit_hash(filename):
result = subprocess.run(
["git", "blame", "--line-porcelain", filename],
["git", "blame", "-l", filename],
capture_output=True,
text=True,
check=True
@ -14,30 +14,13 @@ def get_lines_with_commit_hash(filename):
lines_with_hash = []
commit_hash = None
line_content = None
for line in result.stdout.splitlines():
if line.startswith("author "):
pass
elif line.startswith("committer "):
pass
elif line.startswith("summary "):
pass
elif line.startswith("previous "):
pass
elif line.startswith("filename "):
pass
elif line.startswith("\t"):
line_content = line[1:]
elif line.startswith("boundary"):
pass
else:
commit_hash = line.split(" ")[0]
if commit_hash and line_content:
lines_with_hash.append(f"{commit_hash}: {line_content}")
line_content = None
hashes = [
line.split[0]
for line in result.stdout.splitlines()
]
lines = Path(filename).splitlines()
return lines_with_hash
def get_aider_commits():
"""Get commit hashes for commits with messages starting with 'aider:'"""
@ -64,4 +47,4 @@ if __name__ == "__main__":
print(f"Usage: {sys.argv[0]} <filename>")
sys.exit(1)
mark_aider_lines(sys.argv[1])
get_lines_with_commit_hash(sys.argv[1])