summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authoryp05327 <576951401@qq.com>2024-05-10 21:00:01 +0900
committerGitHub <noreply@github.com>2024-05-10 12:00:01 +0000
commit2200c41ffd7dc84faa1de61941603af11b3412f2 (patch)
treeb7a3fb193e74d796177f21da5d78fdc5d8cceed0 /services
parent45475250bd3353c8ec77c9379cc851eac96a23a6 (diff)
downloadgitea-2200c41ffd7dc84faa1de61941603af11b3412f2.tar.gz
gitea-2200c41ffd7dc84faa1de61941603af11b3412f2.zip
Fix incorrect default branch when adopt a repository (#30912) (#30928)
Backport #30912 ps: removed useless `u *user_model.User` for `adoptRepository`
Diffstat (limited to 'services')
-rw-r--r--services/repository/adopt.go41
1 files changed, 18 insertions, 23 deletions
diff --git a/services/repository/adopt.go b/services/repository/adopt.go
index 1ad1ef5b2c..3d6fe71a09 100644
--- a/services/repository/adopt.go
+++ b/services/repository/adopt.go
@@ -36,10 +36,6 @@ func AdoptRepository(ctx context.Context, doer, u *user_model.User, opts CreateR
}
}
- if len(opts.DefaultBranch) == 0 {
- opts.DefaultBranch = setting.Repository.DefaultBranch
- }
-
repo := &repo_model.Repository{
OwnerID: u.ID,
Owner: u,
@@ -80,8 +76,8 @@ func AdoptRepository(ctx context.Context, doer, u *user_model.User, opts CreateR
return fmt.Errorf("getRepositoryByID: %w", err)
}
- if err := adoptRepository(ctx, repoPath, doer, repo, opts.DefaultBranch); err != nil {
- return fmt.Errorf("createDelegateHooks: %w", err)
+ if err := adoptRepository(ctx, repoPath, repo, opts.DefaultBranch); err != nil {
+ return fmt.Errorf("adoptRepository: %w", err)
}
if err := repo_module.CheckDaemonExportOK(ctx, repo); err != nil {
@@ -111,7 +107,7 @@ func AdoptRepository(ctx context.Context, doer, u *user_model.User, opts CreateR
return repo, nil
}
-func adoptRepository(ctx context.Context, repoPath string, u *user_model.User, repo *repo_model.Repository, defaultBranch string) (err error) {
+func adoptRepository(ctx context.Context, repoPath string, repo *repo_model.Repository, defaultBranch string) (err error) {
isExist, err := util.IsExist(repoPath)
if err != nil {
log.Error("Unable to check if %s exists. Error: %v", repoPath, err)
@@ -143,6 +139,21 @@ func adoptRepository(ctx context.Context, repoPath string, u *user_model.User, r
}
}
+ // Don't bother looking this repo in the context it won't be there
+ gitRepo, err := gitrepo.OpenRepository(ctx, repo)
+ if err != nil {
+ return fmt.Errorf("openRepository: %w", err)
+ }
+ defer gitRepo.Close()
+
+ if _, err = repo_module.SyncRepoBranchesWithRepo(ctx, repo, gitRepo, 0); err != nil {
+ return fmt.Errorf("SyncRepoBranchesWithRepo: %w", err)
+ }
+
+ if err = repo_module.SyncReleasesWithTags(ctx, repo, gitRepo); err != nil {
+ return fmt.Errorf("SyncReleasesWithTags: %w", err)
+ }
+
branches, _ := git_model.FindBranchNames(ctx, git_model.FindBranchOptions{
RepoID: repo.ID,
ListOptions: db.ListOptionsAll,
@@ -183,26 +194,10 @@ func adoptRepository(ctx context.Context, repoPath string, u *user_model.User, r
return fmt.Errorf("setDefaultBranch: %w", err)
}
}
-
if err = repo_module.UpdateRepository(ctx, repo, false); err != nil {
return fmt.Errorf("updateRepository: %w", err)
}
- // Don't bother looking this repo in the context it won't be there
- gitRepo, err := gitrepo.OpenRepository(ctx, repo)
- if err != nil {
- return fmt.Errorf("openRepository: %w", err)
- }
- defer gitRepo.Close()
-
- if _, err = repo_module.SyncRepoBranchesWithRepo(ctx, repo, gitRepo, 0); err != nil {
- return fmt.Errorf("SyncRepoBranches: %w", err)
- }
-
- if err = repo_module.SyncReleasesWithTags(ctx, repo, gitRepo); err != nil {
- return fmt.Errorf("SyncReleasesWithTags: %w", err)
- }
-
return nil
}