Skip to content

Commit ed2ca3a

Browse files
authored
Merge branch 'main' into ALLOW_ONLY_INTERNAL_REGISTRATION
2 parents 089a615 + 864e656 commit ed2ca3a

File tree

2 files changed

+44
-2
lines changed

2 files changed

+44
-2
lines changed

models/pull.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,12 +212,21 @@ func (pr *PullRequest) GetDefaultMergeMessage() string {
212212
log.Error("Cannot load issue %d for PR id %d: Error: %v", pr.IssueID, pr.ID, err)
213213
return ""
214214
}
215+
if err := pr.LoadBaseRepo(); err != nil {
216+
log.Error("LoadBaseRepo: %v", err)
217+
return ""
218+
}
219+
220+
issueReference := "#"
221+
if pr.BaseRepo.UnitEnabled(UnitTypeExternalTracker) {
222+
issueReference = "!"
223+
}
215224

216225
if pr.BaseRepoID == pr.HeadRepoID {
217-
return fmt.Sprintf("Merge pull request '%s' (#%d) from %s into %s", pr.Issue.Title, pr.Issue.Index, pr.HeadBranch, pr.BaseBranch)
226+
return fmt.Sprintf("Merge pull request '%s' (%s%d) from %s into %s", pr.Issue.Title, issueReference, pr.Issue.Index, pr.HeadBranch, pr.BaseBranch)
218227
}
219228

220-
return fmt.Sprintf("Merge pull request '%s' (#%d) from %s:%s into %s", pr.Issue.Title, pr.Issue.Index, pr.HeadRepo.FullName(), pr.HeadBranch, pr.BaseBranch)
229+
return fmt.Sprintf("Merge pull request '%s' (%s%d) from %s:%s into %s", pr.Issue.Title, issueReference, pr.Issue.Index, pr.HeadRepo.FullName(), pr.HeadBranch, pr.BaseBranch)
221230
}
222231

223232
// ReviewCount represents a count of Reviews

models/pull_test.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,3 +234,36 @@ func TestPullRequest_GetWorkInProgressPrefixWorkInProgress(t *testing.T) {
234234
pr.Issue.Title = "[wip] " + original
235235
assert.Equal(t, "[wip]", pr.GetWorkInProgressPrefix())
236236
}
237+
238+
func TestPullRequest_GetDefaultMergeMessage_InternalTracker(t *testing.T) {
239+
assert.NoError(t, PrepareTestDatabase())
240+
pr := AssertExistsAndLoadBean(t, &PullRequest{ID: 2}).(*PullRequest)
241+
242+
assert.Equal(t, "Merge pull request 'issue3' (#3) from branch2 into master", pr.GetDefaultMergeMessage())
243+
244+
pr.BaseRepoID = 1
245+
pr.HeadRepoID = 2
246+
assert.Equal(t, "Merge pull request 'issue3' (#3) from user2/repo1:branch2 into master", pr.GetDefaultMergeMessage())
247+
}
248+
249+
func TestPullRequest_GetDefaultMergeMessage_ExternalTracker(t *testing.T) {
250+
assert.NoError(t, PrepareTestDatabase())
251+
252+
externalTracker := RepoUnit{
253+
Type: UnitTypeExternalTracker,
254+
Config: &ExternalTrackerConfig{
255+
ExternalTrackerFormat: "https://someurl.com/{user}/{repo}/{issue}",
256+
},
257+
}
258+
baseRepo := &Repository{Name: "testRepo", ID: 1}
259+
baseRepo.Owner = &User{Name: "testOwner"}
260+
baseRepo.Units = []*RepoUnit{&externalTracker}
261+
262+
pr := AssertExistsAndLoadBean(t, &PullRequest{ID: 2, BaseRepo: baseRepo}).(*PullRequest)
263+
264+
assert.Equal(t, "Merge pull request 'issue3' (!3) from branch2 into master", pr.GetDefaultMergeMessage())
265+
266+
pr.BaseRepoID = 1
267+
pr.HeadRepoID = 2
268+
assert.Equal(t, "Merge pull request 'issue3' (!3) from user2/repo1:branch2 into master", pr.GetDefaultMergeMessage())
269+
}

0 commit comments

Comments
 (0)