3 ms·
Which is exactly how CVS (and its predecessors RCS and SCCS) worked. They were file based revision control, not repository based. SVN added folders like trunk
by rswail 1y ago
Which is exactly how CVS (and its predecessors RCS and SCCS) worked.
They were file based revision control, not repository based.
SVN added folders like trunk/branches/tags that overlaid the file based versioning by basically creating copies of the files under each folder.
Which is why branch creation/merging was such a complicated process, because if any of the files didn't merge, you had a half merged branch source and a half merged branch destination that you had to roll back.
- fanf2 1y agoCVS was called the “concurrent version system” because it did not lock files on checkout. Nor did svn. Perforce does.
- rswail 1y agoTrue dat, my mistake. That was its major feature, from memory though it still used the same reversed diff file format?
- ack_complete 1y agoPerforce does not lock files on checkout unless you have the file specifically configured to enforce exclusive locking in the file's metadata or depot typemap.
- School-Cotton 1y agoI am quite sure that you can edit files in an svn repo to your heart’s content regardless of whether anyone else is editing them on their machine at the same time.
- masklinn 1y agoYep, svn has a lock feature but it is opt-in per file (possibly filetype?) A pretty good tradeoff, because you can set it on complex structured files (e.g. PSDs and the like) to avoid the ballache of getting a conflict in an unmergeable file but it does not block code edition. And importantly anyone can steal locks by default. So a colleague forgetting to unlock and going on holidays does not require finding a repo admin.