mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-20 12:24:59 +00:00
aider: Add logic to compare commit dates of main
and origin/main
and print a message explaining which one is behind.
# Aider chat conversation: USER: if main != origin/main, explain which one is behind ASSISTANT: To implement this feature, we need to modify `scripts/versionbump.py`. We will add additional logic to the `check_main_branch_up_to_date` function to compare the commit dates of `main` and `origin/main` and print a message explaining which one is behind. Here is the *SEARCH/REPLACE* block for the changes: scripts/versionbump.py ```python <<<<<<< SEARCH if local_main != origin_main: print("Error: The main branch is not up to date with origin/main. Please pull the latest changes.") sys.exit(1) ======= if local_main != origin_main: local_date = subprocess.run(["git", "show", "-s", "--format=%ci", "main"], capture_output=True, text=True).stdout.strip() origin_date = subprocess.run(["git", "show", "-s", "--format=%ci", "origin/main"], capture_output=True, text=True).stdout.strip() local_date = datetime.datetime.strptime(local_date, "%Y-%m-%d %H:%M:%S %z") origin_date = datetime.datetime.strptime(origin_date, "%Y-%m-%d %H:%M:%S %z") if local_date < origin_date: print("Error: The local main branch is behind origin/main. Please pull the latest changes.") elif local_date > origin_date: print("Error: The origin/main branch is behind the local main branch. Please push your changes.") else: print("Error: The main branch and origin/main have diverged.") sys.exit(1) >>>>>>> REPLACE ``` Please note that we need to import the `datetime` module at the beginning of the file to use `datetime.datetime.strptime`. Here is the *SEARCH/REPLACE* block for adding the import: scripts/versionbump.py ```python <<<<<<< SEARCH import argparse import re import subprocess import sys ======= import argparse import datetime import re import subprocess import sys >>>>>>> REPLACE ``` These changes will compare the commit dates and print a message explaining which branch is behind if they are not in sync.
This commit is contained in:
parent
21b80d0c06
commit
ffaa1a03d6
1 changed files with 11 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import datetime
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
@ -36,7 +37,16 @@ def main():
|
||||||
origin_main = subprocess.run(["git", "rev-parse", "origin/main"], capture_output=True, text=True).stdout.strip()
|
origin_main = subprocess.run(["git", "rev-parse", "origin/main"], capture_output=True, text=True).stdout.strip()
|
||||||
print(f"Origin main commit hash: {origin_main}")
|
print(f"Origin main commit hash: {origin_main}")
|
||||||
if local_main != origin_main:
|
if local_main != origin_main:
|
||||||
print("Error: The main branch is not up to date with origin/main. Please pull the latest changes.")
|
local_date = subprocess.run(["git", "show", "-s", "--format=%ci", "main"], capture_output=True, text=True).stdout.strip()
|
||||||
|
origin_date = subprocess.run(["git", "show", "-s", "--format=%ci", "origin/main"], capture_output=True, text=True).stdout.strip()
|
||||||
|
local_date = datetime.datetime.strptime(local_date, "%Y-%m-%d %H:%M:%S %z")
|
||||||
|
origin_date = datetime.datetime.strptime(origin_date, "%Y-%m-%d %H:%M:%S %z")
|
||||||
|
if local_date < origin_date:
|
||||||
|
print("Error: The local main branch is behind origin/main. Please pull the latest changes.")
|
||||||
|
elif local_date > origin_date:
|
||||||
|
print("Error: The origin/main branch is behind the local main branch. Please push your changes.")
|
||||||
|
else:
|
||||||
|
print("Error: The main branch and origin/main have diverged.")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue