Commit graph

602 commits

Author SHA1 Message Date
Paul Gauthier
25ae54f6bf aider: Updated versionbump.py script to handle version bumping, git commit, tag, and push.
# Context:
USER: write a dcript that takes x.y.z semver on the cmd line. it should:
1. verify that the version is greater than `__version__`
2. wupdate the `__version__` in init.py
3. git commit that change with msg `version bump to x.y.z`
4. git tag that new commit with "vx.y.z" (note the leading v)
5. git push to origin
6. git push the new tag to origin

ASSISTANT: I will create a new script called `scripts/versionbump.py` to handle the version bumping process. Here are the changes:

```python
scripts/versionbump.py
<<<<<<< ORIGINAL
=======
import argparse
import os
import re
import subprocess
from packaging import version

def main():
    parser = argparse.ArgumentParser(description="Bump version")
    parser.add_argument("new_version", help="New version in x.y.z format")
    args = parser.parse_args()

    new_version = version.parse(args.new_version)
    if not isinstance(new_version, version.Version):
        raise ValueError("Invalid version format")

    with open("aider/__init__.py", "r") as f:
        content = f.read()

    current_version = re.search(r'__version__ = "(.+?)"', content).group(1)
    if new_version <= version.parse(current_version):
        raise ValueError("New version must be greater than the current version")

    updated_content = re.sub(r'__version__ = ".+?"', f'__version__ = "{new_version}"', content)

    with open("aider/__init__.py", "w") as f:
        f.write(updated_content)

    subprocess.run(["git", "add", "aider/__init__.py"])
    subprocess.run(["git", "commit", "-m", f"version bump to {new_version}"])
    subprocess.run(["git", "tag", f"v{new_version}"])
    subprocess.run(["git", "push", "origin"])
    subprocess.run(["git", "push", "origin", f"v{new_version}"])

if __name__ == "__main__":
    main()
>>>>>>> UPDATED
```

This script will perform the requested actions. Make sure to install the `packaging` library if you haven't already:

```bash
pip install packaging
```

You can run the script with the new version as an argument:

```bash
python scripts/versionbump.py x.y.z
```
2023-06-17 07:20:02 -07:00
Paul Gauthier
6f5496d201 Added new files to the git repo: scripts/versionbump.py 2023-06-17 07:17:05 -07:00