tests/test-check-code-hg.t
author Patrick Mezard <patrick@mezard.eu>
Sat, 28 Apr 2012 15:01:57 +0200
branchstable
changeset 16536 63c817ea4a70
parent 16485 f48b075ff088
child 16591 46e9ed223d2c
permissions -rw-r--r--
commit: abort on merge with missing files Here is a script illustrating the previous behaviour: The merge brings a new file 'b' from remote $ hg merge 1 --debug searching for copies back to rev 1 unmatched files in other: b resolving manifests overwrite: False, partial: False ancestor: 07f494440405, local: 540395c44225+, remote: 102a90ea7b4a b: remote created -> g updating: b 1/1 files (100.00%) getting b 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) Delete but do not remove b $ rm b $ hg st ! b The commit succeeds $ hg commit -m merge $ hg parents --template "{rev} {desc|firstline} files: {files}\n" 3 merge files: $ hg st ! b b changes were ignored, but even b existence was ignored $ hg manifest a This happens because localrepo.commitctx() checks the input ctx.files(), which is empty for workingctx.files() only returns added, modified or removed entries, and bypass files/manifest updates completely. So the committed revision manifest is the same as its first parent one, not containing the 'b' file. This patch forces the commit to abort in presence of a merge and missing files. test-merge4.t is modified accordingly as it was introduced to check hg was not just terminating with a traceback (5e9e8b8d2629).

  $ check_code="$TESTDIR"/../contrib/check-code.py
  $ cd "$TESTDIR"/..
  $ if hg identify -q > /dev/null; then :
  > else
  >     echo "skipped: not a Mercurial working dir" >&2
  >     exit 80
  > fi
  $ hg manifest | xargs "$check_code" || echo 'FAILURE IS NOT AN OPTION!!!'

  $ hg manifest | xargs "$check_code" --warnings --nolineno --per-file=0 || true
  contrib/check-code.py:0:
   > #    (r'^\s+[^_ \n][^_. \n]+_[^_\n]+\s*=', "don't use underbars in identifiers"),
   warning: line over 80 characters
  contrib/perf.py:0:
   >         except:
   warning: naked except clause
  contrib/perf.py:0:
   >     #timer(lambda: sum(map(len, repo.dirstate.status(m, [], False, False, False))))
   warning: line over 80 characters
  contrib/perf.py:0:
   >     except:
   warning: naked except clause
  contrib/setup3k.py:0:
   >         except:
   warning: naked except clause
  contrib/setup3k.py:0:
   >     except:
   warning: naked except clause
  contrib/setup3k.py:0:
   > except:
   warning: naked except clause
   warning: naked except clause
   warning: naked except clause
  contrib/shrink-revlog.py:0:
   >         except:
   warning: naked except clause
  doc/gendoc.py:0:
   >                "together with Mercurial. Help for other extensions is available "
   warning: line over 80 characters
  hgext/bugzilla.py:0:
   >                 raise util.Abort(_('cannot find bugzilla user id for %s or %s') %
   warning: line over 80 characters
  hgext/bugzilla.py:0:
   >             bzdir = self.ui.config('bugzilla', 'bzdir', '/var/www/html/bugzilla')
   warning: line over 80 characters
  hgext/convert/__init__.py:0:
   >           ('', 'ancestors', '', _('show current changeset in ancestor branches')),
   warning: line over 80 characters
  hgext/convert/bzr.py:0:
   >         except:
   warning: naked except clause
  hgext/convert/common.py:0:
   >             except:
   warning: naked except clause
  hgext/convert/common.py:0:
   >         except:
   warning: naked except clause
   warning: naked except clause
  hgext/convert/convcmd.py:0:
   >         except:
   warning: naked except clause
  hgext/convert/cvs.py:0:
   >                                 # /1 :pserver:user@example.com:2401/cvsroot/foo Ah<Z
   warning: line over 80 characters
  hgext/convert/cvsps.py:0:
   >                     assert len(branches) == 1, 'unknown branch: %s' % e.mergepoint
   warning: line over 80 characters
  hgext/convert/cvsps.py:0:
   >                     ui.write('Ancestors: %s\n' % (','.join(r)))
   warning: unwrapped ui message
  hgext/convert/cvsps.py:0:
   >                     ui.write('Parent: %d\n' % cs.parents[0].id)
   warning: unwrapped ui message
  hgext/convert/cvsps.py:0:
   >                     ui.write('Parents: %s\n' %
   warning: unwrapped ui message
  hgext/convert/cvsps.py:0:
   >                 except:
   warning: naked except clause
  hgext/convert/cvsps.py:0:
   >                 ui.write('Branchpoints: %s \n' % ', '.join(branchpoints))
   warning: unwrapped ui message
  hgext/convert/cvsps.py:0:
   >             ui.write('Author: %s\n' % cs.author)
   warning: unwrapped ui message
  hgext/convert/cvsps.py:0:
   >             ui.write('Branch: %s\n' % (cs.branch or 'HEAD'))
   warning: unwrapped ui message
  hgext/convert/cvsps.py:0:
   >             ui.write('Date: %s\n' % util.datestr(cs.date,
   warning: unwrapped ui message
  hgext/convert/cvsps.py:0:
   >             ui.write('Log:\n')
   warning: unwrapped ui message
  hgext/convert/cvsps.py:0:
   >             ui.write('Members: \n')
   warning: unwrapped ui message
  hgext/convert/cvsps.py:0:
   >             ui.write('PatchSet %d \n' % cs.id)
   warning: unwrapped ui message
  hgext/convert/cvsps.py:0:
   >             ui.write('Tag%s: %s \n' % (['', 's'][len(cs.tags) > 1],
   warning: unwrapped ui message
  hgext/convert/git.py:0:
   >             except:
   warning: naked except clause
  hgext/convert/git.py:0:
   >             fh = self.gitopen('git diff-tree --name-only --root -r %s "%s^%s" --'
   warning: line over 80 characters
  hgext/convert/hg.py:0:
   >             # detect missing revlogs and abort on errors or populate self.ignored
   warning: line over 80 characters
  hgext/convert/hg.py:0:
   >             except:
   warning: naked except clause
   warning: naked except clause
  hgext/convert/hg.py:0:
   >         except:
   warning: naked except clause
  hgext/convert/monotone.py:0:
   >             except:
   warning: naked except clause
  hgext/convert/monotone.py:0:
   >         except:
   warning: naked except clause
  hgext/convert/subversion.py:0:
   >                 raise util.Abort(_('svn: branch has no revision %s') % to_revnum)
   warning: line over 80 characters
  hgext/convert/subversion.py:0:
   >             except:
   warning: naked except clause
  hgext/convert/subversion.py:0:
   >         args = [self.baseurl, relpaths, start, end, limit, discover_changed_paths,
   warning: line over 80 characters
  hgext/convert/subversion.py:0:
   >         self.trunkname = self.ui.config('convert', 'svn.trunk', 'trunk').strip('/')
   warning: line over 80 characters
  hgext/convert/subversion.py:0:
   >     except:
   warning: naked except clause
  hgext/convert/subversion.py:0:
   > def get_log_child(fp, url, paths, start, end, limit=0, discover_changed_paths=True,
   warning: line over 80 characters
  hgext/eol.py:0:
   >     if ui.configbool('eol', 'fix-trailing-newline', False) and s and s[-1] != '\n':
   warning: line over 80 characters
   warning: line over 80 characters
  hgext/gpg.py:0:
   >                 except:
   warning: naked except clause
  hgext/hgcia.py:0:
   > except:
   warning: naked except clause
  hgext/hgk.py:0:
   >         ui.write("%s%s\n" % (prefix, description.replace('\n', nlprefix).strip()))
   warning: line over 80 characters
  hgext/hgk.py:0:
   >         ui.write("parent %s\n" % p)
   warning: unwrapped ui message
  hgext/hgk.py:0:
   >         ui.write('k=%s\nv=%s\n' % (name, value))
   warning: unwrapped ui message
  hgext/hgk.py:0:
   >     ui.write("author %s %s %s\n" % (ctx.user(), int(date[0]), date[1]))
   warning: unwrapped ui message
  hgext/hgk.py:0:
   >     ui.write("branch %s\n\n" % ctx.branch())
   warning: unwrapped ui message
  hgext/hgk.py:0:
   >     ui.write("committer %s %s %s\n" % (committer, int(date[0]), date[1]))
   warning: unwrapped ui message
  hgext/hgk.py:0:
   >     ui.write("revision %d\n" % ctx.rev())
   warning: unwrapped ui message
  hgext/hgk.py:0:
   >     ui.write("tree %s\n" % short(ctx.changeset()[0])) # use ctx.node() instead ??
   warning: line over 80 characters
   warning: unwrapped ui message
  hgext/highlight/__init__.py:0:
   >     extensions.wrapfunction(webcommands, '_filerevision', filerevision_highlight)
   warning: line over 80 characters
  hgext/highlight/__init__.py:0:
   >     return ['/* pygments_style = %s */\n\n' % pg_style, fmter.get_style_defs('')]
   warning: line over 80 characters
  hgext/inotify/__init__.py:0:
   >             if self._inotifyon and not ignored and not subrepos and not self._dirty:
   warning: line over 80 characters
  hgext/inotify/server.py:0:
   >                     except:
   warning: naked except clause
  hgext/inotify/server.py:0:
   >             except:
   warning: naked except clause
  hgext/keyword.py:0:
   >     ui.note("hg ci -m '%s'\n" % msg)
   warning: unwrapped ui message
  hgext/mq.py:0:
   >                     raise util.Abort(_("cannot push --exact with applied patches"))
   warning: line over 80 characters
  hgext/mq.py:0:
   >                     raise util.Abort(_("cannot use --exact and --move together"))
   warning: line over 80 characters
  hgext/mq.py:0:
   >                     self.ui.warn(_('Tag %s overrides mq patch of the same name\n')
   warning: line over 80 characters
  hgext/mq.py:0:
   >                 except:
   warning: naked except clause
   warning: naked except clause
  hgext/mq.py:0:
   >             except:
   warning: naked except clause
   warning: naked except clause
   warning: naked except clause
   warning: naked except clause
  hgext/mq.py:0:
   >             raise util.Abort(_('cannot mix -l/--list with options or arguments'))
   warning: line over 80 characters
  hgext/mq.py:0:
   >             raise util.Abort(_('qfold cannot fold already applied patch %s') % p)
   warning: line over 80 characters
  hgext/mq.py:0:
   >           ('', 'move', None, _('reorder patch series and apply only the patch'))],
   warning: line over 80 characters
  hgext/mq.py:0:
   >           ('U', 'noupdate', None, _('do not update the new working directories')),
   warning: line over 80 characters
  hgext/mq.py:0:
   >           ('e', 'exact', None, _('apply the target patch to its recorded parent')),
   warning: line over 80 characters
  hgext/mq.py:0:
   >         except:
   warning: naked except clause
  hgext/mq.py:0:
   >         ui.write("mq:     %s\n" % ', '.join(m))
   warning: unwrapped ui message
  hgext/mq.py:0:
   >     repo.mq.qseries(repo, missing=opts.get('missing'), summary=opts.get('summary'))
   warning: line over 80 characters
  hgext/notify.py:0:
   >                 ui.note(_('notify: suppressing notification for merge %d:%s\n') %
   warning: line over 80 characters
  hgext/patchbomb.py:0:
   >                                                   binnode, seqno=idx, total=total)
   warning: line over 80 characters
  hgext/patchbomb.py:0:
   >             except:
   warning: naked except clause
  hgext/patchbomb.py:0:
   >             ui.write('Subject: %s\n' % subj)
   warning: unwrapped ui message
  hgext/patchbomb.py:0:
   >         p = mail.mimetextpatch('\n'.join(patchlines), 'x-patch', opts.get('test'))
   warning: line over 80 characters
  hgext/patchbomb.py:0:
   >         ui.write('From: %s\n' % sender)
   warning: unwrapped ui message
  hgext/record.py:0:
   >                                   ignoreblanklines=opts.get('ignore_blank_lines'))
   warning: line over 80 characters
  hgext/record.py:0:
   >                                   ignorewsamount=opts.get('ignore_space_change'),
   warning: line over 80 characters
  hgext/zeroconf/__init__.py:0:
   >             publish(name, desc, path, util.getport(u.config("web", "port", 8000)))
   warning: line over 80 characters
  hgext/zeroconf/__init__.py:0:
   >     except:
   warning: naked except clause
   warning: naked except clause
  mercurial/bundlerepo.py:0:
   >       is a bundlerepo for the obtained bundle when the original "other" is remote.
   warning: line over 80 characters
  mercurial/bundlerepo.py:0:
   >     "local" is a local repo from which to obtain the actual incoming changesets; it
   warning: line over 80 characters
  mercurial/bundlerepo.py:0:
   >     tmp = discovery.findcommonincoming(repo, other, heads=onlyheads, force=force)
   warning: line over 80 characters
  mercurial/commands.py:0:
   >                  "     size " + basehdr + "   link     p1     p2       nodeid\n")
   warning: line over 80 characters
  mercurial/commands.py:0:
   >                 raise util.Abort('cannot use localheads with old style discovery')
   warning: line over 80 characters
  mercurial/commands.py:0:
   >                 ui.note('branch %s\n' % data)
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >                 ui.note('node %s\n' % str(data))
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >                 ui.note('tag %s\n' % name)
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >                 ui.write("unpruned common: %s\n" % " ".join([short(n)
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >                 yield 'n', (r, list(set(p for p in cl.parentrevs(r) if p != -1)))
   warning: line over 80 characters
  mercurial/commands.py:0:
   >                 yield 'n', (r, list(set(p for p in rlog.parentrevs(r) if p != -1)))
   warning: line over 80 characters
  mercurial/commands.py:0:
   >             except:
   warning: naked except clause
  mercurial/commands.py:0:
   >             ui.status(_("(run 'hg heads .' to see heads, 'hg merge' to merge)\n"))
   warning: line over 80 characters
  mercurial/commands.py:0:
   >             ui.write("format: id, p1, p2, cset, delta base, len(delta)\n")
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >             ui.write("local is subset\n")
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >             ui.write("remote is subset\n")
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >             ui.write('    other            : ' + fmt2 % pcfmt(numoprev, numprev))
   warning: line over 80 characters
  mercurial/commands.py:0:
   >             ui.write('    where prev = p1  : ' + fmt2 % pcfmt(nump1prev, numprev))
   warning: line over 80 characters
  mercurial/commands.py:0:
   >             ui.write('    where prev = p2  : ' + fmt2 % pcfmt(nump2prev, numprev))
   warning: line over 80 characters
  mercurial/commands.py:0:
   >             ui.write('deltas against other : ' + fmt % pcfmt(numother, numdeltas))
   warning: line over 80 characters
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >             ui.write('deltas against p1    : ' + fmt % pcfmt(nump1, numdeltas))
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >             ui.write('deltas against p2    : ' + fmt % pcfmt(nump2, numdeltas))
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >         cmd, ext, mod = extensions.disabledcmd(ui, name, ui.config('ui', 'strict'))
   warning: line over 80 characters
  mercurial/commands.py:0:
   >         except:
   warning: naked except clause
  mercurial/commands.py:0:
   >         revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev'))
   warning: line over 80 characters
  mercurial/commands.py:0:
   >         ui.write("common heads: %s\n" % " ".join([short(n) for n in common]))
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >         ui.write("match: %s\n" % m(d[0]))
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >         ui.write('deltas against prev  : ' + fmt % pcfmt(numprev, numdeltas))
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >         ui.write('path %s\n' % k)
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >         ui.write('uncompressed data size (min/max/avg) : %d / %d / %d\n'
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     Every ID must be a full-length hex node id string. Returns a list of 0s and 1s
   warning: line over 80 characters
  mercurial/commands.py:0:
   >     remoteurl, branches = hg.parseurl(ui.expandpath(remoteurl), opts.get('branch'))
   warning: line over 80 characters
  mercurial/commands.py:0:
   >     ui.write("digraph G {\n")
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     ui.write("internal: %s %s\n" % d)
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     ui.write("standard: %s\n" % util.datestr(d))
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     ui.write('avg chain length  : ' + fmt % avgchainlen)
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     ui.write('case-sensitive: %s\n' % (util.checkcase('.debugfsinfo')
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     ui.write('compression ratio : ' + fmt % compratio)
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     ui.write('delta size (min/max/avg)             : %d / %d / %d\n'
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     ui.write('exec: %s\n' % (util.checkexec(path) and 'yes' or 'no'))
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     ui.write('flags  : %s\n' % ', '.join(flags))
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     ui.write('format : %d\n' % format)
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     ui.write('full revision size (min/max/avg)     : %d / %d / %d\n'
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     ui.write('revision size : ' + fmt2 % totalsize)
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     ui.write('revisions     : ' + fmt2 % numrevs)
   warning: unwrapped ui message
   warning: unwrapped ui message
  mercurial/commands.py:0:
   >     ui.write('symlink: %s\n' % (util.checklink(path) and 'yes' or 'no'))
   warning: unwrapped ui message
  mercurial/commandserver.py:0:
   >         # the ui here is really the repo ui so take its baseui so we don't end up
   warning: line over 80 characters
  mercurial/context.py:0:
   >                 return self._manifestdelta[path], self._manifestdelta.flags(path)
   warning: line over 80 characters
  mercurial/dagparser.py:0:
   >             raise util.Abort(_("invalid character in dag description: %s...") % s)
   warning: line over 80 characters
  mercurial/dagparser.py:0:
   >         >>> dagtext([('n', (0, [-1])), ('C', 'my command line'), ('n', (1, [0]))])
   warning: line over 80 characters
  mercurial/dirstate.py:0:
   >                 if not st is None and not getkind(st.st_mode) in (regkind, lnkkind):
   warning: line over 80 characters
  mercurial/discovery.py:0:
   >     If onlyheads is given, only nodes ancestral to nodes in onlyheads (inclusive)
   warning: line over 80 characters
  mercurial/discovery.py:0:
   > def findcommonoutgoing(repo, other, onlyheads=None, force=False, commoninc=None):
   warning: line over 80 characters
  mercurial/dispatch.py:0:
   >                                                 " (.hg not found)") % os.getcwd())
   warning: line over 80 characters
  mercurial/dispatch.py:0:
   >         aliases, entry = cmdutil.findcmd(cmd, cmdtable, lui.config("ui", "strict"))
   warning: line over 80 characters
  mercurial/dispatch.py:0:
   >         except:
   warning: naked except clause
  mercurial/dispatch.py:0:
   >         return lambda: runcommand(lui, None, cmd, args[:1], ui, options, d, [], {})
   warning: line over 80 characters
  mercurial/dispatch.py:0:
   >     def __init__(self, args, ui=None, repo=None, fin=None, fout=None, ferr=None):
   warning: line over 80 characters
  mercurial/dispatch.py:0:
   >     except:
   warning: naked except clause
  mercurial/hg.py:0:
   >     except:
   warning: naked except clause
  mercurial/hgweb/hgweb_mod.py:0:
   >             self.maxshortchanges = int(self.config("web", "maxshortchanges", 60))
   warning: line over 80 characters
  mercurial/keepalive.py:0:
   >         except:
   warning: naked except clause
  mercurial/keepalive.py:0:
   >     except:
   warning: naked except clause
  mercurial/localrepo.py:0:
   >                         # we return an integer indicating remote head count change
   warning: line over 80 characters
  mercurial/localrepo.py:0:
   >                     raise util.Abort(_("empty or missing revlog for %s") % fname)
   warning: line over 80 characters
   warning: line over 80 characters
  mercurial/localrepo.py:0:
   >                 if self._tagscache.tagtypes and name in self._tagscache.tagtypes:
   warning: line over 80 characters
  mercurial/localrepo.py:0:
   >                 self.hook("precommit", throw=True, parent1=hookp1, parent2=hookp2)
   warning: line over 80 characters
  mercurial/localrepo.py:0:
   >             # new requirements = old non-format requirements + new format-related
   warning: line over 80 characters
  mercurial/localrepo.py:0:
   >             except:
   warning: naked except clause
  mercurial/localrepo.py:0:
   >         """return status of files between two nodes or node and working directory
   warning: line over 80 characters
  mercurial/localrepo.py:0:
   >         '''Returns a tagscache object that contains various tags related caches.'''
   warning: line over 80 characters
  mercurial/manifest.py:0:
   >             return "".join(struct.pack(">lll", start, end, len(content)) + content
   warning: line over 80 characters
  mercurial/merge.py:0:
   >                 subrepo.submerge(repo, wctx, mctx, wctx.ancestor(mctx), overwrite)
   warning: line over 80 characters
  mercurial/patch.py:0:
   >                  modified, added, removed, copy, getfilectx, opts, losedata, prefix)
   warning: line over 80 characters
  mercurial/patch.py:0:
   >         diffhelpers.addlines(lr, self.hunk, self.lena, self.lenb, self.a, self.b)
   warning: line over 80 characters
  mercurial/patch.py:0:
   >         output.append(_(' %d files changed, %d insertions(+), %d deletions(-)\n')
   warning: line over 80 characters
  mercurial/patch.py:0:
   >     except:
   warning: naked except clause
  mercurial/pure/base85.py:0:
   >             raise OverflowError('Base85 overflow in hunk starting at byte %d' % i)
   warning: line over 80 characters
  mercurial/pure/mpatch.py:0:
   >         frags.extend(reversed(new))                    # what was left at the end
   warning: line over 80 characters
  mercurial/repair.py:0:
   >         except:
   warning: naked except clause
  mercurial/repair.py:0:
   >     except:
   warning: naked except clause
  mercurial/revset.py:0:
   >         elif c.isalnum() or c in '._' or ord(c) > 127: # gather up a symbol/keyword
   warning: line over 80 characters
  mercurial/revset.py:0:
   >     Changesets that are the Nth ancestor (first parents only) of a changeset in set.
   warning: line over 80 characters
  mercurial/scmutil.py:0:
   >                         raise util.Abort(_("path '%s' is inside nested repo %r") %
   warning: line over 80 characters
  mercurial/scmutil.py:0:
   >             "requires features '%s' (upgrade Mercurial)") % "', '".join(missings))
   warning: line over 80 characters
  mercurial/scmutil.py:0:
   >         elif repo.dirstate[abs] != 'r' and (not good or not os.path.lexists(target)
   warning: line over 80 characters
  mercurial/setdiscovery.py:0:
   >     # treat remote heads (and maybe own heads) as a first implicit sample response
   warning: line over 80 characters
  mercurial/setdiscovery.py:0:
   >     undecided = dag.nodeset() # own nodes where I don't know if remote knows them
   warning: line over 80 characters
  mercurial/similar.py:0:
   >         repo.ui.progress(_('searching for similar files'), i, total=len(removed))
   warning: line over 80 characters
  mercurial/simplemerge.py:0:
   >         for zmatch, zend, amatch, aend, bmatch, bend in self.find_sync_regions():
   warning: line over 80 characters
  mercurial/sshrepo.py:0:
   >             self._abort(error.RepoError(_("no suitable response from remote hg")))
   warning: line over 80 characters
  mercurial/sshrepo.py:0:
   >         except:
   warning: naked except clause
  mercurial/subrepo.py:0:
   >                 other, self._repo = hg.clone(self._repo._subparent.ui, {}, other,
   warning: line over 80 characters
  mercurial/subrepo.py:0:
   >         msg = (_(' subrepository sources for %s differ (in checked out version)\n'
   warning: line over 80 characters
  mercurial/transaction.py:0:
   >             except:
   warning: naked except clause
  mercurial/ui.py:0:
   >                 traceback.print_exception(exc[0], exc[1], exc[2], file=self.ferr)
   warning: line over 80 characters
  mercurial/url.py:0:
   >             conn = httpsconnection(host, port, keyfile, certfile, *args, **kwargs)
   warning: line over 80 characters
  mercurial/util.py:0:
   >             except:
   warning: naked except clause
  mercurial/util.py:0:
   >     except:
   warning: naked except clause
  mercurial/verify.py:0:
   >                     except:
   warning: naked except clause
  mercurial/verify.py:0:
   >                 except:
   warning: naked except clause
  mercurial/wireproto.py:0:
   >         # Assuming the future to be filled with the result from the batched request
   warning: line over 80 characters
  mercurial/wireproto.py:0:
   >         '''remote must support _submitbatch(encbatch) and _submitone(op, encargs)'''
   warning: line over 80 characters
  mercurial/wireproto.py:0:
   >     All methods invoked on instances of this class are simply queued and return a
   warning: line over 80 characters
  mercurial/wireproto.py:0:
   >     The decorator returns a function which wraps this coroutine as a plain method,
   warning: line over 80 characters
  setup.py:0:
   >                 raise SystemExit("Python headers are required to build Mercurial")
   warning: line over 80 characters
  setup.py:0:
   >         except:
   warning: naked except clause
  setup.py:0:
   >     # build_py), it will not find osutil & friends, thinking that those modules are
   warning: line over 80 characters
  setup.py:0:
   >     except:
   warning: naked except clause
   warning: naked except clause
  setup.py:0:
   >     isironpython = platform.python_implementation().lower().find("ironpython") != -1
   warning: line over 80 characters
  setup.py:0:
   > except:
   warning: naked except clause
   warning: naked except clause
   warning: naked except clause
  tests/autodiff.py:0:
   >         ui.write('data lost for: %s\n' % fn)
   warning: unwrapped ui message
  tests/run-tests.py:0:
   >     except:
   warning: naked except clause
  tests/test-commandserver.py:0:
   >                         'hooks.pre-identify=python:test-commandserver.hook', 'id'],
   warning: line over 80 characters
  tests/test-commandserver.py:0:
   >     # the cached repo local hgrc contains ui.foo=bar, so showconfig should show it
   warning: line over 80 characters
  tests/test-commandserver.py:0:
   >     print '%c, %r' % (ch, re.sub('encoding: [a-zA-Z0-9-]+', 'encoding: ***', data))
   warning: line over 80 characters
  tests/test-filecache.py:0:
   >     except:
   warning: naked except clause
  tests/test-filecache.py:0:
   > if subprocess.call(['python', '%s/hghave' % os.environ['TESTDIR'], 'cacheable']):
   warning: line over 80 characters
  tests/test-ui-color.py:0:
   > testui.warn('warning\n')
   warning: unwrapped ui message
  tests/test-ui-color.py:0:
   > testui.write('buffered\n')
   warning: unwrapped ui message
  tests/test-walkrepo.py:0:
   >         print "Found %d repositories when I should have found 2" % (len(reposet),)
   warning: line over 80 characters
  tests/test-walkrepo.py:0:
   >         print "Found %d repositories when I should have found 3" % (len(reposet),)
   warning: line over 80 characters