From 734834a6761d446a6e0dc25a104e8272143f6045 Mon Sep 17 00:00:00 2001 From: Elijah Oyekunle Date: Wed, 16 Jan 2019 22:50:11 +0100 Subject: [PATCH] Add Default Pull Request Title (#5735) * add default PR title Set default PR title to commit summary if there's a single commit on the head branch, else set it to the head branch name * set default PR description If there's a single commit on the head branch, and it's multiline, then set it as the default PR description --- routers/repo/pull.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/routers/repo/pull.go b/routers/repo/pull.go index b38ba3bf56d..36135084aaa 100644 --- a/routers/repo/pull.go +++ b/routers/repo/pull.go @@ -722,8 +722,9 @@ func PrepareCompareDiff( baseBranch, headBranch string) bool { var ( - repo = ctx.Repo.Repository - err error + repo = ctx.Repo.Repository + err error + title string ) // Get diff information. @@ -762,6 +763,20 @@ func PrepareCompareDiff( prInfo.Commits = models.ParseCommitsWithStatus(prInfo.Commits, headRepo) ctx.Data["Commits"] = prInfo.Commits ctx.Data["CommitCount"] = prInfo.Commits.Len() + + if prInfo.Commits.Len() == 1 { + c := prInfo.Commits.Front().Value.(models.SignCommitWithStatuses) + title = strings.TrimSpace(c.UserCommit.Summary()) + + body := strings.Split(strings.TrimSpace(c.UserCommit.Message()), "\n") + if len(body) > 1 { + ctx.Data["content"] = strings.Join(body[1:], "\n") + } + } else { + title = headBranch + } + + ctx.Data["title"] = title ctx.Data["Username"] = headUser.Name ctx.Data["Reponame"] = headRepo.Name ctx.Data["IsImageFile"] = headCommit.IsImageFile