Symbolic Link Edge Cases
I manually create folders linking to files, all in a shared tree. Eg:
$ cd /shared/tree
$ ln -s ../movie/STUPID-STUFF-foo-MORE-STUFF.mp4 queue/foo.mp4
After this, foo.mp4
is nicely harvested. There's a performance issue though, because the target was already harvested, so it's a bit wasteful to redo that work.
But, what if only movie/STUPID-STUFF-foo-MORE-STUFF.mp4.part
exists when I make the link, so foo.mp4
is dangling for a while, but after some time movie/STUPID-STUFF-foo-MORE-STUFF.mp4
is created? It appears that foo.mp4
is not, at this point, reconsidered for harvesting.
Relatedly, if I were to do
$ mkdir movie/stuff
$ ln -s ../../movie movie/stuff/
the harvesting process becomes ... unhappy.
It seems like some uniquification process needs to happen, so multiple names for the same file or directory do not result in repeated or loopy work. And activity in a link target's directory should result in the link being reexamined to see if it needs to be re-harvested.