From da087270ff18b4ac3acf1ce657efa27b74dba89c Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Mon, 15 Dec 2025 11:55:44 -0800 Subject: [PATCH] Some small refactors (#36163) --- modules/gitrepo/gitrepo.go | 4 ++-- services/doctor/checkOldArchives.go | 14 ++++++-------- services/doctor/misc.go | 2 +- services/pull/compare.go | 2 +- services/repository/branch.go | 1 - services/repository/repository.go | 2 +- 6 files changed, 11 insertions(+), 14 deletions(-) diff --git a/modules/gitrepo/gitrepo.go b/modules/gitrepo/gitrepo.go index c78d2c767d..3a9b0a1c89 100644 --- a/modules/gitrepo/gitrepo.go +++ b/modules/gitrepo/gitrepo.go @@ -109,8 +109,8 @@ func IsRepoDirExist(ctx context.Context, repo Repository, relativeDirPath string return util.IsDir(absoluteDirPath) } -func RemoveRepoFile(ctx context.Context, repo Repository, relativeFilePath string) error { - absoluteFilePath := filepath.Join(repoPath(repo), relativeFilePath) +func RemoveRepoFileOrDir(ctx context.Context, repo Repository, relativeFileOrDirPath string) error { + absoluteFilePath := filepath.Join(repoPath(repo), relativeFileOrDirPath) return util.Remove(absoluteFilePath) } diff --git a/services/doctor/checkOldArchives.go b/services/doctor/checkOldArchives.go index 390dfb43aa..fa1a6ccb1d 100644 --- a/services/doctor/checkOldArchives.go +++ b/services/doctor/checkOldArchives.go @@ -5,12 +5,10 @@ package doctor import ( "context" - "os" - "path/filepath" repo_model "code.gitea.io/gitea/models/repo" + "code.gitea.io/gitea/modules/gitrepo" "code.gitea.io/gitea/modules/log" - "code.gitea.io/gitea/modules/util" ) func checkOldArchives(ctx context.Context, logger log.Logger, autofix bool) error { @@ -21,18 +19,18 @@ func checkOldArchives(ctx context.Context, logger log.Logger, autofix bool) erro return nil } - p := filepath.Join(repo.RepoPath(), "archives") - isDir, err := util.IsDir(p) + isDir, err := gitrepo.IsRepoDirExist(ctx, repo, "archives") if err != nil { - log.Warn("check if %s is directory failed: %v", p, err) + log.Warn("check if %s is directory failed: %v", repo.FullName(), err) } if isDir { numRepos++ if autofix { - if err := os.RemoveAll(p); err == nil { + err := gitrepo.RemoveRepoFileOrDir(ctx, repo, "archives") + if err == nil { numReposUpdated++ } else { - log.Warn("remove %s failed: %v", p, err) + log.Warn("remove %s failed: %v", repo.FullName(), err) } } } diff --git a/services/doctor/misc.go b/services/doctor/misc.go index 89f3a63df2..8765cfa025 100644 --- a/services/doctor/misc.go +++ b/services/doctor/misc.go @@ -151,7 +151,7 @@ func checkDaemonExport(ctx context.Context, logger log.Logger, autofix bool) err numNeedUpdate++ if autofix { if !isPublic && isExist { - if err = gitrepo.RemoveRepoFile(ctx, repo, daemonExportFile); err != nil { + if err = gitrepo.RemoveRepoFileOrDir(ctx, repo, daemonExportFile); err != nil { log.Error("Failed to remove %s:%s: %v", repo.FullName(), daemonExportFile, err) } } else if isPublic && !isExist { diff --git a/services/pull/compare.go b/services/pull/compare.go index c2d39752e8..fbdb17cfdd 100644 --- a/services/pull/compare.go +++ b/services/pull/compare.go @@ -33,7 +33,7 @@ func GetCompareInfo(ctx context.Context, baseRepo, headRepo *repo_model.Reposito ) // We don't need a temporary remote for same repository. - if headGitRepo.Path != baseRepo.RepoPath() { + if baseRepo.ID != headRepo.ID { // Add a temporary remote tmpRemote = strconv.FormatInt(time.Now().UnixNano(), 10) if err = gitrepo.GitRemoteAdd(ctx, headRepo, tmpRemote, baseRepo.RepoPath()); err != nil { diff --git a/services/repository/branch.go b/services/repository/branch.go index fd1e7d0414..142073eabe 100644 --- a/services/repository/branch.go +++ b/services/repository/branch.go @@ -526,7 +526,6 @@ func UpdateBranch(ctx context.Context, repo *repo_model.Repository, gitRepo *git } pushOpts := git.PushOptions{ - Remote: repo.RepoPath(), Branch: fmt.Sprintf("%s:%s%s", newCommit.ID.String(), git.BranchPrefix, branchName), Env: repo_module.PushingEnvironment(doer, repo), Force: isForcePush || force, diff --git a/services/repository/repository.go b/services/repository/repository.go index a4d82140c6..4d07cb0e38 100644 --- a/services/repository/repository.go +++ b/services/repository/repository.go @@ -257,7 +257,7 @@ func CheckDaemonExportOK(ctx context.Context, repo *repo_model.Repository) error isPublic := !repo.IsPrivate && repo.Owner.Visibility == structs.VisibleTypePublic if !isPublic && isExist { - if err = gitrepo.RemoveRepoFile(ctx, repo, daemonExportFile); err != nil { + if err = gitrepo.RemoveRepoFileOrDir(ctx, repo, daemonExportFile); err != nil { log.Error("Failed to remove %s: %v", daemonExportFile, err) } } else if isPublic && !isExist {