Quick Start

Get started with changes-roller in 5 minutes.

Step 1: Generate a Configuration File

roller init --output my-series.ini

This creates a template configuration file with all available options documented.

Step 2: Create a Patch Script

Create an executable script that performs your desired changes:

#!/bin/bash
# Example: Update a dependency version
sed -i 's/old-library==1.0/old-library==2.0/' requirements.txt

Save this as my_patch.sh and make it executable:

chmod +x my_patch.sh

Step 3: Edit the Configuration File

Open my-series.ini and configure your patch series:

[SERIE]
# List your repositories (comma-separated)
projects = https://github.com/org/repo1,
           https://github.com/org/repo2,
           https://github.com/org/repo3

# Point to your patch script
commands = ./my_patch.sh

# Set your commit message
commit_msg = Update old-library to version 2.0

             This update includes important security fixes
             and performance improvements.

# Optional: Group patches under a topic for code review
topic = library-update-2025

# Create commits automatically
commit = true

# Submit to Gerrit for review (set to true if using Gerrit)
review = false

[TESTS]
# Optionally run tests before committing
run = false
blocking = false
command = tox

Step 4: Run the Patch Series

roller create --config-file my-series.ini

That’s it! changes-roller will:

  1. Clone each repository

  2. Execute your patch script

  3. Commit the changes

  4. Optionally run tests

  5. Optionally submit for code review

What’s Next?

  • Read the Usage Guide for detailed instructions

  • Explore Configuration for all available options

  • Check out Examples for common use cases

  • See the API Reference for programmatic usage

Common First Steps

Preview Changes (Dry Run)

Test your configuration without making any changes:

roller create --config-file my-series.ini --dry-run

Apply to a Specific Branch

Apply changes to a stable branch instead of the default:

roller create --config-file my-series.ini --branch stable/2024.2

Run Commands Before/After

Execute commands before and after applying changes:

roller create --config-file my-series.ini \
  --pre-command "git pull origin main" \
  --post-command "git push origin main"

Exit on First Failure

Stop immediately if any repository fails:

roller create --config-file my-series.ini --exit-on-error

Getting Help

# General help
roller --help

# Help for specific command
roller create --help
roller init --help

For more examples and advanced usage, continue to the Usage Guide.