[Feature/Matrix] Track Repo Source #154

Closed
opened 2026-10-05 01:45:05 +02:00 by adam · 1 comment
Owner

Repos need to remember where they came from.
Repositories imported from GitLab, Gitea or Forgejo land in the same repositories table as GitHub repos, and the mirror step always attaches the GitHub token no matter what the clone host is. Private repos from other hosts fail, and the GitHub token gets sent to another server. We need a sourceServerId on repositories and the mirror step has to pick clone credentials from that server.

This is what unlocks #221 , and the GitLab, Codeberg and self hosted Forgejo sources asked for in #371 .

**Repos need to remember where they came from.** Repositories imported from GitLab, Gitea or Forgejo land in the same `repositories` table as GitHub repos, and the mirror step always attaches the GitHub token no matter what the clone host is. Private repos from other hosts fail, and the GitHub token gets sent to another server. We need a `sourceServerId` on repositories and the mirror step has to pick clone credentials from that server. This is what unlocks #221 , and the GitLab, Codeberg and self hosted Forgejo sources asked for in #371 . <!-- github-sync-id:5331770092 -->
adam closed this issue 2026-10-05 01:45:05 +02:00
Author
Owner

Shipped in v3.30.0 (#376), one source per user. Repositories record source_provider and source_url, credentials come from that, and both mirror paths refuse a row from a different host. Several sources at once is a separate follow up. Closing, details on #390.

Shipped in v3.30.0 (#376), one source per user. Repositories record source_provider and source_url, credentials come from that, and both mirror paths refuse a row from a different host. Several sources at once is a separate follow up. Closing, details on #390. <!-- github-comment-id:5522248514 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/gitea-mirror#154