|
|
|
@ -49,14 +49,20 @@ def draft():
|
|
|
|
|
|
|
|
|
|
# Get the current and previous tags
|
|
|
|
|
tags = subprocess.check_output(["git", "tag", "--sort=creatordate"], text=True)
|
|
|
|
|
tags = [tag for tag in tags.split("\n") if tag]
|
|
|
|
|
tags.reverse()
|
|
|
|
|
current_tag, previous_tag, *_ = tags
|
|
|
|
|
formatted_lines = subprocess.check_output(["git", "log", f"{current_tag}...{previous_tag}", f'--pretty=format:"* %s"'], text=True)
|
|
|
|
|
lines = "\n".join([line.replace("\"", "") for line in formatted_lines.split("\n") if all(["merge" not in line.lower(), "changelog.md" not in line.lower()])])
|
|
|
|
|
fw.write(lines)
|
|
|
|
|
fw.write("\n\n")
|
|
|
|
|
fw.write(f"Compare between recent changes: [{previous_tag[1:]}...{current_tag[1:]}]({remote_url}/compare/{previous_tag}...{current_tag})")
|
|
|
|
|
if tags:
|
|
|
|
|
tags = [tag for tag in tags.split("\n") if tag]
|
|
|
|
|
tags.reverse()
|
|
|
|
|
current_tag, previous_tag, *_ = tags
|
|
|
|
|
formatted_lines = subprocess.check_output(["git", "log", f"{current_tag}...{previous_tag}", f'--pretty=format:"* %s"'], text=True)
|
|
|
|
|
lines = "\n".join([line.replace("\"", "") for line in formatted_lines.split("\n") if all(["merge" not in line.lower(), "changelog.md" not in line.lower()])])
|
|
|
|
|
fw.write(lines)
|
|
|
|
|
fw.write("\n\n")
|
|
|
|
|
fw.write(f"Compare between recent changes: [{previous_tag[1:]}...{current_tag[1:]}]({remote_url}/compare/{previous_tag}...{current_tag})")
|
|
|
|
|
else:
|
|
|
|
|
# first tag
|
|
|
|
|
formatted_lines = subprocess.check_output(["git", "log", f'--pretty=format:"* %s"'], text=True)
|
|
|
|
|
lines = "\n".join([line.replace("\"", "") for line in formatted_lines.split("\n") if all(["merge" not in line.lower(), "changelog.md" not in line.lower()])])
|
|
|
|
|
fw.write(lines)
|
|
|
|
|
except subprocess.CalledProcessError as e:
|
|
|
|
|
print(f"Command failed with return code {e.returncode}")
|
|
|
|
|
|
|
|
|
|