
// DC4w.txt
// this is public domain software - praise me, if ok, just don't blame me!

Various items -

Overall Description

DC4w will compare the files in any two directories.
The default is to recursivly search all sub-directories.

The compare of file will yield one of four (4) states -
STATE_SAME   - Same size, date, time
STATE_DIFFER - Not above, and is divided into
   Smaller|Same|Larger - reported byte size
   Newer|Same|Older    - Date/Time of file
and of course the inevitatable
STATE_FILELEFTONLY, and
STATE_FILERIGHTONLY.

The list of files is displayed in what is call OUTLINE
mode, and paints each line different colours, according
to the state. Which of the 'states', or 'enhanced' states
is displayed in the file list is controlled by what is
internally called outline_include.

This is a bit flag, containing one or more of the
following 'enhanced states'
INCLUDE_SAME  - that can sometimes be a BIG list
INCLUDE_DIFFER - sub-divided into INCLUDE_NEWER &| INCLUDE_OLDER
And of course - INCLUDE_LEFTONLY &| INCLUDE_RIGHTONLY

Perhaps a little confusing at first, but comes clear with
study is that many of the same 'states', and outline view
bits are re-used when DC4w actually compares the lines
in two files, and displays a composite view of the result.

The compare of two lines in corresponding files from the left
and right folders yields the following six (6) states -
STATE_SAME   - Line are equal, but take some care. This is 'equal'
after applying some conditions, like ignore blanks, ignore line
endings, and others that may be added. So it is not always
exactly the same!
STATE_DIFFER - Not the above. This needs to be further divided
into how different, and in the present implementation is not used.
STATE_LEFTONLY - line only in left file
STATE_RIGHTONLY - line only in right file
and the enigmatic
STATE_MOVEDLEFT - this is the left file version of the line
STATE_MOVEDRIGHT - this is the right file version of the same line

When any line in the 'list of files' is selected, and the
display mode switched to what is called EXPANDED, you see the
list of line in each file display according to some bit
rules -
INCLUDE_SAME - remembering that 'same' does not always means 'equal'
Only found in one side ot the other
INLCUDE_RIGHTONLY &| INCLUDE_LEFTONLY
And this 'interesting' moved -
INCLUDE_MOVELEFT &| INCLUDE_MOVERIGHT

It should be noted that STATE_MARKED is used only in the left or
right sections, to denote the line is matched to somewhere, but
is not the final state of the item.


*** TBD *** complete description

