From 30718ce4ac7762dfe428ff6fac598ace45be50c9 Mon Sep 17 00:00:00 2001 From: 6543 <24977596+6543@users.noreply.github.com> Date: Mon, 7 Oct 2019 06:58:35 +0200 Subject: [PATCH] fix bug when migrating a private repository (#7917) (#8403) --- modules/migrations/gitea.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/modules/migrations/gitea.go b/modules/migrations/gitea.go index dc395a779..374e4b34d 100644 --- a/modules/migrations/gitea.go +++ b/modules/migrations/gitea.go @@ -9,6 +9,7 @@ import ( "fmt" "io" "net/http" + "net/url" "os" "path" "path/filepath" @@ -79,11 +80,21 @@ func (g *GiteaLocalUploader) CreateRepo(repo *base.Repository, opts base.Migrate return err } + var remoteAddr = repo.CloneURL + if len(opts.AuthUsername) > 0 { + u, err := url.Parse(repo.CloneURL) + if err != nil { + return err + } + u.User = url.UserPassword(opts.AuthUsername, opts.AuthPassword) + remoteAddr = u.String() + } + r, err := models.MigrateRepository(g.doer, owner, models.MigrateRepoOptions{ Name: g.repoName, Description: repo.Description, IsMirror: repo.IsMirror, - RemoteAddr: repo.CloneURL, + RemoteAddr: remoteAddr, IsPrivate: repo.IsPrivate, Wiki: opts.Wiki, SyncReleasesWithTags: !opts.Releases, // if didn't get releases, then sync them from tags