[BZ#777676] Support lazy expansion of folders when missing on other side
Submitted by Kalle Richter
Link to original bug (#777676)
Description
Assuming one does a dirdiff on unknown data (unknown sizes, unknown file count, unknown distribution in subdirectories), currently meld
expands all trees of missing directories if all differences (identical, new, modified) are checked. Changing the set of displayed difference requires both computation effort after the change and before when all potentially irrelevant changes are read and computed before the user perceives as irrelevant.
This could be improved by added a lazy expansion feature where a directory tree node indicates that itself is not present on the other side of the comparison, but remains collapsed. When the user wants to see the content, he_she requests expansion and the next level (or all if another option is added) will be loaded lazily and displayed in the expanded node.
Example use case: Assume you're diffing two directories which are identical except for one subdirectory a
which contains 99 % of files on the one side and isn't present on the other. meld
will spend ~99 % to list the content of a
and display it (eventually occupying large amounts of RAM), when the user might just want to see that a
isn't present on one side and copy it without checking the content.