Thu, 31 Mar 2016 15:37:21 +0800 hgweb: generate last change date for an empty atom-bookmarks feed (issue5022)
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 Mar 2016 15:37:21 +0800] rev 28712
hgweb: generate last change date for an empty atom-bookmarks feed (issue5022) RFC 4287 states that atom feeds must have an <updated> element, so let's add one even when repo doesn't have a single bookmark.
Thu, 31 Mar 2016 15:22:06 +0800 hgweb: sort bookmarks in revlog order of their nodes
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 Mar 2016 15:22:06 +0800] rev 28711
hgweb: sort bookmarks in revlog order of their nodes Changes, branches and tags are already in revlog order on /summary, /branches and /tags, let's now make bookmarks be sorted by the same principle. It's more helpful to show more "recent" bookmarks on top. This will affect /bookmarks page in all styles, including atom, rss and raw, and also /summary page. Bookmarks are sorted using a (revision number, bookmark name) tuple.
Thu, 31 Mar 2016 14:23:27 +0800 hgweb: sort bookmarks early
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 Mar 2016 14:23:27 +0800] rev 28710
hgweb: sort bookmarks early Let's do the same thing that /tags page does. It gets sorted tags and then if it needs the latest only, it just slices the first item from the list. Since it's a slice and not a min(), it doesn't throw an exception if the list is empty. This fixes HTTP 500 error from issue5022.
Thu, 31 Mar 2016 18:09:09 +0800 hgweb: add parents to json-log (issue5074)
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 Mar 2016 18:09:09 +0800] rev 28709
hgweb: add parents to json-log (issue5074) Entries prepared in webutil.changelistentry() skip showing parents in the trivial case when there's only one parent and it's the previous revision. This doesn't work well for the json-log template, which is supposed to just dump raw data in an easy-to-parse format, so let's provide all parents as another keyword: allparents. Using a lambda function here means that the performance of templates that don't use allparents won't be affected (see 41957e50e109).
Mon, 29 Feb 2016 17:46:06 +0900 revset: make _parsealiasdecl() simply return the original parsed tree
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 17:46:06 +0900] rev 28708
revset: make _parsealiasdecl() simply return the original parsed tree It wasn't necessary to reconstruct the same tuple.
Mon, 29 Feb 2016 16:35:58 +0900 revset: inline isvalidfunc(), getfuncname() and getfuncargs()
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 16:35:58 +0900] rev 28707
revset: inline isvalidfunc(), getfuncname() and getfuncargs() See the previous commit for why. These functions are also trivial.
Mon, 29 Feb 2016 16:32:18 +0900 revset: inline isvalidsymbol() and getsymbol() into _parsealiasdecl()
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 16:32:18 +0900] rev 28706
revset: inline isvalidsymbol() and getsymbol() into _parsealiasdecl() Since I'm going to extract a common alias parser, I want to eliminate dependencies to the revset parsing rules. These functions are trivial, so we can go without them.
Mon, 29 Feb 2016 16:23:09 +0900 revset: remove redundant checks for parsed tree of alias
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 16:23:09 +0900] rev 28705
revset: remove redundant checks for parsed tree of alias If tree is a tuple, it must have at least one element. Also the length of node tuple is guaranteed by the syntax elements. (e.g. 'func' must have 3 items.) This change will help inlining these trivial functions in future patches.
(0) -10000 -3000 -1000 -300 -100 -30 -10 -8 +8 +10 +30 +100 +300 +1000 +3000 +10000 tip