Issues with Junctions in drive size calculations

Hi All,

I'm sure this has been done to death, but what does the "Skip Junctions and Soft Links" option under "Calculate folder sizes automatically for" really do?

I have a folder, with junctions pointing to other drives. If I right-click/properties on the folder, I get
a size of about 1GB. DO shows a size of 70GB because it follows the junctions even with the 'skip junctions' option set. When I enter the folder, the list of subfolders is displayed, but the size of the junctions are not.

It seems that the 'skip junctions' option only applies if the junction is in the currently visible list. When calculating the size of a folder, junctions within that folder are scanned.

This seems counter-intuitive to me. Its already scanned the subfolder as I traversed the path to it, so there is no point skipping it now.

Can I ask for two small changes

  1. 'skip junctions' applies universally, regardless of automatic or manual, or whether the junction is in the current folder or sub folder.
  2. In the folder format editor, when overriding the 'get folder sizes' option, allow the 'skip junctions' option to be overridden as well.

As an aside, an option to 'always recalculate folder sizes on: [fixed/local/network]' would be appreciated. If it could be toggled via a 'set' command then a button or hotkey can be used to enable it. I for one would very much appreciate having it enabled for fixed disks, and disabled otherwise.

Many Thanks

If it is turned on, and automatic size calculation is also turned on, then any folders which are junctions, directly below the current folder, will not have their sizes calculated.

It doesn't affect what happens with junctions below folders which are being calculated. It just skips the top-level ones.

Seems reasonable. The way it works now is because someone asked for it to work this way, but some extra options don't seem like a bad idea.

That option is already in Preferences, I think? What's the extra bit that is missing?

Me too! o)

I certainly haven't seen this. It could be my choice of words.

Folder sizes are cached when calculated for the current folder, and forcing an automatic refresh when navigating to a parent folder for example would be very useful.

I was thinking of an option to ignore cached folder sizes when navigating. (with a choice of 'local/fixed or network drives'), and have the option to set it for particular folders known to be volatile.

While I agree it might be expensive, for most people folder size calculation is turned off by default, and when they turn it on, they want it to be accurate. There is no need I expect to go overboard and watch for file change notifications to keep the sizes absolutely spot on.

Also, regarding the caching, Often I go to a folder (usually a particular folder I work with often), and wait a little while for folder sizes to be up to date, Then I navigate to the largest subfolder. DO will re-scan the disk to update the size of that folder and its contents. When navigating back to the parent, it will used the (potentially out-dated) cached sizes.

This seems counterintuitive because the first scan should have cached the size details for the current folder and all folders below it, and the act of changing the file contents (though DO) should invalidate the cached size information automatically.

Thanks

We'll add a general "ignore junctions and softlinks" option for GetSizes in the next update.

I'm entering my issue/question here because I think it's related.

I often go into a folder and select all of the files (e.g., by doing CRTL-A) and then do Calculate Folder Sizes. Even though I have "Preferences->Folders->Folder Behavior->Ignore junctions and softlinks when calculating folder sizes" checked, DO still calculates the folder sizes of junctions among the list of selected files.

I expect DO to provide no result for junctions that are in the list of selected files when I have the aforementioned option checked. Is that a bug in DO or is there something I'm not understanding.

Thanks,
Rob

The option controls whether or not junctions are counted when inside the folders being calculated.

If you calculate the size of a junction itself, the size of its contents (not including any junctions below it) will still be calculated, rather than providing zero information at that level.