Description
The branch system supports creating and switching branches, but has no concept of merging branches back together. In long campaigns, storylines that diverge often reconverge later.
Current Capabilities
campaign.py branch create arc-two "Second Arc" --from main
campaign.py branch switch arc-two
# ... play for a while ...
# Characters meet up again, storylines converge
# ??? No way to merge
Use Case
A campaign tracking 10-20 characters over 100+ sessions with multiple branches:
- Main storyline follows protagonist group
- Branch created when party splits
- Branches may further split
- Eventually branches reconverge when characters reunite
Feature Request
# Option 1: Explicit merge command
campaign.py branch merge source-branch --into target-branch
# Option 2: Mark convergence point
campaign.py branch converge arc-one arc-two --at Y5.D100 --reason "Party reunites"
Considerations:
- Log entries from both branches should be queryable together after merge
- State might conflict (character A is in location X in branch 1, location Y in branch 2)
- Changelog should record the merge
Workaround
Currently users must manually:
- Note the convergence point
- Continue on one branch
- Mentally track that events from the "ended" branch are canon
Impact
Medium - important for complex multi-protagonist campaigns but has workarounds.
Description
The branch system supports creating and switching branches, but has no concept of merging branches back together. In long campaigns, storylines that diverge often reconverge later.
Current Capabilities
Use Case
A campaign tracking 10-20 characters over 100+ sessions with multiple branches:
Feature Request
Considerations:
Workaround
Currently users must manually:
Impact
Medium - important for complex multi-protagonist campaigns but has workarounds.