Hi George,
Here is 'Feedback Part 3' for DIFF v2TestingI have not tested the 'Ignore Tabs' option yet.
I prepared two short MACRO-like files, with differences designed to test that each 'ignore' option detects what it should and does not detect what it shouldn't.
I ran the comparisons
using no '
Ignore...' options
using just 'Ignore Spaces' - the test data included multiple spaces between keywords, in comments and in quoted literals
using just 'Ignore Comments' - the test data included REM, single quote, and /* */ matched comments, as read from .AUTO file
using both '
Ignore Spaces' and 'Ignore Comments' options
Each run was performed using 1, 2 and 3 lines to re-establish a Sync point.
I also tested BOUNDS, using the same and different columns in each file.
The results on these small files were as expected.
Observations
Mis-match count - The number of mis-matches reported is NOT the number of differences found, but a count of the number of 'blocks' of differences.
The higher the 'sync' line count, the more likely it is that separate changes 'merge' into one larger 'mis-match'
- DIFF comparisons are Case-sensitive, ie "Open" does match "OPEN".
So the Case-sensitive option would be good addition, given many languages use case-insensitive keywords.
- The sync count can seriously affect how 'digestible' the output appears.
1-Col View - As it stands, 1-Col view always lists the data from FileA (usually old) and overlays the FileB (usually newer) changes.
Hence unchanged lines typically come from the FileA. Without '
Ignore...' options, that's fine.
But
with '
Ignore...' options, the 'changed-but-ignored' lines will show the (usually old) data.
The user could just flip FileA and FileB, but then the results are 'backwards' e.g. 'inserts' show as 'deletes' and vica versa.
I think we need a "[ ] Use FileB as source for unchanged lines" Option to instruct DIFF that all unchanged or considered unchanged lines are to be listed from FileB.
This option would appear slightly indented 'under' the "
Single column view" option on the Options Panel.
DIFF LIST - Do we need it? The pop-up suffers from the same filename length restrictions discussed previously.
It isn't as informative as navigating to the
<SPFLite DATA folder>\CLIP\ directory which shows time/date stamp too.
I offer 2 alternatives, in order of usefulness:
a) We
add a 'Clip' view/category to FM like 'Found, FLists, Paths, etc' which opens the CLIP directory
b) DIFF LIST command uses FM to open the CLIP directory, filters the display for DIFF files and allows selection.
In both cases, selecting a DIFF file from there could invoke the existing 'DIFFLIST' code to load and format the report.
(Having direct access like this to the CLIP data might be helpful for other purposes too.)
FM 'Recent' view/category The Comparison Report files also appear under the FM's RECENT view.
If you execute several DIFF commands, the report files quickly contaminate the RECENT list and displace other entries.
I think the report files should not appear in 'Recent' at all, especially if we have a 'Clip' category in FM.
Report Format Enhancement (I wouldn't be me if I didn't have a crazy idea for you) Regardless of which view (1- or 2-Col) is used, the report file does not align with the usual COLS display.
If BOUNDS are
not set to 1,MAX, it would be very helpful if there were a visual indication of the bounds used for the comparison.
Vertical markers can be displayed using the MARK line command facility.
It's basically the start & end columns, offset-adjusted for the 1-Col/2-Col display mode as necessary.
In 1-Col mode, the BOUNDS to be marked would be those belonging to the file chosen in the "Use FileB as source for unchanged lines" option.
So far there is mostly LIGHT, but there is a bit of SHADOW too, especially when comparing large files with some repetitive data.
More of that in Feedback part 4...