Skip to content

Feature Request: Branch merging for convergent storylines #16

@serelon

Description

@serelon

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:

  1. Note the convergence point
  2. Continue on one branch
  3. Mentally track that events from the "ended" branch are canon

Impact

Medium - important for complex multi-protagonist campaigns but has workarounds.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions