mirror of https://github.com/go-gitea/gitea.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.3 KiB
49 lines
1.3 KiB
// Copyright 2024 The Gitea Authors. All rights reserved. |
|
// SPDX-License-Identifier: MIT |
|
|
|
package gitrepo |
|
|
|
import ( |
|
"context" |
|
|
|
"code.gitea.io/gitea/modules/git" |
|
) |
|
|
|
// GetBranchesByPath returns a branch by its path |
|
// if limit = 0 it will not limit |
|
func GetBranchesByPath(ctx context.Context, repo Repository, skip, limit int) ([]*git.Branch, int, error) { |
|
gitRepo, err := OpenRepository(ctx, repo) |
|
if err != nil { |
|
return nil, 0, err |
|
} |
|
defer gitRepo.Close() |
|
|
|
return gitRepo.GetBranches(skip, limit) |
|
} |
|
|
|
func GetBranchCommitID(ctx context.Context, repo Repository, branch string) (string, error) { |
|
gitRepo, err := OpenRepository(ctx, repo) |
|
if err != nil { |
|
return "", err |
|
} |
|
defer gitRepo.Close() |
|
|
|
return gitRepo.GetBranchCommitID(branch) |
|
} |
|
|
|
// SetDefaultBranch sets default branch of repository. |
|
func SetDefaultBranch(ctx context.Context, repo Repository, name string) error { |
|
_, _, err := git.NewCommand(ctx, "symbolic-ref", "HEAD"). |
|
AddDynamicArguments(git.BranchPrefix + name). |
|
RunStdString(&git.RunOpts{Dir: repoPath(repo)}) |
|
return err |
|
} |
|
|
|
// GetDefaultBranch gets default branch of repository. |
|
func GetDefaultBranch(ctx context.Context, repo Repository) (string, error) { |
|
return git.GetDefaultBranch(ctx, repoPath(repo)) |
|
} |
|
|
|
func GetWikiDefaultBranch(ctx context.Context, repo Repository) (string, error) { |
|
return git.GetDefaultBranch(ctx, wikiPath(repo)) |
|
}
|
|
|