CaseRePort 0.5 review

Download
by rbytes.net on

CaseRePort is a tool that might help you to find places in your program where you reference files in a bad case

License: GPL (GNU General Public License)
File size: 0K
Developer: Andrew Skiba
0 stars award from rbytes.net

CaseRePort is a tool that might help you to find places in your program where you reference files in a bad case. CaseRePort rarely causes problems on MS Windows, but needs to be fixed if you port your program to case-sensitive OS.

Filenames are hardcoded not only in source code (C, or Java, or whatever language you use for your project). Usualy there are resource files, XMLs, configuration files all around, and format of those files can be unusual sometimes. That's why CaseRePort does not make assumptions about file type.

It runs very fast. And the speed does not depend on the number of the filenames that are searched for. Of course, it must read files from disk. But as every byte is processed only once, it might take no longer than copying the same files into null device. On my machine it uses 60% of CPU, and it utilizes double-CPU or hyperthreading (thanks to Java NIO).

This tool was written during work on a porting project. When the project was run on Linux for the first time, a lot of files were found to be referenced in a bad case from other files. These included hard-coded filenames in the source code, database (created by SQL script), XML files, etc.

First, I wrote a simple shell script, but it was too slow. Then I wrote a simple implementation in C#, but the performance was still awful. I wanted a better performance, because every time I had to tweak the script to make less noise.

Then I figured out that I can implement a really fast algorithm. Shell script was running about an hour on my project, naive implementation took 13 minutes, and with the new algorithm it took less than a minute. And I rewrote it in Java because I wanted to get familiar with new Eclipse IDE.

What's New in This Release:
This release has a GUI. In addition to the command line jar, you can now download an Eclipse plugin.

CaseRePort 0.5 search tags