From a20ccec369e0ad7023cb77a480569e82fa5ada76 Mon Sep 17 00:00:00 2001 From: zeripath <art27@cantab.net> Date: Thu, 14 Oct 2021 17:07:53 +0100 Subject: Ensure that git daemon export ok is created for mirrors (#17243) (#17306) Backport #17243 There is an issue with #16508 where it appears that create repo requires that the repo does not exist. This causes #17241 where an error is reported because of this. This PR fixes this and also runs update-server-info for mirrors and generated repos. Fix #17241 Signed-off-by: Andrew Thornton <art27@cantab.net> --- modules/repository/repo.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'modules/repository/repo.go') diff --git a/modules/repository/repo.go b/modules/repository/repo.go index 08531c04ed..45308ad162 100644 --- a/modules/repository/repo.go +++ b/modules/repository/repo.go @@ -95,6 +95,21 @@ func MigrateRepositoryGitData(ctx context.Context, u *models.User, repo *models. } } + if repo.OwnerID == u.ID { + repo.Owner = u + } + + if err = repo.CheckDaemonExportOK(); err != nil { + return repo, fmt.Errorf("checkDaemonExportOK: %v", err) + } + + if stdout, err := git.NewCommandContext(ctx, "update-server-info"). + SetDescription(fmt.Sprintf("MigrateRepositoryGitData(git update-server-info): %s", repoPath)). + RunInDir(repoPath); err != nil { + log.Error("MigrateRepositoryGitData(git update-server-info) in %v: Stdout: %s\nError: %v", repo, stdout, err) + return repo, fmt.Errorf("error in MigrateRepositoryGitData(git update-server-info): %v", err) + } + gitRepo, err := git.OpenRepository(repoPath) if err != nil { return repo, fmt.Errorf("OpenRepository: %v", err) -- cgit v1.2.3