Skip to content

Commit

Permalink
Search branches (go-gitea#27055)
Browse files Browse the repository at this point in the history
  • Loading branch information
lunny authored Sep 17, 2023
1 parent dcf4b9e commit 47b8788
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 4 deletions.
4 changes: 4 additions & 0 deletions models/git/branch_list.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ type FindBranchOptions struct {
ExcludeBranchNames []string
IsDeletedBranch util.OptionalBool
OrderBy string
Keyword string
}

func (opts *FindBranchOptions) Cond() builder.Cond {
Expand All @@ -84,6 +85,9 @@ func (opts *FindBranchOptions) Cond() builder.Cond {
if !opts.IsDeletedBranch.IsNone() {
cond = cond.And(builder.Eq{"is_deleted": opts.IsDeletedBranch.IsTrue()})
}
if opts.Keyword != "" {
cond = cond.And(builder.Like{"name", opts.Keyword})
}
return cond
}

Expand Down
1 change: 1 addition & 0 deletions options/locale/locale_en-US.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2515,6 +2515,7 @@ branch.default_deletion_failed = Branch "%s" is the default branch. It cannot be
branch.restore = Restore Branch "%s"
branch.download = Download Branch "%s"
branch.rename = Rename Branch "%s"
branch.search = Search Branch
branch.included_desc = This branch is part of the default branch
branch.included = Included
branch.create_new_branch = Create branch from branch:
Expand Down
5 changes: 4 additions & 1 deletion routers/web/repo/branch.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ func Branches(ctx *context.Context) {
}
pageSize := setting.Git.BranchesRangeSize

defaultBranch, branches, branchesCount, err := repo_service.LoadBranches(ctx, ctx.Repo.Repository, ctx.Repo.GitRepo, util.OptionalBoolNone, page, pageSize)
kw := ctx.FormString("q")

defaultBranch, branches, branchesCount, err := repo_service.LoadBranches(ctx, ctx.Repo.Repository, ctx.Repo.GitRepo, util.OptionalBoolNone, kw, page, pageSize)
if err != nil {
ctx.ServerError("LoadBranches", err)
return
Expand All @@ -73,6 +75,7 @@ func Branches(ctx *context.Context) {
commitStatus[commitID] = git_model.CalcCommitStatus(cs)
}

ctx.Data["Keyword"] = kw
ctx.Data["Branches"] = branches
ctx.Data["CommitStatus"] = commitStatus
ctx.Data["CommitStatuses"] = commitStatuses
Expand Down
3 changes: 2 additions & 1 deletion services/repository/branch.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ type Branch struct {
}

// LoadBranches loads branches from the repository limited by page & pageSize.
func LoadBranches(ctx context.Context, repo *repo_model.Repository, gitRepo *git.Repository, isDeletedBranch util.OptionalBool, page, pageSize int) (*Branch, []*Branch, int64, error) {
func LoadBranches(ctx context.Context, repo *repo_model.Repository, gitRepo *git.Repository, isDeletedBranch util.OptionalBool, keyword string, page, pageSize int) (*Branch, []*Branch, int64, error) {
defaultDBBranch, err := git_model.GetBranch(ctx, repo.ID, repo.DefaultBranch)
if err != nil {
return nil, nil, 0, err
Expand All @@ -79,6 +79,7 @@ func LoadBranches(ctx context.Context, repo *repo_model.Repository, gitRepo *git
Page: page,
PageSize: pageSize,
},
Keyword: keyword,
}

totalNumOfBranches, err := git_model.CountBranches(ctx, branchOpts)
Expand Down
15 changes: 13 additions & 2 deletions templates/repo/branch/list.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,20 @@
{{end}}

{{if .Branches}}
<h4 class="ui top attached header">
{{.locale.Tr "repo.branches"}}
<h4 class="ui top attached header gt-df gt-ac gt-sb">
<div class="gt-df gt-ac">
{{.locale.Tr "repo.branches"}}
</div>
<div class="gt-whitespace-nowrap">
<form class="ignore-dirty" method="get">
<div class="ui tiny search input">
<input name="q" placeholder="{{.locale.Tr "repo.branch.search"}}" value="{{.Keyword}}" autofocus>
</div>
<button class="ui primary tiny button gt-mr-0" data-tooltip-content={{.locale.Tr "repo.commits.search.tooltip"}}>{{.locale.Tr "repo.commits.find"}}</button>
</form>
</div>
</h4>

<div class="ui attached table segment">
<table class="ui very basic striped fixed table single line">
<tbody>
Expand Down

0 comments on commit 47b8788

Please sign in to comment.