From what I’ve been able to tell, there is no real version control built into Salesforce.com and this is a problem when pushing from a sandbox instance into a production instance. To fix this problem (at least until Salesforce does something), I think the best option is to use the Force.com plugin and the Subclipse plugin for Eclipse. With both of these in place, it should make version control a reality.
- Install Eclipse for your platform (it’s eclipse-platform if you are using Fedora)
- Install both the Force.com and Subclipse plugin (eclipse-subclipse)
- Add your Force.com project to Eclipse (Howto)
- Add your SVN repo to Eclipse. (Howto)
- Share your Force.com project (Right-click on Project name -> Team -> Share Project -> SVN -> Choose repo)
- Then after updating a file in the Force.com project, commit the update to SVN before deploying to the server ()
Now if you want to use this in another Eclipse instance then, you’ll want to do the first two steps to prepare your Eclipse environment. Then:
- Add the existing SVN repo to Eclipse (Howto)
- Right click on the Project Force.com -> Project Properties and update the username / password
When using this in a collaborative setting, the following workflow should be followed whenever possible.
- Team -> Update
- Make changes to code
- Team -> Update
- Make changes to resolve collisions if needed
- Team -> Commit
- Force.com -> Deploy to Server
Thanks for this. We are attempting to use this same tool stack for updates to out-of-the-box SalesForce applications. Do you know of any other how-to sites that could help us along? thanks.
I do not know of any other site that could help you along. The company I work for is getting ready to move to SFDC stuff to git for management, and I’ll write up a howto for that shortly. We’re using the ant interface to push code, but I’m not sure if this will do update for out-of-the-box SalesForce applications.
Hi, thanks for the subversion blog. could you tell me about your experiences with git and sfdc? This could be an option for us since we haven’t implemented any version control yet. there were only a couple of devs so far.
So far git is working very well. Most of our developers are not using Eclipse as their primary development platform so I can’t talk much to the integration point there. As long as you add the following to your .gitignore file you should be fine “project .settings* salesforce.schema”