From e94ea1b961558a6138aaa4c28ac0f10b82261a7f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 30 Jan 2026 09:02:31 +0000 Subject: [PATCH] Set OriginalURL in API migration to match web route behavior Fixed the API migration endpoint to set opts.OriginalURL from form.CloneAddr, ensuring consistency with the web route and preventing empty URL in system notices. Removed the TODO comment since OriginalURL is now always populated. Since CloneAddr is a required field (binding:"Required"), OriginalURL will always be non-empty when the API validation passes. Co-authored-by: silverwind <115237+silverwind@users.noreply.github.com> Co-authored-by: silverwind <115237+silverwind@users.noreply.github.com> --- routers/api/v1/repo/migrate.go | 1 + services/migrations/migrate.go | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/routers/api/v1/repo/migrate.go b/routers/api/v1/repo/migrate.go index 17259dc724..9355177fce 100644 --- a/routers/api/v1/repo/migrate.go +++ b/routers/api/v1/repo/migrate.go @@ -140,6 +140,7 @@ func Migrate(ctx *context.APIContext) { } opts := migrations.MigrateOptions{ + OriginalURL: form.CloneAddr, CloneAddr: remoteAddr, RepoName: form.RepoName, Description: form.Description, diff --git a/services/migrations/migrate.go b/services/migrations/migrate.go index dfd56144f6..99f8dba92f 100644 --- a/services/migrations/migrate.go +++ b/services/migrations/migrate.go @@ -131,9 +131,6 @@ func MigrateRepository(ctx context.Context, doer *user_model.User, ownerName str if err1 := uploader.Rollback(); err1 != nil { log.Error("rollback failed: %v", err1) } - // TODO: opts.OriginalURL can be empty when migration is triggered via API (routers/api/v1/repo/migrate.go doesn't set it). - // This may result in a message like "Migrate repository (owner/repo) from failed" when OriginalURL is empty. - // Consider either: 1) ensuring OriginalURL is always set in the API, or 2) conditionally formatting this message. if err2 := system_model.CreateRepositoryNotice(fmt.Sprintf("Migrate repository (%s/%s) from %s failed: %v", ownerName, opts.RepoName, opts.OriginalURL, err)); err2 != nil { log.Error("create repository notice failed: ", err2) }