Remove confusing TrimPrefix(... git.BranchPrefix) (#20369)

Make Repository.GetDefaultBranch return the real branch name, instead of the ref name. Then there is no need to do TrimPrefix for repo.DefaultBranch
This commit is contained in:
wxiaoguang 2022-07-16 08:10:02 +08:00 committed by GitHub
parent 57e0bf43eb
commit fee0e4dbea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 3 deletions

View file

@ -7,6 +7,7 @@ package git
import ( import (
"context" "context"
"errors"
"fmt" "fmt"
"strings" "strings"
) )
@ -72,7 +73,14 @@ func (repo *Repository) SetDefaultBranch(name string) error {
// GetDefaultBranch gets default branch of repository. // GetDefaultBranch gets default branch of repository.
func (repo *Repository) GetDefaultBranch() (string, error) { func (repo *Repository) GetDefaultBranch() (string, error) {
stdout, _, err := NewCommand(repo.Ctx, "symbolic-ref", "HEAD").RunStdString(&RunOpts{Dir: repo.Path}) stdout, _, err := NewCommand(repo.Ctx, "symbolic-ref", "HEAD").RunStdString(&RunOpts{Dir: repo.Path})
return stdout, err if err != nil {
return "", err
}
stdout = strings.TrimSpace(stdout)
if !strings.HasPrefix(stdout, BranchPrefix) {
return "", errors.New("the HEAD is not a branch: " + stdout)
}
return strings.TrimPrefix(stdout, BranchPrefix), nil
} }
// GetBranch returns a branch by it's name // GetBranch returns a branch by it's name

View file

@ -143,8 +143,6 @@ func adoptRepository(ctx context.Context, repoPath string, u *user_model.User, r
return fmt.Errorf("setDefaultBranch: %v", err) return fmt.Errorf("setDefaultBranch: %v", err)
} }
} }
repo.DefaultBranch = strings.TrimPrefix(repo.DefaultBranch, git.BranchPrefix)
} }
branches, _, _ := gitRepo.GetBranchNames(0, 0) branches, _, _ := gitRepo.GetBranchNames(0, 0)
found := false found := false