1
Fork 0
mirror of https://github.com/RGBCube/GitHub2Forgejo synced 2025-05-31 10:48:11 +00:00
No description
Find a file
2024-03-08 14:30:06 +03:00
.gitignore Don't ignore gitignore 2024-02-07 16:39:18 +03:00
LICENSE.md Initial commit 2024-02-07 16:26:00 +03:00
migrate.nu Fix URL trimming and soon handle 409s 2024-03-08 14:30:06 +03:00
README.md Allow specifiying specific repos 2024-02-07 16:35:46 +03:00

GitHub to Gitea/Forgejo Migration Script

Plain simple, just install Nushell and run the script:

./migrate.nu --help

You can either specify all the CLI flags for a uninteractive run, or run the script like so:

./migrate.nu

And get a nice interactive experience.

This works on any Gitea or Forgejo instance.

FAQ

What is the difference between mirroring and cloning?

  • Mirroring: Will get updated every now and then, keeping the repository in sync with the remote.

  • Cloning: Will only clone the remote, and will not update or link to it anywhere in the repository. This is good for when you are migrating off GitHub permanently and will never come back.

Can I migrate specific repositories?

Sure, just pass the URLs to them as arguments:

./migrate.nu https://github.com/RGBCube/Foo https://github.com/RGBCube/Bar

License

Copyright (C) 2024-present  RGBCube

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.