﻿ticket,summary,type,release,owner,status,created,modified,_description,_reporter
13599,Unable to install due to ConfigurationError,defect,1.3,ejucovy,new,2019-09-01T16:28:47+02:00,2019-09-01T16:28:47+02:00,"I've installed the latest version (0.6) of MultiRepoSearchPlugin on Trac 1.3. That didn't work due to API changes in 1.3. I think I've solved most of these issues, they weren't very difficult to fix. But now I've come upon a problem that I can't figure out.

The documentation says to
{{{
trac-admin . multireposearch reindex_all
}}}

Which gives this error
> ConfigurationError: Cannot find an implementation of the <code>IMultiRepoSearchBackend</code> interface named <code>SqlIndexer</code>. Please check that the Component is enabled or update the option <code>[multireposearch] search_backend</code> in trac.ini.

SqlIndexer is part of this plugin, so I can't understand why it says it's not enabled. Gut feeling is this is also due to some API changes, but I can't figure out what's wrong.

Here's the component section from my trac.ini:
{{{
[components]
multireposearch.* = enabled
}}}

I don't have a [multireposearch] section in the trac.ini, and from reading the source I don't think I actually need to have one?

I'm really struggling here, so I would appreciate any help you can provide.

(Not sure if it's relevant, but I've obviously also installed TracSqlHelperScript, as dictated by the requirements, and tried both 1.2 and 0.12 with no changes regarding the error above. And I'm using MySQL as backend.)",anonymous
11914,"ProgrammingError: relation ""repository_node"" does not existLINE 3: FROM repository_node             ^",defect,1.0,ejucovy,new,2014-08-06T19:29:09+02:00,2014-08-06T19:29:09+02:00,"==== How to Reproduce ====

While doing a GET operation on `/search`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
This error is present after migrating from SQLite to PostgreSQL. Please assist in resolving the problem.  Thanks.

{'noquickjump': u'1', 'q': u'test', 'repo': u'on'}
}}}

User agent: `Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36`

==== System Information ====
|| '''`Trac`''' || `1.0` ||
|| '''`Trac`''' || `1.0` ||
|| '''`Babel`''' || `0.9.6` ||
|| '''`Genshi`''' || `0.6 (without speedups)` ||
|| '''`GIT`''' || `1.7.1` ||
|| '''`mod_wsgi`''' || `3.2 (WSGIProcessGroup trac-dev WSGIApplicationGroup trac-dev.agraquest.int|)` ||
|| '''`psycopg2`''' || `2.0.13` ||
|| '''`Python`''' || `2.6.6 (r266:84292, Apr 11 2011, 15:50:32) ` [[br]] `[GCC 4.4.4 20100726 (Red Hat 4.4.4-13)]` ||
|| '''`Python`''' || `2.6.6 (r266:84292, Apr 11 2011, 15:50:32) ` [[br]] `[GCC 4.4.4 20100726 (Red Hat 4.4.4-13)]` ||
|| '''`pytz`''' || `2010h` ||
|| '''`pytz`''' || `2010h` ||
|| '''`setuptools`''' || `0.6c11` ||
|| '''`setuptools`''' || `0.6c11` ||
|| '''`Subversion`''' || `1.6.15 (r1038135)` ||
|| '''`jQuery`''' || `1.7.2` ||

==== Enabled Plugins ====
|| '''`AutocompleteUsers`''' || `0.4.2dev` ||
|| '''`BlackMagicTicketTweaks`''' || `0.12r1` ||
|| '''`BreadCrumbsNav`''' || `0.2` ||
|| '''`ComponentDependencyPlugin`''' || `0.1` ||
|| '''`ContextChrome`''' || `0.3` ||
|| '''`graphviz`''' || `0.7.7dev` ||
|| '''`ReadonlySignedTickets`''' || `N/A` ||
|| '''`ScreenshotPaste`''' || `0.1.1` ||
|| '''`TicketSidebarProvider`''' || `0.0` ||
|| '''`TicketValidator`''' || `0.2dev` ||
|| '''`trac-MultiRepoSearchPlugin`''' || `0.6` ||
|| '''`trac-WorkflowNotificationPlugin`''' || `0.5` ||
|| '''`TracAccountManager`''' || `0.4.3` ||
|| '''`TracAnnouncer`''' || `1.0dev` ||
|| '''`TracAttachmentNotifyPlugin`''' || `1.0.1` ||
|| '''`TracAutoWikify`''' || `0.2dev` ||
|| '''`TracCustomFieldAdmin`''' || `0.2.8-r12166` ||
|| '''`TracDateField`''' || `2.0.0dev-r12118` ||
|| '''`TracDragDrop`''' || `0.12.0.11` ||
|| '''`TracHoursPlugin`''' || `0.6.0dev` ||
|| '''`TracHtmlNotificationPlugin`''' || `0.12.0.1` ||
|| '''`TracMigratePlugin`''' || `0.12.0.3` ||
|| '''`TracReportManager`''' || `0.1` ||
|| '''`TracSubTicketsPlugin`''' || `0.2.0.dev-20130908` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""/usr/lib/python2.6/site-packages/Trac-1.0-py2.6.egg/trac/web/main.py"", line 497, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.6/site-packages/Trac-1.0-py2.6.egg/trac/web/main.py"", line 214, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/usr/lib/python2.6/site-packages/Trac-1.0-py2.6.egg/trac/search/web_ui.py"", line 106, in process_request
    results = self._do_search(req, terms, filters)
  File ""/usr/lib/python2.6/site-packages/Trac-1.0-py2.6.egg/trac/search/web_ui.py"", line 214, in _do_search
    or [])
  File ""build/bdist.linux-x86_64/egg/multireposearch/search.py"", line 93, in get_search_results
    for filename, reponame in self.search_backend.find_words(query):
  File ""build/bdist.linux-x86_64/egg/multireposearch/sqlindexer.py"", line 92, in find_words
    cursor.execute(self.query % sql, args)
  File ""/usr/lib/python2.6/site-packages/Trac-1.0-py2.6.egg/trac/db/util.py"", line 65, in execute
    return self.cursor.execute(sql_escape_percent(sql), args)
