# HG changeset patch # User Benoit Boissinot # Date 1153960624 -7200 # Node ID 2edfd6644a9f17cadf673504f01bb4ea4aaddafb # Parent 4e2dc5c16e61b5ba1178b3f27fc77df4c5db37ae# Parent 783220e5d2d1c488e2ef68ec4cafa798f2562964 merge gitweb with crew diff -r 4e2dc5c16e61 -r 2edfd6644a9f mercurial/hgweb/hgweb_mod.py --- 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])) diff -r 4e2dc5c16e61 -r 2edfd6644a9f templates/changelog-gitweb.tmpl --- 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 @@ diff -r 4e2dc5c16e61 -r 2edfd6644a9f templates/changeset-gitweb.tmpl --- 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 @@
diff -r 4e2dc5c16e61 -r 2edfd6644a9f templates/error-gitweb.tmpl --- 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 @@
diff -r 4e2dc5c16e61 -r 2edfd6644a9f templates/fileannotate-gitweb.tmpl --- 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 @@
#file|escape#
diff -r 4e2dc5c16e61 -r 2edfd6644a9f templates/filelog-gitweb.tmpl --- 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 @@
#file|urlescape#
diff -r 4e2dc5c16e61 -r 2edfd6644a9f templates/filerevision-gitweb.tmpl --- 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 @@
#file|escape#
diff -r 4e2dc5c16e61 -r 2edfd6644a9f templates/manifest-gitweb.tmpl --- 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 @@
#path|escape#
diff -r 4e2dc5c16e61 -r 2edfd6644a9f templates/search-gitweb.tmpl --- 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#

searching for #query|escape#

diff -r 4e2dc5c16e61 -r 2edfd6644a9f templates/shortlog-gitweb.tmpl --- 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# +#repo|escape#: Shortlog + + + + + +
+ +
+ -#entries# +#entries%shortlogentry#
#footer# diff -r 4e2dc5c16e61 -r 2edfd6644a9f templates/summary-gitweb.tmpl --- 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 @@
Mercurial
#repo|escape# / summary
 
diff -r 4e2dc5c16e61 -r 2edfd6644a9f templates/tags-gitweb.tmpl --- 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 @@