view tests/test-check-pyflakes.t @ 22197:f72d73937853

largefiles: update lfdirstate for unchanged largefiles during linear merging Before this patch, linear merging of modified largefiles causes an unexpected result, if (1) largefile collides with same-name normal one in the target revision and (2) "local" largefile is chosen, even though branch merging between such revisions works correctly. Expected result of such linear merging is marking the largefile as (re-)"added", but the actual result is marking it as "modified". The standin of modified "local largefile" is not changed by linear merging, and updating/merging update lfdirstate entries only for largefiles of which standins are changed. This patch adds the code path to update lfdirstate only for largefiles of which standins are not changed. In this case, "synclfdirstate" should be invoked with True as "normallookup" argument always to force using "normallookup" on dirstate for "n" files, because "normal" may mark target files as "clean" unexpectedly. To reduce cost of "lfile not in filelist", this patch converts "filelist" to a "set" object: "filelist" is used only in (1) the newly added code path and (2) the next line of "filelist = set(filelist)". This is a temporary way to fix with less changes. For fundamental resolution of this kind of problems in the future, "lfdirstate" should be updated with "dirstate" simultaneously during "merge.update" execution: maybe by hooking "recordupdates" (+ total refactoring around lfdirstate handling)
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Fri, 15 Aug 2014 20:28:51 +0900
parents 4354b1e35f53
children 77142de48ae4
line wrap: on
line source

#require test-repo pyflakes

  $ cd "`dirname "$TESTDIR"`"

run pyflakes on all tracked files ending in .py or without a file ending
(skipping binary file random-seed)

  $ hg locate 'set:**.py or grep("^!#.*python")' 2>/dev/null \
  > | xargs pyflakes 2>/dev/null | "$TESTDIR/filterpyflakes.py"
  contrib/win32/hgwebdir_wsgi.py:*: 'win32traceutil' imported but unused (glob)
  setup.py:*: 'sha' imported but unused (glob)
  setup.py:*: 'zlib' imported but unused (glob)
  setup.py:*: 'bz2' imported but unused (glob)
  setup.py:*: 'py2exe' imported but unused (glob)
  tests/hghave.py:*: '_lsprof' imported but unused (glob)
  tests/hghave.py:*: 'publish_cmdline' imported but unused (glob)
  tests/hghave.py:*: 'pygments' imported but unused (glob)
  tests/hghave.py:*: 'ssl' imported but unused (glob)
  contrib/win32/hgwebdir_wsgi.py:93: 'from isapi.install import *' used; unable to detect undefined names (glob)
  tests/filterpyflakes.py:58: undefined name 'undefinedname'