There’s an issue with migration from Codeberg that occurs when you select an item which is empty; when the migration happens, it fails at that stage with the error ‘Target couldn’t be found.’ If you unselect empty items during import (releases, for example), then it proceeds successfully. I don’t remember Codeberg having such issues when moving from GitHub. So I guess a request fails and, instead of skipping it safely, it aborts the process entirely. The issue worsens the UX and isn’t very straightforward to work around, so some people might not be able to migrate at all using the built-in feature.
Yes, this happens. You must select import of labels, milestones, etc. only if you actually have any. I believe Codefloe just uses Forgejo code here, so complaints should be directed there. Actually, #13320 - problem: migration codeberg <-> local forgejo instance - forgejo/forgejo - Codeberg.org may be the ticket.
Thanks for the report, and sorry for the hassle!
We’ve found your failed migration in our logs and could reproduce the problem against Codeberg.
The trigger is not an empty item but a disabled one: when a repository on Codeberg has, for example, releases, issues or pull requests turned off in its settings, Codeberg’s API answers requests for them with “404 The target couldn’t be found.” instead of an empty list.
The migration treats that 404 as a fatal error and aborts the whole run, which is why unticking those items made it work.
Repositories where the feature is enabled but simply has no entries yet migrate fine.
This behaviour comes from Forgejo itself rather than from anything CodeFloe-specific, and migrating from GitHub uses a different code path, which is why you didn’t see it when moving to Codeberg.
We’ve prepared a fix that treats such a 404 as “nothing to migrate” and carries on with the rest, while still stopping on real errors.
It will be live on CodeFloe tomorrow with the next deployment.
Until then, the workaround is what you already found: untick the items that are disabled on the Codeberg repository.