pull-requests: properly save merge failure metadata. Before this change
when reference errors were saved the de-serialization lost some of the attributes resulting in bad formatting of merge failure messages.
This commit is contained in:
parent
7ef065f261
commit
8bd65513e6
2 changed files with 18 additions and 1 deletions
|
|
@ -4133,6 +4133,23 @@ class _PullRequestBase(BaseModel):
|
|||
def reviewer_data_json(self):
|
||||
return json.dumps(self.reviewer_data)
|
||||
|
||||
@property
|
||||
def last_merge_metadata_parsed(self):
|
||||
metadata = {}
|
||||
if not self.last_merge_metadata:
|
||||
return metadata
|
||||
|
||||
if hasattr(self.last_merge_metadata, 'de_coerce'):
|
||||
for k, v in self.last_merge_metadata.de_coerce().items():
|
||||
if k in ['target_ref', 'source_ref']:
|
||||
metadata[k] = Reference(v['type'], v['name'], v['commit_id'])
|
||||
else:
|
||||
if hasattr(v, 'de_coerce'):
|
||||
metadata[k] = v.de_coerce()
|
||||
else:
|
||||
metadata[k] = v
|
||||
return metadata
|
||||
|
||||
@property
|
||||
def work_in_progress(self):
|
||||
"""checks if pull request is work in progress by checking the title"""
|
||||
|
|
|
|||
|
|
@ -1600,7 +1600,7 @@ class PullRequestModel(BaseModel):
|
|||
'source_ref': pull_request.source_ref_parts,
|
||||
}
|
||||
if pull_request.last_merge_metadata:
|
||||
metadata.update(pull_request.last_merge_metadata)
|
||||
metadata.update(pull_request.last_merge_metadata_parsed)
|
||||
|
||||
if not possible and target_ref.type == 'branch':
|
||||
# NOTE(marcink): case for mercurial multiple heads on branch
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue