8000 Merge pull request #608 from megawac/merge-pull · goodwillcoding/github3.py@f6948ac · GitHub
[go: up one dir, main page]

Skip to content

Commit f6948ac

Browse files
committed
Merge pull request sigmavirus24#608 from megawac/merge-pull
Add support from squash on pull request merge
2 parents 1a7455c + 952e5e9 commit f6948ac

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

github3/pulls.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -313,14 +313,18 @@ def issue_comments(self, number=-1, etag=None):
313313
return self._iter(int(number), url, IssueComment, etag=etag)
314314

315315
@requires_auth
316-
def merge(self, commit_message='', sha=None):
316+
def merge(self, commit_message='', sha=None, squash=False):
317317
"""Merge this pull request.
318318
319319
:param str commit_message: (optional), message to be used for the
320320
merge commit
321+
:param str sha: (optional), SHA that pull request head must match
322+
to merge.
323+
:param bool squash: (optional), commit a single commit to the
324+
head branch.
321325
:returns: bool
322326
"""
323-
parameters = {'commit_message': commit_message}
327+
parameters = {'commit_message': commit_message, 'squash': squash}
324328
if sha:
325329
parameters['sha'] = sha
326330
url = self._build_url('merge', base_url=self._api)

tests/unit/test_pulls.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,18 @@ def test_merge(self):
9393
"""Show that a user can merge a Pull Request."""
9494
self.instance.merge()
9595

96-
self.session.put.assert_called_once_with(
96+
self.put_called_with(
9797
url_for('merge'),
98-
data='{"commit_message": ""}'
98+
data={"squash": False, "commit_message": ""}
99+
)
100+
101+
def test_merge_squash_message(self):
102+
"""Show that a user can merge a Pull Request."""
103+
self.instance.merge('commit message', squash=True)
104+
105+
self.put_called_with(
106+
url_for('merge'),
107+
data={"squash": True, "commit_message": "commit message"}
99108
)
100109

101110
def test_patch(self):

0 commit comments

Comments
 (0)
0