Stackinator stores the parent of each branch in git config:
# View parent of current branch
git config branch.feature-1.stackparent
# Manually set parent (if needed)
git config branch.feature-1.stackparent mainThis minimal approach means:
- No state files to manage
- No database or JSON files
- Works with standard git workflows
- Easy to inspect and debug
When you run stack sync, Stackinator:
- Fetches from origin
- Discovers all stack branches from git config
- Sorts them in topological order (base to tips)
- For each branch:
- Checks if parent PR was merged (updates parent if so)
- Rebases onto parent
- Force pushes to origin
- Updates PR base branch (if PR exists)