A more elegant solution for managing simultaneous access, is to simply give it. Each user can create their own copy of the file which they then proceed to modify as if no one is watching.

Finally, they can "merge" back their changes. By this, we mean that the revision system itself determines if there is any conflict in the changes made in the file contents. In most cases, different people will modify different parts of the file and the system will work quite well. However, in the rare case of a conflict that cannot be solved by the software itself, users can be informed of the problem and can make the decision themselves.

To see how this would work, let us take revision 1 of a document, which two people AlphaGeek and BetaDood copy simultaneously. AlphaGeek, alpha as he is, manages to complete his changes first and merges the changes into the main document bringing it up to par with his copy.

When BetaDood tries to update his copy, he will be told that his copy is out of date, since his updates were made to revision I, while the current revision is 2. BetaDood will now have to first merge the changes in revision 2 into his local copy. This will be a simple process, as changes will usually be made in different parts of the document and will not connict. His latest copy, now based on revision 2 can now be merged into the main file, giving us revision 3.

This may seem like a tedious process but there is rather little effort involved in most common scenarios, and this ends up being a much more efficient and element solution.

Change again is the most important factor here and that is what drives any revision control software.


Name:  copy-modify-mergeModel.jpg
Views: 84
Size:  47.1 KB