aider/scripts
Paul Gauthier 2b1fab43a1 aider: Added a --dry-run argument to the scripts/versionbump.py script to print each step without actually modifying the __init__.py file or running the git commands.
# Context:
USER: add a --dry-run arg that just prints each step, so it won't overwrite __init__.py or actually rnu the git cmds
ASSISTANT: I will add a `--dry-run` argument to the `scripts/versionbump.py` script. When this argument is provided, the script will print each step without actually modifying the `__init__.py` file or running the git commands.

Here are the changes:

```python
scripts/versionbump.py
<<<<<<< ORIGINAL
def main():
    parser = argparse.ArgumentParser(description="Bump version")
    parser.add_argument("new_version", help="New version in x.y.z format")
=======
def main():
    parser = argparse.ArgumentParser(description="Bump version")
    parser.add_argument("new_version", help="New version in x.y.z format")
    parser.add_argument("--dry-run", action="store_true", help="Print each step without actually executing them")
>>>>>>> UPDATED

scripts/versionbump.py
<<<<<<< ORIGINAL
    args = parser.parse_args()
=======
    args = parser.parse_args()
    dry_run = args.dry_run
>>>>>>> UPDATED

scripts/versionbump.py
<<<<<<< ORIGINAL
    with open("aider/__init__.py", "w") as f:
        f.write(updated_content)
=======
    if dry_run:
        print("Updating aider/__init__.py with new version")
    else:
        with open("aider/__init__.py", "w") as f:
            f.write(updated_content)
>>>>>>> UPDATED

scripts/versionbump.py
<<<<<<< ORIGINAL
    subprocess.run(["git", "add", "aider/__init__.py"], check=True)
    subprocess.run(["git", "commit", "-m", f"version bump to {new_version}"], check=True)
    subprocess.run(["git", "tag", f"v{new_version}"], check=True)
    subprocess.run(["git", "push", "origin"], check=True)
    subprocess.run(["git", "push", "origin", f"v{new_version}"], check=True)
=======
    git_commands = [
        ["git", "add", "aider/__init__.py"],
        ["git", "commit", "-m", f"version bump to {new_version}"],
        ["git", "tag", f"v{new_version}"],
        ["git", "push", "origin"],
        ["git", "push", "origin", f"v{new_version}"],
    ]

    for cmd in git_commands:
        if dry_run:
            print(f"Running: {' '.join(cmd)}")
        else:
            subprocess.run(cmd, check=True)
>>>>>>> UPDATED
```

Now you can run the script with the `--dry-run` argument to see the steps without actually executing them:

```bash
python scripts/versionbump.py x.y.z --dry-run
```
2023-06-17 07:22:45 -07:00
..
versionbump.py aider: Added a --dry-run argument to the scripts/versionbump.py script to print each step without actually modifying the __init__.py file or running the git commands. 2023-06-17 07:22:45 -07:00