Show More
@@ -357,6 +357,9 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
357 | 357 | pull_request_id=pull_request_id)) |
|
358 | 358 | |
|
359 | 359 | versions = pull_request_display_obj.versions() |
|
360 | ||
|
361 | c.commit_versions = PullRequestModel().pr_commits_versions(versions) | |
|
362 | ||
|
360 | 363 | # used to store per-commit range diffs |
|
361 | 364 | c.changes = collections.OrderedDict() |
|
362 | 365 |
@@ -3821,8 +3821,12 b' class ChangesetComment(Base, BaseModel):' | |||
|
3821 | 3821 | return q.all() |
|
3822 | 3822 | |
|
3823 | 3823 | @classmethod |
|
3824 | def get_index_from_version(cls, pr_version, versions): | |
|
3824 | def get_index_from_version(cls, pr_version, versions=None, num_versions=None): | |
|
3825 | ||
|
3826 | if versions is not None: | |
|
3825 | 3827 | num_versions = [x.pull_request_version_id for x in versions] |
|
3828 | ||
|
3829 | num_versions = num_versions or [] | |
|
3826 | 3830 | try: |
|
3827 | 3831 | return num_versions.index(pr_version) + 1 |
|
3828 | 3832 | except (IndexError, ValueError): |
@@ -610,6 +610,20 b' class PullRequestModel(BaseModel):' | |||
|
610 | 610 | return _org_pull_request_obj, pull_request_obj, \ |
|
611 | 611 | pull_request_display_obj, at_version |
|
612 | 612 | |
|
613 | def pr_commits_versions(self, versions): | |
|
614 | """ | |
|
615 | Maps the pull-request commits into all known PR versions. This way we can obtain | |
|
616 | each pr version the commit was introduced in. | |
|
617 | """ | |
|
618 | commit_versions = collections.defaultdict(list) | |
|
619 | num_versions = [x.pull_request_version_id for x in versions] | |
|
620 | for ver in versions: | |
|
621 | for commit_id in ver.revisions: | |
|
622 | ver_idx = ChangesetComment.get_index_from_version( | |
|
623 | ver.pull_request_version_id, num_versions=num_versions) | |
|
624 | commit_versions[commit_id].append(ver_idx) | |
|
625 | return commit_versions | |
|
626 | ||
|
613 | 627 | def create(self, created_by, source_repo, source_ref, target_repo, |
|
614 | 628 | target_ref, revisions, reviewers, observers, title, description=None, |
|
615 | 629 | common_ancestor_id=None, |
@@ -12,6 +12,9 b'' | |||
|
12 | 12 | <input type="hidden" name="__start__" value="revisions:sequence"> |
|
13 | 13 | <table class="rctable compare_view_commits"> |
|
14 | 14 | <tr> |
|
15 | % if hasattr(c, 'commit_versions'): | |
|
16 | <th>ver</th> | |
|
17 | % endif | |
|
15 | 18 | <th>${_('Time')}</th> |
|
16 | 19 | <th>${_('Author')}</th> |
|
17 | 20 | <th>${_('Commit')}</th> |
@@ -30,6 +33,11 b'' | |||
|
30 | 33 | class="compare_select" |
|
31 | 34 | style="${'display: none' if c.collapse_all_commits else ''}" |
|
32 | 35 | > |
|
36 | % if hasattr(c, 'commit_versions'): | |
|
37 | <td class="tooltip" title="${_('Pull request version this commit was introduced')}"> | |
|
38 | <code>${('v{}'.format(c.commit_versions[commit.raw_id][0]) if c.commit_versions[commit.raw_id] else 'latest')}</code> | |
|
39 | </td> | |
|
40 | % endif | |
|
33 | 41 | <td class="td-time"> |
|
34 | 42 | ${h.age_component(commit.date)} |
|
35 | 43 | </td> |
General Comments 0
You need to be logged in to leave comments.
Login now