Shortly before the recent removal of Yuzu and Citra from Github, attempts were made to back up and archive both Github repos; it's my understanding that these backups, forks, etc. are fairly incomplete, either lacking full Git history or lacking Pull Requests, issues, discussions, etc.
I'm wondering if folks here have information on how to perform thorough backups of public, hosted git repos (e.g. Github, Gitlab, Codeberg, etc.). I'd also like to automate this process if I can.
git clone --mirror is something I've looked into for a baseline, with backup-github-repo looking like a decent place to start for what isn't covered by git clone.
The issues I can foresee:
Each platform builds its own tooling atop Git, like Issues and Pull Requests from Github
Automating this process might be tricky
Not having direct access/contributor permissions for the Git repos might complicate things, not sure
Gitlab has really good automated tools for the initial pull from GH to GL. I remember coming across some GitHub actions and ci/cd tools that auto push changes from one fork to another. The biggest issue is the bundled binaries. I dont remember seeing any automated tools for that.
It's still WIP,
but ForgeFed, an addon for ActivityPub,
will do exactly that
once it will be in a releasable state +
integrated into Forgejo https://codeberg.org/ForgeFed/ForgeFed
I know its been a while but I think I found a really good tool. https://forgejo.org/ I have a couple mirrors set up now. It even pulls in binaries and releases! Its pretty well made too, a fork of gitea.