Go-based tool for migrating GitLab repositories, users, groups, issues and related data to Gitea instances.
More-or-less a port of gitlab-to-gitea from python to Go because fixing python appears to be a thing I just can't get my mind around, but rewriting it? I'm actually OK at that.
Also includes:
cmd/forkfix, for fixing fork relationships between migrated repositories by manipulating the gitea sql database
cmd/unmigrate to delete everything from a gitea instance except for the admin users
cmd/mirror to set up a mirror from github to gitea
cmd/orgfix to establish an organization's repositories as the "parent fork" by manipulating the gitea sql database
cmd/namefix to discover repositories that have identical initial commit hashes but different names
cmd/johnconnor which is a super-dangerous script for eliminating spam accounts from gitlab instances.
Core Functionality
Migrates users, groups, and their relationships from GitLab to Gitea
Transfers repositories with labels, milestones, issues, and comments
Preserves user relationships (collaborators) and SSH keys
Supports resumable migrations through state tracking
Handles username normalization and entity mapping between platforms
Go Implementation Improvements
Modular package structure instead of monolithic script
Configuration via environment variables rather than hardcoded values