From bd0177b039175e9399401cbe4ce960fef79945c0 Mon Sep 17 00:00:00 2001 From: Mikel Olasagasti Uranga Date: Wed, 21 Jan 2026 23:12:55 +0100 Subject: [PATCH 1/2] Fix fmt.Errorf format argument in ParseFullReference The error path passed an int to fmt.Errorf with %q, which expects a string. Use the original reference string to avoid a format mismatch. Signed-off-by: Mikel Olasagasti Uranga --- pkg/cmd/pr/shared/finder.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/cmd/pr/shared/finder.go b/pkg/cmd/pr/shared/finder.go index 1879fff625a..697133680d8 100644 --- a/pkg/cmd/pr/shared/finder.go +++ b/pkg/cmd/pr/shared/finder.go @@ -349,7 +349,7 @@ func ParseFullReference(s string) (ghrepo.Interface, int, error) { number, err := strconv.Atoi(m[3]) if err != nil { - return nil, 0, fmt.Errorf("invalid reference: %q", number) + return nil, 0, fmt.Errorf("invalid reference: %q", s) } owner := m[1] From 0d8a697c7ccd5314a8c5240de339d0e8c2044a12 Mon Sep 17 00:00:00 2001 From: "Babak K. Shandiz" Date: Wed, 21 Jan 2026 23:30:43 +0000 Subject: [PATCH 2/2] fix(pr/shared): improve `ParseFullReference` error message Signed-off-by: Babak K. Shandiz --- pkg/cmd/pr/shared/finder.go | 2 +- pkg/cmd/pr/shared/finder_test.go | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/cmd/pr/shared/finder.go b/pkg/cmd/pr/shared/finder.go index 697133680d8..ea2c075ace7 100644 --- a/pkg/cmd/pr/shared/finder.go +++ b/pkg/cmd/pr/shared/finder.go @@ -349,7 +349,7 @@ func ParseFullReference(s string) (ghrepo.Interface, int, error) { number, err := strconv.Atoi(m[3]) if err != nil { - return nil, 0, fmt.Errorf("invalid reference: %q", s) + return nil, 0, fmt.Errorf("invalid reference: %q; %w", s, err) } owner := m[1] diff --git a/pkg/cmd/pr/shared/finder_test.go b/pkg/cmd/pr/shared/finder_test.go index 3f9ba6f5082..af34370609f 100644 --- a/pkg/cmd/pr/shared/finder_test.go +++ b/pkg/cmd/pr/shared/finder_test.go @@ -160,6 +160,11 @@ func TestParseFullReference(t *testing.T) { arg: "OWNER/#123", wantErr: `invalid reference: "OWNER/#123"`, }, + { + name: "invalid full form, too large number", + arg: "OWNER/REPO#9999999999999999999", + wantErr: `invalid reference: "OWNER/REPO#9999999999999999999"; strconv.Atoi: parsing "9999999999999999999": value out of range`, + }, } for _, tt := range tests {