Where does the Deployment Server store the status of all the files[physically] and is there a way to update it programatically?
Even using SFTP, downloading all the files from the server can take quite a while and is particularly wasteful when the source code is stored in a VCS system.
Currently, in order for PhpStorm[and presumably other IDE's based on IntelliJ] to provide smart conflict notification when deploying files, it first needs to download all the files[not sure if syncronize will do the same thing]. In any case, the download process is sloooooow.
Wheras rsync is incredibly fast. So for setting up a project it would be very fast to:
1)Create a new project from VCS[git].
2)Setup the Depoyment server mapping.
3) Copy all the files from in my project directory to a temperary direcory.
4) Rsync over ssh and pull down the latest updates from the server
5) Use the tmp folder to update the timestamps, file size, and file hashes for the deployment server configuration so PhpStorm now knows what the server state is
I'm guessing it is stored in some sort of binary format, but thats ok if I can find where the deployment server code generates that cache, then the main thing seems to have a plugin which once the data is up to date in the temporary folder, feed the file structure into the deployment server code to update the index. I can't figure out where that is.