mirror of
https://github.com/go-gitea/gitea.git
synced 2026-09-08 22:13:26 +09:00
fix(pulls): add branch-name option for DEFAULT_TITLE_SOURCE (#38356)
Adds a new `branch-name` value for the `[repository.pull-request]` `DEFAULT_TITLE_SOURCE` setting that always uses the normalized branch name as the PR title, regardless of commit count. Fix #38317 --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
@@ -1191,6 +1191,7 @@ LEVEL = Info
|
|||||||
;; Default source for the pull request title when opening a new PR.
|
;; Default source for the pull request title when opening a new PR.
|
||||||
;; "first-commit" uses the oldest commit's summary.
|
;; "first-commit" uses the oldest commit's summary.
|
||||||
;; "auto" uses commit's summary if the PR only has one commit, normalizes the branch name if multiple commits.
|
;; "auto" uses commit's summary if the PR only has one commit, normalizes the branch name if multiple commits.
|
||||||
|
;; "branch-name" always uses the PR's branch name.
|
||||||
;DEFAULT_TITLE_SOURCE = auto
|
;DEFAULT_TITLE_SOURCE = auto
|
||||||
;;
|
;;
|
||||||
;; Delay mergeable check until page view or API access, for pull requests that have not been updated in the specified days when their base branches get updated.
|
;; Delay mergeable check until page view or API access, for pull requests that have not been updated in the specified days when their base branches get updated.
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ const (
|
|||||||
const (
|
const (
|
||||||
RepoPRTitleSourceFirstCommit = "first-commit"
|
RepoPRTitleSourceFirstCommit = "first-commit"
|
||||||
RepoPRTitleSourceAuto = "auto"
|
RepoPRTitleSourceAuto = "auto"
|
||||||
|
RepoPRTitleSourceBranchName = "branch-name"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ItemsPerPage maximum items per page in forks, watchers and stars of a repo
|
// ItemsPerPage maximum items per page in forks, watchers and stars of a repo
|
||||||
|
|||||||
@@ -383,7 +383,9 @@ func autoTitleFromBranchName(name string) string {
|
|||||||
|
|
||||||
func prepareNewPullRequestTitleContent(ci *git_service.CompareInfo, commits []*git_model.SignCommitWithStatuses, defaultTitleSource string) (title, content string) {
|
func prepareNewPullRequestTitleContent(ci *git_service.CompareInfo, commits []*git_model.SignCommitWithStatuses, defaultTitleSource string) (title, content string) {
|
||||||
useFirstCommitAsTitle := len(commits) == 1 || (defaultTitleSource == setting.RepoPRTitleSourceFirstCommit && len(commits) > 0)
|
useFirstCommitAsTitle := len(commits) == 1 || (defaultTitleSource == setting.RepoPRTitleSourceFirstCommit && len(commits) > 0)
|
||||||
if useFirstCommitAsTitle {
|
if defaultTitleSource == setting.RepoPRTitleSourceBranchName {
|
||||||
|
title = ci.HeadRef.ShortName()
|
||||||
|
} else if useFirstCommitAsTitle {
|
||||||
// the "commits" are from "ShowPrettyFormatLogToList", which is ordered from newest to oldest, here take the oldest one
|
// the "commits" are from "ShowPrettyFormatLogToList", which is ordered from newest to oldest, here take the oldest one
|
||||||
c := commits[len(commits)-1]
|
c := commits[len(commits)-1]
|
||||||
title = c.UserCommit.GitCommit.MessageTitle()
|
title = c.UserCommit.GitCommit.MessageTitle()
|
||||||
|
|||||||
@@ -70,6 +70,10 @@ func TestNewPullRequestTitleContent(t *testing.T) {
|
|||||||
assert.Equal(t, "Head branch", title)
|
assert.Equal(t, "Head branch", title)
|
||||||
assert.Empty(t, content)
|
assert.Empty(t, content)
|
||||||
|
|
||||||
|
title, content = prepareNewPullRequestTitleContent(ci, nil, setting.RepoPRTitleSourceBranchName)
|
||||||
|
assert.Equal(t, "head-branch", title)
|
||||||
|
assert.Empty(t, content)
|
||||||
|
|
||||||
// single commit
|
// single commit
|
||||||
title, content = prepareNewPullRequestTitleContent(ci, []*git_model.SignCommitWithStatuses{mockCommit("single-commit-title\nbody")}, setting.RepoPRTitleSourceAuto)
|
title, content = prepareNewPullRequestTitleContent(ci, []*git_model.SignCommitWithStatuses{mockCommit("single-commit-title\nbody")}, setting.RepoPRTitleSourceAuto)
|
||||||
assert.Equal(t, "single-commit-title", title)
|
assert.Equal(t, "single-commit-title", title)
|
||||||
|
|||||||
Reference in New Issue
Block a user