diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index 9cd2d11230..260bf862cb 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -1832,6 +1832,7 @@ pulls.outdated_with_base_branch = This branch is out-of-date with the base branc
pulls.close = Close Pull Request
pulls.closed_at = `closed this pull request %[2]s`
pulls.reopened_at = `reopened this pull request %[2]s`
+pulls.commit_ref_at = `referenced this pull request from a commit %[2]s`
pulls.cmd_instruction_hint = `View command line instructions.`
pulls.cmd_instruction_checkout_title = Checkout
pulls.cmd_instruction_checkout_desc = From your project repository, check out a new branch and test the changes.
diff --git a/templates/repo/issue/view_content/comments.tmpl b/templates/repo/issue/view_content/comments.tmpl
index ade0ea34cf..53c20a68bb 100644
--- a/templates/repo/issue/view_content/comments.tmpl
+++ b/templates/repo/issue/view_content/comments.tmpl
@@ -152,7 +152,11 @@
{{template "shared/user/avatarlink" dict "user" .Poster}}
{{template "shared/user/authorlink" .Poster}}
- {{ctx.Locale.Tr "repo.issues.commit_ref_at" .EventTag $createdStr | Safe}}
+ {{if .Issue.IsPull}}
+ {{ctx.Locale.Tr "repo.pulls.commit_ref_at" .EventTag $createdStr | Safe}}
+ {{else}}
+ {{ctx.Locale.Tr "repo.issues.commit_ref_at" .EventTag $createdStr | Safe}}
+ {{end}}
{{svg "octicon-git-commit"}}
diff --git a/tests/integration/fixtures/TestCommitRefComment/comment.yml b/tests/integration/fixtures/TestCommitRefComment/comment.yml
new file mode 100644
index 0000000000..e2cfa0fb7c
--- /dev/null
+++ b/tests/integration/fixtures/TestCommitRefComment/comment.yml
@@ -0,0 +1,17 @@
+-
+ id: 1000
+ type: 4 # commit ref
+ poster_id: 2
+ issue_id: 2 # in repo_id 2
+ content: 4a357436d925b5c974181ff12a994538ddc5a269
+ created_unix: 1706469348
+ updated_unix: 1706469348
+
+-
+ id: 1001
+ type: 4 # commit ref
+ poster_id: 2
+ issue_id: 1 # in repo_id 2
+ content: 4a357436d925b5c974181ff12a994538ddc5a269
+ created_unix: 1706469348
+ updated_unix: 1706469348
diff --git a/tests/integration/issue_test.go b/tests/integration/issue_test.go
index 4da8aeae0c..268200be6f 100644
--- a/tests/integration/issue_test.go
+++ b/tests/integration/issue_test.go
@@ -770,3 +770,30 @@ func TestGetContentHistory(t *testing.T) {
testCase(t, loginUser(t, "user5"), true)
})
}
+
+func TestCommitRefComment(t *testing.T) {
+ defer tests.AddFixtures("tests/integration/fixtures/TestCommitRefComment/")()
+ defer tests.PrepareTestEnv(t)()
+
+ t.Run("Pull request", func(t *testing.T) {
+ defer tests.PrintCurrentTest(t)()
+
+ req := NewRequest(t, "GET", "/user2/repo1/pulls/2")
+ resp := MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+
+ event := htmlDoc.Find("#issuecomment-1000 .text").Text()
+ assert.Contains(t, event, "referenced this pull request")
+ })
+
+ t.Run("Issue", func(t *testing.T) {
+ defer tests.PrintCurrentTest(t)()
+
+ req := NewRequest(t, "GET", "/user2/repo1/issues/1")
+ resp := MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+
+ event := htmlDoc.Find("#issuecomment-1001 .text").Text()
+ assert.Contains(t, event, "referenced this issue")
+ })
+}