Question

So my company uses force.com and the force.com IDE in order to develop our platform and as a growing company with developers around the world and our projects becoming bigger and bigger we need a way to lock files so that nothing can be overwritten. Everything i have read says that locks aren't useful or to just use Git but git just creates repos of files and keeps backups i literally want to access a file and not give anyone else access to that file until i release it. This will ensure that any changes i make will be saved and not overwritten by accident and make collaboration a whole lot easier. Does anybody know about any thing that we can use in order to accomplish this goal? Preferably not something command line and also something with integration with the force.com IDE which is pretty much eclipse with a bunch of force.com plug-ins pre-packaged.

Was it helpful?

Solution

Quick Answer

What you are asking for is the core functionality in RCS and CVS; These revision control systems provide for write-locks on files (although the locks are breakable) so that no one else can commit if one user has a file checked out for writing.

IMHO

Having said that, it's a cumbersome and a rather horrible way to do collaborative development. It unnecessarily serializes processes that can otherwise be run in parallel. For example, if you and I are collaborating, and you are adding a new feature to the software in the same module (using same file), whereas I find a bug in the current version that I need to fix in order to continue work on the release branch, the forced lock will NOT work.

You really should look at the consequences of hard enforcement of write-locked files; you will end up creating MORE problems in the environment in the long run. This is coming from over 20 years of experience in managing large software development projects. I would humbly suggest that you give GIT, SVN or BZR a very serious and thorough study before you chose the archaic approaches of RCS or CVS.

OTHER TIPS

You might want to take a look at Borland's Starteam - a rather nice VCS with per-file commits and locks. It has a Java GUI client. We used it for years (switched to Mercurial then).

But I'd advise you to master Mercurial (or Git). There is nothing wrong in several people changing simultaneously the same file as long as the changes can be easily merged later, and most DVCS (Mercurial and Git) are rather good at merging. And having a local full-functional repository gives many benefits and much more flexibility. In my opinion, locks are not what a team work is. Collaborate, not restrict.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top