Posted: 2009-02-18, 12:16 UTC
Well first we need to have a common understanding about terminology that MS uses for NTFS. It is not exactly 100% identical to POSIX standard.
Hard links iirc are very safe and can be implemented rather easily. The thing is that MS calls hard links (that is links on the same volume) as hard links for files and the similar thing for directories is called "junctions". All of them are apparently called "reparse points" btw.
Directory junctions are indeed evil as described (however you can install NTFS link Shell Extension which hooks on explorer and is able to delete them properly). Only starting from Vista explorer is able to delete such junctions properly.
Hard links however are not a problem, just several filerecords pointing to a same data on same volume, so are inherently safe.
So my suggestion is:
1. Include hard links support by default.
2. Include junction support however only for advanced users, most likely in the same menu where hidden and system files are enabled.
3. Symlinks may wait as proper support for them is only from 2008/Vista anyway and lots of sane people are still on XP (or XPx64 like myself). Things may change due to w7 arrival but that is becomes an issue only in 2010.
What I would like to see as functionality regarding hard links: (and which is different from current NTFSLink plugin way, which is of course very inconvinient)
1. Links stats intergrated into attributes list (so no need to create a custom column like with NTFSInfo plugin). I think easiest way to achieve that is to use capital letters like J, H, S, V (junction, hard link, symlink, volume junction).
2. Show a number of hardlinks for a file there as well. Most of the times it would be "1" and pretty safe by default to assign only one digit in the file list display for that.
Therefore we can get required information about NTFS links just by adding two characters in the file list (besides most of the times attributes list is not much of the point and contains only endless -a-- strings )
3. Of course to add such attributes to the list of searchable attributes in the "Search" command.
4. I don't have any ideas how to implement additional information from NTFSInfo like target for the junction or symlink, maybe the easiest way is to add it to the tooltip on file (you can do it with NTFSInfo plugin).
Hard links iirc are very safe and can be implemented rather easily. The thing is that MS calls hard links (that is links on the same volume) as hard links for files and the similar thing for directories is called "junctions". All of them are apparently called "reparse points" btw.
Directory junctions are indeed evil as described (however you can install NTFS link Shell Extension which hooks on explorer and is able to delete them properly). Only starting from Vista explorer is able to delete such junctions properly.
Hard links however are not a problem, just several filerecords pointing to a same data on same volume, so are inherently safe.
So my suggestion is:
1. Include hard links support by default.
2. Include junction support however only for advanced users, most likely in the same menu where hidden and system files are enabled.
3. Symlinks may wait as proper support for them is only from 2008/Vista anyway and lots of sane people are still on XP (or XPx64 like myself). Things may change due to w7 arrival but that is becomes an issue only in 2010.
What I would like to see as functionality regarding hard links: (and which is different from current NTFSLink plugin way, which is of course very inconvinient)
1. Links stats intergrated into attributes list (so no need to create a custom column like with NTFSInfo plugin). I think easiest way to achieve that is to use capital letters like J, H, S, V (junction, hard link, symlink, volume junction).
2. Show a number of hardlinks for a file there as well. Most of the times it would be "1" and pretty safe by default to assign only one digit in the file list display for that.
Therefore we can get required information about NTFS links just by adding two characters in the file list (besides most of the times attributes list is not much of the point and contains only endless -a-- strings )
3. Of course to add such attributes to the list of searchable attributes in the "Search" command.
4. I don't have any ideas how to implement additional information from NTFSInfo like target for the junction or symlink, maybe the easiest way is to add it to the tooltip on file (you can do it with NTFSInfo plugin).