[PATCH 1 of 1 stable] hgweb: add separate bookmarks listing to monoblue theme (based on 38c9837b1f75)

Yuya Nishihara yuya at tcha.org
Thu Mar 31 13:05:50 CDT 2011


Matt Mackall wrote:
> On Fri, 2011-04-01 at 02:38 +0900, Yuya Nishihara wrote:
> > # HG changeset patch
> > # User Yuya Nishihara <yuya at tcha.org>
> > # Date 1301592008 -32400
> > # Branch stable
> > # Node ID 7c0da2c42cfcea1a63e4e8b573745fc2247fcf99
> > # Parent  5c18a0bca26f097255228829c9a6fc70700a9ca7
> > hgweb: add separate bookmarks listing to monoblue theme (based on 38c9837b1f75)
> 
> Curious why this needs a code change? That suggests it probably
> shouldn't be on stable.

Because monoblue (and gitweb) theme have summary page, but paper isn't.
And the commit message isn't accurate. Actually this patch inclues:

 - add separate 'bookmarks' page
 - add bookmarks listing to 'summary' page

Maybe I should make them separated.
I'll work on it after 1.8.2 release.

> > diff --git a/mercurial/hgweb/webcommands.py b/mercurial/hgweb/webcommands.py
> > --- a/mercurial/hgweb/webcommands.py
> > +++ b/mercurial/hgweb/webcommands.py
> > @@ -464,6 +464,18 @@ def summary(web, req, tmpl):
> >                         node=hex(n),
> >                         date=web.repo[n].date())
> >  
> > +    def bookmarks(**map):
> > +        parity = paritygen(web.stripecount)
> > +        i = reversed(web.repo._bookmarks.items())
> > +        for c, (k, n) in enumerate(i):
> > +            if c >= 10: # limit to 10 bookmarks
> > +                break
> > +
> > +            yield {'parity': parity.next(),
> > +                   'bookmark': k,
> > +                   'date': web.repo[n].date(),
> > +                   'node': hex(n)}
> > +
> >      def branches(**map):
> >          parity = paritygen(web.stripecount)
> >  
> > @@ -508,6 +520,7 @@ def summary(web, req, tmpl):
> >                  owner=get_contact(web.config) or "unknown",
> >                  lastchange=tip.date(),
> >                  tags=tagentries,
> > +                bookmarks=bookmarks,
> >                  branches=branches,
> >                  shortlog=changelist,
> >                  node=tip.hex(),
> > diff --git a/mercurial/templates/monoblue/bookmarks.tmpl b/mercurial/templates/monoblue/bookmarks.tmpl
> > new file mode 100644
> > --- /dev/null
> > +++ b/mercurial/templates/monoblue/bookmarks.tmpl
> > @@ -0,0 +1,38 @@
> > +{header}
> > +    <title>{repo|escape}: Bookmarks</title>
> > +    <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
> > +    <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
> > +</head>
> > +
> > +<body>
> > +<div id="container">
> > +    <div class="page-header">
> > +        <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / Bookmarks</h1>
> > +
> > +        <form action="{url}log">
> > +            {sessionvars%hiddenformentry}
> > +            <dl class="search">
> > +                <dt><label>Search: </label></dt>
> > +                <dd><input type="text" name="rev" /></dd>
> > +            </dl>
> > +        </form>
> > +
> > +        <ul class="page-nav">
> > +            <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
> > +            <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
> > +            <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
> > +            <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> > +            <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li class="current">bookmarks</li>
> > +            <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> > +            <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
> > +	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > +        </ul>
> > +    </div>
> > +
> > +    <h2 class="no-link no-border">bookmarks</h2>
> > +    <table cellspacing="0">
> > +{entries%bookmarkentry}
> > +    </table>
> > +
> > +{footer}
> > diff --git a/mercurial/templates/monoblue/branches.tmpl b/mercurial/templates/monoblue/branches.tmpl
> > --- a/mercurial/templates/monoblue/branches.tmpl
> > +++ b/mercurial/templates/monoblue/branches.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li class="current">branches</li>
> >              <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
> >  	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > diff --git a/mercurial/templates/monoblue/changelog.tmpl b/mercurial/templates/monoblue/changelog.tmpl
> > --- a/mercurial/templates/monoblue/changelog.tmpl
> > +++ b/mercurial/templates/monoblue/changelog.tmpl
> > @@ -23,6 +23,7 @@
> >              <li class="current">changelog</li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}</li>
> >  	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > diff --git a/mercurial/templates/monoblue/changeset.tmpl b/mercurial/templates/monoblue/changeset.tmpl
> > --- a/mercurial/templates/monoblue/changeset.tmpl
> > +++ b/mercurial/templates/monoblue/changeset.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
> >              <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > diff --git a/mercurial/templates/monoblue/error.tmpl b/mercurial/templates/monoblue/error.tmpl
> > --- a/mercurial/templates/monoblue/error.tmpl
> > +++ b/mercurial/templates/monoblue/error.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
> >              <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > diff --git a/mercurial/templates/monoblue/fileannotate.tmpl b/mercurial/templates/monoblue/fileannotate.tmpl
> > --- a/mercurial/templates/monoblue/fileannotate.tmpl
> > +++ b/mercurial/templates/monoblue/fileannotate.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
> >              <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > diff --git a/mercurial/templates/monoblue/filediff.tmpl b/mercurial/templates/monoblue/filediff.tmpl
> > --- a/mercurial/templates/monoblue/filediff.tmpl
> > +++ b/mercurial/templates/monoblue/filediff.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
> >              <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > diff --git a/mercurial/templates/monoblue/filelog.tmpl b/mercurial/templates/monoblue/filelog.tmpl
> > --- a/mercurial/templates/monoblue/filelog.tmpl
> > +++ b/mercurial/templates/monoblue/filelog.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
> >              <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > diff --git a/mercurial/templates/monoblue/filerevision.tmpl b/mercurial/templates/monoblue/filerevision.tmpl
> > --- a/mercurial/templates/monoblue/filerevision.tmpl
> > +++ b/mercurial/templates/monoblue/filerevision.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
> >              <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > diff --git a/mercurial/templates/monoblue/graph.tmpl b/mercurial/templates/monoblue/graph.tmpl
> > --- a/mercurial/templates/monoblue/graph.tmpl
> > +++ b/mercurial/templates/monoblue/graph.tmpl
> > @@ -24,6 +24,7 @@
> >              <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
> >              <li class="current">graph</li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
> >  	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > diff --git a/mercurial/templates/monoblue/help.tmpl b/mercurial/templates/monoblue/help.tmpl
> > --- a/mercurial/templates/monoblue/help.tmpl
> > +++ b/mercurial/templates/monoblue/help.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
> >  	    <li class="current">help</li>
> > diff --git a/mercurial/templates/monoblue/helptopics.tmpl b/mercurial/templates/monoblue/helptopics.tmpl
> > --- a/mercurial/templates/monoblue/helptopics.tmpl
> > +++ b/mercurial/templates/monoblue/helptopics.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}help{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
> >  	    <li class="current">help</li>
> > diff --git a/mercurial/templates/monoblue/manifest.tmpl b/mercurial/templates/monoblue/manifest.tmpl
> > --- a/mercurial/templates/monoblue/manifest.tmpl
> > +++ b/mercurial/templates/monoblue/manifest.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li class="current">files</li>
> >  	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > diff --git a/mercurial/templates/monoblue/map b/mercurial/templates/monoblue/map
> > --- a/mercurial/templates/monoblue/map
> > +++ b/mercurial/templates/monoblue/map
> > @@ -147,6 +147,17 @@ tagentry = '
> >        <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
> >      </td>
> >    </tr>'
> > +bookmarks = bookmarks.tmpl
> > +bookmarkentry = '
> > +  <tr class="parity{parity}">
> > +    <td class="nowrap">{date|age}</td>
> > +    <td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{bookmark|escape}</a></td>
> > +    <td class="nowrap">
> > +      <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
> > +      <a href="{url}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
> > +      <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
> > +    </td>
> > +  </tr>'
> >  branches = branches.tmpl
> >  branchentry = '
> >    <tr class="parity{parity}">
> > diff --git a/mercurial/templates/monoblue/notfound.tmpl b/mercurial/templates/monoblue/notfound.tmpl
> > --- a/mercurial/templates/monoblue/notfound.tmpl
> > +++ b/mercurial/templates/monoblue/notfound.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}</li>
> >              <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > diff --git a/mercurial/templates/monoblue/search.tmpl b/mercurial/templates/monoblue/search.tmpl
> > --- a/mercurial/templates/monoblue/search.tmpl
> > +++ b/mercurial/templates/monoblue/search.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}
> >              <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > diff --git a/mercurial/templates/monoblue/shortlog.tmpl b/mercurial/templates/monoblue/shortlog.tmpl
> > --- a/mercurial/templates/monoblue/shortlog.tmpl
> > +++ b/mercurial/templates/monoblue/shortlog.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
> >  	    {archives%archiveentry}
> > diff --git a/mercurial/templates/monoblue/summary.tmpl b/mercurial/templates/monoblue/summary.tmpl
> > --- a/mercurial/templates/monoblue/summary.tmpl
> > +++ b/mercurial/templates/monoblue/summary.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
> >  	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
> > @@ -57,6 +58,14 @@
> >          </tr>
> >      </table>
> >  
> > +    <h2><a href="{url}bookmarks{sessionvars%urlparameter}">Bookmarks</a></h2>
> > +    <table>
> > +    {bookmarks%bookmarkentry}
> > +        <tr class="light">
> > +            <td colspan="3"><a class="list" href="{url}bookmarks{sessionvars%urlparameter}">...</a></td>
> > +        </tr>
> > +    </table>
> > +
> >      <h2 class="no-link">Branches</h2>
> >      <table>
> >      {branches%branchentry}
> > diff --git a/mercurial/templates/monoblue/tags.tmpl b/mercurial/templates/monoblue/tags.tmpl
> > --- a/mercurial/templates/monoblue/tags.tmpl
> > +++ b/mercurial/templates/monoblue/tags.tmpl
> > @@ -23,6 +23,7 @@
> >              <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
> >              <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
> >              <li class="current">tags</li>
> > +            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
> >              <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
> >              <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
> >  	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>

Regards,
Yuya


More information about the Mercurial-devel mailing list