stroy is a smart diff tool. It specializes on directories of files. Its differentiating feature is the ability to match files with different name, location and content.
- license: MPL1.1
- platforms: OSX Windows Linux
- programming language: java 5
- current version: 188.8.131.52
stroy is licensed MPL1.1. All used libraries have their own licence see References
All the great tools and libraries stroy uses References
- Smart matching
stroy compares directories and matches files and subdirectories using several strategies e.g. name, parent, content checksum and finally content fuzzy hash comparisons.
stroy has an extensible pattern matching logic to filter out irrelevant files.
It can also remove files from an already performed diff.
stroy allows to configure viewing programs, file diffing programs and diff strategies per file type.
- synchronized scrolling
Sounds obvious but with matches of files with different parents this was not trivial (shoulder padding).
- OSX look and feel
stroy is a Java program but it goes to some pains to look like a native OSX program.
- Windows look and feel
Well there is an exe with the right icon of a windows programs.
- Cross platform support
The cross platform package works on linux, osx and windows.
Why the name stroy?
The name is a play on a common typo 'stroy' for 'story'. The idea is that a reader with enough context
has no problem reading this as 'story'. Jsut ty to waht undertnd thsi stroy sys. Humans are fairly good at this.
Stroy imitates it.
Where does the logo come from?
It is supposed to be a stylish picture of a caterpillar and a butterfly. The idea being that stroy tracks changes.
How good are the matches?
stroy has several strategies to match files. Some are very simple and declare a match only if it
is very clear that the match is correct. Other strategies use complex heuristics and can not
answer with absolute certainty. Eventually its algorithm is described in more detail. There I show that there are cases when there is no single correct match but rather several possible ones. The stroy algorithm does not ask back but makes a decision.
Can I participate?
Oh yes! Anything helps. Bug Reports, Feature Request are great. The project is open source, i.e.
code changes are welcome. You can find your suggestions and their state on Change Tracking.
stroy is a java program. You need java SDK 1.5 or newer. All used libraries are in the source package. There are module files for IntelliJ Idea 6.0 and an ant script. The libraries necessary to develop are in external/build external/production and external/test directories. Working with eclipse, netbeans or emacs should be no problem.