From 0056fdb94201f54fcbb51d741a68b04bf41213fc Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sat, 15 Mar 2025 19:48:59 -0700 Subject: Move git references checking to gitrepo packages to reduce expose of repository path (#33891) --- modules/gitrepo/branch.go | 18 ++++++++++++++++++ modules/gitrepo/tag.go | 15 +++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 modules/gitrepo/tag.go (limited to 'modules/gitrepo') diff --git a/modules/gitrepo/branch.go b/modules/gitrepo/branch.go index 3336036248..9c4bdc5bdf 100644 --- a/modules/gitrepo/branch.go +++ b/modules/gitrepo/branch.go @@ -47,3 +47,21 @@ func GetDefaultBranch(ctx context.Context, repo Repository) (string, error) { func GetWikiDefaultBranch(ctx context.Context, repo Repository) (string, error) { return git.GetDefaultBranch(ctx, wikiPath(repo)) } + +// IsReferenceExist returns true if given reference exists in the repository. +func IsReferenceExist(ctx context.Context, repo Repository, name string) bool { + return git.IsReferenceExist(ctx, repoPath(repo), name) +} + +func IsWikiReferenceExist(ctx context.Context, repo Repository, name string) bool { + return git.IsReferenceExist(ctx, wikiPath(repo), name) +} + +// IsBranchExist returns true if given branch exists in the repository. +func IsBranchExist(ctx context.Context, repo Repository, name string) bool { + return IsReferenceExist(ctx, repo, git.BranchPrefix+name) +} + +func IsWikiBranchExist(ctx context.Context, repo Repository, name string) bool { + return IsWikiReferenceExist(ctx, repo, git.BranchPrefix+name) +} diff --git a/modules/gitrepo/tag.go b/modules/gitrepo/tag.go new file mode 100644 index 0000000000..58ed204a99 --- /dev/null +++ b/modules/gitrepo/tag.go @@ -0,0 +1,15 @@ +// Copyright 2025 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package gitrepo + +import ( + "context" + + "code.gitea.io/gitea/modules/git" +) + +// IsTagExist returns true if given tag exists in the repository. +func IsTagExist(ctx context.Context, repo Repository, name string) bool { + return IsReferenceExist(ctx, repo, git.TagPrefix+name) +} -- cgit v1.2.3