52 lines
2.2 KiB
ReStructuredText
52 lines
2.2 KiB
ReStructuredText
.. _repo:
|
|
|
|
Migrating repository assets
|
|
===========================
|
|
|
|
This document investigates the necessary methods required to migrate repository
|
|
assets from the source namespace on Pagure to the destination namespace on
|
|
Forgejo. As both Pagure and Forgejo are Git-based forges and support transmission
|
|
via HTTPS, that is what I will suggest using for the process.
|
|
|
|
Exporting repository assets from Pagure
|
|
---------------------------------------
|
|
|
|
It is crucial for the commits at the source namespace on Pagure to be signed
|
|
in order to reliably inform about the authors of the repository assets at any
|
|
given point in time. The absence of commit signatures might lead to the info
|
|
about the commit owners to be lost during the transfer if the authoring username
|
|
does not yet exist in the destination namespace.
|
|
|
|
Various artifacts like releases will not be transferred over in a 1:1 nature
|
|
and rather parts of it, for eg. tags and branches, that are associated with the
|
|
Git repository would make it to the other side. Any Git library can be made use
|
|
of to clone the source namespace locally with pre-migration changes as long as
|
|
they are well maintained by a healthy community.
|
|
|
|
|
|
Importing repository assets into Forgejo
|
|
----------------------------------------
|
|
|
|
In ideal circumstances, it is preferable to have the users associated with a
|
|
certain source namespace on Pagure to already have their accounts in the
|
|
destination namespace on Forgejo. When that cannot be made possible, the fall
|
|
back option is to rely on the commit signatures and using the inbuilt migration
|
|
option in Forgejo by providing the clone URL.
|
|
|
|
The destination namespace has to exist and the Git repository must be blank for
|
|
the migration tooling to work as the default behaviour is to force-push commits
|
|
from the local cloned copy. Alternatively, if automation is not a concern here,
|
|
one can even make use of the internal migration utility provided by Forgejo, to
|
|
move repository assets in a Git repository.
|
|
|
|
Resources
|
|
---------
|
|
|
|
.. image:: ../_static/p2fm_migr_menu.png
|
|
:target: ../_images/p2fm_migr_menu.png
|
|
|
|
.. image:: ../_static/p2fm_migr_main.png
|
|
:target: ../_images/p2fm_migr_main.png
|
|
|
|
.. image:: ../_static/p2fm_migr_rest.png
|
|
:target: ../_images/p2fm_migr_rest.png
|