I seem to recall a time when direct mode would hide files that were not present in the local repository. While this created a bunch of headaches for people that wanted to get the missing files, it was great for users that didn't care and only wanted to see what was actually there. (In fact, it was suggested as a solution in usability: what are those arrow things?, a year and a half ago.)
Now this behavior has changed, and with v6 coming up, all those distinctions have basically gone away anyways...
So what's someone to do if he wants to deal with the usability issue mentioned above? To restate: the problem is users I share files with often see a lot of files, with only a fraction of them being actually present. A lot of those files are obviously large, and so they are having a frustrating experience with git-annex because they see all those promises of "files being there" but they have a hard time actually finding which files really are there. So they click one one broken link after the other and generally give up before they figure out how to pop a terminal open, use
find -L -type l or
find -type l (i can never remember which!) - something we can hardly expect from the average GUI user...
Maybe this could be accomplished through a dumb, unsafe, human-readable backend?
Thanks for any advice! --anarcat
This has never been done by direct mode AFAICR.
But, adjusted branches can do it. The basic functionality is implemented already; what's missing is that, once in an adjusted branch with missing files hidden, when a file's content arrives the adjusted branch needs to be updated to expose the file.
This will need hooks into the adjusted branch code when file contents are get/dropped, and the naive way to do it could make things quite slow, if the branch needs to be re-adjusted after each get/drop of each file. --Joey
Other discussions: How to hide broken symlinks, where the idea of using views to hide missing files is introduced and How do I hide files not present in the local annex?, where it is said that placeholders shouldn't be used in direct mode... --anarcat