Description
If an user creates a Subversion revision that is the addition of a new directory that also contains a binary file that has spaces in it's name, FishEye incorrectly considers it as a text file even if the mime-type is set correctly. This causes FishEye to display the binary content for the file instead of a download link and also causes significant performance problems if a Crucible review contains the file. There is no way to force the file to be considered as a binary file (because it already has the correct mime-type set.) FishEye performance also seems to degrade very quickly when indexing a repository that contains large numbers of these incorrectly identified binary files.
file-spaces.svn-dump.gz file contains a SVN repository dump which demonstrates the problem. Files with " - Copy" are rendered as a garbage.
Workaround
This is a partial workaround for existing code reviews. It updates the 'is binary' flag for file revisions currently added to a code review. It does not fix the 'is binary' flag in indexed repositories, so adding a binary file to a new review will display it incorrectly again.
Always back up your database before performing any modification to the database. If possible, try your modifications on a test server.
update cru_revision set cru_binary = true where cru_revision_id in ( select cru_revision_id from cru_revision, cru_stored_path where cru_revision.cru_path = cru_stored_path.cru_path_id and cru_revision.cru_binary = false and cru_stored_path.cru_path like 'DEFINE FILE PATTERNS HERE' )