(Arne Babenhauserheide)
2014-02-11: sort tags in reverse order - by revision number (simplest sorting, sort tags in reverse order - by revision number (simplest sorting, though not guaranteed to be stable).
diff --git a/.bugs/bugs b/.bugs/bugs
--- a/.bugs/bugs
+++ b/.bugs/bugs
@@ -14,7 +14,7 @@ revisions more structured, as list or si
tags do not have a heading on the overview anymore | owner:, open:False, id:485d0b451f18b5eae517b34466622b0d52340d8e, time:1351620233.63
only write .statichgrepo print.css style.css and index.html when their data changed \(or \-\-force\) → read them and compare the contents. | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:4f02149269a60fca85aa040116b2789d98c906f2, time:1319212903.98
line numbers with anchors - | owner:Arne Babenhauserheide <bab@draketo.de>, open:True, id:4fe09a1f0303ba6270042ca70d2bec4d60a1249e, time:1352070288.56
-sort tags in reverse order | owner:Arne Babenhauserheide <bab@draketo.de>, open:True, id:61d256ab154e64597be604d6298daa545d4a96c7, time:1322159250.01
+sort tags in reverse order | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:61d256ab154e64597be604d6298daa545d4a96c7, time:1322159250.01
link from summary to readme | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:6277e6577b3f48f9b358565f29885685f2872d29, time:1391966374.92
add proper caching of every ftp directory listing. | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:750692931106d78ffc38c1ed63013c4dac4099dd, time:1319175393.07
fork-/clone-info for each entry in [paths] with its incoming data (if it has some): | owner:, open:False, id:8621575e4016752e8987c8b294dfa9166f77eff3, time:1319147671.39
diff --git a/staticsite.py b/staticsite.py
--- a/staticsite.py
+++ b/staticsite.py
@@ -739,6 +739,19 @@ def overviewlogstring(ui, repo, revs, te
t.show(ctx)
return ui.popbuffer()
+
+def sortedtagnames(repo, tags):
+ """Get the names of tags from a tags dictionary.
+
+ :param tags: {"tagname": rev}, example: {'v0.5.3': '\xdfd\xe8.\t \xbd\xd0y\xd7|\xd4\x82\x9b\xac\x9d0F\x1a%'}
+ :return: [first, second, third, fourth]
+ """
+ rev2tag = {}
+ for tag in tags:
+ rev2tag[repo[tag].rev()] = tag
+ return [rev2tag[i] for i in sorted(rev2tag.keys())]
+
+
def writeoverview(ui, repo, target, name):
"""Create the overview page"""
ui.debug("[staticsite] writeoverview: header\n")
@@ -819,7 +832,7 @@ def writeoverview(ui, repo, target, name
# FIXME: For some reason this does not seem to give the tags anymore.
tags = repo._tags
except AttributeError:
- tags = []
+ tags = {}
try:
bookmarks = repo._bookmarks
except AttributeError:
@@ -837,7 +850,11 @@ def writeoverview(ui, repo, target, name
overview += "</div>"
if len(tags) > 1:
overview += "\n<div id='tags'><h2>Tags</h2>\n"
- overview += overviewlogstring(ui, repo, [tags[t] for t in tags if t != "tip"],
+ overview += overviewlogstring(ui, repo,
+ [tags[t]
+ for t in reversed(sortedtagnames(
+ repo, tags))
+ if t != "tip"],
template=templates["commitlog"].replace(
"{tags}", "XXXXX").replace(
"{date|shortdate}", "{tags}").replace(