mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Less naked returns (#25713)
just a step towards #25655 and some related refactoring
This commit is contained in:
		@@ -6,6 +6,7 @@ package doctor
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"context"
 | 
			
		||||
	"errors"
 | 
			
		||||
	"fmt"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
@@ -40,12 +41,12 @@ func parseBool16961(bs []byte) (bool, error) {
 | 
			
		||||
func fixUnitConfig16961(bs []byte, cfg *repo_model.UnitConfig) (fixed bool, err error) {
 | 
			
		||||
	err = json.UnmarshalHandleDoubleEncode(bs, &cfg)
 | 
			
		||||
	if err == nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Handle #16961
 | 
			
		||||
	if string(bs) != "&{}" && len(bs) != 0 {
 | 
			
		||||
		return
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return true, nil
 | 
			
		||||
@@ -54,14 +55,14 @@ func fixUnitConfig16961(bs []byte, cfg *repo_model.UnitConfig) (fixed bool, err
 | 
			
		||||
func fixExternalWikiConfig16961(bs []byte, cfg *repo_model.ExternalWikiConfig) (fixed bool, err error) {
 | 
			
		||||
	err = json.UnmarshalHandleDoubleEncode(bs, &cfg)
 | 
			
		||||
	if err == nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if len(bs) < 3 {
 | 
			
		||||
		return
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
	if bs[0] != '&' || bs[1] != '{' || bs[len(bs)-1] != '}' {
 | 
			
		||||
		return
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
	cfg.ExternalWikiURL = string(bs[2 : len(bs)-1])
 | 
			
		||||
	return true, nil
 | 
			
		||||
@@ -70,20 +71,20 @@ func fixExternalWikiConfig16961(bs []byte, cfg *repo_model.ExternalWikiConfig) (
 | 
			
		||||
func fixExternalTrackerConfig16961(bs []byte, cfg *repo_model.ExternalTrackerConfig) (fixed bool, err error) {
 | 
			
		||||
	err = json.UnmarshalHandleDoubleEncode(bs, &cfg)
 | 
			
		||||
	if err == nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, nil
 | 
			
		||||
	}
 | 
			
		||||
	// Handle #16961
 | 
			
		||||
	if len(bs) < 3 {
 | 
			
		||||
		return
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if bs[0] != '&' || bs[1] != '{' || bs[len(bs)-1] != '}' {
 | 
			
		||||
		return
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	parts := bytes.Split(bs[2:len(bs)-1], []byte{' '})
 | 
			
		||||
	if len(parts) != 3 {
 | 
			
		||||
		return
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	cfg.ExternalTrackerURL = string(bytes.Join(parts[:len(parts)-2], []byte{' '}))
 | 
			
		||||
@@ -95,16 +96,16 @@ func fixExternalTrackerConfig16961(bs []byte, cfg *repo_model.ExternalTrackerCon
 | 
			
		||||
func fixPullRequestsConfig16961(bs []byte, cfg *repo_model.PullRequestsConfig) (fixed bool, err error) {
 | 
			
		||||
	err = json.UnmarshalHandleDoubleEncode(bs, &cfg)
 | 
			
		||||
	if err == nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Handle #16961
 | 
			
		||||
	if len(bs) < 3 {
 | 
			
		||||
		return
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if bs[0] != '&' || bs[1] != '{' || bs[len(bs)-1] != '}' {
 | 
			
		||||
		return
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// PullRequestsConfig was the following in 1.14
 | 
			
		||||
@@ -123,37 +124,37 @@ func fixPullRequestsConfig16961(bs []byte, cfg *repo_model.PullRequestsConfig) (
 | 
			
		||||
	// DefaultMergeStyle             MergeStyle
 | 
			
		||||
	parts := bytes.Split(bs[2:len(bs)-1], []byte{' '})
 | 
			
		||||
	if len(parts) < 7 {
 | 
			
		||||
		return
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var parseErr error
 | 
			
		||||
	cfg.IgnoreWhitespaceConflicts, parseErr = parseBool16961(parts[0])
 | 
			
		||||
	if parseErr != nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, errors.Join(err, parseErr)
 | 
			
		||||
	}
 | 
			
		||||
	cfg.AllowMerge, parseErr = parseBool16961(parts[1])
 | 
			
		||||
	if parseErr != nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, errors.Join(err, parseErr)
 | 
			
		||||
	}
 | 
			
		||||
	cfg.AllowRebase, parseErr = parseBool16961(parts[2])
 | 
			
		||||
	if parseErr != nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, errors.Join(err, parseErr)
 | 
			
		||||
	}
 | 
			
		||||
	cfg.AllowRebaseMerge, parseErr = parseBool16961(parts[3])
 | 
			
		||||
	if parseErr != nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, errors.Join(err, parseErr)
 | 
			
		||||
	}
 | 
			
		||||
	cfg.AllowSquash, parseErr = parseBool16961(parts[4])
 | 
			
		||||
	if parseErr != nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, errors.Join(err, parseErr)
 | 
			
		||||
	}
 | 
			
		||||
	cfg.AllowManualMerge, parseErr = parseBool16961(parts[5])
 | 
			
		||||
	if parseErr != nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, errors.Join(err, parseErr)
 | 
			
		||||
	}
 | 
			
		||||
	cfg.AutodetectManualMerge, parseErr = parseBool16961(parts[6])
 | 
			
		||||
	if parseErr != nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, errors.Join(err, parseErr)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 1.14 unit
 | 
			
		||||
@@ -162,12 +163,12 @@ func fixPullRequestsConfig16961(bs []byte, cfg *repo_model.PullRequestsConfig) (
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if len(parts) < 9 {
 | 
			
		||||
		return
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	cfg.DefaultDeleteBranchAfterMerge, parseErr = parseBool16961(parts[7])
 | 
			
		||||
	if parseErr != nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, errors.Join(err, parseErr)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	cfg.DefaultMergeStyle = repo_model.MergeStyle(string(bytes.Join(parts[8:], []byte{' '})))
 | 
			
		||||
@@ -177,34 +178,34 @@ func fixPullRequestsConfig16961(bs []byte, cfg *repo_model.PullRequestsConfig) (
 | 
			
		||||
func fixIssuesConfig16961(bs []byte, cfg *repo_model.IssuesConfig) (fixed bool, err error) {
 | 
			
		||||
	err = json.UnmarshalHandleDoubleEncode(bs, &cfg)
 | 
			
		||||
	if err == nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Handle #16961
 | 
			
		||||
	if len(bs) < 3 {
 | 
			
		||||
		return
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if bs[0] != '&' || bs[1] != '{' || bs[len(bs)-1] != '}' {
 | 
			
		||||
		return
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	parts := bytes.Split(bs[2:len(bs)-1], []byte{' '})
 | 
			
		||||
	if len(parts) != 3 {
 | 
			
		||||
		return
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
	var parseErr error
 | 
			
		||||
	cfg.EnableTimetracker, parseErr = parseBool16961(parts[0])
 | 
			
		||||
	if parseErr != nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, errors.Join(err, parseErr)
 | 
			
		||||
	}
 | 
			
		||||
	cfg.AllowOnlyContributorsToTrackTime, parseErr = parseBool16961(parts[1])
 | 
			
		||||
	if parseErr != nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, errors.Join(err, parseErr)
 | 
			
		||||
	}
 | 
			
		||||
	cfg.EnableDependencies, parseErr = parseBool16961(parts[2])
 | 
			
		||||
	if parseErr != nil {
 | 
			
		||||
		return
 | 
			
		||||
		return false, errors.Join(err, parseErr)
 | 
			
		||||
	}
 | 
			
		||||
	return true, nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user