## Changesets table with graph <%namespace name="changelog_table" file="/changelog/changelog_table.html"/>
%if not c.cs_ranges: ${_('No changesets')} %else: %if c.ancestors:
%if len(c.ancestors) > 1:
${_('Criss cross merge situation with multiple merge ancestors detected!')}
${_('Please merge the target branch to your branch before creating a pull request.')}
%endif
${_('Merge Ancestor')}: %for ancestor in c.ancestors: ${h.link_to(h.short_id(ancestor),h.url('changeset_home',repo_name=c.repo_name,revision=ancestor), class_="changeset_hash")} %endfor
%endif
${changelog_table.changelog(c.cs_repo.repo_name, list(reversed(c.cs_ranges)), c.cs_statuses, c.cs_comments, show_index=True, resize_js='graph.render(jsdata)')}
%if c.is_ajax_preview:
## links should perhaps use ('rev', c.a_rev) instead ... ${h.link_to(_('Show merge diff'), h.url('compare_url', repo_name=c.a_repo.repo_name, org_ref_type=c.a_ref_type, org_ref_name=c.a_ref_name, other_repo=c.cs_repo.repo_name, other_ref_type=c.cs_ref_type, other_ref_name=c.cs_ref_name, merge='1') )}
%endif %if c.cs_ranges_org is not None: ## TODO: list actual changesets?
${h.link_to_ref(c.cs_repo.repo_name, c.cs_ref_type, c.cs_ref_name, c.cs_rev)} ${_('is')} ${_('%s changesets') % (len(c.cs_ranges_org))} ${_('behind')} ${h.link_to_ref(c.a_repo.repo_name, c.a_ref_type, c.a_ref_name)}
%endif %endif
%if c.is_ajax_preview: %else: %endif