ProgrammingError: relation ""repository_node"" does not exist
LINE 3: FROM repository_node
             ^

}}}",Jared
11506,Plugin should ignore binary files,defect,,ejucovy,new,2014-01-16T18:44:45+01:00,2014-01-16T18:44:45+01:00,"See discussion on #11501

Probably just use `trac.mimeview.api.is_binary` and pass over indexing.

(Should this happen in search.py or in sqlindexer.py?  I think the former but I'm not sure the opportunity is available.)",ejucovy
11501,Error when migrating from sqlite to postgresql,defect,,ejucovy,new,2014-01-15T06:03:36+01:00,2014-01-16T14:52:54+01:00,"Hi,

I'm new to Trac but after using the MultiRepoSearchPlugin I find that the searches are pretty slow. I'm hoping that switching to a real database will speed up searches (full text indexes, etc).

Attempting to issue a migrate to switch over to postresql gives this error:
{{{
Copying tables:
  attachment table... 0 records.
  auth_cookie table... 1 records.
  cache table... 3 records.
  component table... 4 records.
  enum table... 13 records.
  mastertickets table... 0 records.
  milestone table... 0 records.
  node_change table... 9641 records.
  permission table... 30 records.
  report table... 8 records.
  repository table... 8 records.
OperationalError: Could not decode to UTF-8 column 'contents' with text 'OggS'
  repository_node table... 
}}}
The same error occurs when attempting to use MySQL as well (which is what I prefer).

-Andrew",Andrew
13198,Database Limitations,defect,1.3,ejucovy,new,2017-06-01T00:01:25+02:00,2017-06-01T00:01:25+02:00,"I've tried MultiRepoSearchPlugin with sqlite, mysql, and postgres to try to import ~700 SVN repositories. 

sqlite does the best, and lets me import about 600, but complains about certain pdf files.

Importing a few dozen repositories is great.  The full text search works well, and the response speed is fine.

MySQL has problems with importing anything.

Postgres complains that the full text option should be used.",holder@…
10794,Add an Option for repos to ignore,enhancement,,ejucovy,new,2013-01-11T23:17:25+01:00,2013-01-11T23:17:25+01:00,A user might not want to include all repos in the search system.  There should be an option for listing repos to be excluded from search.  (And possibly an incompatible whitelist option that overrides the default behavior of searching all repos.),ejucovy
9792,Add an Option for excludes/ignores,enhancement,0.12,ejucovy,new,2012-02-11T16:37:53+01:00,2013-01-11T23:15:03+01:00,"The RepoSearchPlugin has an Option for configuring paths to exclude from searches.  Currently MultiRepoSearchPlugin does not have a comparable option.  

It should!  This is essential for my needs, because I have a large number of repos with mostly-identical, very-boring, and extremely crowded /static/ subdirectories.  These dramatically slow down reindexing (and clutter the database) unnecessarily.

The option should probably take a comma-separated list of shell-style wildcards (http://docs.python.org/library/fnmatch.html#module-fnmatch) or regexen to ignore.  

(Ideally the implementation would be smart enough to skip subdirectories wholesale if possible rather than matching each file against the ""ignores"" list -- so if I have an ignore of ""static/*"" it should just bail out when it reaches ""static/"" rather than recursively walking the static/ subtree.  This seems hard though since it would have to parse the ignore globs and specialcase some patterns -- it would '''not''' be allowed to bail out if the ignore is ""static/*.txt"" for example.)",ejucovy
