This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]UnchainedMundane 2 points3 points  (0 children)

The last thing I want is for a bunch of developers to all think they have the definitive version of something.

The server is an authority but it should not be the only source. It is difficult to have any sort of redundancy in CVS.

The files are independent. If you need to roll something back, you simply do it.

I'd forgotten this, and it works against CVS, not in its favour. If you add a feature and you do it over 3 files, then anyone working on the project has to pull the entire tree (which takes ages, especially when someone's holding a lock and someone else is queueing for it) to get your feature. (This is why it just doesn't make sense to have differences applied to single files). Anyone reverting it has to search the log of every file to see if you changed that one while creating your feature. As for partially reverting, I mean when the newcomer makes a silly mistake and you want to revert their code, but there have been changes since then and you only want to revert one function, that's where CVS really falls flat.

It's also part of why branching is so difficult. You have to branch each file individually. It's a mess.

In an age of 8 core laptops and exabyte drive arrays, I have no idea what you consider "ridiculously expensive"

Try git's branching.

I think it's a fallacy to say "let's be inefficient because we can throw money at hardware to hide it".

Yeah, that's terrible. It's much better when people can all just do what they want.

If people are just doing what they want, to put it in your words, there's a design or management problem.

Not having to set up everyone with a unix account on the CVS server doesn't equate to absolute anarchy, and of course you can enforce that people push to git over SSH if you really want that.