--- a/mercurial/hgweb/hgweb_mod.py Wed Jul 26 12:22:04 2006 -0700
+++ b/mercurial/hgweb/hgweb_mod.py Thu Jul 27 02:37:04 2006 +0200
@@ -48,6 +48,7 @@
self.repo = hg.repository(self.repo.ui, self.repo.root)
self.maxchanges = int(self.repo.ui.config("web", "maxchanges", 10))
self.stripecount = int(self.repo.ui.config("web", "stripes", 1))
+ self.maxshortchanges = int(self.repo.ui.config("web", "maxshortchanges", 60))
self.maxfiles = int(self.repo.ui.config("web", "maxfiles", 10))
self.allowpull = self.repo.ui.configbool("web", "allowpull", True)
@@ -160,7 +161,7 @@
ignorewsamount=ignorewsamount,
ignoreblanklines=ignoreblanklines), f, tn)
- def changelog(self, pos):
+ def changelog(self, pos, shortlog=False):
def changenav(**map):
def seq(factor, maxchanges=None):
if maxchanges:
@@ -175,8 +176,9 @@
l = []
last = 0
- for f in seq(1, self.maxchanges):
- if f < self.maxchanges or f <= last:
+ maxchanges = shortlog and self.maxshortchanges or self.maxchanges
+ for f in seq(1, maxchanges):
+ if f < maxchanges or f <= last:
continue
if f > count:
break
@@ -221,14 +223,15 @@
for e in l:
yield e
+ maxchanges = shortlog and self.maxshortchanges or self.maxchanges
cl = self.repo.changelog
mf = cl.read(cl.tip())[0]
count = cl.count()
- start = max(0, pos - self.maxchanges + 1)
- end = min(count, start + self.maxchanges)
+ start = max(0, pos - maxchanges + 1)
+ end = min(count, start + maxchanges)
pos = end - 1
- yield self.t('changelog',
+ yield self.t(shortlog and 'shortlog' or 'changelog',
changenav=changenav,
manifest=hex(mf),
rev=pos, changesets=count, entries=changelist,
@@ -611,7 +614,8 @@
lastchange = (0, 0), # FIXME
manifest = hex(mf),
tags = tagentries,
- shortlog = changelist)
+ shortlog = changelist,
+ archives=self.archivelist("tip"))
def filediff(self, file, changeset):
cl = self.repo.changelog
@@ -691,6 +695,7 @@
def expand_form(form):
shortcuts = {
'cl': [('cmd', ['changelog']), ('rev', None)],
+ 'sl': [('cmd', ['shortlog']), ('rev', None)],
'cs': [('cmd', ['changeset']), ('node', None)],
'f': [('cmd', ['file']), ('filenode', None)],
'fl': [('cmd', ['filelog']), ('filenode', None)],
@@ -773,6 +778,18 @@
req.write(self.changelog(hi))
+ def do_shortlog(self, req):
+ hi = self.repo.changelog.count() - 1
+ if req.form.has_key('rev'):
+ hi = req.form['rev'][0]
+ try:
+ hi = self.repo.changelog.rev(self.repo.lookup(hi))
+ except hg.RepoError:
+ req.write(self.search(hi)) # XXX redirect to 404 page?
+ return
+
+ req.write(self.changelog(hi, shortlog = True))
+
def do_changeset(self, req):
req.write(self.changeset(req.form['node'][0]))
--- a/templates/changelog-gitweb.tmpl Wed Jul 26 12:22:04 2006 -0700
+++ b/templates/changelog-gitweb.tmpl Thu Jul 27 02:37:04 2006 +0200
@@ -20,7 +20,7 @@
</div>
<div class="page_nav">
-<a href="?cmd=summary;style=gitweb">summary</a> | changelog | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a><br/>
+<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=shortlog;rev=#rev#;style=gitweb">shortlog</a> | changelog | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a>#archives%archiveentry#<br/>
<br/>
#changenav%naventry#<br/>
</div>
--- a/templates/changeset-gitweb.tmpl Wed Jul 26 12:22:04 2006 -0700
+++ b/templates/changeset-gitweb.tmpl Thu Jul 27 02:37:04 2006 +0200
@@ -10,7 +10,7 @@
</div>
<div class="page_nav">
-<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=changelog;rev=#rev#;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a> | changeset | <a href="?cmd=changeset;node=#node#;style=raw">raw</a> #archives%archiveentry#<br/>
+<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=shortlog;rev=#rev#;style=gitweb">shortlog</a> | <a href="?cmd=changelog;rev=#rev#;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a> | changeset | <a href="?cmd=changeset;node=#node#;style=raw">raw</a> #archives%archiveentry#<br/>
</div>
<div>
--- a/templates/error-gitweb.tmpl Wed Jul 26 12:22:04 2006 -0700
+++ b/templates/error-gitweb.tmpl Thu Jul 27 02:37:04 2006 +0200
@@ -10,7 +10,7 @@
</div>
<div class="page_nav">
-<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a><br/>
+<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=shortlog;style=gitweb">shortlog</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a><br/>
</div>
<div>
--- a/templates/fileannotate-gitweb.tmpl Wed Jul 26 12:22:04 2006 -0700
+++ b/templates/fileannotate-gitweb.tmpl Thu Jul 27 02:37:04 2006 +0200
@@ -10,7 +10,7 @@
</div>
<div class="page_nav">
-<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=#path|urlescape#;style=gitweb">manifest</a> | <a href="?cmd=changeset;node=#node#;style=gitweb">changeset</a> | <a href="?cmd=file;file=#file|urlescape#;filenode=#filenode#;style=gitweb">file</a> | <a href="?cmd=filelog;file=#file|urlescape#;filenode=#filenode#;style=gitweb">revisions</a> | annotate | <a href="?cmd=annotate;file=#file|urlescape#;filenode=#filenode#;style=raw">raw</a><br/>
+<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=shortlog;style=gitweb">shortlog</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=#path|urlescape#;style=gitweb">manifest</a> | <a href="?cmd=changeset;node=#node#;style=gitweb">changeset</a> | <a href="?cmd=file;file=#file|urlescape#;filenode=#filenode#;style=gitweb">file</a> | <a href="?cmd=filelog;file=#file|urlescape#;filenode=#filenode#;style=gitweb">revisions</a> | annotate | <a href="?cmd=annotate;file=#file|urlescape#;filenode=#filenode#;style=raw">raw</a><br/>
</div>
<div class="title">#file|escape#</div>
--- a/templates/filelog-gitweb.tmpl Wed Jul 26 12:22:04 2006 -0700
+++ b/templates/filelog-gitweb.tmpl Thu Jul 27 02:37:04 2006 +0200
@@ -10,7 +10,7 @@
</div>
<div class="page_nav">
-<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=file;file=#file|urlescape#;filenode=#filenode#;style=gitweb">file</a> | revisions | <a href="?cmd=annotate;file=#file|urlescape#;filenode=#filenode#;style=gitweb">annotate</a> | <a href="?fl=#filenode|short#;file=#file|urlescape#;style=rss">rss</a><br/>
+<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=shortlog;style=gitweb">shortlog</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=file;file=#file|urlescape#;filenode=#filenode#;style=gitweb">file</a> | revisions | <a href="?cmd=annotate;file=#file|urlescape#;filenode=#filenode#;style=gitweb">annotate</a> | <a href="?fl=#filenode|short#;file=#file|urlescape#;style=rss">rss</a><br/>
</div>
<div class="title" >#file|urlescape#</div>
--- a/templates/filerevision-gitweb.tmpl Wed Jul 26 12:22:04 2006 -0700
+++ b/templates/filerevision-gitweb.tmpl Thu Jul 27 02:37:04 2006 +0200
@@ -10,7 +10,7 @@
</div>
<div class="page_nav">
-<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?mf=#manifest|short#;path=#path|urlescape#;style=gitweb">manifest</a> | <a href="?cmd=changeset;node=#node#;style=gitweb">changeset</a> | file | <a href="?cmd=filelog;file=#file|urlescape#;filenode=#filenode#;style=gitweb">revisions</a> | <a href="?cmd=annotate;file=#file|urlescape#;filenode=#filenode#;style=gitweb">annotate</a> | <a href="?cmd=file;file=#file|urlescape#;filenode=#filenode#;style=raw">raw</a><br/>
+<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=shortlog;style=gitweb">shortlog</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?mf=#manifest|short#;path=#path|urlescape#;style=gitweb">manifest</a> | <a href="?cmd=changeset;node=#node#;style=gitweb">changeset</a> | file | <a href="?cmd=filelog;file=#file|urlescape#;filenode=#filenode#;style=gitweb">revisions</a> | <a href="?cmd=annotate;file=#file|urlescape#;filenode=#filenode#;style=gitweb">annotate</a> | <a href="?cmd=file;file=#file|urlescape#;filenode=#filenode#;style=raw">raw</a><br/>
</div>
<div class="title">#file|escape#</div>
--- a/templates/manifest-gitweb.tmpl Wed Jul 26 12:22:04 2006 -0700
+++ b/templates/manifest-gitweb.tmpl Thu Jul 27 02:37:04 2006 +0200
@@ -10,7 +10,7 @@
</div>
<div class="page_nav">
-<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | manifest | <a href="?cs=#node|short#;style=gitweb">changeset</a> #archives%archiveentry#<br/>
+<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=shortlog;style=gitweb">shortlog</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | manifest | <a href="?cs=#node|short#;style=gitweb">changeset</a> #archives%archiveentry#<br/>
</div>
<div class="title" >#path|escape#</div>
--- a/templates/search-gitweb.tmpl Wed Jul 26 12:22:04 2006 -0700
+++ b/templates/search-gitweb.tmpl Thu Jul 27 02:37:04 2006 +0200
@@ -1,6 +1,6 @@
#header#
<div class="page_nav">
-<a href="?cmd=summary;style=gitweb">summary</a> | log | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a><br/>
+<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=shortlog;style=gitweb">shortlog</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a><br/>
</div>
<h2>searching for #query|escape#</h2>
--- a/templates/shortlog-gitweb.tmpl Wed Jul 26 12:22:04 2006 -0700
+++ b/templates/shortlog-gitweb.tmpl Thu Jul 27 02:37:04 2006 +0200
@@ -1,13 +1,32 @@
#header#
+<title>#repo|escape#: Shortlog</title>
+<link rel="alternate" type="application/rss+xml"
+ href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+</head>
+<body>
+<div class="page_header">
+<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="?cmd=summary;style=gitweb">#repo|escape#</a> / shortlog
+</div>
+
+<form action="#">
+<div class="search">
+<input type="hidden" name="repo" value="#repo|escape#" />
+<input type="hidden" name="style" value="gitweb" />
+<input type="hidden" name="cmd" value="changelog" />
+<input type="text" name="rev" />
+</div>
+</form>
+</div>
<div class="page_nav">
-<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=changelog;style=gitweb">log</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a><br/>
+<a href="?cmd=summary;style=gitweb">summary</a> | shortlog | <a href="?cmd=changelog;rev=#rev#;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a>#archives%archiveentry#<br/>
+<br/>
-#changenav%naventry#<br/>
+#changenav%navshortentry#<br/>
</div>
<table cellspacing="0">
-#entries#
+#entries%shortlogentry#
</table>
#footer#
--- a/templates/summary-gitweb.tmpl Wed Jul 26 12:22:04 2006 -0700
+++ b/templates/summary-gitweb.tmpl Thu Jul 27 02:37:04 2006 +0200
@@ -9,7 +9,8 @@
<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="?cmd=summary;style=gitweb">#repo|escape#</a> / summary
</div>
<div class="page_nav">
-summary | <a href="?cmd=changelog;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a><br/>
+summary | <a href="?cmd=shortlog;style=gitweb">shortlog</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a>#archives%archiveentry#
+<br/>
</div>
<div class="title"> </div>
--- a/templates/tags-gitweb.tmpl Wed Jul 26 12:22:04 2006 -0700
+++ b/templates/tags-gitweb.tmpl Thu Jul 27 02:37:04 2006 +0200
@@ -10,7 +10,7 @@
</div>
<div class="page_nav">
-<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | tags | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a>
+<a href="?cmd=summary;style=gitweb">summary</a> | <a href="?cmd=shortlog;style=gitweb">shortlog</a> | <a href="?cmd=changelog;style=gitweb">changelog</a> | tags | <a href="?cmd=manifest;manifest=#manifest#;path=/;style=gitweb">manifest</a>
<br/>
</div>