Directory recursion ignores junction/reparse points

General questions about using ExamDiff Pro, ideas for new features, bug reports, and usage tips.
Post Reply
zweistein
Full Member
Posts: 48
Joined: Wed Jul 27, 2005 8:13 am
Location: Belgium

Directory recursion ignores junction/reparse points

Post by zweistein »

Windows supports something resembling symbolic links to directories, under the name junctions or reparse points. AFAIK they exist since Windows 2000 and NTFS 5 but support became official with Windows XP. Don't ask me how it works but you can create them off empty directories.

When comparing directories that contain junctions as subdirectories, with recursion set to None or Status Only, you can descend down links just as in Explorer. But EDP doesn't open the linked subdirecties itself to check for differences if recursion is set to Status Only or Full. EDP considers linked subdirectories to be mere empty subdirectories. It would be great if EDP would realise it can recurse down them.
User avatar
psguru
Site Admin
Posts: 2232
Joined: Sat May 15, 2004 4:23 pm
Location: California
Contact:

Post by psguru »

Support for junctions (directories with FILE_ATTRIBUTE_REPARSE_POINT attributes) is intentionally limited to the top level directories. The reason is that otherwise there's a great potential for infinite recursion (see http://blogs.msdn.com/oldnewthing/archi ... 32704.aspx for details).
psguru
PrestoSoft
zweistein
Full Member
Posts: 48
Joined: Wed Jul 27, 2005 8:13 am
Location: Belgium

Post by zweistein »

Sounds like a good protection against recursive directory structures. But it's a real disappointment for those who use junctions properly. Being able to switch off this protection is now definitely #1 on my personal wish list.

It doesn't matter to me if EDP loops indefinitely in case I'm stupid enough to break the acyclic graph relationship in a directory hierarchy. I have already proven myself to be stupid enough and had an archiver looping down to infinite directory depth There must be many programs and scripts that spin out of control in that case. EDP would still stand proud by not only offering a Cancel button, but also launching a tooltip about how to speed up matters after a while!
User avatar
psguru
Site Admin
Posts: 2232
Joined: Sat May 15, 2004 4:23 pm
Location: California
Contact:

Post by psguru »

The latest build of 3.4 Beta has new option "Process reparse points for subdirectories" under Options | Misc.
psguru
PrestoSoft
zweistein
Full Member
Posts: 48
Joined: Wed Jul 27, 2005 8:13 am
Location: Belgium

Post by zweistein »

Working perfectly! And much appreciated.

Ignoring any technical reasons, isn't 'Options | Dir Comparison | More' a more appropriate place for this option?
User avatar
psguru
Site Admin
Posts: 2232
Joined: Sat May 15, 2004 4:23 pm
Location: California
Contact:

Post by psguru »

Good point. Will move in the next build of 3.4 Beta.
psguru
PrestoSoft
Post Reply