mirror of
https://github.com/paul-gauthier/aider.git
synced 2024-04-14 15:45:57 +03:00
# 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.