i'm trying to get this use case to work:
git clone repo1
git clone repo2
ln -s ../repo1
ln -s ../repo2
running projectile-find-file from here gives me a list of nothing (i already have projectile-require-project-root set to nil). how do i configure it to follow through all symlinks? is that possible?
I think that you're using non-native indexing this should work since it will fallback to find. I guess the Emacs Lisp code should work as well (at least in theory). No idea why its misbehaving. I'll investigate when I find some time to spare.
Find doesn't follow symlinks by default, but you can make it follow with -L; so customize-variable projectile-generic-command, then put something like:
find -L . -type f -print0
In light of @sebmaynard's comment I'll consider this issue resolved.
I don't believe this is a complete solution? Modifying the find arguments as suggested does allow projectile to build the list of project files, but when I actually try to visit a file it attempts to create a file at the specified path rather than traversing the symlink. So I get an empty buffer and a warning to use M-x make-directory to create the nonexistent parent dirs.
Never mind. The problem I was seeing had to do with my .projectile file.
WIth this configuration the project index included all the files under 'dir' but with a repeated path element, e.g. "/dir/dir/the/file". So projectile-find-file always failed to open the file.
If I add the trailing slash or remove the include rule, things seems to work find with symlinks.