diff options
| -rw-r--r-- | breezy/plugins/propose/github.py | 6 | ||||
| -rw-r--r-- | breezy/plugins/propose/gitlabs.py | 6 | ||||
| -rw-r--r-- | breezy/plugins/propose/launchpad.py | 6 | ||||
| -rw-r--r-- | breezy/plugins/propose/propose.py | 5 | 
4 files changed, 23 insertions, 0 deletions
| diff --git a/breezy/plugins/propose/github.py b/breezy/plugins/propose/github.py index 3197d0e42a..bc7d5a2d64 100644 --- a/breezy/plugins/propose/github.py +++ b/breezy/plugins/propose/github.py @@ -187,6 +187,12 @@ class GitHubMergeProposal(MergeProposal):  # https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button  self._pr.merge(commit_message=commit_message) + def get_merged_by(self): + merged_by = self._pr.get('merged_by') + if merged_by is None: + return None + return merged_by['login'] +  def parse_github_url(url):  (scheme, user, password, host, port, path) = urlutils.parse_url( diff --git a/breezy/plugins/propose/gitlabs.py b/breezy/plugins/propose/gitlabs.py index aff1011a49..8f30e8f989 100644 --- a/breezy/plugins/propose/gitlabs.py +++ b/breezy/plugins/propose/gitlabs.py @@ -235,6 +235,12 @@ class GitLabMergeProposal(MergeProposal):  else:  raise ValueError(self._mr['merge_status']) + def get_merged_by(self): + user = self._mr.get('merged_by') + if user is None: + return None + return user['username'] +  def gitlab_url_to_bzr_url(url, name):  if not PY3: diff --git a/breezy/plugins/propose/launchpad.py b/breezy/plugins/propose/launchpad.py index e1f7732683..7e49ba0b76 100644 --- a/breezy/plugins/propose/launchpad.py +++ b/breezy/plugins/propose/launchpad.py @@ -162,6 +162,12 @@ class LaunchpadMergeProposal(MergeProposal):  return True  return not bool(self._mp.preview_diff.conflicts) + def get_merged_by(self): + merge_reporter = self._mp.merge_reporter + if merge_reporter is None: + return None + return merge_reporter.name +  def merge(self, commit_message=None):  target_branch = _mod_branch.Branch.open(  self.get_target_branch_url()) diff --git a/breezy/plugins/propose/propose.py b/breezy/plugins/propose/propose.py index eaf1a7f6d8..d7f95d604a 100644 --- a/breezy/plugins/propose/propose.py +++ b/breezy/plugins/propose/propose.py @@ -158,6 +158,11 @@ class MergeProposal(object):  """  raise NotImplementedError(self.can_be_merged) + def get_merged_by(self): + """If this proposal was merged, who merged it. + """ + raise NotImplementedError(self.get_merged_by) +  class MergeProposalBuilder(object):  """Merge proposal creator. | 
