@@ -135,7 +135,7 @@ public async Task GitHubRepoConnector_GetPullRequestsBetweenTagsAsync_ReturnsExp
135135
136136 connector . AddCommandResult (
137137 "git" ,
138- "log --oneline --merges v1.0.0..v2.0.0" ,
138+ "log --oneline v1.0.0..v2.0.0" ,
139139 "abc123 Merge pull request #10 from feature/x\n def456 Merge pull request #11 from bugfix/y" ) ;
140140
141141 // Act
@@ -163,7 +163,7 @@ public async Task GitHubRepoConnector_GetPullRequestsBetweenTagsAsync_HandlesNul
163163
164164 connector . AddCommandResult (
165165 "git" ,
166- "log --oneline --merges v1.0.0" ,
166+ "log --oneline v1.0.0" ,
167167 "abc123 Merge pull request #10 from feature/x" ) ;
168168
169169 // Act
@@ -184,7 +184,7 @@ public async Task GitHubRepoConnector_GetPullRequestsBetweenTagsAsync_HandlesNul
184184 var connector = new TestableGitHubRepoConnector ( ) ;
185185 connector . AddCommandResult (
186186 "git" ,
187- "log --oneline --merges v1.0.0..HEAD" ,
187+ "log --oneline v1.0.0..HEAD" ,
188188 "abc123 Merge pull request #11 from feature/y" ) ;
189189
190190 // Act
@@ -205,7 +205,7 @@ public async Task GitHubRepoConnector_GetPullRequestsBetweenTagsAsync_HandlesBot
205205 var connector = new TestableGitHubRepoConnector ( ) ;
206206 connector . AddCommandResult (
207207 "git" ,
208- "log --oneline --merges HEAD" ,
208+ "log --oneline HEAD" ,
209209 "abc123 Merge pull request #12 from feature/z" ) ;
210210
211211 // Act
@@ -231,7 +231,7 @@ public async Task GitHubRepoConnector_GetPullRequestsBetweenTagsAsync_UsesHeadWh
231231 // Mock git log with HEAD instead of non-existent tag
232232 connector . AddCommandResult (
233233 "git" ,
234- "log --oneline --merges v1.0.0..HEAD" ,
234+ "log --oneline v1.0.0..HEAD" ,
235235 "abc123 Merge pull request #15 from feature/new" ) ;
236236
237237 // Act - using a version that doesn't exist as a tag
@@ -244,6 +244,31 @@ public async Task GitHubRepoConnector_GetPullRequestsBetweenTagsAsync_UsesHeadWh
244244 Assert . AreEqual ( "15" , prs [ 0 ] ) ;
245245 }
246246
247+ /// <summary>
248+ /// Test that GetPullRequestsBetweenTagsAsync handles squash merge commits.
249+ /// </summary>
250+ [ TestMethod ]
251+ public async Task GitHubRepoConnector_GetPullRequestsBetweenTagsAsync_HandlesSquashMerges ( )
252+ {
253+ // Arrange
254+ var connector = new TestableGitHubRepoConnector ( ) ;
255+
256+ // Mock git log with squash merge commits (PR number in parentheses)
257+ connector . AddCommandResult (
258+ "git" ,
259+ "log --oneline HEAD" ,
260+ "abc123 Fix bug with validation (#18)\n def456 Add new feature (#19)\n ghi789 Update documentation (#20)" ) ;
261+
262+ // Act
263+ var prs = await connector . GetPullRequestsBetweenTagsAsync ( null , null ) ;
264+
265+ // Assert
266+ Assert . HasCount ( 3 , prs ) ;
267+ Assert . AreEqual ( "18" , prs [ 0 ] ) ;
268+ Assert . AreEqual ( "19" , prs [ 1 ] ) ;
269+ Assert . AreEqual ( "20" , prs [ 2 ] ) ;
270+ }
271+
247272 /// <summary>
248273 /// Test that GetIssuesForPullRequestAsync returns expected issues.
249274 /// </summary>
0 commit comments