--- a/doc/Makefile Fri Oct 06 16:55:11 2006 -0500
+++ b/doc/Makefile Fri Oct 06 17:14:18 2006 -0500
@@ -28,7 +28,7 @@
install: man
for i in $(MAN) ; do \
- subdir=`echo $$i | sed -n 's/.\+\.\([0-9]\)$$/man\1/p'` ; \
+ subdir=`echo $$i | sed -n 's/..*\.\([0-9]\)$$/man\1/p'` ; \
mkdir -p $(MANDIR)/$$subdir ; \
$(INSTALL) $$i $(MANDIR)/$$subdir ; \
done
--- a/doc/hg.1.txt Fri Oct 06 16:55:11 2006 -0500
+++ b/doc/hg.1.txt Fri Oct 06 17:14:18 2006 -0500
@@ -127,6 +127,42 @@
A range acts as a closed interval. This means that a range of 3:5
gives 3, 4 and 5. Similarly, a range of 4:2 gives 4, 3, and 2.
+DATE FORMATS
+------------
+
+ Some commands (backout, commit, tag) allow the user to specify a date.
+ Possible formats for dates are:
+
+YYYY-mm-dd \HH:MM[:SS] [(+|-)NNNN]::
+ This is a subset of ISO 8601, allowing just the recommended notations
+ for date and time. The last part represents the timezone; if omitted,
+ local time is assumed. Examples:
+
+ "2005-08-22 03:27 -0700"
+
+ "2006-04-19 21:39:51"
+
+aaa bbb dd HH:MM:SS YYYY [(+|-)NNNN]::
+ This is the date format used by the C library. Here, aaa stands for
+ abbreviated weekday name and bbb for abbreviated month name. The last
+ part represents the timezone; if omitted, local time is assumed.
+ Examples:
+
+ "Mon Aug 22 03:27:00 2005 -0700"
+
+ "Wed Apr 19 21:39:51 2006"
+
+unixtime offset::
+ This is the internal representation format for dates. unixtime is
+ the number of seconds since the epoch (1970-01-01 00:00 UTC). offset
+ is the offset of the local timezone, in seconds west of UTC (negative
+ if the timezone is east of UTC).
+ Examples:
+
+ "1124706420 25200" (2005-08-22 03:27:00 -0700)
+
+ "1145475591 -7200" (2006-04-19 21:39:51 +0200)
+
ENVIRONMENT VARIABLES
---------------------
--- a/hgext/patchbomb.py Fri Oct 06 16:55:11 2006 -0500
+++ b/hgext/patchbomb.py Fri Oct 06 17:14:18 2006 -0500
@@ -65,7 +65,7 @@
from mercurial.demandload import *
demandload(globals(), '''email.MIMEMultipart email.MIMEText email.Utils
- mercurial:commands,hg,mail,ui,patch
+ mercurial:cmdutil,commands,hg,mail,ui,patch
os errno popen2 socket sys tempfile time''')
from mercurial.i18n import gettext as _
from mercurial.node import *
@@ -146,10 +146,10 @@
if patchname:
patchname = patchname[0]
elif total > 1:
- patchname = commands.make_filename(repo, '%b-%n.patch',
+ patchname = cmdutil.make_filename(repo, '%b-%n.patch',
binnode, idx, total)
else:
- patchname = commands.make_filename(repo, '%b.patch', binnode)
+ patchname = cmdutil.make_filename(repo, '%b.patch', binnode)
p['Content-Disposition'] = 'inline; filename=' + patchname
msg.attach(p)
else:
--- a/mercurial/commands.py Fri Oct 06 16:55:11 2006 -0500
+++ b/mercurial/commands.py Fri Oct 06 17:14:18 2006 -0500
@@ -1134,7 +1134,7 @@
error = _(".hg/dirstate inconsistent with current parent's manifest")
raise util.Abort(error)
-def debugconfig(ui, repo, *values):
+def showconfig(ui, repo, *values):
"""show combined config settings from all hgrc files
With no args, print names and values of all config items.
@@ -2834,7 +2834,6 @@
[('r', 'rev', '', _('revision to rebuild to'))],
_('debugrebuildstate [-r REV] [REV]')),
"debugcheckstate": (debugcheckstate, [], _('debugcheckstate')),
- "debugconfig": (debugconfig, [], _('debugconfig [NAME]...')),
"debugsetparents": (debugsetparents, [], _('debugsetparents REV1 [REV2]')),
"debugstate": (debugstate, [], _('debugstate')),
"debugdata": (debugdata, [], _('debugdata FILE REV')),
@@ -3017,6 +3016,7 @@
_('hg revert [-r REV] [NAME]...')),
"rollback": (rollback, [], _('hg rollback')),
"root": (root, [], _('hg root')),
+ "showconfig|debugconfig": (showconfig, [], _('showconfig [NAME]...')),
"^serve":
(serve,
[('A', 'accesslog', '', _('name of access log file to write to')),
@@ -3086,7 +3086,7 @@
norepo = ("clone init version help debugancestor debugcomplete debugdata"
" debugindex debugindexdot")
-optionalrepo = ("paths serve debugconfig")
+optionalrepo = ("paths serve showconfig")
def findpossible(ui, cmd):
"""
@@ -3283,6 +3283,8 @@
path = u.expandpath(options["repository"]) or ""
repo = path and hg.repository(u, path=path) or None
+ if repo and not repo.local():
+ raise util.Abort(_("repository '%s' is not local") % path)
if options['help']:
return help_(u, cmd, options['version'])
--- a/mercurial/hgweb/common.py Fri Oct 06 16:55:11 2006 -0500
+++ b/mercurial/hgweb/common.py Fri Oct 06 17:14:18 2006 -0500
@@ -42,3 +42,20 @@
except (TypeError, OSError):
# illegal fname or unreadable file
return ""
+
+def style_map(templatepath, style):
+ """Return path to mapfile for a given style.
+
+ Searches mapfile in the following locations:
+ 1. templatepath/style/map
+ 2. templatepath/map-style
+ 3. templatepath/map
+ """
+ locations = style and [os.path.join(style, "map"), "map-"+style] or []
+ locations.append("map")
+ for location in locations:
+ mapfile = os.path.join(templatepath, location)
+ if os.path.isfile(mapfile):
+ return mapfile
+ raise RuntimeError("No hgweb templates found in %r" % templatepath)
+
--- a/mercurial/hgweb/hgweb_mod.py Fri Oct 06 16:55:11 2006 -0500
+++ b/mercurial/hgweb/hgweb_mod.py Fri Oct 06 17:14:18 2006 -0500
@@ -11,9 +11,10 @@
import mimetypes
from mercurial.demandload import demandload
demandload(globals(), "re zlib ConfigParser mimetools cStringIO sys tempfile")
+demandload(globals(), 'urllib')
demandload(globals(), "mercurial:mdiff,ui,hg,util,archival,streamclone,patch")
demandload(globals(), "mercurial:templater")
-demandload(globals(), "mercurial.hgweb.common:get_mtime,staticfile")
+demandload(globals(), "mercurial.hgweb.common:get_mtime,staticfile,style_map")
from mercurial.node import *
from mercurial.i18n import gettext as _
@@ -54,9 +55,9 @@
def archivelist(self, nodeid):
allowed = self.repo.ui.configlist("web", "allow_archive")
- for i in self.archives:
+ for i, spec in self.archive_specs.iteritems():
if i in allowed or self.repo.ui.configbool("web", "allow" + i):
- yield {"type" : i, "node" : nodeid, "url": ""}
+ yield {"type" : i, "extension" : spec[2], "node" : nodeid}
def listfiles(self, files, mf):
for f in files[:self.maxfiles]:
@@ -645,36 +646,129 @@
form[name] = value
del form[k]
+ def rewrite_request(req):
+ '''translate new web interface to traditional format'''
+
+ def spliturl(req):
+ def firstitem(query):
+ return query.split('&', 1)[0].split(';', 1)[0]
+
+ root = req.env.get('REQUEST_URI', '').split('?', 1)[0]
+ pi = req.env.get('PATH_INFO', '')
+ if pi:
+ root = root[:-len(pi)]
+
+ if req.env.has_key('REPO_NAME'):
+ base = '/' + req.env['REPO_NAME']
+ else:
+ base = root
+
+ if pi:
+ while pi.startswith('//'):
+ pi = pi[1:]
+ if pi.startswith(base):
+ if len(pi) > len(base):
+ base += '/'
+ query = pi[len(base):]
+ else:
+ if req.env.has_key('REPO_NAME'):
+ # We are using hgwebdir
+ base += '/'
+ else:
+ base += '?'
+ query = firstitem(req.env['QUERY_STRING'])
+ else:
+ base += '/'
+ query = pi[1:]
+ else:
+ base += '?'
+ query = firstitem(req.env['QUERY_STRING'])
+
+ return (root + base, query)
+
+ req.url, query = spliturl(req)
+
+ if req.form.has_key('cmd'):
+ # old style
+ return
+
+ args = query.split('/', 2)
+ if not args or not args[0]:
+ return
+
+ cmd = args.pop(0)
+ style = cmd.rfind('-')
+ if style != -1:
+ req.form['style'] = [cmd[:style]]
+ cmd = cmd[style+1:]
+ # avoid accepting e.g. style parameter as command
+ if hasattr(self, 'do_' + cmd):
+ req.form['cmd'] = [cmd]
+
+ if args and args[0]:
+ node = args.pop(0)
+ req.form['node'] = [node]
+ if args:
+ req.form['file'] = args
+
+ if cmd == 'static':
+ req.form['file'] = req.form['node']
+ elif cmd == 'archive':
+ fn = req.form['node'][0]
+ for type_, spec in self.archive_specs.iteritems():
+ ext = spec[2]
+ if fn.endswith(ext):
+ req.form['node'] = [fn[:-len(ext)]]
+ req.form['type'] = [type_]
+
+ def queryprefix(**map):
+ return req.url[-1] == '?' and ';' or '?'
+
+ def getentries(**map):
+ fields = {}
+ if req.form.has_key('style'):
+ style = req.form['style'][0]
+ if style != self.repo.ui.config('web', 'style', ''):
+ fields['style'] = style
+
+ if fields:
+ fields = ['%s=%s' % (k, urllib.quote(v))
+ for k, v in fields.iteritems()]
+ yield '%s%s' % (queryprefix(), ';'.join(fields))
+ else:
+ yield ''
+
self.refresh()
expand_form(req.form)
+ rewrite_request(req)
- m = os.path.join(self.templatepath, "map")
style = self.repo.ui.config("web", "style", "")
if req.form.has_key('style'):
style = req.form['style'][0]
- if style:
- b = os.path.basename("map-" + style)
- p = os.path.join(self.templatepath, b)
- if os.path.isfile(p):
- m = p
+ mapfile = style_map(self.templatepath, style)
- port = req.env["SERVER_PORT"]
- port = port != "80" and (":" + port) or ""
- uri = req.env["REQUEST_URI"]
- if "?" in uri:
- uri = uri.split("?")[0]
- url = "http://%s%s%s" % (req.env["SERVER_NAME"], port, uri)
+ if not req.url:
+ port = req.env["SERVER_PORT"]
+ port = port != "80" and (":" + port) or ""
+ uri = req.env["REQUEST_URI"]
+ if "?" in uri:
+ uri = uri.split("?")[0]
+ req.url = "http://%s%s%s" % (req.env["SERVER_NAME"], port, uri)
+
if not self.reponame:
self.reponame = (self.repo.ui.config("web", "name")
- or uri.strip('/') or self.repo.root)
+ or req.env.get('REPO_NAME')
+ or req.url.strip('/') or self.repo.root)
- self.t = templater.templater(m, templater.common_filters,
- defaults={"url": url,
+ self.t = templater.templater(mapfile, templater.common_filters,
+ defaults={"url": req.url,
"repo": self.reponame,
"header": header,
"footer": footer,
"rawfileheader": rawfileheader,
+ "queryprefix": queryprefix,
+ "getentries": getentries
})
if not req.form.has_key('cmd'):
@@ -723,6 +817,30 @@
else:
return 0
+ def do_log(self, req):
+ if req.form.has_key('file') and req.form['file'][0]:
+ self.do_filelog(req)
+ else:
+ self.do_changelog(req)
+
+ def do_rev(self, req):
+ self.do_changeset(req)
+
+ def do_file(self, req):
+ path = req.form.get('file', [''])[0]
+ if path:
+ try:
+ req.write(self.filerevision(self.filectx(req)))
+ return
+ except hg.RepoError:
+ pass
+ path = self.cleanpath(path)
+
+ req.write(self.manifest(self.changectx(req), '/' + path))
+
+ def do_diff(self, req):
+ self.do_filediff(req)
+
def do_changelog(self, req, shortlog = False):
if req.form.has_key('node'):
ctx = self.changectx(req)
@@ -759,9 +877,6 @@
def do_filediff(self, req):
req.write(self.filediff(self.filectx(req)))
- def do_file(self, req):
- req.write(self.filerevision(self.filectx(req)))
-
def do_annotate(self, req):
req.write(self.fileannotate(self.filectx(req)))
--- a/mercurial/hgweb/hgwebdir_mod.py Fri Oct 06 16:55:11 2006 -0500
+++ b/mercurial/hgweb/hgwebdir_mod.py Fri Oct 06 17:14:18 2006 -0500
@@ -11,7 +11,7 @@
demandload(globals(), "ConfigParser mimetools cStringIO")
demandload(globals(), "mercurial:ui,hg,util,templater")
demandload(globals(), "mercurial.hgweb.hgweb_mod:hgweb")
-demandload(globals(), "mercurial.hgweb.common:get_mtime,staticfile")
+demandload(globals(), "mercurial.hgweb.common:get_mtime,staticfile,style_map")
from mercurial.i18n import gettext as _
# This is a stopgap
@@ -69,25 +69,20 @@
def footer(**map):
yield tmpl("footer", motd=self.motd, **map)
- m = os.path.join(templater.templatepath(), "map")
style = self.style
if req.form.has_key('style'):
style = req.form['style'][0]
- if style != "":
- b = os.path.basename("map-" + style)
- p = os.path.join(templater.templatepath(), b)
- if os.path.isfile(p):
- m = p
-
- tmpl = templater.templater(m, templater.common_filters,
+ mapfile = style_map(templater.templatepath(), style)
+ tmpl = templater.templater(mapfile, templater.common_filters,
defaults={"header": header,
"footer": footer})
def archivelist(ui, nodeid, url):
allowed = ui.configlist("web", "allow_archive")
- for i in ['zip', 'gz', 'bz2']:
- if i in allowed or ui.configbool("web", "allow" + i):
- yield {"type" : i, "node": nodeid, "url": url}
+ for i in [('zip', '.zip'), ('gz', '.tar.gz'), ('bz2', '.tar.bz2')]:
+ if i[0] in allowed or ui.configbool("web", "allow" + i[0]):
+ yield {"type" : i[0], "extension": i[1],
+ "node": nodeid, "url": url}
def entries(sortcolumn="", descending=False, **map):
rows = []
@@ -101,7 +96,7 @@
get = u.config
url = ('/'.join([req.env["REQUEST_URI"].split('?')[0], name])
- .replace("//", "/"))
+ .replace("//", "/")) + '/'
# update time with local timezone
try:
@@ -142,9 +137,22 @@
yield row
virtual = req.env.get("PATH_INFO", "").strip('/')
- if virtual:
- real = dict(self.repos).get(virtual)
+ if virtual.startswith('static/'):
+ static = os.path.join(templater.templatepath(), 'static')
+ fname = virtual[7:]
+ req.write(staticfile(static, fname, req) or
+ tmpl('error', error='%r not found' % fname))
+ elif virtual:
+ while virtual:
+ real = dict(self.repos).get(virtual)
+ if real:
+ break
+ up = virtual.rfind('/')
+ if up < 0:
+ break
+ virtual = virtual[:up]
if real:
+ req.env['REPO_NAME'] = virtual
try:
hgweb(real).run_wsgi(req)
except IOError, inst:
--- a/mercurial/hgweb/server.py Fri Oct 06 16:55:11 2006 -0500
+++ b/mercurial/hgweb/server.py Fri Oct 06 17:14:18 2006 -0500
@@ -71,7 +71,7 @@
env['REQUEST_METHOD'] = self.command
env['SERVER_NAME'] = self.server.server_name
env['SERVER_PORT'] = str(self.server.server_port)
- env['REQUEST_URI'] = "/"
+ env['REQUEST_URI'] = self.path
env['PATH_INFO'] = path_info
if query:
env['QUERY_STRING'] = query
--- a/mercurial/sshrepo.py Fri Oct 06 16:55:11 2006 -0500
+++ b/mercurial/sshrepo.py Fri Oct 06 17:14:18 2006 -0500
@@ -70,7 +70,7 @@
lines.append(l)
max_noise -= 1
else:
- raise hg.RepoError(_("no response from remote hg"))
+ raise hg.RepoError(_("no suitable response from remote hg"))
self.capabilities = ()
lines.reverse()
--- a/mercurial/util.py Fri Oct 06 16:55:11 2006 -0500
+++ b/mercurial/util.py Fri Oct 06 17:14:18 2006 -0500
@@ -15,7 +15,7 @@
from i18n import gettext as _
from demandload import *
demandload(globals(), "cStringIO errno getpass popen2 re shutil sys tempfile")
-demandload(globals(), "os threading time")
+demandload(globals(), "os threading time calendar")
# used by parsedate
defaultdateformats = ('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M',
@@ -903,14 +903,22 @@
(string[-5] == '+' or string[-5] == '-') and
string[-6].isspace())
+ # NOTE: unixtime = localunixtime + offset
if hastimezone(string):
date, tz = string[:-6], string[-5:]
tz = int(tz)
offset = - 3600 * (tz / 100) - 60 * (tz % 100)
else:
- date, offset = string, 0
- when = int(time.mktime(time.strptime(date, format))) + offset
- return when, offset
+ date, offset = string, None
+ timetuple = time.strptime(date, format)
+ localunixtime = int(calendar.timegm(timetuple))
+ if offset is None:
+ # local timezone
+ unixtime = int(time.mktime(timetuple))
+ offset = unixtime - localunixtime
+ else:
+ unixtime = localunixtime + offset
+ return unixtime, offset
def parsedate(string, formats=None):
"""parse a localized time string and return a (unixtime, offset) tuple.
@@ -929,7 +937,9 @@
else:
break
else:
- raise ValueError(_('invalid date: %r') % string)
+ raise ValueError(_('invalid date: %r '
+ 'see hg(1) manual page for details')
+ % string)
# validate explicit (probably user-specified) date and
# time zone offset. values must fit in signed 32 bits for
# current 32-bit linux runtimes. timezones go from UTC-12
--- a/templates/changelog.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/changelog.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,24 +1,23 @@
#header#
<title>#repo|escape#: changelog</title>
<link rel="alternate" type="application/rss+xml"
- href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+ href="#url#rss-log" title="RSS feed for #repo|escape#">
</head>
<body>
<div class="buttons">
-<a href="?sl=#rev#">shortlog</a>
-<a href="?cmd=tags">tags</a>
-<a href="?mf=#node|short#;path=/">manifest</a>
+<a href="#url#shortlog/#rev#{getentries}">shortlog</a>
+<a href="#url#tags{getentries}">tags</a>
+<a href="#url#file/#node|short#{getentries}">manifest</a>
#archives%archiveentry#
-<a type="application/rss+xml" href="?style=rss">rss</a>
+<a type="application/rss+xml" href="#url#rss-log">rss</a>
</div>
<h2>changelog for #repo|escape#</h2>
-<form action="#">
+<form action="#url#log">
<p>
<label for="search1">search:</label>
-<input type="hidden" name="cmd" value="changelog">
<input name="rev" id="search1" type="text" size="30">
navigate: <small class="navigate">#changenav%naventry#</small>
</p>
@@ -26,10 +25,9 @@
#entries%changelogentry#
-<form action="#">
+<form action="#url#log">
<p>
<label for="search2">search:</label>
-<input type="hidden" name="cmd" value="changelog">
<input name="rev" id="search2" type="text" size="30">
navigate: <small class="navigate">#changenav%naventry#</small>
</p>
--- a/templates/changelogentry.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/changelogentry.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -5,7 +5,7 @@
</tr>
<tr>
<th class="revision">changeset #rev#:</th>
- <td class="node"><a href="?cs=#node|short#">#node|short#</a></td>
+ <td class="node"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td>
</tr>
#parent%changelogparent#
#child%changelogchild#
@@ -19,7 +19,7 @@
<td class="date">#date|date#</td>
</tr>
<tr>
- <th class="files"><a href="?mf=#node|short#;path=/">files</a>:</th>
+ <th class="files"><a href="#url#file/#node|short#{getentries}">files</a>:</th>
<td class="files">#files#</td>
</tr>
</table>
--- a/templates/changeset.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/changeset.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -4,11 +4,11 @@
<body>
<div class="buttons">
-<a href="?cl=#rev#">changelog</a>
-<a href="?sl=#rev#">shortlog</a>
-<a href="?cmd=tags">tags</a>
-<a href="?mf=#node|short#;path=/">manifest</a>
-<a href="?cs=#node|short#;style=raw">raw</a>
+<a href="#url#log/#rev#{getentries}">changelog</a>
+<a href="#url#shortlog/#rev#{getentries}">shortlog</a>
+<a href="#url#tags{getentries}">tags</a>
+<a href="#url#file/#node|short#{getentries}">manifest</a>
+<a href="#url#raw-rev/#node|short#">raw</a>
#archives%archiveentry#
</div>
@@ -17,7 +17,7 @@
<table id="changesetEntry">
<tr>
<th class="changeset">changeset #rev#:</th>
- <td class="changeset"><a href="?cs=#node|short#">#node|short#</a></td>
+ <td class="changeset"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td>
</tr>
#parent%changesetparent#
#child%changesetchild#
--- a/templates/fileannotate.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/fileannotate.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -4,14 +4,14 @@
<body>
<div class="buttons">
-<a href="?cl=#rev#">changelog</a>
-<a href="?sl=#rev#">shortlog</a>
-<a href="?tags=">tags</a>
-<a href="?cs=#node|short#">changeset</a>
-<a href="?mf=#node|short#;path=#path|urlescape#">manifest</a>
-<a href="?f=#node|short#;file=#file|urlescape#">file</a>
-<a href="?fl=#node|short#;file=#file|urlescape#">revisions</a>
-<a href="?fa=#node|short#;file=#file|urlescape#;style=raw">raw</a>
+<a href="#url#log/#rev#{getentries}">changelog</a>
+<a href="#url#shortlog/#rev#{getentries}">shortlog</a>
+<a href="#url#tags{getentries}">tags</a>
+<a href="#url#rev/#node|short#{getentries}">changeset</a>
+<a href="#url#file/#node|short##path|urlescape#{getentries}">manifest</a>
+<a href="#url#file/#node|short#/#file|urlescape#{getentries}">file</a>
+<a href="#url#log/#node|short#/#file|urlescape#{getentries}">revisions</a>
+<a href="#url#raw-annotate/#node|short#/#file|urlescape#">raw</a>
</div>
<h2>Annotate #file|escape#</h2>
@@ -19,7 +19,7 @@
<table>
<tr>
<td class="metatag">changeset #rev#:</td>
- <td><a href="?cs=#node|short#">#node|short#</a></td></tr>
+ <td><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>
#rename%filerename#
#parent%fileannotateparent#
#child%fileannotatechild#
--- a/templates/filediff.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/filediff.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -4,14 +4,14 @@
<body>
<div class="buttons">
-<a href="?cl=#rev#">changelog</a>
-<a href="?sl=#rev#">shortlog</a>
-<a href="?tags=">tags</a>
-<a href="?cs=#node|short#">changeset</a>
-<a href="?f=#node|short#;file=#file|urlescape#">file</a>
-<a href="?fl=#node|short#;file=#file|urlescape#">revisions</a>
-<a href="?fa=#node|short#;file=#file|urlescape#">annotate</a>
-<a href="?fd=#node|short#;file=#file|urlescape#;style=raw">raw</a>
+<a href="#url#log/#rev#{getentries}">changelog</a>
+<a href="#url#shortlog/#rev#{getentries}">shortlog</a>
+<a href="#url#tags{getentries}">tags</a>
+<a href="#url#rev/#node|short#{getentries}">changeset</a>
+<a href="#url#file/#node|short#/#file|urlescape#{getentries}">file</a>
+<a href="#url#log/#node|short#/#file|urlescape#{getentries}">revisions</a>
+<a href="#url#annotate/#node|short#/#file|urlescape#{getentries}">annotate</a>
+<a href="#url#raw-diff/#node|short#/#file|urlescape#">raw</a>
</div>
<h2>#file|escape#</h2>
@@ -19,7 +19,7 @@
<table id="filediffEntry">
<tr>
<th class="revision">revision #rev#:</th>
- <td class="revision"><a href="?cs=#node|short#">#node|short#</a></td>
+ <td class="revision"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td>
</tr>
#parent%filediffparent#
#child%filediffchild#
--- a/templates/filelog.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/filelog.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,18 +1,18 @@
#header#
<title>#repo|escape#: #file|escape# history</title>
<link rel="alternate" type="application/rss+xml"
- href="?fl=0;file=#file|urlescape#;style=rss" title="RSS feed for #repo|escape#:#file#">
+ href="#url#rss-log/tip/#file|urlescape#" title="RSS feed for #repo|escape#:#file#">
</head>
</head>
<body>
<div class="buttons">
-<a href="?cl=tip">changelog</a>
-<a href="?sl=tip">shortlog</a>
-<a href="?tags=">tags</a>
-<a href="?f=#node|short#;file=#file|urlescape#">file</a>
-<a href="?fa=#node|short#;file=#file|urlescape#">annotate</a>
-<a type="application/rss+xml" href="?fl=0;file=#file|urlescape#;style=rss">rss</a>
+<a href="#url#log{getentries}">changelog</a>
+<a href="#url#shortlog{getentries}">shortlog</a>
+<a href="#url#tags{getentries}">tags</a>
+<a href="#url#file/#node|short#/#file|urlescape#{getentries}">file</a>
+<a href="#url#annotate/#node|short#/#file|urlescape#{getentries}">annotate</a>
+<a type="application/rss+xml" href="#url#rss-log/tip/#file|urlescape#">rss</a>
</div>
<h2>#file|escape# revision history</h2>
--- a/templates/filelogentry.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/filelogentry.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,14 +1,14 @@
<table class="logEntry parity#parity#">
<tr>
<th class="age">#date|age# ago:</th>
- <th class="firstline"><a href="?cs=#node|short#">#desc|strip|firstline|escape#</a></th>
+ <th class="firstline"><a href="#url#rev/#node|short#{getentries}">#desc|strip|firstline|escape#</a></th>
</tr>
<tr>
<th class="revision">revision #filerev#:</td>
<td class="node">
- <a href="?f=#node|short#;file=#file|urlescape#">#node|short#</a>
- <a href="?fd=#node|short#;file=#file|urlescape#">(diff)</a>
- <a href="?fa=#node|short#;file=#file|urlescape#">(annotate)</a>
+ <a href="#url#file/#node|short#/#file|urlescape#{getentries}">#node|short#</a>
+ <a href="#url#diff/#node|short#/#file|urlescape#{getentries}">(diff)</a>
+ <a href="#url#annotate/#node|short#/#file|urlescape#{getentries}">(annotate)</a>
</td>
</tr>
#rename%filelogrename#
--- a/templates/filerevision.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/filerevision.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -4,14 +4,14 @@
<body>
<div class="buttons">
-<a href="?cl=#rev#">changelog</a>
-<a href="?sl=#rev#">shortlog</a>
-<a href="?tags=">tags</a>
-<a href="?cs=#node|short#">changeset</a>
-<a href="?mf=#node|short#;path=#path|urlescape#">manifest</a>
-<a href="?fl=#node|short#;file=#file|urlescape#">revisions</a>
-<a href="?fa=#node|short#;file=#file|urlescape#">annotate</a>
-<a href="?f=#node|short#;file=#file|urlescape#;style=raw">raw</a>
+<a href="#url#log/#rev#{getentries}">changelog</a>
+<a href="#url#shortlog/#rev#{getentries}">shortlog</a>
+<a href="#url#tags{getentries}">tags</a>
+<a href="#url#rev/#node|short#{getentries}">changeset</a>
+<a href="#url#file/#node|short##path|urlescape#{getentries}">manifest</a>
+<a href="#url#log/#node|short#/#file|urlescape#{getentries}">revisions</a>
+<a href="#url#annotate/#node|short#/#file|urlescape#{getentries}">annotate</a>
+<a href="#url#raw-file/#node|short#/#file|urlescape#">raw</a>
</div>
<h2>#file|escape#</h2>
@@ -19,7 +19,7 @@
<table>
<tr>
<td class="metatag">changeset #rev#:</td>
- <td><a href="?cs=#node|short#">#node|short#</a></td></tr>
+ <td><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>
#rename%filerename#
#parent%filerevparent#
#child%filerevchild#
--- a/templates/gitweb/changelog.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/changelog.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,26 +1,24 @@
#header#
<title>#repo|escape#: Changelog</title>
<link rel="alternate" type="application/rss+xml"
- href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+ href="{url}rss-log" 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> / changelog
+<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="{url}summary{getentries}">#repo|escape#</a> / changelog
</div>
-<form action="#">
+<form action="{url}log">
<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=shortlog;rev=#rev#;style=gitweb">shortlog</a> | changelog | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?mf=#node|short#;path=/;style=gitweb">manifest</a>#archives%archiveentry#<br/>
+<a href="{url}summary{getentries}">summary</a> | <a href="{url}shortlog/#rev#{getentries}">shortlog</a> | changelog | <a href="{url}tags{getentries}">tags</a> | <a href="{url}file/#node|short#{getentries}">manifest</a>#archives%archiveentry#<br/>
<br/>
#changenav%naventry#<br/>
</div>
--- a/templates/gitweb/changelogentry.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/changelogentry.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,9 +1,9 @@
<div>
-<a class="title" href="?cmd=changeset;node=#node#;style=gitweb"><span class="age">#date|age# ago</span>#desc|strip|firstline|escape#</a>
+<a class="title" href="{url}rev/#node|short#{getentries}"><span class="age">#date|age# ago</span>#desc|strip|firstline|escape#</a>
</div>
<div class="title_text">
<div class="log_link">
-<a href="?cmd=changeset;node=#node#;style=gitweb">changeset</a><br/>
+<a href="{url}rev/#node|short#{getentries}">changeset</a><br/>
</div>
<i>#author|obfuscate# [#date|rfc822date#] rev #rev#</i><br/>
</div>
--- a/templates/gitweb/changeset.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/changeset.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,27 +1,27 @@
#header#
<title>#repo|escape#: Changeset</title>
<link rel="alternate" type="application/rss+xml"
- href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+ href="{url}rss-log" 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> / changeset
+<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="#url#summary{getentries}">#repo|escape#</a> / changeset
</div>
<div class="page_nav">
-<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="?mf=#node|short#;path=/;style=gitweb">manifest</a> | changeset | <a href="?cmd=changeset;node=#node#;style=raw">raw</a> #archives%archiveentry#<br/>
+<a href="{url}summary{getentries}">summary</a> | <a href="{url}shortlog/#rev#{getentries}">shortlog</a> | <a href="{url}log/#rev#{getentries}">changelog</a> | <a href="{url}tags{getentries}">tags</a> | <a href="{url}file/#node|short#{getentries}">manifest</a> | changeset | <a href="{url}raw-rev/#node|short#">raw</a> #archives%archiveentry#<br/>
</div>
<div>
-<a class="title" href="?cmd=changeset;node=#node#;style=raw">#desc|strip|escape|firstline#</a>
+<a class="title" href="{url}raw-rev/#node|short#">#desc|strip|escape|firstline#</a>
</div>
<div class="title_text">
<table cellspacing="0">
<tr><td>author</td><td>#author|obfuscate#</td></tr>
<tr><td></td><td>#date|date# (#date|age# ago)</td></tr>
<tr><td>changeset</td><td style="font-family:monospace">#node|short#</td></tr>
-<tr><td>manifest</td><td style="font-family:monospace"><a class="list" href="?mf=#node|short#;path=/;style=gitweb">#node|short#</a></td></tr>
+<tr><td>manifest</td><td style="font-family:monospace"><a class="list" href="{url}file/#node|short#{getentries}">#node|short#</a></td></tr>
#parent%changesetparent#
#child%changesetchild#
#changesettag#
--- a/templates/gitweb/error.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/error.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,16 +1,16 @@
#header#
<title>#repo|escape#: Error</title>
<link rel="alternate" type="application/rss+xml"
- href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+ href="{url}rss-log" 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> / error
+<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="{url}summary{getentries}">#repo|escape#</a> / error
</div>
<div class="page_nav">
-<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=#node|short#;path=/;style=gitweb">manifest</a><br/>
+<a href="{url}summary{getentries}">summary</a> | <a href="{url}shortlog{getentries}">shortlog</a> | <a href="{url}log{getentries}">changelog</a> | <a href="{url}tags{getentries}">tags</a> | <a href="{url}file/#node|short#{getentries}">manifest</a><br/>
</div>
<div>
--- a/templates/gitweb/fileannotate.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/fileannotate.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,16 +1,24 @@
#header#
<title>#repo|escape#: Annotate</title>
<link rel="alternate" type="application/rss+xml"
- href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+ href="{url}rss-log" 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> / annotate
+<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="{url}summary{getentries}">#repo|escape#</a> / annotate
</div>
<div class="page_nav">
-<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=#node|short#;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=#node|short#;style=gitweb">file</a> | <a href="?cmd=filelog;file=#file|urlescape#;filenode=#node|short#;style=gitweb">revisions</a> | annotate | <a href="?cmd=annotate;file=#file|urlescape#;filenode=#node|short#;style=raw">raw</a><br/>
+<a href="{url}summary{getentries}">summary</a> |
+<a href="{url}shortlog{getentries}">shortlog</a> |
+<a href="{url}log{getentries}">changelog</a> |
+<a href="{url}tags{getentries}">tags</a> |
+<a href="{url}file/#node|short##path|urlescape#{getentries}">manifest</a> |
+<a href="{url}rev/#node|short#{getentries}">changeset</a> |
+<a href="{url}file/{node|short}/#file|urlescape#{getentries}">file</a> |
+<a href="{url}log/{node|short}/#file|urlescape#{getentries}">revisions</a> |
+annotate | <a href="{url}raw-annotate/{node|short}/#file|urlescape#">raw</a><br/>
</div>
<div class="title">#file|escape#</div>
@@ -18,13 +26,13 @@
<table>
<tr>
<td class="metatag">changeset #rev#:</td>
- <td><a href="?cs=#node|short#;style=gitweb">#node|short#</a></td></tr>
+ <td><a href="{url}rev/#node|short#{getentries}">#node|short#</a></td></tr>
#rename%filerename#
#parent%fileannotateparent#
#child%fileannotatechild#
<tr>
<td class="metatag">manifest:</td>
- <td><a href="?mf=#node|short#;path=/;style=gitweb">#node|short#</a></td></tr>
+ <td><a href="{url}file/#node|short#{getentries}">#node|short#</a></td></tr>
<tr>
<td class="metatag">author:</td>
<td>#author|obfuscate#</td></tr>
--- a/templates/gitweb/filelog.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/filelog.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,16 +1,23 @@
#header#
<title>#repo|escape#: File revisions</title>
<link rel="alternate" type="application/rss+xml"
- href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+ href="{url}rss-log" 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> / file revisions
+<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="{url}summary{getentries}">#repo|escape#</a> / file revisions
</div>
<div class="page_nav">
-<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=#node|short#;style=gitweb">file</a> | revisions | <a href="?cmd=annotate;file=#file|urlescape#;filenode=#node|short#;style=gitweb">annotate</a> | <a href="?fl=#node|short#;file=#file|urlescape#;style=rss">rss</a><br/>
+<a href="{url}summary{getentries}">summary</a> |
+<a href="{url}shortlog{getentries}">shortlog</a> |
+<a href="{url}log{getentries}">changelog</a> |
+<a href="{url}tags{getentries}">tags</a> |
+<a href="{url}file/{node|short}/#file|urlescape#{getentries}">file</a> |
+revisions |
+<a href="{url}annotate/{node|short}/#file|urlescape#{getentries}">annotate</a> |
+<a href="{url}rss-log/#node|short#/#file|urlescape#">rss</a><br/>
</div>
<div class="title" >#file|urlescape#</div>
--- a/templates/gitweb/filerevision.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/filerevision.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,16 +1,25 @@
#header#
<title>#repo|escape#: File revision</title>
<link rel="alternate" type="application/rss+xml"
- href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+ href="{url}rss-log" 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> / file revision
+<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="{url}summary{getentries}">#repo|escape#</a> / file revision
</div>
<div class="page_nav">
-<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=#node|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=#node|short#;style=gitweb">revisions</a> | <a href="?cmd=annotate;file=#file|urlescape#;filenode=#node|short#;style=gitweb">annotate</a> | <a href="?cmd=file;file=#file|urlescape#;filenode=#node#;style=raw">raw</a><br/>
+<a href="{url}summary{getentries}">summary</a> |
+<a href="{url}shortlog{getentries}">shortlog</a> |
+<a href="{url}log{getentries}">changelog</a> |
+<a href="{url}tags{getentries}">tags</a> |
+<a href="{url}file/#node|short##path|urlescape#{getentries}">manifest</a> |
+<a href="{url}rev/#node|short#{getentries}">changeset</a> |
+file |
+<a href="{url}log/{node|short}/#file|urlescape#{getentries}">revisions</a> |
+<a href="{url}annotate/{node|short}/#file|urlescape#{getentries}">annotate</a> |
+<a href="{url}raw-file/{node|short}/#file|urlescape#">raw</a><br/>
</div>
<div class="title">#file|escape#</div>
@@ -18,13 +27,13 @@
<table>
<tr>
<td class="metatag">changeset #rev#:</td>
- <td><a href="?cs=#node|short#;style=gitweb">#node|short#</a></td></tr>
+ <td><a href="{url}rev/#node|short#{getentries}">#node|short#</a></td></tr>
#rename%filerename#
#parent%fileannotateparent#
#child%fileannotatechild#
<tr>
<td class="metatag">manifest:</td>
- <td><a href="?mf=#node|short#;path=/;style=gitweb">#node|short#</a></td></tr>
+ <td><a href="{url}file/#node|short#{getentries}">#node|short#</a></td></tr>
<tr>
<td class="metatag">author:</td>
<td>#author|obfuscate#</td></tr>
--- a/templates/gitweb/footer.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/footer.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,6 +1,6 @@
<div class="page_footer">
<div class="page_footer_text">#repo|escape#</div>
-<a class="rss_logo" href="?cmd=changelog;style=rss">RSS</a>
+<a class="rss_logo" href="#url#rss-log">RSS</a>
</div>
</body>
</html>
--- a/templates/gitweb/header.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/header.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -4,8 +4,8 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
-<link rel="icon" href="?static=hgicon.png" type="image/png">
+<link rel="icon" href="{url}static/hgicon.png" type="image/png">
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="robots" content="index, nofollow"/>
-<link rel="stylesheet" href="?static=style-gitweb.css" type="text/css" />
+<link rel="stylesheet" href="{url}static/style-gitweb.css" type="text/css" />
--- a/templates/gitweb/manifest.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/manifest.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,16 +1,21 @@
#header#
<title>#repo|escape#: Manifest</title>
<link rel="alternate" type="application/rss+xml"
- href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+ href="{url}rss-log" 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> / manifest
+<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="{url}summary{getentries}">#repo|escape#</a> / manifest
</div>
<div class="page_nav">
-<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/>
+<a href="{url}summary{getentries}">summary</a> |
+<a href="{url}shortlog{getentries}">shortlog</a> |
+<a href="{url}log{getentries}">changelog</a> |
+<a href="{url}tags{getentries}">tags</a> |
+manifest |
+<a href="{url}rev/#node|short#{getentries}">changeset</a> #archives%archiveentry#<br/>
</div>
<div class="title" >#path|escape#</div>
@@ -18,7 +23,7 @@
<table cellspacing="0">
<tr class="light">
<td style="font-family:monospace">drwxr-xr-x</td>
-<td><a href="?mf=#node|short#;path=#up|urlescape#;style=gitweb">[up]</a></td>
+<td><a href="{url}file/#node|short##up|urlescape#{getentries}">[up]</a></td>
<td class="link"> </td>
</tr>
#dentries%manifestdirentry#
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/gitweb/map Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,52 @@
+default = 'summary'
+header = header.tmpl
+footer = footer.tmpl
+search = search.tmpl
+changelog = changelog.tmpl
+summary = summary.tmpl
+error = error.tmpl
+naventry = '<a href="#url#log/#rev#{getentries}">#label|escape#</a> '
+navshortentry = '<a href="#url#shortlog/#rev#{getentries}">#label|escape#</a> '
+filedifflink = '<a href="#url#diff/#node|short#/#file|urlescape#{getentries}">#file|escape#</a> '
+filenodelink = '<tr class="parity#parity#"><td><a class="list" href="">#file|escape#</a></td><td></td><td class="link"><a href="#url#file/#node|short#/#file|urlescape#{getentries}">file</a> | <a href="#url#annotate/#node|short#/#file|urlescape#{getentries}">annotate</a> <!-- FIX ME | <a href="#url#diff/#node|short#/#file|urlescape#{getentries}">diff</a> --> | <a href="#url#log/#node|short#/#file|urlescape#{getentries}">revisions</a></td></tr>'
+fileellipses = '...'
+changelogentry = changelogentry.tmpl
+searchentry = changelogentry.tmpl
+changeset = changeset.tmpl
+manifest = manifest.tmpl
+manifestdirentry = '<tr class="parity#parity#"><td style="font-family:monospace">drwxr-xr-x</td><td><a href="#url#file/#node|short##path|urlescape#{getentries}">#basename|escape#/</a></td><td class="link"><a href="#url#file/#node|short##path|urlescape#{getentries}">manifest</a></td></tr>'
+manifestfileentry = '<tr class="parity#parity#"><td style="font-family:monospace">#permissions|permissions#</td><td class="list"><a class="list" href="#url#file/#node|short#/#file|urlescape#{getentries}">#basename|escape#</a></td><td class="link"><a href="#url#file/#node|short#/#file|urlescape#{getentries}">file</a> | <a href="#url#log/#node|short#/#file|urlescape#{getentries}">revisions</a> | <a href="#url#annotate/#node|short#/#file|urlescape#{getentries}">annotate</a></td></tr>'
+filerevision = filerevision.tmpl
+fileannotate = fileannotate.tmpl
+filelog = filelog.tmpl
+fileline = '<div style="font-family:monospace" class="parity#parity#"><pre><span class="linenr"> #linenumber#</span> #line|escape#</pre></div>'
+annotateline = '<tr style="font-family:monospace" class="parity#parity#"><td class="linenr" style="text-align: right;"><a href="#url#annotate/#node|short#/#file|urlescape#{getentries}">#author|obfuscate#@#rev#</a></td><td><pre>#line|escape#</pre></td></tr>'
+difflineplus = '<div style="color:#008800;">#line|escape#</div>'
+difflineminus = '<div style="color:#cc0000;">#line|escape#</div>'
+difflineat = '<div style="color:#990099;">#line|escape#</div>'
+diffline = '<div>#line|escape#</div>'
+changelogparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
+changesetparent = '<tr><td>parent</td><td style="font-family:monospace"><a class="list" href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
+filerevparent = '<tr><td class="metatag">parent:</td><td><a href="{url}file/{node|short}/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
+filerename = '<tr><td class="metatag">parent:</td><td><a href="{url}file/#node|short#/#file|urlescape#{getentries}">#file|escape#@#node|short#</a></td></tr>'
+filelogrename = '| <a href="{url}file/#node|short#/#file|urlescape#{getentries}">base</a>'
+fileannotateparent = '<tr><td class="metatag">parent:</td><td><a href="{url}annotate/{node|short}/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
+changelogchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="{url}rev/#node|short#{getentries}">#node|short#</a></td></tr>'
+changesetchild = '<tr><td>child</td><td style="font-family:monospace"><a class="list" href="{url}rev/#node|short#{getentries}">#node|short#</a></td></tr>'
+filerevchild = '<tr><td class="metatag">child:</td><td><a href="{url}file/{node|short}#file|urlescape#{getentries}">#node|short#</a></td></tr>'
+fileannotatechild = '<tr><td class="metatag">child:</td><td><a href="{url}annotate/{node|short}/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
+tags = tags.tmpl
+tagentry = '<tr class="parity#parity#"><td class="age"><i>#date|age# ago</i></td><td><a class="list" href="{url}rev/{node|short}{getentries}"><b>#tag|escape#</b></a></td><td class="link"><a href="{url}rev/#node|short#{getentries}">changeset</a> | <a href="{url}log/#node|short#{getentries}">changelog</a> | <a href="{url}file/#node|short#{getentries}">manifest</a></td></tr>'
+diffblock = '<pre>#lines#</pre>'
+changelogtag = '<tr><th class="tag">tag:</th><td class="tag">#tag|escape#</td></tr>'
+changesettag = '<tr><td>tag</td><td>#tag|escape#</td></tr>'
+filediffparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="{url}rev/#node|short#{getentries}">#node|short#</a></td></tr>'
+filelogparent = '<tr><td align="right">parent #rev#: </td><td><a href="{url}file/{node|short}/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
+filediffchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="{url}rev/#node|short#{getentries}">#node|short#</a></td></tr>'
+filelogchild = '<tr><td align="right">child #rev#: </td><td><a href="{url}file{node|short}/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
+shortlog = shortlog.tmpl
+shortlogentry = '<tr class="parity#parity#"><td class="age"><i>#date|age# ago</i></td><td><i>#author#</i></td><td><a class="list" href="{url}rev/#node|short#{getentries}"><b>#desc|strip|firstline|escape#</b></a></td><td class="link"><a href="{url}rev/#node|short#{getentries}">changeset</a> | <a href="{url}file/#node|short#{getentries}">manifest</a></td></tr>'
+filelogentry = '<tr class="parity#parity#"><td class="age"><i>#date|age# ago</i></td><td><a class="list" href="{url}rev/#node|short#{getentries}"><b>#desc|strip|firstline|escape#</b></a></td><td class="link"><a href="{url}file/#node|short#/#file|urlescape#{getentries}">file</a> | <!-- FIXME: <a href="{url}diff/#node|short#/#file|urlescape#{getentries}">diff</a> | --> <a href="{url}annotate/#node|short#/#file|urlescape#{getentries}">annotate</a> #rename%filelogrename#</td></tr>'
+archiveentry = ' | <a href="{url}archive/{node|short}{extension}">#type|escape#</a> '
+indexentry = '<tr class="parity#parity#"><td><a class="list" href="#url#"><b>#name|escape#</b></a></td><td>#description#</td><td>#contact|obfuscate#</td><td class="age">#lastchange|age# ago</td><td class="indexlinks"><a class="rss_logo" href="#url#rss-log">RSS</a> #archives%archiveentry#</td></tr>'
+index = index.tmpl
--- a/templates/gitweb/search.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/search.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,22 +1,24 @@
#header#
<div class="page_nav">
-<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=#node|short#;path=/;style=gitweb">manifest</a><br/>
+<a href="{url}summary{getentries}">summary</a> |
+<a href="{url}shortlog{getentries}">shortlog</a> |
+<a href="{url}log{getentries}">changelog</a> |
+<a href="{url}tags{getentries}">tags</a> |
+<a href="{url}file/#node|short#{getentries}">manifest</a><br/>
</div>
<h2>searching for #query|escape#</h2>
-<form>
+<form action="{url}log">
search:
-<input type="hidden" name="cmd" value="changelog">
<input type="hidden" name="style" value="gitweb">
<input name="rev" type="text" width="30" value="#query|escape#">
</form>
#entries#
-<form>
+<form action="{url}log">
search:
-<input type="hidden" name="cmd" value="changelog">
<input type="hidden" name="style" value="gitweb">
<input name="rev" type="text" width="30">
</form>
--- a/templates/gitweb/shortlog.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/shortlog.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,25 +1,27 @@
#header#
<title>#repo|escape#: Shortlog</title>
<link rel="alternate" type="application/rss+xml"
- href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+ href="{url}rss-log" 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
+<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="{url}summary{getentries}">#repo|escape#</a> / shortlog
</div>
-<form action="#">
+<form action="{url}log">
<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> | shortlog | <a href="?cmd=changelog;rev=#rev#;style=gitweb">changelog</a> | <a href="?cmd=tags;style=gitweb">tags</a> | <a href="?mf=#node|short#;path=/;style=gitweb">manifest</a>#archives%archiveentry#<br/>
+<a href="{url}summary{getentries}">summary</a> |
+shortlog |
+<a href="{url}log/#rev#{getentries}">changelog</a> |
+<a href="{url}tags{getentries}">tags</a> |
+<a href="{url}file/#node|short#{getentries}">manifest</a>#archives%archiveentry#<br/>
<br/>
#changenav%navshortentry#<br/>
--- a/templates/gitweb/summary.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/summary.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,15 +1,19 @@
#header#
<title>#repo|escape#: Summary</title>
<link rel="alternate" type="application/rss+xml"
- href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+ href="{url}rss-log" 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> / summary
+<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="{url}summary{getentries}">#repo|escape#</a> / summary
</div>
<div class="page_nav">
-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="?mf=#node|short#;path=/;style=gitweb">manifest</a>#archives%archiveentry#
+summary |
+<a href="{url}shortlog{getentries}">shortlog</a> |
+<a href="{url}log{getentries}">changelog</a> |
+<a href="{url}tags{getentries}">tags</a> |
+<a href="{url}file/#node|short#{getentries}">manifest</a>#archives%archiveentry#
<br/>
</div>
@@ -20,16 +24,16 @@
<!-- <tr><td>last change</td><td>#lastchange|rfc822date#</td></tr> -->
</table>
-<div><a class="title" href="?cmd=changelog;style=gitweb">changes</a></div>
+<div><a class="title" href="{url}log{getentries}">changes</a></div>
<table cellspacing="0">
#shortlog#
-<tr class="light"><td colspan="3"><a class="list" href="?cmd=changelog;style=gitweb">...</a></td></tr>
+<tr class="light"><td colspan="3"><a class="list" href="{url}log{getentries}">...</a></td></tr>
</table>
-<div><a class="title" href="?cmd=tags;style=gitweb">tags</a></div>
+<div><a class="title" href="{url}tags{getentries}">tags</a></div>
<table cellspacing="0">
#tags#
-<tr class="light"><td colspan="3"><a class="list" href="?cmd=tags;style=gitweb">...</a></td></tr>
+<tr class="light"><td colspan="3"><a class="list" href="{url}tags{getentries}">...</a></td></tr>
</table>
#footer#
--- a/templates/gitweb/tags.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/gitweb/tags.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,16 +1,20 @@
#header#
<title>#repo|escape#: Tags</title>
<link rel="alternate" type="application/rss+xml"
- href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+ href="{url}rss-log" 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> / tags
+<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="{url}summary{getentries}">#repo|escape#</a> / tags
</div>
<div class="page_nav">
-<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=#node|short#;path=/;style=gitweb">manifest</a>
+<a href="{url}summary{getentries}">summary</a> |
+<a href="{url}shortlog{getentries}">shortlog</a> |
+<a href="{url}log{getentries}">changelog</a> |
+tags |
+<a href="{url}file/#node|short#{getentries}">manifest</a>
<br/>
</div>
--- a/templates/header.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/header.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -3,6 +3,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
-<link rel="icon" href="?static=hgicon.png" type="image/png">
+<link rel="icon" href="#url#static/hgicon.png" type="image/png">
<meta name="robots" content="index, nofollow" />
-<link rel="stylesheet" href="?static=style.css" type="text/css" />
+<link rel="stylesheet" href="#url#static/style.css" type="text/css" />
--- a/templates/manifest.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/manifest.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -4,10 +4,10 @@
<body>
<div class="buttons">
-<a href="?cl=#rev#">changelog</a>
-<a href="?sl=#rev#">shortlog</a>
-<a href="?tags=">tags</a>
-<a href="?cs=#node|short#">changeset</a>
+<a href="#url#log/#rev#{getentries}">changelog</a>
+<a href="#url#shortlog/#rev#{getentries}">shortlog</a>
+<a href="#url#tags{getentries}">tags</a>
+<a href="#url#rev/#node|short#{getentries}">changeset</a>
#archives%archiveentry#
</div>
@@ -16,7 +16,7 @@
<table cellpadding="0" cellspacing="0">
<tr class="parity1">
<td><tt>drwxr-xr-x</tt>
- <td><a href="?mf=#node|short#;path=#up|urlescape#">[up]</a>
+ <td><a href="#url#file/#node|short##up|urlescape#{getentries}">[up]</a>
#dentries%manifestdirentry#
#fentries%manifestfileentry#
</table>
--- a/templates/map Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/map Fri Oct 06 17:14:18 2006 -0500
@@ -5,49 +5,49 @@
changelog = changelog.tmpl
shortlog = shortlog.tmpl
shortlogentry = shortlogentry.tmpl
-naventry = '<a href="?cl=#rev#">#label|escape#</a> '
-navshortentry = '<a href="?sl=#rev#">#label|escape#</a> '
-filedifflink = '<a href="?fd=#node|short#;file=#file|urlescape#">#file|escape#</a> '
-filenodelink = '<a href="?f=#node|short#;file=#file|urlescape#">#file|escape#</a> '
+naventry = '<a href="#url#log/#rev#{getentries}">#label|escape#</a> '
+navshortentry = '<a href="#url#shortlog/#rev#{getentries}">#label|escape#</a> '
+filedifflink = '<a href="#url#diff/#node|short#/#file|urlescape#{getentries}">#file|escape#</a> '
+filenodelink = '<a href="#url#file/#node|short#/#file|urlescape#{getentries}">#file|escape#</a> '
fileellipses = '...'
changelogentry = changelogentry.tmpl
searchentry = changelogentry.tmpl
changeset = changeset.tmpl
manifest = manifest.tmpl
-manifestdirentry = '<tr class="parity#parity#"><td><tt>drwxr-xr-x</tt> <td><a href="?mf=#node|short#;path=#path|urlescape#">#basename|escape#/</a>'
-manifestfileentry = '<tr class="parity#parity#"><td><tt>#permissions|permissions#</tt> <td><a href="?f=#node|short#;file=#file|urlescape#">#basename|escape#</a>'
+manifestdirentry = '<tr class="parity#parity#"><td><tt>drwxr-xr-x</tt> <td><a href="#url#file/#node|short##path|urlescape#{getentries}">#basename|escape#/</a>'
+manifestfileentry = '<tr class="parity#parity#"><td><tt>#permissions|permissions#</tt> <td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#basename|escape#</a>'
filerevision = filerevision.tmpl
fileannotate = fileannotate.tmpl
filediff = filediff.tmpl
filelog = filelog.tmpl
fileline = '<div class="parity#parity#"><span class="lineno">#linenumber#</span>#line|escape#</div>'
filelogentry = filelogentry.tmpl
-annotateline = '<tr class="parity#parity#"><td class="annotate"><a href="?fa=#node|short#;file=#file|urlescape#">#author|obfuscate#@#rev#</a></td><td><pre>#line|escape#</pre></td></tr>'
+annotateline = '<tr class="parity#parity#"><td class="annotate"><a href="#url#annotate/#node|short#/#file|urlescape#{getentries}">#author|obfuscate#@#rev#</a></td><td><pre>#line|escape#</pre></td></tr>'
difflineplus = '<span class="plusline">#line|escape#</span>'
difflineminus = '<span class="minusline">#line|escape#</span>'
difflineat = '<span class="atline">#line|escape#</span>'
diffline = '#line|escape#'
-changelogparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="?cs=#node|short#">#node|short#</a></td></tr>'
-changesetparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="?cs=#node|short#">#node|short#</a></td></tr>'
-filerevparent = '<tr><td class="metatag">parent:</td><td><a href="?f=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
-filerename = '<tr><td class="metatag">parent:</td><td><a href="?f=#node|short#;file=#file|urlescape#">#file|escape#@#node|short#</a></td></tr>'
-filelogrename = '<tr><th>base:</th><td><a href="?f=#node|short#;file=#file|urlescape#">#file|escape#@#node|short#</a></td></tr>'
-fileannotateparent = '<tr><td class="metatag">parent:</td><td><a href="?fa=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
-changesetchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="?cs=#node|short#">#node|short#</a></td></tr>'
-changelogchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="?cs=#node|short#">#node|short#</a></td></tr>'
-filerevchild = '<tr><td class="metatag">child:</td><td><a href="?f=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
-fileannotatechild = '<tr><td class="metatag">child:</td><td><a href="?fa=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
+changelogparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
+changesetparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
+filerevparent = '<tr><td class="metatag">parent:</td><td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
+filerename = '<tr><td class="metatag">parent:</td><td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#file|escape#@#node|short#</a></td></tr>'
+filelogrename = '<tr><th>base:</th><td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#file|escape#@#node|short#</a></td></tr>'
+fileannotateparent = '<tr><td class="metatag">parent:</td><td><a href="#url#annotate/#node|short#/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
+changesetchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
+changelogchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
+filerevchild = '<tr><td class="metatag">child:</td><td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
+fileannotatechild = '<tr><td class="metatag">child:</td><td><a href="#url#annotate/#node|short#/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
tags = tags.tmpl
-tagentry = '<li class="tagEntry parity#parity#"><tt class="node">#node#</tt> <a href="?cs=#node|short#">#tag|escape#</a></li>'
+tagentry = '<li class="tagEntry parity#parity#"><tt class="node">#node#</tt> <a href="#url#rev/#node|short#{getentries}">#tag|escape#</a></li>'
diffblock = '<pre class="parity#parity#">#lines#</pre>'
changelogtag = '<tr><th class="tag">tag:</th><td class="tag">#tag|escape#</td></tr>'
changesettag = '<tr><th class="tag">tag:</th><td class="tag">#tag|escape#</td></tr>'
-filediffparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="?cs=#node|short#">#node|short#</a></td></tr>'
-filelogparent = '<tr><th>parent #rev#:</th><td><a href="?f=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
-filediffchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="?cs=#node|short#">#node|short#</a></td></tr>'
-filelogchild = '<tr><th>child #rev#:</th><td><a href="?f=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
-indexentry = '<tr class="parity#parity#"><td><a href="#url#">#name|escape#</a></td><td>#description#</td><td>#contact|obfuscate#</td><td class="age">#lastchange|age# ago</td><td class="indexlinks"><a href="#url#?cl=tip;style=rss">RSS</a> #archives%archiveentry#</td></tr>'
+filediffparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
+filelogparent = '<tr><th>parent #rev#:</th><td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
+filediffchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
+filelogchild = '<tr><th>child #rev#:</th><td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
+indexentry = '<tr class="parity#parity#"><td><a href="#url#">#name|escape#</a></td><td>#description#</td><td>#contact|obfuscate#</td><td class="age">#lastchange|age# ago</td><td class="indexlinks"><a href="#url#rss-log">RSS</a> #archives%archiveentry#</td></tr>'
index = index.tmpl
-archiveentry = '<a href="#url#?ca=#node|short#;type=#type|urlescape#">#type|escape#</a> '
+archiveentry = '<a href="#url#archive/#node|short##extension|urlescape#">#type|escape#</a> '
notfound = notfound.tmpl
error = error.tmpl
--- a/templates/map-gitweb Fri Oct 06 16:55:11 2006 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-default = 'summary'
-header = gitweb/header.tmpl
-footer = gitweb/footer.tmpl
-search = gitweb/search.tmpl
-changelog = gitweb/changelog.tmpl
-summary = gitweb/summary.tmpl
-error = gitweb/error.tmpl
-naventry = '<a href="?cmd=changelog;rev=#rev#;style=gitweb">#label|escape#</a> '
-navshortentry = '<a href="?cmd=shortlog;rev=#rev#;style=gitweb">#label|escape#</a> '
-filedifflink = '<a href="?cmd=filediff;node=#node#;file=#file|urlescape#;style=gitweb">#file|escape#</a> '
-filenodelink = '<tr class="parity#parity#"><td><a class="list" href="">#file|escape#</a></td><td></td><td class="link"><a href="?f=#node|short#;file=#file|urlescape#;style=gitweb">file</a> | <a href="?fa=#node|short#;file=#file|urlescape#;style=gitweb">annotate</a> | <!-- FIXME: <a href="?fd=#node|short#;file=#file|urlescape#;style=gitweb">diff</a> | --> <a href="?cmd=filelog;filenode=#node|short#;file=#file|urlescape#;style=gitweb">revisions</a></td></tr>'
-fileellipses = '...'
-changelogentry = gitweb/changelogentry.tmpl
-searchentry = gitweb/changelogentry.tmpl
-changeset = gitweb/changeset.tmpl
-manifest = gitweb/manifest.tmpl
-manifestdirentry = '<tr class="parity#parity#"><td style="font-family:monospace">drwxr-xr-x</td><td><a href="?mf=#node|short#;path=#path|urlescape#;style=gitweb">#basename|escape#/</a></td><td class="link"><a href="?mf=#node|short#;path=#path|urlescape#;style=gitweb">manifest</a></td></tr>'
-manifestfileentry = '<tr class="parity#parity#"><td style="font-family:monospace">#permissions|permissions#</td><td class="list"><a class="list" href="?f=#node|short#;file=#file|urlescape#;style=gitweb">#basename|escape#</a></td><td class="link"><a href="?f=#node|short#;file=#file|urlescape#;style=gitweb">file</a> | <a href="?fl=#node|short#;file=#file|urlescape#;style=gitweb">revisions</a> | <a href="?fa=#node|short#;file=#file|urlescape#;style=gitweb">annotate</a></td></tr>'
-filerevision = gitweb/filerevision.tmpl
-fileannotate = gitweb/fileannotate.tmpl
-filelog = gitweb/filelog.tmpl
-fileline = '<div style="font-family:monospace" class="parity#parity#"><pre><span class="linenr"> #linenumber#</span> #line|escape#</pre></div>'
-annotateline = '<tr style="font-family:monospace" class="parity#parity#"><td class="linenr" style="text-align: right;"><a href="?fa=#node|short#;file=#file|urlescape#;style=gitweb">#author|obfuscate#@#rev#</a></td><td><pre>#line|escape#</pre></td></tr>'
-difflineplus = '<div style="color:#008800;">#line|escape#</div>'
-difflineminus = '<div style="color:#cc0000;">#line|escape#</div>'
-difflineat = '<div style="color:#990099;">#line|escape#</div>'
-diffline = '<div>#line|escape#</div>'
-changelogparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="?cmd=changeset;node=#node#;style=gitweb">#node|short#</a></td></tr>'
-changesetparent = '<tr><td>parent</td><td style="font-family:monospace"><a class="list" href="?cmd=changeset;node=#node|short#;style=gitweb">#node|short#</a></td></tr>'
-filerevparent = '<tr><td class="metatag">parent:</td><td><a href="?cmd=file;file=#file|urlescape#;filenode=#node#;style=gitweb">#node|short#</a></td></tr>'
-filerename = '<tr><td class="metatag">parent:</td><td><a href="?f=#node|short#;file=#file|urlescape#;style=gitweb">#file|escape#@#node|short#</a></td></tr>'
-filelogrename = '| <a href="?f=#node|short#;file=#file|urlescape#;style=gitweb">base</a>'
-fileannotateparent = '<tr><td class="metatag">parent:</td><td><a href="?cmd=annotate;file=#file|urlescape#;filenode=#node#;style=gitweb">#node|short#</a></td></tr>'
-changelogchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="?cmd=changeset;node=#node#;style=gitweb">#node|short#</a></td></tr>'
-changesetchild = '<tr><td>child</td><td style="font-family:monospace"><a class="list" href="?cmd=changeset;node=#node|short#;style=gitweb">#node|short#</a></td></tr>'
-filerevchild = '<tr><td class="metatag">child:</td><td><a href="?cmd=file;file=#file|urlescape#;filenode=#node#;style=gitweb">#node|short#</a></td></tr>'
-fileannotatechild = '<tr><td class="metatag">child:</td><td><a href="?cmd=annotate;file=#file|urlescape#;filenode=#node#;style=gitweb">#node|short#</a></td></tr>'
-tags = gitweb/tags.tmpl
-tagentry = '<tr class="parity#parity#"><td class="age"><i>#date|age# ago</i></td><td><a class="list" href="?cmd=changeset;node=#node|short#;style=gitweb"><b>#tag|escape#</b></a></td><td class="link"><a href="?cmd=changeset;node=#node|short#;style=gitweb">changeset</a> | <a href="?cmd=changelog;rev=#node|short#;style=gitweb">changelog</a> | <a href="?mf=#node|short#;path=/;style=gitweb">manifest</a></td></tr>'
-diffblock = '<pre>#lines#</pre>'
-changelogtag = '<tr><th class="tag">tag:</th><td class="tag">#tag|escape#</td></tr>'
-changesettag = '<tr><td>tag</td><td>#tag|escape#</td></tr>'
-filediffparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="?cmd=changeset;node=#node#;style=gitweb">#node|short#</a></td></tr>'
-filelogparent = '<tr><td align="right">parent #rev#: </td><td><a href="?cmd=file;file=#file|urlescape#;filenode=#node#;style=gitweb">#node|short#</a></td></tr>'
-filediffchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="?cmd=changeset;node=#node#;style=gitweb">#node|short#</a></td></tr>'
-filelogchild = '<tr><td align="right">child #rev#: </td><td><a href="?cmd=file;file=#file|urlescape#;filenode=#node#;style=gitweb">#node|short#</a></td></tr>'
-shortlog = gitweb/shortlog.tmpl
-shortlogentry = '<tr class="parity#parity#"><td class="age"><i>#date|age# ago</i></td><td><i>#author#</i></td><td><a class="list" href="?cmd=changeset;node=#node|short#;style=gitweb"><b>#desc|strip|firstline|escape#</b></a></td><td class="link"><a href="?cmd=changeset;node=#node|short#;style=gitweb">changeset</a> | <a href="?cmd=manifest;manifest=#node|short#;path=/;style=gitweb">manifest</a></td></tr>'
-filelogentry = '<tr class="parity#parity#"><td class="age"><i>#date|age# ago</i></td><td><a class="list" href="?cmd=changeset;node=#node|short#;style=gitweb"><b>#desc|strip|firstline|escape#</b></a></td><td class="link"><a href="?f=#node|short#;file=#file|urlescape#;style=gitweb">file</a> | <!-- FIXME: <a href="?fd=#node|short#;file=#file|urlescape#;style=gitweb">diff</a> | --> <a href="?fa=#node|short#;file=#file|urlescape#;style=gitweb">annotate</a> #rename%filelogrename#</td></tr>'
-archiveentry = ' | <a href="#url#?ca=#node|short#;type=#type|urlescape#">#type|escape#</a> '
-indexentry = '<tr class="parity#parity#"><td><a class="list" href="#url#"><b>#name|escape#</b></a></td><td>#description#</td><td>#contact|obfuscate#</td><td class="age">#lastchange|age# ago</td><td class="indexlinks"><a class="rss_logo" href="#url#?cl=tip;style=rss">RSS</a> #archives%archiveentry#</td></tr>'
-index = gitweb/index.tmpl
--- a/templates/map-raw Fri Oct 06 16:55:11 2006 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-header = raw/header.tmpl
-footer = ''
-changeset = raw/changeset.tmpl
-difflineplus = '#line#'
-difflineminus = '#line#'
-difflineat = '#line#'
-diffline = '#line#'
-changesetparent = '# Parent #node#'
-changesetchild = '# Child #node#'
-filenodelink = ''
-filerevision = '#rawfileheader##raw#'
-fileline = '#line#'
-diffblock = '#lines#'
-filediff = raw/filediff.tmpl
-fileannotate = raw/fileannotate.tmpl
-annotateline = '#author#@#rev#: #line#'
--- a/templates/map-rss Fri Oct 06 16:55:11 2006 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-default = 'changelog'
-header = rss/header.tmpl
-changelog = rss/changelog.tmpl
-changelogentry = rss/changelogentry.tmpl
-filelog = rss/filelog.tmpl
-filelogentry = rss/filelogentry.tmpl
-tags = rss/tags.tmpl
-tagentry = rss/tagentry.tmpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/changelog.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,38 @@
+#header#
+<title>#repo|escape#: changelog</title>
+<link rel="alternate" type="application/rss+xml"
+ href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+</head>
+<body>
+
+<div class="buttons">
+<a href="?sl=#rev#">shortlog</a>
+<a href="?cmd=tags">tags</a>
+<a href="?mf=#node|short#;path=/">manifest</a>
+#archives%archiveentry#
+<a type="application/rss+xml" href="?style=rss">rss</a>
+</div>
+
+<h2>changelog for #repo|escape#</h2>
+
+<form action="#">
+<p>
+<label for="search1">search:</label>
+<input type="hidden" name="cmd" value="changelog">
+<input name="rev" id="search1" type="text" size="30">
+navigate: <small class="navigate">#changenav%naventry#</small>
+</p>
+</form>
+
+#entries%changelogentry#
+
+<form action="#">
+<p>
+<label for="search2">search:</label>
+<input type="hidden" name="cmd" value="changelog">
+<input name="rev" id="search2" type="text" size="30">
+navigate: <small class="navigate">#changenav%naventry#</small>
+</p>
+</form>
+
+#footer#
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/changelogentry.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,25 @@
+<table class="logEntry parity#parity#">
+ <tr>
+ <th class="age">#date|age# ago:</th>
+ <th class="firstline">#desc|strip|firstline|escape#</th>
+ </tr>
+ <tr>
+ <th class="revision">changeset #rev#:</th>
+ <td class="node"><a href="?cs=#node|short#">#node|short#</a></td>
+ </tr>
+ #parent%changelogparent#
+ #child%changelogchild#
+ #changelogtag#
+ <tr>
+ <th class="author">author:</th>
+ <td class="author">#author|obfuscate#</td>
+ </tr>
+ <tr>
+ <th class="date">date:</th>
+ <td class="date">#date|date#</td>
+ </tr>
+ <tr>
+ <th class="files"><a href="?mf=#node|short#;path=/">files</a>:</th>
+ <td class="files">#files#</td>
+ </tr>
+</table>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/changeset.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,47 @@
+#header#
+<title>#repo|escape#: changeset #node|short#</title>
+</head>
+<body>
+
+<div class="buttons">
+<a href="?cl=#rev#">changelog</a>
+<a href="?sl=#rev#">shortlog</a>
+<a href="?cmd=tags">tags</a>
+<a href="?mf=#node|short#;path=/">manifest</a>
+<a href="?cs=#node|short#;style=raw">raw</a>
+#archives%archiveentry#
+</div>
+
+<h2>changeset: #desc|strip|escape|firstline#</h2>
+
+<table id="changesetEntry">
+<tr>
+ <th class="changeset">changeset #rev#:</th>
+ <td class="changeset"><a href="?cs=#node|short#">#node|short#</a></td>
+</tr>
+#parent%changesetparent#
+#child%changesetchild#
+#changesettag#
+<tr>
+ <th class="author">author:</th>
+ <td class="author">#author|obfuscate#</td>
+</tr>
+<tr>
+ <th class="date">date:</th>
+ <td class="date">#date|date# (#date|age# ago)</td></tr>
+<tr>
+ <th class="files">files:</th>
+ <td class="files">#files#</td></tr>
+<tr>
+ <th class="description">description:</th>
+ <td class="description">#desc|strip|escape|addbreaks#</td>
+</tr>
+</table>
+
+<div id="changesetDiff">
+#diff#
+</div>
+
+#footer#
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/fileannotate.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,43 @@
+#header#
+<title>#repo|escape#: #file|escape# annotate</title>
+</head>
+<body>
+
+<div class="buttons">
+<a href="?cl=#rev#">changelog</a>
+<a href="?sl=#rev#">shortlog</a>
+<a href="?tags=">tags</a>
+<a href="?cs=#node|short#">changeset</a>
+<a href="?mf=#node|short#;path=#path|urlescape#">manifest</a>
+<a href="?f=#node|short#;file=#file|urlescape#">file</a>
+<a href="?fl=#node|short#;file=#file|urlescape#">revisions</a>
+<a href="?fa=#node|short#;file=#file|urlescape#;style=raw">raw</a>
+</div>
+
+<h2>Annotate #file|escape#</h2>
+
+<table>
+<tr>
+ <td class="metatag">changeset #rev#:</td>
+ <td><a href="?cs=#node|short#">#node|short#</a></td></tr>
+#rename%filerename#
+#parent%fileannotateparent#
+#child%fileannotatechild#
+<tr>
+ <td class="metatag">author:</td>
+ <td>#author|obfuscate#</td></tr>
+<tr>
+ <td class="metatag">date:</td>
+ <td>#date|date# (#date|age# ago)</td></tr>
+<tr>
+ <td class="metatag">permissions:</td>
+ <td>#permissions|permissions#</td></tr>
+</table>
+
+<br/>
+
+<table cellspacing="0" cellpadding="0">
+#annotate%annotateline#
+</table>
+
+#footer#
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/filediff.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,34 @@
+#header#
+<title>#repo|escape#: #file|escape# diff</title>
+</head>
+<body>
+
+<div class="buttons">
+<a href="?cl=#rev#">changelog</a>
+<a href="?sl=#rev#">shortlog</a>
+<a href="?tags=">tags</a>
+<a href="?cs=#node|short#">changeset</a>
+<a href="?f=#node|short#;file=#file|urlescape#">file</a>
+<a href="?fl=#node|short#;file=#file|urlescape#">revisions</a>
+<a href="?fa=#node|short#;file=#file|urlescape#">annotate</a>
+<a href="?fd=#node|short#;file=#file|urlescape#;style=raw">raw</a>
+</div>
+
+<h2>#file|escape#</h2>
+
+<table id="filediffEntry">
+<tr>
+ <th class="revision">revision #rev#:</th>
+ <td class="revision"><a href="?cs=#node|short#">#node|short#</a></td>
+</tr>
+#parent%filediffparent#
+#child%filediffchild#
+</table>
+
+<div id="fileDiff">
+#diff#
+</div>
+
+#footer#
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/filelog.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,22 @@
+#header#
+<title>#repo|escape#: #file|escape# history</title>
+<link rel="alternate" type="application/rss+xml"
+ href="?fl=0;file=#file|urlescape#;style=rss" title="RSS feed for #repo|escape#:#file#">
+</head>
+</head>
+<body>
+
+<div class="buttons">
+<a href="?cl=tip">changelog</a>
+<a href="?sl=tip">shortlog</a>
+<a href="?tags=">tags</a>
+<a href="?f=#node|short#;file=#file|urlescape#">file</a>
+<a href="?fa=#node|short#;file=#file|urlescape#">annotate</a>
+<a type="application/rss+xml" href="?fl=0;file=#file|urlescape#;style=rss">rss</a>
+</div>
+
+<h2>#file|escape# revision history</h2>
+
+#entries%filelogentry#
+
+#footer#
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/filelogentry.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,25 @@
+<table class="logEntry parity#parity#">
+ <tr>
+ <th class="age">#date|age# ago:</th>
+ <th class="firstline"><a href="?cs=#node|short#">#desc|strip|firstline|escape#</a></th>
+ </tr>
+ <tr>
+ <th class="revision">revision #filerev#:</td>
+ <td class="node">
+ <a href="?f=#node|short#;file=#file|urlescape#">#node|short#</a>
+ <a href="?fd=#node|short#;file=#file|urlescape#">(diff)</a>
+ <a href="?fa=#node|short#;file=#file|urlescape#">(annotate)</a>
+ </td>
+ </tr>
+ #rename%filelogrename#
+ <tr>
+ <th class="author">author:</th>
+ <td class="author">#author|obfuscate#</td>
+ </tr>
+ <tr>
+ <th class="date">date:</th>
+ <td class="date">#date|date#</td>
+ </tr>
+</table>
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/filerevision.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,41 @@
+#header#
+<title>#repo|escape#:#file|escape#</title>
+</head>
+<body>
+
+<div class="buttons">
+<a href="?cl=#rev#">changelog</a>
+<a href="?sl=#rev#">shortlog</a>
+<a href="?tags=">tags</a>
+<a href="?cs=#node|short#">changeset</a>
+<a href="?mf=#node|short#;path=#path|urlescape#">manifest</a>
+<a href="?fl=#node|short#;file=#file|urlescape#">revisions</a>
+<a href="?fa=#node|short#;file=#file|urlescape#">annotate</a>
+<a href="?f=#node|short#;file=#file|urlescape#;style=raw">raw</a>
+</div>
+
+<h2>#file|escape#</h2>
+
+<table>
+<tr>
+ <td class="metatag">changeset #rev#:</td>
+ <td><a href="?cs=#node|short#">#node|short#</a></td></tr>
+#rename%filerename#
+#parent%filerevparent#
+#child%filerevchild#
+<tr>
+ <td class="metatag">author:</td>
+ <td>#author|obfuscate#</td></tr>
+<tr>
+ <td class="metatag">date:</td>
+ <td>#date|date# (#date|age# ago)</td></tr>
+<tr>
+ <td class="metatag">permissions:</td>
+ <td>#permissions|permissions#</td></tr>
+</table>
+
+<pre>
+#text%fileline#
+</pre>
+
+#footer#
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/header.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,8 @@
+Content-type: text/html
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<link rel="icon" href="?static=hgicon.png" type="image/png">
+<meta name="robots" content="index, nofollow" />
+<link rel="stylesheet" href="?static=style.css" type="text/css" />
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/manifest.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,23 @@
+#header#
+<title>#repo|escape#: manifest for changeset #node|short#</title>
+</head>
+<body>
+
+<div class="buttons">
+<a href="?cl=#rev#">changelog</a>
+<a href="?sl=#rev#">shortlog</a>
+<a href="?tags=">tags</a>
+<a href="?cs=#node|short#">changeset</a>
+#archives%archiveentry#
+</div>
+
+<h2>manifest for changeset #node|short#: #path|escape#</h2>
+
+<table cellpadding="0" cellspacing="0">
+<tr class="parity1">
+ <td><tt>drwxr-xr-x</tt>
+ <td><a href="?mf=#node|short#;path=#up|urlescape#">[up]</a>
+#dentries%manifestdirentry#
+#fentries%manifestfileentry#
+</table>
+#footer#
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/map Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,53 @@
+default = 'changelog'
+header = header.tmpl
+footer = footer.tmpl
+search = search.tmpl
+changelog = changelog.tmpl
+shortlog = shortlog.tmpl
+shortlogentry = shortlogentry.tmpl
+naventry = '<a href="?cl=#rev#">#label|escape#</a> '
+navshortentry = '<a href="?sl=#rev#">#label|escape#</a> '
+filedifflink = '<a href="?fd=#node|short#;file=#file|urlescape#">#file|escape#</a> '
+filenodelink = '<a href="?f=#node|short#;file=#file|urlescape#">#file|escape#</a> '
+fileellipses = '...'
+changelogentry = changelogentry.tmpl
+searchentry = changelogentry.tmpl
+changeset = changeset.tmpl
+manifest = manifest.tmpl
+manifestdirentry = '<tr class="parity#parity#"><td><tt>drwxr-xr-x</tt> <td><a href="?mf=#node|short#;path=#path|urlescape#">#basename|escape#/</a>'
+manifestfileentry = '<tr class="parity#parity#"><td><tt>#permissions|permissions#</tt> <td><a href="?f=#node|short#;file=#file|urlescape#">#basename|escape#</a>'
+filerevision = filerevision.tmpl
+fileannotate = fileannotate.tmpl
+filediff = filediff.tmpl
+filelog = filelog.tmpl
+fileline = '<div class="parity#parity#"><span class="lineno">#linenumber#</span>#line|escape#</div>'
+filelogentry = filelogentry.tmpl
+annotateline = '<tr class="parity#parity#"><td class="annotate"><a href="?fa=#node|short#;file=#file|urlescape#">#author|obfuscate#@#rev#</a></td><td><pre>#line|escape#</pre></td></tr>'
+difflineplus = '<span class="plusline">#line|escape#</span>'
+difflineminus = '<span class="minusline">#line|escape#</span>'
+difflineat = '<span class="atline">#line|escape#</span>'
+diffline = '#line|escape#'
+changelogparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="?cs=#node|short#">#node|short#</a></td></tr>'
+changesetparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="?cs=#node|short#">#node|short#</a></td></tr>'
+filerevparent = '<tr><td class="metatag">parent:</td><td><a href="?f=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
+filerename = '<tr><td class="metatag">parent:</td><td><a href="?f=#node|short#;file=#file|urlescape#">#file|escape#@#node|short#</a></td></tr>'
+filelogrename = '<tr><th>base:</th><td><a href="?f=#node|short#;file=#file|urlescape#">#file|escape#@#node|short#</a></td></tr>'
+fileannotateparent = '<tr><td class="metatag">parent:</td><td><a href="?fa=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
+changesetchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="?cs=#node|short#">#node|short#</a></td></tr>'
+changelogchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="?cs=#node|short#">#node|short#</a></td></tr>'
+filerevchild = '<tr><td class="metatag">child:</td><td><a href="?f=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
+fileannotatechild = '<tr><td class="metatag">child:</td><td><a href="?fa=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
+tags = tags.tmpl
+tagentry = '<li class="tagEntry parity#parity#"><tt class="node">#node#</tt> <a href="?cs=#node|short#">#tag|escape#</a></li>'
+diffblock = '<pre class="parity#parity#">#lines#</pre>'
+changelogtag = '<tr><th class="tag">tag:</th><td class="tag">#tag|escape#</td></tr>'
+changesettag = '<tr><th class="tag">tag:</th><td class="tag">#tag|escape#</td></tr>'
+filediffparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="?cs=#node|short#">#node|short#</a></td></tr>'
+filelogparent = '<tr><th>parent #rev#:</th><td><a href="?f=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
+filediffchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="?cs=#node|short#">#node|short#</a></td></tr>'
+filelogchild = '<tr><th>child #rev#:</th><td><a href="?f=#node|short#;file=#file|urlescape#">#node|short#</a></td></tr>'
+indexentry = '<tr class="parity#parity#"><td><a href="#url#">#name|escape#</a></td><td>#description#</td><td>#contact|obfuscate#</td><td class="age">#lastchange|age# ago</td><td class="indexlinks"><a href="#url#?cl=tip;style=rss">RSS</a> #archives%archiveentry#</td></tr>'
+index = index.tmpl
+archiveentry = '<a href="#url#?ca=#node|short#;type=#type|urlescape#">#type|escape#</a> '
+notfound = notfound.tmpl
+error = error.tmpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/search.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,33 @@
+#header#
+<title>#repo|escape#: searching for #query|escape#</title>
+</head>
+<body>
+
+<div class="buttons">
+<a href="?cl=tip">changelog</a>
+<a href="?sl=tip">shortlog</a>
+<a href="?tags=">tags</a>
+<a href="?mf=#node|short#;path=/">manifest</a>
+</div>
+
+<h2>searching for #query|escape#</h2>
+
+<form>
+<p>
+search:
+<input type="hidden" name="cmd" value="changelog">
+<input name="rev" type="text" width="30" value="#query|escape#">
+</p>
+</form>
+
+#entries#
+
+<form>
+<p>
+search:
+<input type="hidden" name="cmd" value="changelog">
+<input name="rev" type="text" width="30" value="#query|escape#">
+</p>
+</form>
+
+#footer#
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/shortlog.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,38 @@
+#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="buttons">
+<a href="?cl=#rev#">changelog</a>
+<a href="?cmd=tags">tags</a>
+<a href="?mf=#node|short#;path=/">manifest</a>
+#archives%archiveentry#
+<a type="application/rss+xml" href="?style=rss">rss</a>
+</div>
+
+<h2>shortlog for #repo|escape#</h2>
+
+<form action="#">
+<p>
+<label for="search1">search:</label>
+<input type="hidden" name="cmd" value="changelog">
+<input name="rev" id="search1" type="text" size="30">
+navigate: <small class="navigate">#changenav%navshortentry#</small>
+</p>
+</form>
+
+#entries%shortlogentry#
+
+<form action="#">
+<p>
+<label for="search2">search:</label>
+<input type="hidden" name="cmd" value="changelog">
+<input name="rev" id="search2" type="text" size="30">
+navigate: <small class="navigate">#changenav%navshortentry#</small>
+</p>
+</form>
+
+#footer#
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/shortlogentry.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,7 @@
+<table class="slogEntry parity#parity#">
+ <tr>
+ <td class="age">#date|age#</td>
+ <td class="author">#author|obfuscate#</td>
+ <td class="node"><a href="?cs=#node|short#">#desc|strip|firstline|escape#</a></td>
+ </tr>
+</table>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/old/tags.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,21 @@
+#header#
+<title>#repo|escape#: tags</title>
+<link rel="alternate" type="application/rss+xml"
+ href="?cmd=tags;style=rss" title="RSS feed for #repo|escape#: tags">
+</head>
+<body>
+
+<div class="buttons">
+<a href="?cl=tip">changelog</a>
+<a href="?sl=tip">shortlog</a>
+<a href="?mf=#node|short#;path=/">manifest</a>
+<a type="application/rss+xml" href="?cmd=tags;style=rss">rss</a>
+</div>
+
+<h2>tags:</h2>
+
+<ul id="tagEntries">
+#entries%tagentry#
+</ul>
+
+#footer#
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/raw/map Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,16 @@
+header = header.tmpl
+footer = ''
+changeset = changeset.tmpl
+difflineplus = '#line#'
+difflineminus = '#line#'
+difflineat = '#line#'
+diffline = '#line#'
+changesetparent = '# Parent #node#'
+changesetchild = '# Child #node#'
+filenodelink = ''
+filerevision = '#rawfileheader##raw#'
+fileline = '#line#'
+diffblock = '#lines#'
+filediff = filediff.tmpl
+fileannotate = fileannotate.tmpl
+annotateline = '#author#@#rev#: #line#'
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/rss/map Fri Oct 06 17:14:18 2006 -0500
@@ -0,0 +1,8 @@
+default = 'changelog'
+header = header.tmpl
+changelog = changelog.tmpl
+changelogentry = changelogentry.tmpl
+filelog = filelog.tmpl
+filelogentry = filelogentry.tmpl
+tags = tags.tmpl
+tagentry = tagentry.tmpl
--- a/templates/search.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/search.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -4,10 +4,10 @@
<body>
<div class="buttons">
-<a href="?cl=tip">changelog</a>
-<a href="?sl=tip">shortlog</a>
-<a href="?tags=">tags</a>
-<a href="?mf=#node|short#;path=/">manifest</a>
+<a href="#url#log{getentries}">changelog</a>
+<a href="#url#shortlog{getentries}">shortlog</a>
+<a href="#url#tags{getentries}">tags</a>
+<a href="#url#file/#node|short#{getentries}">manifest</a>
</div>
<h2>searching for #query|escape#</h2>
@@ -15,7 +15,6 @@
<form>
<p>
search:
-<input type="hidden" name="cmd" value="changelog">
<input name="rev" type="text" width="30" value="#query|escape#">
</p>
</form>
@@ -25,7 +24,6 @@
<form>
<p>
search:
-<input type="hidden" name="cmd" value="changelog">
<input name="rev" type="text" width="30" value="#query|escape#">
</p>
</form>
--- a/templates/shortlog.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/shortlog.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,24 +1,23 @@
#header#
<title>#repo|escape#: shortlog</title>
<link rel="alternate" type="application/rss+xml"
- href="?cmd=changelog;style=rss" title="RSS feed for #repo|escape#">
+ href="#url#rss-log" title="RSS feed for #repo|escape#">
</head>
<body>
<div class="buttons">
-<a href="?cl=#rev#">changelog</a>
-<a href="?cmd=tags">tags</a>
-<a href="?mf=#node|short#;path=/">manifest</a>
+<a href="#url#log/#rev#{getentries}">changelog</a>
+<a href="#url#tags{getentries}">tags</a>
+<a href="#url#file/#node|short#/{getentries}">manifest</a>
#archives%archiveentry#
-<a type="application/rss+xml" href="?style=rss">rss</a>
+<a type="application/rss+xml" href="#url#rss-log">rss</a>
</div>
<h2>shortlog for #repo|escape#</h2>
-<form action="#">
+<form action="#url#log">
<p>
<label for="search1">search:</label>
-<input type="hidden" name="cmd" value="changelog">
<input name="rev" id="search1" type="text" size="30">
navigate: <small class="navigate">#changenav%navshortentry#</small>
</p>
@@ -26,10 +25,9 @@
#entries%shortlogentry#
-<form action="#">
+<form action="#url#log">
<p>
<label for="search2">search:</label>
-<input type="hidden" name="cmd" value="changelog">
<input name="rev" id="search2" type="text" size="30">
navigate: <small class="navigate">#changenav%navshortentry#</small>
</p>
--- a/templates/shortlogentry.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/shortlogentry.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -2,6 +2,6 @@
<tr>
<td class="age">#date|age#</td>
<td class="author">#author|obfuscate#</td>
- <td class="node"><a href="?cs=#node|short#">#desc|strip|firstline|escape#</a></td>
+ <td class="node"><a href="#url#rev/#node|short#{getentries}">#desc|strip|firstline|escape#</a></td>
</tr>
</table>
--- a/templates/tags.tmpl Fri Oct 06 16:55:11 2006 -0500
+++ b/templates/tags.tmpl Fri Oct 06 17:14:18 2006 -0500
@@ -1,15 +1,15 @@
#header#
<title>#repo|escape#: tags</title>
<link rel="alternate" type="application/rss+xml"
- href="?cmd=tags;style=rss" title="RSS feed for #repo|escape#: tags">
+ href="#url#rss-tags" title="RSS feed for #repo|escape#: tags">
</head>
<body>
<div class="buttons">
-<a href="?cl=tip">changelog</a>
-<a href="?sl=tip">shortlog</a>
-<a href="?mf=#node|short#;path=/">manifest</a>
-<a type="application/rss+xml" href="?cmd=tags;style=rss">rss</a>
+<a href="#url#log{getentries}">changelog</a>
+<a href="#url#shortlog{getentries}">shortlog</a>
+<a href="#url#file/#node|short#/{getentries}">manifest</a>
+<a type="application/rss+xml" href="#url#rss-tags">rss</a>
</div>
<h2>tags:</h2>
--- a/tests/test-commit.out Fri Oct 06 16:55:11 2006 -0500
+++ b/tests/test-commit.out Fri Oct 06 17:14:18 2006 -0500
@@ -1,13 +1,13 @@
abort: impossible time zone offset: 4444444
transaction abort!
rollback completed
-abort: invalid date: '1\t15.1'
+abort: invalid date: '1\t15.1' see hg(1) manual page for details
transaction abort!
rollback completed
-abort: invalid date: 'foo bar'
+abort: invalid date: 'foo bar' see hg(1) manual page for details
transaction abort!
rollback completed
-abort: invalid date: ' 1 4444'
+abort: invalid date: ' 1 4444' see hg(1) manual page for details
transaction abort!
rollback completed
abort: date exceeds 32 bits: 111111111111
--- a/tests/test-globalopts.out Fri Oct 06 16:55:11 2006 -0500
+++ b/tests/test-globalopts.out Fri Oct 06 17:14:18 2006 -0500
@@ -114,94 +114,96 @@
list of commands (use "hg help -v" to show aliases and global options):
- add add the specified files on the next commit
- addremove add all new files, delete all missing files
- annotate show changeset information per file line
- archive create unversioned archive of a repository revision
- backout reverse effect of earlier changeset
- bundle create a changegroup file
- cat output the latest or given revisions of files
- clone make a copy of an existing repository
- commit commit the specified files or all outstanding changes
- copy mark files as copied for the next commit
- diff diff repository (or selected files)
- export dump the header and diffs for one or more changesets
- grep search for a pattern in specified files and revisions
- heads show current repository heads
- help show help for a command, extension, or list of commands
- identify print information about the working copy
- import import an ordered set of patches
- incoming show new changesets found in source
- init create a new repository in the given directory
- locate locate files matching specific patterns
- log show revision history of entire repository or files
- manifest output the latest or given revision of the project manifest
- merge Merge working directory with another revision
- outgoing show changesets not found in destination
- parents show the parents of the working dir or revision
- paths show definition of symbolic path names
- pull pull changes from the specified source
- push push changes to the specified destination
- recover roll back an interrupted transaction
- remove remove the specified files on the next commit
- rename rename files; equivalent of copy + remove
- revert revert files or dirs to their states as of some revision
- rollback roll back the last transaction in this repository
- root print the root (top) of the current working dir
- serve export the repository via HTTP
- status show changed files in the working directory
- tag add a tag for the current tip or a given revision
- tags list repository tags
- tip show the tip revision
- unbundle apply a changegroup file
- update update or merge working directory
- verify verify the integrity of the repository
- version output version and copyright information
+ add add the specified files on the next commit
+ addremove add all new files, delete all missing files
+ annotate show changeset information per file line
+ archive create unversioned archive of a repository revision
+ backout reverse effect of earlier changeset
+ bundle create a changegroup file
+ cat output the latest or given revisions of files
+ clone make a copy of an existing repository
+ commit commit the specified files or all outstanding changes
+ copy mark files as copied for the next commit
+ diff diff repository (or selected files)
+ export dump the header and diffs for one or more changesets
+ grep search for a pattern in specified files and revisions
+ heads show current repository heads
+ help show help for a command, extension, or list of commands
+ identify print information about the working copy
+ import import an ordered set of patches
+ incoming show new changesets found in source
+ init create a new repository in the given directory
+ locate locate files matching specific patterns
+ log show revision history of entire repository or files
+ manifest output the latest or given revision of the project manifest
+ merge Merge working directory with another revision
+ outgoing show changesets not found in destination
+ parents show the parents of the working dir or revision
+ paths show definition of symbolic path names
+ pull pull changes from the specified source
+ push push changes to the specified destination
+ recover roll back an interrupted transaction
+ remove remove the specified files on the next commit
+ rename rename files; equivalent of copy + remove
+ revert revert files or dirs to their states as of some revision
+ rollback roll back the last transaction in this repository
+ root print the root (top) of the current working dir
+ serve export the repository via HTTP
+ showconfig show combined config settings from all hgrc files
+ status show changed files in the working directory
+ tag add a tag for the current tip or a given revision
+ tags list repository tags
+ tip show the tip revision
+ unbundle apply a changegroup file
+ update update or merge working directory
+ verify verify the integrity of the repository
+ version output version and copyright information
Mercurial Distributed SCM
list of commands (use "hg help -v" to show aliases and global options):
- add add the specified files on the next commit
- addremove add all new files, delete all missing files
- annotate show changeset information per file line
- archive create unversioned archive of a repository revision
- backout reverse effect of earlier changeset
- bundle create a changegroup file
- cat output the latest or given revisions of files
- clone make a copy of an existing repository
- commit commit the specified files or all outstanding changes
- copy mark files as copied for the next commit
- diff diff repository (or selected files)
- export dump the header and diffs for one or more changesets
- grep search for a pattern in specified files and revisions
- heads show current repository heads
- help show help for a command, extension, or list of commands
- identify print information about the working copy
- import import an ordered set of patches
- incoming show new changesets found in source
- init create a new repository in the given directory
- locate locate files matching specific patterns
- log show revision history of entire repository or files
- manifest output the latest or given revision of the project manifest
- merge Merge working directory with another revision
- outgoing show changesets not found in destination
- parents show the parents of the working dir or revision
- paths show definition of symbolic path names
- pull pull changes from the specified source
- push push changes to the specified destination
- recover roll back an interrupted transaction
- remove remove the specified files on the next commit
- rename rename files; equivalent of copy + remove
- revert revert files or dirs to their states as of some revision
- rollback roll back the last transaction in this repository
- root print the root (top) of the current working dir
- serve export the repository via HTTP
- status show changed files in the working directory
- tag add a tag for the current tip or a given revision
- tags list repository tags
- tip show the tip revision
- unbundle apply a changegroup file
- update update or merge working directory
- verify verify the integrity of the repository
- version output version and copyright information
+ add add the specified files on the next commit
+ addremove add all new files, delete all missing files
+ annotate show changeset information per file line
+ archive create unversioned archive of a repository revision
+ backout reverse effect of earlier changeset
+ bundle create a changegroup file
+ cat output the latest or given revisions of files
+ clone make a copy of an existing repository
+ commit commit the specified files or all outstanding changes
+ copy mark files as copied for the next commit
+ diff diff repository (or selected files)
+ export dump the header and diffs for one or more changesets
+ grep search for a pattern in specified files and revisions
+ heads show current repository heads
+ help show help for a command, extension, or list of commands
+ identify print information about the working copy
+ import import an ordered set of patches
+ incoming show new changesets found in source
+ init create a new repository in the given directory
+ locate locate files matching specific patterns
+ log show revision history of entire repository or files
+ manifest output the latest or given revision of the project manifest
+ merge Merge working directory with another revision
+ outgoing show changesets not found in destination
+ parents show the parents of the working dir or revision
+ paths show definition of symbolic path names
+ pull pull changes from the specified source
+ push push changes to the specified destination
+ recover roll back an interrupted transaction
+ remove remove the specified files on the next commit
+ rename rename files; equivalent of copy + remove
+ revert revert files or dirs to their states as of some revision
+ rollback roll back the last transaction in this repository
+ root print the root (top) of the current working dir
+ serve export the repository via HTTP
+ showconfig show combined config settings from all hgrc files
+ status show changed files in the working directory
+ tag add a tag for the current tip or a given revision
+ tags list repository tags
+ tip show the tip revision
+ unbundle apply a changegroup file
+ update update or merge working directory
+ verify verify the integrity of the repository
+ version output version and copyright information
%% not tested: --debugger
--- a/tests/test-help.out Fri Oct 06 16:55:11 2006 -0500
+++ b/tests/test-help.out Fri Oct 06 17:14:18 2006 -0500
@@ -38,92 +38,94 @@
list of commands (use "hg help -v" to show aliases and global options):
- add add the specified files on the next commit
- addremove add all new files, delete all missing files
- annotate show changeset information per file line
- archive create unversioned archive of a repository revision
- backout reverse effect of earlier changeset
- bundle create a changegroup file
- cat output the latest or given revisions of files
- clone make a copy of an existing repository
- commit commit the specified files or all outstanding changes
- copy mark files as copied for the next commit
- diff diff repository (or selected files)
- export dump the header and diffs for one or more changesets
- grep search for a pattern in specified files and revisions
- heads show current repository heads
- help show help for a command, extension, or list of commands
- identify print information about the working copy
- import import an ordered set of patches
- incoming show new changesets found in source
- init create a new repository in the given directory
- locate locate files matching specific patterns
- log show revision history of entire repository or files
- manifest output the latest or given revision of the project manifest
- merge Merge working directory with another revision
- outgoing show changesets not found in destination
- parents show the parents of the working dir or revision
- paths show definition of symbolic path names
- pull pull changes from the specified source
- push push changes to the specified destination
- recover roll back an interrupted transaction
- remove remove the specified files on the next commit
- rename rename files; equivalent of copy + remove
- revert revert files or dirs to their states as of some revision
- rollback roll back the last transaction in this repository
- root print the root (top) of the current working dir
- serve export the repository via HTTP
- status show changed files in the working directory
- tag add a tag for the current tip or a given revision
- tags list repository tags
- tip show the tip revision
- unbundle apply a changegroup file
- update update or merge working directory
- verify verify the integrity of the repository
- version output version and copyright information
- add add the specified files on the next commit
- addremove add all new files, delete all missing files
- annotate show changeset information per file line
- archive create unversioned archive of a repository revision
- backout reverse effect of earlier changeset
- bundle create a changegroup file
- cat output the latest or given revisions of files
- clone make a copy of an existing repository
- commit commit the specified files or all outstanding changes
- copy mark files as copied for the next commit
- diff diff repository (or selected files)
- export dump the header and diffs for one or more changesets
- grep search for a pattern in specified files and revisions
- heads show current repository heads
- help show help for a command, extension, or list of commands
- identify print information about the working copy
- import import an ordered set of patches
- incoming show new changesets found in source
- init create a new repository in the given directory
- locate locate files matching specific patterns
- log show revision history of entire repository or files
- manifest output the latest or given revision of the project manifest
- merge Merge working directory with another revision
- outgoing show changesets not found in destination
- parents show the parents of the working dir or revision
- paths show definition of symbolic path names
- pull pull changes from the specified source
- push push changes to the specified destination
- recover roll back an interrupted transaction
- remove remove the specified files on the next commit
- rename rename files; equivalent of copy + remove
- revert revert files or dirs to their states as of some revision
- rollback roll back the last transaction in this repository
- root print the root (top) of the current working dir
- serve export the repository via HTTP
- status show changed files in the working directory
- tag add a tag for the current tip or a given revision
- tags list repository tags
- tip show the tip revision
- unbundle apply a changegroup file
- update update or merge working directory
- verify verify the integrity of the repository
- version output version and copyright information
+ add add the specified files on the next commit
+ addremove add all new files, delete all missing files
+ annotate show changeset information per file line
+ archive create unversioned archive of a repository revision
+ backout reverse effect of earlier changeset
+ bundle create a changegroup file
+ cat output the latest or given revisions of files
+ clone make a copy of an existing repository
+ commit commit the specified files or all outstanding changes
+ copy mark files as copied for the next commit
+ diff diff repository (or selected files)
+ export dump the header and diffs for one or more changesets
+ grep search for a pattern in specified files and revisions
+ heads show current repository heads
+ help show help for a command, extension, or list of commands
+ identify print information about the working copy
+ import import an ordered set of patches
+ incoming show new changesets found in source
+ init create a new repository in the given directory
+ locate locate files matching specific patterns
+ log show revision history of entire repository or files
+ manifest output the latest or given revision of the project manifest
+ merge Merge working directory with another revision
+ outgoing show changesets not found in destination
+ parents show the parents of the working dir or revision
+ paths show definition of symbolic path names
+ pull pull changes from the specified source
+ push push changes to the specified destination
+ recover roll back an interrupted transaction
+ remove remove the specified files on the next commit
+ rename rename files; equivalent of copy + remove
+ revert revert files or dirs to their states as of some revision
+ rollback roll back the last transaction in this repository
+ root print the root (top) of the current working dir
+ serve export the repository via HTTP
+ showconfig show combined config settings from all hgrc files
+ status show changed files in the working directory
+ tag add a tag for the current tip or a given revision
+ tags list repository tags
+ tip show the tip revision
+ unbundle apply a changegroup file
+ update update or merge working directory
+ verify verify the integrity of the repository
+ version output version and copyright information
+ add add the specified files on the next commit
+ addremove add all new files, delete all missing files
+ annotate show changeset information per file line
+ archive create unversioned archive of a repository revision
+ backout reverse effect of earlier changeset
+ bundle create a changegroup file
+ cat output the latest or given revisions of files
+ clone make a copy of an existing repository
+ commit commit the specified files or all outstanding changes
+ copy mark files as copied for the next commit
+ diff diff repository (or selected files)
+ export dump the header and diffs for one or more changesets
+ grep search for a pattern in specified files and revisions
+ heads show current repository heads
+ help show help for a command, extension, or list of commands
+ identify print information about the working copy
+ import import an ordered set of patches
+ incoming show new changesets found in source
+ init create a new repository in the given directory
+ locate locate files matching specific patterns
+ log show revision history of entire repository or files
+ manifest output the latest or given revision of the project manifest
+ merge Merge working directory with another revision
+ outgoing show changesets not found in destination
+ parents show the parents of the working dir or revision
+ paths show definition of symbolic path names
+ pull pull changes from the specified source
+ push push changes to the specified destination
+ recover roll back an interrupted transaction
+ remove remove the specified files on the next commit
+ rename rename files; equivalent of copy + remove
+ revert revert files or dirs to their states as of some revision
+ rollback roll back the last transaction in this repository
+ root print the root (top) of the current working dir
+ serve export the repository via HTTP
+ showconfig show combined config settings from all hgrc files
+ status show changed files in the working directory
+ tag add a tag for the current tip or a given revision
+ tags list repository tags
+ tip show the tip revision
+ unbundle apply a changegroup file
+ update update or merge working directory
+ verify verify the integrity of the repository
+ version output version and copyright information
hg add [OPTION]... [FILE]...
add the specified files on the next commit
--- a/tests/test-parse-date Fri Oct 06 16:55:11 2006 -0500
+++ b/tests/test-parse-date Fri Oct 06 17:14:18 2006 -0500
@@ -1,5 +1,6 @@
#!/bin/sh
+# This runs with TZ="GMT"
hg init
echo "test-parse-date" > a
hg add a
@@ -13,4 +14,21 @@
hg ci -d "should fail" -m "fail"
hg ci -d "100000000000000000 1400" -m "fail"
hg ci -d "100000 1400000" -m "fail"
+
+# Check with local timezone other than GMT and with DST
+TZ="PST+8PDT"
+export TZ
+# PST=UTC-8 / PDT=UTC-7
+hg debugrebuildstate
+echo "a" > a
+hg ci -d "2006-07-15 13:30" -m "summer@UTC-7"
+hg debugrebuildstate
+echo "b" > a
+hg ci -d "2006-07-15 13:30 +0500" -m "summer@UTC+5"
+hg debugrebuildstate
+echo "c" > a
+hg ci -d "2006-01-15 13:30" -m "winter@UTC-8"
+hg debugrebuildstate
+echo "d" > a
+hg ci -d "2006-01-15 13:30 +0500" -m "winter@UTC+5"
hg log --template '{date|date}\n'
--- a/tests/test-parse-date.out Fri Oct 06 16:55:11 2006 -0500
+++ b/tests/test-parse-date.out Fri Oct 06 17:14:18 2006 -0500
@@ -3,7 +3,7 @@
merging with changeset 2:e6c3abc120e7
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
-abort: invalid date: 'should fail'
+abort: invalid date: 'should fail' see hg(1) manual page for details
transaction abort!
rollback completed
abort: date exceeds 32 bits: 100000000000000000
@@ -12,6 +12,10 @@
abort: impossible time zone offset: 1400000
transaction abort!
rollback completed
+Sun Jan 15 13:30:00 2006 +0500
+Sun Jan 15 13:30:00 2006 -0800
+Sat Jul 15 13:30:00 2006 +0500
+Sat Jul 15 13:30:00 2006 -0700
Sun Jun 11 00:26:40 2006 -0400
Sat Apr 15 13:30:00 2006 +0200
Sat Apr 15 13:30:00 2006 +0000
--- a/tests/test-ssh Fri Oct 06 16:55:11 2006 -0500
+++ b/tests/test-ssh Fri Oct 06 17:14:18 2006 -0500
@@ -36,6 +36,9 @@
cd ..
+echo "# repo not found error"
+hg clone -e ./dummyssh ssh://user@dummy/nonexistent local
+
echo "# clone remote via stream"
hg clone -e ./dummyssh --uncompressed ssh://user@dummy/remote local-stream 2>&1 | \
sed -e 's/[0-9][0-9.]*/XXX/g' -e 's/[KM]\(B\/sec\)/X\1/'
--- a/tests/test-ssh.out Fri Oct 06 16:55:11 2006 -0500
+++ b/tests/test-ssh.out Fri Oct 06 17:14:18 2006 -0500
@@ -1,4 +1,7 @@
# creating 'remote'
+# repo not found error
+abort: no suitable response from remote hg!
+remote: abort: repository nonexistent not found!
# clone remote via stream
streaming all changes
XXX files to transfer, XXX bytes of data
@@ -77,6 +80,7 @@
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
+Got arguments 1:user@dummy 2:hg -R nonexistent serve --stdio 3: 4: 5:
Got arguments 1:user@dummy 2:hg -R remote serve --stdio 3: 4: 5:
Got arguments 1:user@dummy 2:hg -R remote serve --stdio 3: 4: 5:
Got arguments 1:user@dummy 2:hg -R remote serve --stdio 3: 4: 5: