mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-26 06:16:56 +09:00
feat(migrations): GraphQL fast path for GitHub migration + rate-limit resilience (#38694)
Adds a batched GraphQL path for GitHub migrations that fetches each issue or pull request together with its comments, reviews, reactions and timeline events instead of the REST N+1 pattern, sharply reducing rate-limit pressure on large repositories. - GraphQL is used for authenticated migrations with issues or pull requests and falls back to REST automatically when it fails - timeline events (close/reopen, lock, rename, label, milestone, merge, branch deletion, pin, auto-merge) are imported as typed comments showing their GitHub author - GitBucket issue migrations no longer stop after the first page, GitBucket sends no Link header Fixes: https://github.com/go-gitea/gitea/issues/13243 Fixes: https://github.com/go-gitea/gitea/issues/31856 Signed-off-by: David E. Lovas <david@rexovas.com> Co-authored-by: bircni <bircni@icloud.com> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: Giteabot <teabot@gitea.io>
This commit is contained in:
19 files changed
+2115
-141
No files matched your search
+9
@@ -0,0 +1,9 @@
|
||||
Content-Type: application/json; charset=utf-8
|
||||
X-Ratelimit-Limit: 5000
|
||||
X-Ratelimit-Remaining: 4931
|
||||
X-Ratelimit-Reset: 1773089427
|
||||
X-Ratelimit-Resource: core
|
||||
X-Ratelimit-Used: 69
|
||||
Link: <https://api.github.com/repositories/220672974/issues?direction=asc&page=2&per_page=3&sort=created&state=all>; rel="next", <https://api.github.com/repositories/220672974/issues?direction=asc&page=2&per_page=3&sort=created&state=all>; rel="last"
|
||||
|
||||
[{"number":1,"title":"one"},{"number":2,"title":"two"},{"number":3,"title":"three"}]
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
Content-Type: application/json; charset=utf-8
|
||||
X-Ratelimit-Limit: 5000
|
||||
X-Ratelimit-Remaining: 4931
|
||||
X-Ratelimit-Reset: 1773089427
|
||||
X-Ratelimit-Resource: core
|
||||
X-Ratelimit-Used: 69
|
||||
|
||||
[]
|
||||
Reference in new issue
Block a user