I checked the source of the module, and it only reports real duplicates. Soft links are discarded by the -f file test, wich returns 0 if the "element" is a directory or a soft link.
That's not quite how it works with softlinks. When you perform a file test on a softlink, think of it as performing the file test on the
non-softlink target linked file (whether it be a plain file, directory, special file, etc.)
The only file test that is applicable to the softlink inode itself is the
-l operator. Purpose: to find out if it's a softlink.
Hence, directories are discarded as a result of the
-f file test, but not softlinks. You may be thinking that softlinks are discarded because they're pointing to directories, perhaps?
However, I'm only now thinking about the posibility of creating soft links and the consequences that I might have. I hadn't considered the possibility of running the script in a non-unix envirnomnet either.
I would recommend creating softlinks instead of hardlinks. It's more apparent. But then you need to decide which inode of the duplicates becomes the softlinks' target.