# HG changeset patch # User Dirkjan Ochtman # Date 1225276772 -3600 # Node ID ddab62b2fec47fd89755bc15f8bbda68a404cefe # Parent 9c399c53469d7091c0ab338c826e15f2bc25c0b7# Parent 45495d784ad6fc7f0fb032f066ab6439cc5a59dc merge with mpm diff -r 45495d784ad6 -r ddab62b2fec4 hgext/bookmarks.py --- a/hgext/bookmarks.py Tue Sep 16 17:51:14 2008 +0200 +++ b/hgext/bookmarks.py Wed Oct 29 11:39:32 2008 +0100 @@ -130,13 +130,13 @@ srev = changelog.rev(node) tostrip = [srev] saveheads = [] - for r in xrange(srev, changelog.rev(changelog.tip()) + 1): + for r in xrange(srev, len(changelog)): parents = changelog.parentrevs(r) if parents[0] in tostrip or parents[1] in tostrip: tostrip.append(r) if parents[1] != nullrev: for p in parents: - if p not in tostrip and p > striprev: + if p not in tostrip and p > srev: saveheads.append(p) return [r for r in tostrip if r not in saveheads] @@ -150,7 +150,7 @@ for mark, n in marks.items(): if repo.changelog.rev(n) in revisions: update.append(mark) - result = oldstrip(ui, repo, node, backup) + oldstrip(ui, repo, node, backup) if len(update) > 0: for m in update: marks[m] = repo.changectx('.').node() diff -r 45495d784ad6 -r ddab62b2fec4 hgext/bugzilla.py --- a/hgext/bugzilla.py Tue Sep 16 17:51:14 2008 +0200 +++ b/hgext/bugzilla.py Wed Oct 29 11:39:32 2008 +0100 @@ -88,7 +88,7 @@ self.ui.note(_('query: %s %s\n') % (args, kwargs)) try: self.cursor.execute(*args, **kwargs) - except MySQLdb.MySQLError, err: + except MySQLdb.MySQLError: self.ui.note(_('failed query: %s %s\n') % (args, kwargs)) raise diff -r 45495d784ad6 -r ddab62b2fec4 hgext/convert/cvsps.py --- a/hgext/convert/cvsps.py Tue Sep 16 17:51:14 2008 +0200 +++ b/hgext/convert/cvsps.py Wed Oct 29 11:39:32 2008 +0100 @@ -8,7 +8,6 @@ import os import re -import sys import cPickle as pickle from mercurial import util from mercurial.i18n import _ diff -r 45495d784ad6 -r ddab62b2fec4 hgext/graphlog.py --- a/hgext/graphlog.py Tue Sep 16 17:51:14 2008 +0200 +++ b/hgext/graphlog.py Wed Oct 29 11:39:32 2008 +0100 @@ -87,7 +87,6 @@ """ assert start_rev >= stop_rev - curr_rev = start_rev revs = [] filerev = len(repo.file(path)) - 1 while filerev >= 0: diff -r 45495d784ad6 -r ddab62b2fec4 hgext/inotify/client.py --- a/hgext/inotify/client.py Tue Sep 16 17:51:14 2008 +0200 +++ b/hgext/inotify/client.py Wed Oct 29 11:39:32 2008 +0100 @@ -9,7 +9,7 @@ from mercurial.i18n import _ from mercurial import ui import common -import os, select, socket, stat, struct, sys +import os, socket, struct def query(ui, repo, names, match, ignored, clean, unknown=True): sock = socket.socket(socket.AF_UNIX) diff -r 45495d784ad6 -r ddab62b2fec4 hgext/inotify/server.py --- a/hgext/inotify/server.py Tue Sep 16 17:51:14 2008 +0200 +++ b/hgext/inotify/server.py Wed Oct 29 11:39:32 2008 +0100 @@ -402,7 +402,7 @@ ret = st.st_mode, st.st_size, st.st_mtime self.statcache[wpath] = ret return ret - except OSError, err: + except OSError: self.statcache.pop(wpath, None) raise @@ -413,7 +413,7 @@ st = self.stat(wpath) if stat.S_ISREG(st[0]): self.updatestatus(wpath, st) - except OSError, err: + except OSError: pass def modified(self, wpath): diff -r 45495d784ad6 -r ddab62b2fec4 hgext/mq.py --- a/hgext/mq.py Tue Sep 16 17:51:14 2008 +0200 +++ b/hgext/mq.py Wed Oct 29 11:39:32 2008 +0100 @@ -185,7 +185,6 @@ patchguards = self.series_guards[idx] if not patchguards: return True, None - default = False guards = self.active() exactneg = [g for g in patchguards if g[0] == '-' and g[1:] in guards] if exactneg: @@ -707,7 +706,7 @@ except: repo.rollback() raise - except Exception, inst: + except Exception: patchpath = self.join(patchfn) try: os.unlink(patchpath) diff -r 45495d784ad6 -r ddab62b2fec4 hgext/purge.py --- a/hgext/purge.py Tue Sep 16 17:51:14 2008 +0200 +++ b/hgext/purge.py Wed Oct 29 11:39:32 2008 +0100 @@ -65,7 +65,7 @@ if act: try: remove_func(os.path.join(repo.root, name)) - except OSError, e: + except OSError: m = _('%s cannot be removed') % name if opts['abort_on_err']: raise util.Abort(m) diff -r 45495d784ad6 -r ddab62b2fec4 hgext/rebase.py --- a/hgext/rebase.py Tue Sep 16 17:51:14 2008 +0200 +++ b/hgext/rebase.py Wed Oct 29 11:39:32 2008 +0100 @@ -48,7 +48,7 @@ If a rebase is interrupted to manually resolve a merge, it can be continued with --continue or aborted with --abort. """ - originalwd = target = source = None + originalwd = target = None external = nullrev state = skipped = {} diff -r 45495d784ad6 -r ddab62b2fec4 hgext/transplant.py --- a/hgext/transplant.py Tue Sep 16 17:51:14 2008 +0200 +++ b/hgext/transplant.py Wed Oct 29 11:39:32 2008 +0100 @@ -455,14 +455,6 @@ If a changeset application fails, you can fix the merge by hand and then resume where you left off by calling hg transplant --continue. ''' - def getoneitem(opts, item, errmsg): - val = opts.get(item) - if val: - if len(val) > 1: - raise util.Abort(errmsg) - else: - return val[0] - def getremotechanges(repo, url): sourcerepo = ui.expandpath(url) source = hg.repository(ui, sourcerepo) diff -r 45495d784ad6 -r ddab62b2fec4 hgext/zeroconf/__init__.py --- a/hgext/zeroconf/__init__.py Tue Sep 16 17:51:14 2008 +0200 +++ b/hgext/zeroconf/__init__.py Wed Oct 29 11:39:32 2008 +0100 @@ -82,13 +82,11 @@ class hgwebdirzc(hgwebdir_mod.hgwebdir): def run(self): - print os.environ for r, p in self.repos: u = ui.ui(parentui=self.parentui) - u.readconfig(os.path.join(path, '.hg', 'hgrc')) + u.readconfig(os.path.join(p, '.hg', 'hgrc')) n = os.path.basename(r) - desc = u.config("web", "description", n) - publish(n, "hgweb", p, int(repo.ui.config("web", "port", 8000))) + publish(n, "hgweb", p, int(u.config("web", "port", 8000))) return super(hgwebdirzc, self).run() # listen diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/cmdutil.py --- a/mercurial/cmdutil.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/cmdutil.py Wed Oct 29 11:39:32 2008 +0100 @@ -1154,7 +1154,6 @@ if pats: modified, added, removed = repo.status(match=m)[:3] files = util.sort(modified + added + removed) - slist = None def is_dir(f): name = f + '/' diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/commands.py --- a/mercurial/commands.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/commands.py Wed Oct 29 11:39:32 2008 +0100 @@ -11,7 +11,7 @@ import os, re, sys import hg, util, revlog, bundlerepo, extensions, copies import difflib, patch, time, help, mdiff, tempfile, url -import version, socket +import version import archival, changegroup, cmdutil, hgweb.server, sshserver, hbisect import merge as merge_ diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/dirstate.py --- a/mercurial/dirstate.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/dirstate.py Wed Oct 29 11:39:32 2008 +0100 @@ -441,7 +441,6 @@ normalize = self.normalize listdir = osutil.listdir lstat = os.lstat - pconvert = util.pconvert getkind = stat.S_IFMT dirkind = stat.S_IFDIR regkind = stat.S_IFREG @@ -536,9 +535,6 @@ lookup, modified, added, unknown, ignored = [], [], [], [], [] removed, deleted, clean = [], [], [] - _join = self._join - lstat = os.lstat - cmap = self._copymap dmap = self._map ladd = lookup.append madd = modified.append diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/dispatch.py --- a/mercurial/dispatch.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/dispatch.py Wed Oct 29 11:39:32 2008 +0100 @@ -374,7 +374,7 @@ def checkargs(): try: return cmdfunc() - except TypeError, inst: + except TypeError: # was this an argument error? tb = traceback.extract_tb(sys.exc_info()[2]) if len(tb) != 2: # no diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/graphmod.py --- a/mercurial/graphmod.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/graphmod.py Wed Oct 29 11:39:32 2008 +0100 @@ -35,8 +35,6 @@ new_color = 1 while curr_rev >= stop_rev: - node = cl.node(curr_rev) - # Compute revs and next_revs if curr_rev not in revs: revs.append(curr_rev) # new head diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/hg.py --- a/mercurial/hg.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/hg.py Wed Oct 29 11:39:32 2008 +0100 @@ -256,7 +256,6 @@ def update(repo, node): """update the working directory to node, merging linear changes""" - pl = repo.parents() stats = _merge.update(repo, node, False, False, None) _showstats(repo, stats) if stats[3]: @@ -274,7 +273,6 @@ stats = _merge.update(repo, node, True, force, False) _showstats(repo, stats) if stats[3]: - pl = repo.parents() repo.ui.status(_("use 'hg resolve' to retry unresolved file merges\n")) elif remind: repo.ui.status(_("(branch merge, don't forget to commit)\n")) diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/hgweb/common.py --- a/mercurial/hgweb/common.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/hgweb/common.py Wed Oct 29 11:39:32 2008 +0100 @@ -53,12 +53,17 @@ """ parts = fname.split('/') - path = directory for part in parts: if (part in ('', os.curdir, os.pardir) or os.sep in part or os.altsep is not None and os.altsep in part): return "" - path = os.path.join(path, part) + fpath = os.path.join(*parts) + if isinstance(directory, str): + directory = [directory] + for d in directory: + path = os.path.join(d, fpath) + if os.path.exists(path): + break try: os.stat(path) ct = mimetypes.guess_type(path)[0] or "text/plain" diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/hgweb/hgweb_mod.py --- a/mercurial/hgweb/hgweb_mod.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/hgweb/hgweb_mod.py Wed Oct 29 11:39:32 2008 +0100 @@ -141,15 +141,16 @@ else: 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'] = ['/'.join(args)] + else: + 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': + if cmd == 'archive': fn = req.form['node'][0] for type_, spec in self.archive_specs.iteritems(): ext = spec[2] diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/hgweb/protocol.py --- a/mercurial/hgweb/protocol.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/hgweb/protocol.py Wed Oct 29 11:39:32 2008 +0100 @@ -9,7 +9,7 @@ from mercurial import util, streamclone from mercurial.node import bin, hex from mercurial import changegroup as changegroupmod -from common import HTTP_OK, HTTP_NOT_FOUND, HTTP_SERVER_ERROR +from common import ErrorResponse, HTTP_OK, HTTP_NOT_FOUND, HTTP_SERVER_ERROR # __all__ is populated with the allowed commands. Be sure to add to it if # you're adding a new command, or the new command won't work. diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/hgweb/server.py --- a/mercurial/hgweb/server.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/hgweb/server.py Wed Oct 29 11:39:32 2008 +0100 @@ -66,7 +66,7 @@ def do_POST(self): try: self.do_write() - except StandardError, inst: + except StandardError: self._start_response("500 Internal Server Error", []) self._write("Internal Server Error") tb = "".join(traceback.format_exception(*sys.exc_info())) diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/hgweb/webcommands.py --- a/mercurial/hgweb/webcommands.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/hgweb/webcommands.py Wed Oct 29 11:39:32 2008 +0100 @@ -59,8 +59,6 @@ def _filerevision(web, tmpl, fctx): f = fctx.path() text = fctx.data() - fl = fctx.filelog() - n = fctx.filenode() parity = paritygen(web.stripecount) if binary(text): @@ -420,7 +418,7 @@ fctx, ctx = None, None try: fctx = webutil.filectx(web.repo, req) - except LookupError, inst: + except LookupError: ctx = webutil.changectx(web.repo, req) path = webutil.cleanpath(web.repo, req.form['file'][0]) if path not in ctx.files(): @@ -458,8 +456,6 @@ def annotate(web, req, tmpl): fctx = webutil.filectx(web.repo, req) f = fctx.path() - n = fctx.filenode() - fl = fctx.filelog() parity = paritygen(web.stripecount) def annotate(**map): @@ -520,7 +516,6 @@ for i in xrange(start, end): ctx = fctx.filectx(i) - n = fl.node(i) l.insert(0, {"parity": parity.next(), "filerev": i, @@ -588,10 +583,7 @@ tp = web.templatepath if isinstance(tp, str): tp = [tp] - for path in tp: - static = os.path.join(path, 'static') - if os.path.isdir(static): - break + static = [os.path.join(p, 'static') for p in tp] return [staticfile(static, fname, req)] def graph(web, req, tmpl): diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/hook.py --- a/mercurial/hook.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/hook.py Wed Oct 29 11:39:32 2008 +0100 @@ -39,7 +39,7 @@ try: for p in funcname.split('.')[1:]: obj = getattr(obj, p) - except AttributeError, err: + except AttributeError: raise util.Abort(_('%s hook is invalid ' '("%s" is not defined)') % (hname, funcname)) diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/httprepo.py --- a/mercurial/httprepo.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/httprepo.py Wed Oct 29 11:39:32 2008 +0100 @@ -9,7 +9,7 @@ from node import bin, hex, nullid from i18n import _ import repo, os, urllib, urllib2, urlparse, zlib, util, httplib -import errno, keepalive, socket, changegroup, statichttprepo +import errno, socket, changegroup, statichttprepo import url def zgenerator(f): @@ -17,7 +17,7 @@ try: for chunk in util.filechunkiter(f): yield zd.decompress(chunk) - except httplib.HTTPException, inst: + except httplib.HTTPException: raise IOError(None, _('connection ended unexpectedly')) yield zd.flush() @@ -215,7 +215,7 @@ class httpsrepository(httprepository): def __init__(self, ui, path): - if not has_https: + if not url.has_https: raise util.Abort(_('Python support for SSL and HTTPS ' 'is not installed')) httprepository.__init__(self, ui, path) diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/simplemerge.py --- a/mercurial/simplemerge.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/simplemerge.py Wed Oct 29 11:39:32 2008 +0100 @@ -432,7 +432,6 @@ basetext = readfile(base) othertext = readfile(other) - orig = local local = os.path.realpath(local) if not opts.get('print'): opener = util.opener(os.path.dirname(local)) diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/store.py --- a/mercurial/store.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/store.py Wed Oct 29 11:39:32 2008 +0100 @@ -154,7 +154,6 @@ '''yields (unencoded, encoded, size)''' path = self.pathjoiner(self.path, relpath) striplen = len(self.path) + len(os.sep) - prefix = path[striplen:] l = [] if os.path.isdir(path): visit = [path] diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/streamclone.py --- a/mercurial/streamclone.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/streamclone.py Wed Oct 29 11:39:32 2008 +0100 @@ -51,7 +51,7 @@ total_bytes += size finally: del l - except (lock.LockHeld, lock.LockUnavailable), inst: + except (lock.LockHeld, lock.LockUnavailable): raise StreamException(2) yield '0\n' diff -r 45495d784ad6 -r ddab62b2fec4 mercurial/url.py --- a/mercurial/url.py Tue Sep 16 17:51:14 2008 +0200 +++ b/mercurial/url.py Wed Oct 29 11:39:32 2008 +0100 @@ -250,7 +250,12 @@ scheme, netloc, urlpath, query, frag = urlparse.urlsplit(path) if not urlpath: urlpath = '/' - urlpath = quotepath(urlpath) + if scheme != 'file': + # XXX: why are we quoting the path again with some smart + # heuristic here? Anyway, it cannot be done with file:// + # urls since path encoding is os/fs dependent (see + # urllib.pathname2url() for details). + urlpath = quotepath(urlpath) host, port, user, passwd = netlocsplit(netloc) # urllib cannot handle URLs with embedded user or passwd @@ -293,10 +298,17 @@ opener.addheaders.append(('Accept', 'application/mercurial-0.1')) return opener +scheme_re = re.compile(r'^([a-zA-Z0-9+-.]+)://') + def open(ui, url, data=None): - scheme = urlparse.urlsplit(url)[0] + scheme = None + m = scheme_re.search(url) + if m: + scheme = m.group(1).lower() if not scheme: - url, authinfo = 'file://' + util.normpath(os.path.abspath(url)), None + path = util.normpath(os.path.abspath(url)) + url = 'file://' + urllib.pathname2url(path) + authinfo = None else: url, authinfo = getauthinfo(url) return opener(ui, authinfo).open(url, data) diff -r 45495d784ad6 -r ddab62b2fec4 templates/static/style-coal.css --- a/templates/static/style-coal.css Tue Sep 16 17:51:14 2008 +0200 +++ b/templates/static/style-coal.css Wed Oct 29 11:39:32 2008 +0100 @@ -17,10 +17,6 @@ border-bottom: 15px solid black; } -#.main { - width:98%; -} - .overflow { width: 100%; overflow: auto; @@ -39,11 +35,6 @@ right: 27px; } -#.menu { - position: absolute !important; - top:expression(eval(document.body.scrollTop + 27)); -} - .menu ul { list-style: none; padding: 0;