view tox.ini @ 6476:8b7c0ef62427

search: make "repository:" condition work case-insensitively as expected Before this revision, "repository:" condition at searching for "Commit messages" never shows revisions in a repository, of which name uses upper case letter. Using ID for "repository" of CHGSETS_SCHEMA preserves case of repository name at indexing. On the other hand, search condition itself is forcibly lowered before parsing. - files in repository "FOO" is indexed as "FOO" in "repository" field - "repository:FOO" condition is treated as "repository:foo: Then, indexing search itself is executed case-sensitively. Therefore, "repository:FOO" condition never show revisions in repository "FOO". But just making "repository" of CHGSETS_SCHEMA case-insensitive isn't reasonable enough, because it breaks assumptions below, if there is case-insensitive name collision between repositories, even though Kallithea itself can manage such repositories at same time. - combination of "raw_id" (= revision hash ID) and "repository" is unique between all known revisions under Kallithea CHGSETS_SCHEMA assumes this. This unique-ness is required by Whoosh library to determine whether index table should be updated or not for that repository. - searching in a repository shows only revisions in that repository Before this revision, this filtering is achieve by "repository:" condition with case-preserved repository name from requested URL. To make "repository:" search condition work case-insensitively as expected (without any violation of assumptions above), this revision does: - make "repository" of CHGSETS_SCHEMA case-insensitive by "analyzer=ICASEIDANALYZER" - introduce "repository_rawname" into SCHEMA and CHGSETS_SCHEMA, to ensure assumptions described above, by preserving case of repository name "repository_rawname" of SCHEMA uses not ID but TEXT, because the former disable "positions" feature, which is required for highlight-ing file content (see previous revision for detail). This revision requires full re-building index tables, because indexing schemas are changed.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Mon, 23 Jan 2017 02:17:38 +0900
parents dd676fdeda0f
children ab30729c735c
line wrap: on
line source

[tox]
minversion = 1.8
envlist = py{26,27}-pytest

[testenv]
setenv =
    PYTHONHASHSEED = 0
deps =
    -r{toxinidir}/dev_requirements.txt
    py26-pytest: unittest2
    python-ldap
    python-pam
commands =
    pytest: py.test {posargs}