(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(