mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-13 02:57:44 -05:00
Please implement migration features Gitea -> Gitea as available for Github -> Gitea #4061
Closed
opened 2025-11-02 05:36:05 -06:00 by GiteaMirror
·
19 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#4061
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @IzzySoft on GitHub (Oct 4, 2019).
This is a follow-up from #7748 (cleaned up):
[x]):Description
When migrating repositories from Github to Gitea, almost all data is picked up – including issues, release notes etc. Unfortunately, this is not the case when migrating between Gitea instances (e.g. moving a self-hosted repo to Codeberg.org). Could we have the same feature-set for that? Thanks in advance!
@stale[bot] commented on GitHub (Dec 4, 2019):
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions.
@IzzySoft commented on GitHub (Dec 4, 2019):
A comment a day
keeps the stale bot away…
Still relevant 😉
@rakshith-ravi commented on GitHub (Dec 5, 2019):
@IzzySoft is there any PR that currently addresses this?
@IzzySoft commented on GitHub (Dec 6, 2019):
@rakshith-ravi no idea, I'm not a Go dev.
@6543 commented on GitHub (Mar 31, 2020):
no - but Its on track ...
@j-be commented on GitHub (May 20, 2020):
Any news? If not, I'd be happy to help and work on a PR.
@lunny commented on GitHub (May 20, 2020):
@j-be Nobody are working on this. Please help to send a PR.
@6543 commented on GitHub (May 20, 2020):
🤔 in this case #10895 would be interesting ...
@6543 commented on GitHub (May 20, 2020):
@j-be it is worth to have a look at https://gitea.com/gitea/go-sdk
and #9084 to get an idear
@j-be commented on GitHub (May 20, 2020):
@6543 thanks, that should make it a lot easier indeed. For #10895: I could just add a dependency on https://gitea.com/gitea/go-sdk to Gitea itself, right?
I see a point in having the SDK (which seems more like just-a-REST-client to me) outside the main repo. I mean, who would want to depend on all of Gitea just to interact with the API?
What I am still unsure about is how I would implement the "migrate from my own Gitea instance" thingy, which is actually what this issue is about. I think this is closely related to #9096, which seems to be still under discussion.
Anyway, I will try to get at least the cloning from https://gitea.com up and running. We'll see how things have evolved until then.
@6543 commented on GitHub (May 20, 2020):
pleace dont ... it would not be acepted anyway ...
It is
this is the best way for now ... I'll have a look at #9096 witch will bring a handling for individual inctances and there we can add gitea too
tanks for your effort - I'll looking forward to your pull :)
@j-be commented on GitHub (May 20, 2020):
@6543 ok, no https://gitea.com/gitea/go-sdk then... What do you think about reusing the structs from
modules/structs? I'd like to avoid rewriting the whole API model. But using them a custom client should be implemented in no time.@jolheiser commented on GitHub (May 20, 2020):
This specific feature doesn't really need to rely on #10895, as that would be more so people can import our API structs into their own hand-rolled libraries/clients.
If I understand correctly, this issue is about being able to migrate a repo from one Gitea to another using the migration UI.
The biggest problem would probably be version compatibility between the instances, but that could be discussed later.
A PR implementing this would need to take a look at the migration interface docs and could also look at the existing code for migrations.
@6543 commented on GitHub (May 20, 2020):
@j-be @jolheiser I think for now we can just thread go-sdk just as any other external lib and use it similar to the gitlab client ?
@lunny commented on GitHub (May 21, 2020):
@6543 I think we can add go-sdk as dependency library to do that. Why did you think we shouldn't?
@j-be commented on GitHub (May 22, 2020):
So, I have implemented a first rough draft based on
gitlab.goand https://gitea.com/gitea/go-sdk, but I found some properties required in thebasestructs are missing in the Gite-API. In detail (all structs refer to those inmodules/migrations/base:Issue.IsLockedPullRequest.IsLockedReleaseAsset.ContentTypeMilestone.CreatedandMilestone.UpdatedComment.Reactionsare missing in the API (https://try.gitea.io/api/swagger) as far as I can tell.
I'm also not sure yet on how to handle
GetComments(issueNumber int64). I copied over the logic from Gitlab Importer. That thingy has the "Gitea shares ID space between PRs and Issues, Gitlab does not, so we need to shift IDs of PRs in order to avoid collisions". That should not be needed for Gitea, right?It works quite ok as far as unit test goes. It would be great if someone could provide me a Migrated version of https://gitlab.com/gitea/test_repo on gitea.com and either transfer the ownership to me, or give me an AccessToken for it. I based my unit test on
gitlab_test.go, but lacking access I'd need to rebuild that whole repo on gitlab.com, which is a bit cumbersome.@6543 commented on GitHub (May 30, 2020):
@j-be to Comment.Reactions and Issue Reactions also
there is a api for it you have to query it for each on its own sadly
if #9497 will be ready at some point, it would/will be easyer
@j-be commented on GitHub (May 31, 2020):
I pushed my first draft for review and discussion. Please be kind, I'm new to go and I'm still in the phase of fighting syntax, semantics, and compiler.
I also faced some weird behaviour when migrating the test_repo to gitea.com (see #11705).
I'm still missing these:
[Issue|PullRequest].IsLockedReleaseAsset.ContentTypeMilestone.[Created|Updated]Comment.OriginalNumberI'm having some trouble with:
CommitIDs inRevieware returned as empty-string by the gitea.com API, even though they seem to work inReviewCommentDiffHunkis empty for just oneReviewComment, while it works on the other oneand finally I seem to be doing something wrong with
SHAin bothPullRequest.[Head|Base]- I need to further investigate on that.@IzzySoft commented on GitHub (Oct 14, 2020):
Thanks a lot to all who contributed to this! 😃