feature: initial implementation of squash functionality for git and hg; no enable/disable settings option yet
This commit is contained in:
parent
5e3cc80c7b
commit
802e8a8119
8 changed files with 206 additions and 88 deletions
|
|
@ -1011,12 +1011,12 @@ class PullRequestModel(BaseModel):
|
|||
|
||||
return commit_ids
|
||||
|
||||
def merge_repo(self, pull_request, user, extras):
|
||||
def merge_repo(self, pull_request, user, extras, squash_commits=False):
|
||||
repo_type = pull_request.source_repo.repo_type
|
||||
log.debug("Merging pull request %s", pull_request)
|
||||
|
||||
extras["user_agent"] = "{}/internal-merge".format(repo_type)
|
||||
merge_state = self._merge_pull_request(pull_request, user, extras)
|
||||
merge_state = self._merge_pull_request(pull_request, user, extras, squash_commits=squash_commits)
|
||||
if merge_state.executed:
|
||||
log.debug("Merge was successful, updating the pull request comments.")
|
||||
self._comment_and_close_pr(pull_request, user, merge_state)
|
||||
|
|
@ -1027,7 +1027,7 @@ class PullRequestModel(BaseModel):
|
|||
log.warning("Merge failed, not updating the pull request.")
|
||||
return merge_state
|
||||
|
||||
def _merge_pull_request(self, pull_request, user, extras, merge_msg=None):
|
||||
def _merge_pull_request(self, pull_request, user, extras, merge_msg=None, squash_commits=False):
|
||||
target_vcs = pull_request.target_repo.scm_instance()
|
||||
source_vcs = pull_request.source_repo.scm_instance()
|
||||
|
||||
|
|
@ -1067,6 +1067,7 @@ class PullRequestModel(BaseModel):
|
|||
message=message,
|
||||
use_rebase=use_rebase,
|
||||
close_branch=close_branch,
|
||||
squash_commits=squash_commits,
|
||||
)
|
||||
|
||||
return merge_state
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue