- no unit testing. WinMerge development started (and was most active) when nobody really know/talked about unit testing. I thought we could add them later on. But it seems people simply are not interested in that if it is just additional work they need to do.
Unit tests must be part of the required implementation (and patch) not something that can be added later on. - diff integration through (whole files loaded to) buffers. This causes lots of trouble. It limits file size, causes all kinds of complexity and bugs.
Not sure yet how to really do this - and this will be important decision. Possibly we should at least try to handle files as streams when interfacing with diff. Unicode conversion might make this interesting though. - interfacing / implementing other diff methods. It is simple fact we need different methods for different needs. Currently we allow switching method for folder compare. But file compare is always diff. Which causes weird results when file compare and folder compare give different results. This must be clarified. Of course it does not make sense to try to compare by date or size in file compare. But what about byte per byte compare for file compare? Perhaps diffs line-based results should be just one special case? In some cases the byte compare is more useful than line compare.
- update the GUI. Current GUI is from Win 95/98 era. Does really not fit to Vista/Windows 7 world.
- less frameworks and libraries to use. QT provides replacements to some of libraries we use. Use QT whenever possible.
- re-think folder- and filecompare relation. Does folder-compare really own filecompare windows opened from it?
- filtering is very central feature not something added above other things. Filtering can dramatically reduce compare times and help users to see the important changes. For users it is very important to see two important changes instead of hundreds of uninteresting ones. Filtering must be easy, fast and obvious to use.