Establish and include GitHub migration documentation

Signed-off-by: Akashdeep Dhar <akashdeep.dhar@gmail.com>
This commit is contained in:
Akashdeep Dhar 2025-09-16 09:50:19 +05:30 committed by Ryan Lerch
commit 48603789b7
2 changed files with 95 additions and 0 deletions

View file

@ -7,5 +7,6 @@
** xref:creating_a_new_org.adoc[Creating a new Organization]
** xref:creating_a_new_team.adoc[Creating a new Team]
** xref:migration/pagure.adoc[Migrating from Pagure]
** xref:migration/github.adoc[Migrating from GitHub]
* Known Issues
** xref:known_issue_cannot_create_user.adoc[Unable to Log in - "Cannot Create Account"]

View file

@ -0,0 +1,94 @@
= Migrating Repository from GitHub
Akashdeep Dhar
:revnumber: F42
:revdate: 2025-09-16
:category: Administration
:page-aliases: github.adoc
:imagesdir: ../../assets/images
== Introduction
With the introduction of Forgejo-based Forge in Fedora Infrastructure,
maintainers of repositories involved with the Fedora Project's offerings are
advised to move their repositories from GitHub to the newly introduced
platform. This documentation covers the steps required to achieve this goal.
[WARNING]
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.
[WARNING]
As Forgejo does not support the creation of privately restricted issue tickets
at this time, please take extra care while migrating those away from the source
namespace on GitHub to ensure that confidential information contained in those
issue tickets are not accidentally released out in the process.
[NOTE]
This guide assumes that you have the necessary privileges to be able to create
a repository under the sought namespace in Fedora Forge. If that is not the
case, please consult a member from the said subproject or SIG for the required
privileges, or the Fedora Infrastructure team if you are involved.
[NOTE]
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.
== Steps
1. Log into GitHub and take note of the URL of the source repository.
image:migration_github_01.png[]
2. Click on your portrait and then navigate to the user settings.
image:migration_github_02.png[]
3. Head over to the *Developer settings* at the bottom of the sidebar.
image:migration_github_03.png[]
4. Under the *Personal access tokens* section, select *Tokens (classic)*.
image:migration_github_04.png[]
5. Under the *General new token* dropdown, click on the first option.
image:migration_github_05.png[]
6. Provide your credentials to log into GitHub if required to do so.
image:migration_github_06.png[]
7. Fill in the required details properly according to the request.
image:migration_github_07.png[]
8. Select the sought repository from the *Repository access* section.
image:migration_github_08.png[]
9. If you want to migrate only the public repos, select the first option.
image:migration_github_09.png[]
10. If you want to migrate the entire namespace, select the second option.
image:migration_github_10.png[]
11. Click on the *Generate token* button and confirm again when asked.
image:migration_github_11.png[]
12. Copy the personal access token and keep it aside safely for use.
image:migration_github_12.png[]
13. Log into Forge and navigate to the destination namespace.
image:migration_github_13.png[]
14. Click on the *New migration* button to begin the migration process.
image:migration_github_14.png[]
15. Click on the *GitHub* button at the top of the page.
image:migration_github_15.png[]
16. Fill in the URL, token and items, and click on the *Migrate* button.
image:migration_github_16.png[]
17. Please be patient while the migration progresses gradually.
image:migration_github_17.png[]
18. Verify the successful migration of the repository once it is done.
image:migration_github_18.png[]