2 ms·
Did they ever get over the idea that a version control system should try to prevent two people from modifying (or "checking out") a file at the same time? That
by heleninboodler 5y ago
Did they ever get over the idea that a version control system should try to prevent two people from modifying (or "checking out") a file at the same time? That always drove me insane. Every time I got on a plane I'd have to do whatever trick that was that let me edit files even though I never told the server I was going to, and deal with the consequence later. I don't exactly remember the details or how bad the consequences were, but it always seemed ridiculous.
Oh, and cloning a repo so you have a second copy of it for an experiment took ages because you couldn't just 'cp -a' the directory, you had to "enlist" in all the files with the server... I do not recall p4 fondly.
- maccard 5y ago> Did they ever get over the idea that a version control system should try to prevent two people from modifying (or "checking out") a file at the same time? Checking out is still a fundamental concept of perforce, and it's the reason it's so fast. Not all files need exclusive locks, that's usually reserved for binary assets (and is a selling point of perforce as it prevents an unsolvable merge conflict later on). When I started using perforce 13 years ago, every editor I used had either a perforce plugin, or an option to "checkout on edit or save", > Oh, and cloning a repo so you have a second copy of it for an experiment took ages because you couldn't just 'cp -a' the directory, you had to "enlist" in all the files with the server... I don't really see the problem. doing `cp -a` on a large git repo can be an extra 30GB if not more on disk. The tradeoff of a very uncommon operation (duplicating a repo for an experiment sounds like a great use for shelves in p4, or branches in git) taking longer for performance on the golden path seems like a really good one to me.
- heleninboodler 5y agoFor me, duplicating a repo usually means i want the two different things side by side at the same time, rather than a single directory switching between branches.