As anyone who has worked with a development team using a repo can attest to, using the Force.com IDE can be a bit challenging. My team and I have turned off Build Automatically and I originally was using Build All when I was ready to push changes to the server. Unfortunately, this pushes all changed files which is a problem. For different reasons all of the developers are working out of the same sandbox. We also have a unique setup where we are only pulling in subsets of the metadata based on our current project (there are currently multiple custom applications that are in this org). Here is the scenario (we are using git):
- A file gets changed by a different developer (could by any metadata as we put all metadata into our repo for each project (i.e., profiles, layouts, classes, pages, etc)
- I don't want that file to be pulled into my local IDE until that developer commits that change. We are trying to get proper change tracking working with our commit history, so I can't just Refresh from Server or anything like that.
- That developer finishes the change and commits it then pushes it to the remote repo.
- I pull down the latest changes, and run a simple Refresh to simply update the files in my IDE.
Here is where the problem comes in. Now that I have updated my IDE, if I use Ctrl+S to Save and Ctrl+B to Build All, all of the changes I just got from the repo will be flagged as changed so the Ctrl+B will automatically attempt to push those changes. This results in the IDE throwing all kinds of errors telling me that my files are conflicting with changes on the remote server.
So, my question is:
Is there a very easy way to only "build" the file I want to save? I know I can right+click the file > Force.com > Save to Server, but I want to replicate that functionality with a simple key combination. Any ideas?