Migrating from Pagure

DRAFT DOCUMENTATION: This documentation is currently in draft form and may not be fully tested and correct. Please verify all procedures before use and report any issues or inaccuracies.

Purpose

This document provides an overview of migrating repositories from Pagure to Fedora Forge, with links to specific migration procedures based on your repository’s content and requirements.

Scope

This overview applies to Fedora Project contributors who need to migrate repositories from the legacy Pagure service to the new Fedora Forge platform. This includes subprojects, Special Interest Groups (SIGs), and other official Fedora Project repositories.

As the Forgejo-based Fedora Forge houses only those repositories that are instrumental in the development, testing, maintenance and operating of the Fedora Project’s offering of Fedora Linux, please use this for those repositories only — and not for any other personal repositories.

We recommend migrating your other personal repositories present on Pagure over to Codeberg, which is also based on Forgejo and supports native migration of repository contents, issue tickets and pull requests from Pagure using the instructions provided here — with some minor changes here and there.

Migration Options

Choose the appropriate migration procedure based on your repository’s content:

Standard Repository Migration

Use this procedure for repositories that contain only public content (code, public issues, pull requests).

Private Tickets Migration

Use this procedure for repositories that contain private or restricted issue tickets that need to be kept confidential.

As Forgejo does not support the creation of privately restricted issue tickets within public repositories, repositories with private tickets require a separate private repository to maintain confidentiality.

Prerequisites

Before starting any migration, ensure you have:

  • Repository Access: Access to the source repository on Pagure

  • Organization Permissions: Ability to create repositories in the target organization on Fedora Forge

  • API Key: (For private tickets only) A Pagure API key for accessing private content

  • Private Repository Access: (For private tickets) Permissions to create private repositories

API Key Usage: API keys are only required for migrating private tickets. Do NOT use an API key for standard repository migration, as this will cause the migrator to import only private tickets instead of the full repository content. If you haven’t set the repository to private, these private tickets will become publicly visible, potentially exposing confidential information.

Next Steps

  1. Identify your repository type: Determine if your repository contains private tickets

  2. Choose the appropriate procedure: Follow the relevant migration guide above

  3. Follow the step-by-step instructions: Each guide provides detailed procedures

  4. Verify the migration: Ensure all content has been transferred correctly