posted 16 years ago
Traditionally, version control systems required one person to check out a source file, modify it and check it back in again.
This didn't work well for distributed open-source projects. People weren't on a fixed timetable, might check something out and then never do anything with it, etc. Which left it locked until an administrator manually unlocked it. Or two different people wanted to do things to it at the same time.
CVS was designed to avoid the locking issue by simply not locking. Instead, everybody's able to make mods, but if two mods are made on the same version, you either have to spin off a branch or merge the mods. Branches are for long-term diversions off the main project. Merging is what you do when there's a more short-term conflict either on the main trunk or a branch component.
SVN was designed to be a "better CVS", so it, too doesn't lock, and it, too requires a merging process to reconcile conflicting changes.
Education won't help those who are proudly and willfully ignorant. They'll literally rather die before changing.