After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 777676 - Support lazy expansion of folders when missing on other side
Support lazy expansion of folders when missing on other side
Status: RESOLVED OBSOLETE
Product: meld
Classification: Other
Component: dirdiff
3.16.x
Other Linux
: Normal normal
: ---
Assigned To: meld-maint
meld-maint
Depends on:
Blocks:
 
 
Reported: 2017-01-24 02:41 UTC by Kalle Richter
Modified: 2017-12-13 19:23 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Kalle Richter 2017-01-24 02:41:38 UTC
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.
Comment 1 Kai Willadsen 2017-01-25 20:52:07 UTC
(Re-titling so that it doesn't sound like a different thing that's been requested in the past.)

At first impression, this sounds sane to me. However, I think adding a preference for this is an "unbreak my program" style option, so it would instead have to be either always-on (which I think is probably not great) or heuristically triggered for large folders.

Also, it's worth mentioning that because of the way the dirdiff code works, this probably won't be easy to implement.
Comment 2 GNOME Infrastructure Team 2017-12-13 19:23:08 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/meld/issues/126.