view .hgignore @ 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 9358211ee144
children 42718729687e
line wrap: on
line source

syntax: glob
*.pyc
*.swp
*.sqlite
*.tox
*.egg-info
*.egg
*.mo
.eggs/
tarballcache/

syntax: regexp
^rcextensions
^build
^dist/
^docs/build/
^docs/_build/
^data$
^sql_dumps/
^\.settings$
^\.project$
^\.pydevproject$
^\.coverage$
^kallithea\.db$
^test\.db$
^Kallithea\.egg-info$
^my\.ini$
^fabfile.py
^\.idea$
^\.cache$
/__pycache__$