dslreports logo
site
 
    All Forums Hot Topics Gallery
spc

spacer




how-to block ads


Search Topic:
uniqs
11
share rss forum feed

reply to dave

Re: [WIN7] Copy complete directory tree

Is it because of backward compatible of previous Windows software?

dave
Premium,MVM
join:2000-05-04
not in ohio
kudos:8
Reviews:
·Verizon FiOS
said by RazzyInfLoop :

Is it because of backward compatible of previous Windows software?

Because of previous mostly-3rd-party software that used hardwired paths.

But here's the design tradeoff. Do you want:

a) Problems with old apps written by people that don't know how to avoid hardcoded path names - which was always bad practice.

b) Problems in old apps that don't expect loops in file systems - which has never happened before.

In order to avoid people having (a), Windows has exposed (b). I think this was the wrong choice. I'd go further: a loop in a file system is never ever the right choice.

Note, it's not junctions per se I'm complaining about, it is using junctions in such a way as to make loops.


Razzy12345

@rr.com
said by dave:

said by RazzyInfLoop :

Is it because of backward compatible of previous Windows software?

Because of previous mostly-3rd-party software that used hardwired paths.

But here's the design tradeoff. Do you want:

a) Problems with old apps written by people that don't know how to avoid hardcoded path names - which was always bad practice.

b) Problems in old apps that don't expect loops in file systems - which has never happened before.

In order to avoid people having (a), Windows has exposed (b). I think this was the wrong choice. I'd go further: a loop in a file system is never ever the right choice.

Note, it's not junctions per se I'm complaining about, it is using junctions in such a way as to make loops.

I understand the needs of using links for poor coding but I'm asking this because you can do the same thing in Linux. Is it avoidable?

dave
Premium,MVM
join:2000-05-04
not in ohio
kudos:8
Reviews:
·Verizon FiOS
The avoidance mechanism is "it's stupid, don't set it up like that".

If the question was about detecting stupidity...

If you own code that need to traverse the file system, you can likely do your own loop detection ("this is a symlink, have I seen it before in this path?").

I believe Posix systems place a limit on the number of symbolic links the kernel will traverse in path resolution. Offhand, I'd suppose that could work in Windows too.