Helm (emacs-helm/helm) Git extension makes opening files from current Git repository fast and easy. It uses Git binary (using magit) to get list of project files so it's prety fast even for large projects with thousands of files. It also takes into account .gitignore file so that you only get real project files. Magit should also make it usable on wide variety of OS.
Example video of using Helm Git on Jenkins CI repository (8890 files) - http://www.youtube.com/watch?v=PO2IyrTuxzg