• 
      

    Add the legacy bug tracker migration module.

    Review Request #15321 — Created Sept. 17, 2026 and updated — Latest diff uploaded

    Information

    Review Board
    release-9.x

    Reviewers

    This change adds a new module for converting legacy per-repository bug
    tracker state into the new configuration model. It classifies each
    repository (in-repo, standalone tracker service, or custom URL),
    extracts unprefixed settings, and creates ConfiguredBugTracker
    configurations scoped to the repositories that produced them.

    Identical standalone and custom configurations are deduplicated by
    fingerprint. These fingerprints never span Local Sites. Each created
    configuration records its fingerprint in extra_data, making the creation
    idempotent. In-repo configurations aren't deduplicated, because they're
    bound to individual repositories anyway.

    A repository's default bug tracker is only assigned when unset or when
    it was itself derived from legacy settings, so manual edits are never
    overwritten. The legacy fields are left untouched.

    Nothing calls this yet. The save-time sync, management command, and
    upgrade step follow in later changes.

    Ran unit tests.

    Commits

    Files