Source control systems usually operate in one of two ways: Check-in and check-out or with a concurrent submit. Check-in and check-out makes it easy to coordinate access to files in a project by team members. While a file is checked out, no one else can can submit a modification to that file until that particular team member checks it back in. Anyone who used our ChangeVue product, Microsoft SourceSafe or Microsoft Team Foundation Server is familiar with this type of system.
VersionRecall operates with just a simple submit at any time. If you have conflicts between versions submitted by one or more team members, you can use ScriptMerge to sort out the collisions. In general, organization and communication between team members should be sufficient to avoid any two users working on the exact same spot.
However, sometimes is is necessary to serialize access to a particularly important file or a set of files in a project. Taking a C++ project as an example, working on classes is usually divided amongst team members. It is very unlikely that two developers will work on the same class at the same time without communication and even less likely that they will work on the same function. The resources and resource header files of such a project are a different story though. Everyone needs to access those and simultaneous modifications are hard to reconcile. For such cases VersionRecall now adds a file lock facility.
Files are locked per user, identified by the user name, so working from different machines poses no problem as long as you are logged on with the same user id. VersionRecall’s file lock is an organizational tool, not a security mechanism. Think of it as flag that indicates to other users and to the automated service that you are working on a file and it needs to be left alone.
In addition to locking individual files you can also lock all the files in a folder. If you work on a project where all the files in a folder are interdependent and you do not want another team member to interfere, this enables you to lock them all at once.
You can also lock and unlock all files in a folder from the context menu on the left folder view.
The user ‘owning’ the lock on a file can of course still freely submit new versions. Note that the VersionRecall service usually runs under the local system account even though it runs on your machine, which will prevent it from submitting new versions of a file locked by you.