forked from NYANDEV/forgejo
Fix bug when repo remained bare if multiple branches pushed (#4923)
This commit is contained in:
parent
ea20adaa84
commit
10a2a904d7
1 changed files with 4 additions and 2 deletions
|
@ -537,12 +537,14 @@ func CommitRepoAction(opts CommitRepoActionOptions) error {
|
|||
}
|
||||
|
||||
refName := git.RefEndName(opts.RefFullName)
|
||||
if repo.IsBare && refName != repo.DefaultBranch {
|
||||
|
||||
// Change default branch and bare status only if pushed ref is non-empty branch.
|
||||
if repo.IsBare && opts.NewCommitID != git.EmptySHA && strings.HasPrefix(opts.RefFullName, git.BranchPrefix) {
|
||||
repo.DefaultBranch = refName
|
||||
repo.IsBare = false
|
||||
}
|
||||
|
||||
// Change repository bare status and update last updated time.
|
||||
repo.IsBare = repo.IsBare && opts.Commits.Len <= 0
|
||||
if err = UpdateRepository(repo, false); err != nil {
|
||||
return fmt.Errorf("UpdateRepository: %v", err)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue