||1 month ago|
|domain||1 month ago|
|.gitignore||2 months ago|
|Pipfile||1 month ago|
|Pipfile.lock||1 month ago|
|README.md||2 months ago|
|main.py||1 month ago|
Mike's Gitea Repo Migrator
Just a script to help make it a little easier to migrate an entire organization (with bulk selection) from one Gitea instance to another.
Supports changing destination names a bit, and adding topics to each transferred repo, as well as optional bulk-selected deletion from the source.
by Mike Peralta
Current license: You are free to clone and use this program but all other rights reserved, provided you accept 100% of all liability of any outcome of use/download/etc this program. Better license coming soon.
- python 3.10
Clone this repo and
cdto its root directory
pipenv install(and optionally check with
pipenv to execute main.py on your behalf with the following:
$ cd /path/to/gitea-repo-migrator $ pipenv run python ./main.py --help
Optionally ask for a shell to run multiple times a bit faster:
$ cd /path/to/gitea-repo-migrator $ pipenv shell $ python ./main.py --help $ python ./main.py --help
You'll need to generate an Application Token for both the source and destination servers, and pass the token along to the command line.
Pass the long switch
--no-verify-ssl if any server sits behind a self-signed or wonky SSL certificate.
Destination Repo Names
You can tweak the destination repo names a bit by using a string that includes
%N% somewhere. The string
%N% will expand to the original name. For example, if we use a repo originally named
my-test-repo with the string
what-%N%, the resulting destination repo name will be
what-my-test-repo. This string will be recomputed for every migrated repo.
Topics will be duplicated from all source repos to their corresponding destination repos. You can specify additional topics with the
--destination-topic switch. For example, to add the topic
migrated to every repo, pass the switch