diff --git a/pagure/lib/git.py b/pagure/lib/git.py index 95691e0..c1a90d4 100644 --- a/pagure/lib/git.py +++ b/pagure/lib/git.py @@ -1247,7 +1247,7 @@ def get_git_tags_objects(project): repopath = pagure.get_repo_path(project) repo_obj = PagureRepo(repopath) tags = [ - repo_obj[repo_obj.lookup_reference(tag).target] + [repo_obj[repo_obj.lookup_reference(tag).target], tag.replace("refs/tags/","")] for tag in repo_obj.listall_references() if 'refs/tags/' in tag and repo_obj.lookup_reference(tag) ] @@ -1257,10 +1257,10 @@ def get_git_tags_objects(project): for tag in tags: # If the object is a tag, get his associated commit time - if isinstance(tag, pygit2.Tag): - tags_sort[tag.get_object().commit_time] = tag - elif isinstance(tag, pygit2.Commit): - tags_sort[tag.commit_time] = tag + if isinstance(tag[0], pygit2.Tag): + tags_sort[tag[0].get_object().commit_time] = [tag[0]] + elif isinstance(tag[0], pygit2.Commit): + tags_sort[tag[0].commit_time] = tag # If object is neither a tag or commit return an unsorted list else: return tags @@ -1268,4 +1268,5 @@ def get_git_tags_objects(project): for tag in sorted(tags_sort, reverse=True): sorted_tags.append(tags_sort[tag]) + print sorted_tags return sorted_tags diff --git a/pagure/templates/releases.html b/pagure/templates/releases.html index 0eadb1f..38ed010 100644 --- a/pagure/templates/releases.html +++ b/pagure/templates/releases.html @@ -34,12 +34,15 @@
{% for tag in tags %} - {{ tag.name }} - {% if tag.message %} - -- {{ tag.message.split('\n')[0] }} + identifier=tag[0].oid) }}"> + {% if tag|length == 1 %} + {% if tag[0].message %} + {{tag[0].name}} -- {{ tag[0].message.split('\n')[0] }} + {% endif %} + {% else %} + {{tag[1]}} {% endif %} - {{ tag.oid | short }} + {{ tag[0].oid | short }} {% endfor %}