Who Doesn't Use Source Control?
VegeBrain asks: "I was reading the description for for a new book, Pragmatic Version Control using CVS and was shocked to read that 'Half of all project teams in the U.S. don't use any version control at all...' Is this true? If so, why? I can't imagine being without one so I'm wondering why anybody would avoid using one, especially now when so many are available for free. Am I missing something here and there really are reasons to not use a VCS?"
Lets face it - Alt-F-S or Esc-w-q-! is a hell of a lot easier than checking into a CVS server and uploading your new code.
Yes there are easier ways to implement CVS or at least RCS, but most people don't care. Its not that important if your development team is small or if the project is broken down into chunks where each person is in charge of small bits of code.
Clinton made me a Republican. Bush made me a Libertarian. Trump is making me question reality.
At a small company I worked at with 3 other developers, and 2 designers we did not use a version control system because:
* we didn't think of installing one, even though a number of negative things happened as a result of not having one.
* had difficulty installing CVS. After reading the docs to install CVS, I still had trouble getting the thing to work and skipped it completely.
* we were naive. not everyone who is programming, especially those new to the scene, know about version control.
I'm not saying these are legitimate reasons, these are excuses for a poor development environment. I have learned from this and have made changes to make my developing better.
How about using a CMS with versioning? There will always be solutions for the non-technical people. A CMS with a browser-based WYSIWYG editor is the route I chose for a small university department where they utilized several maintainers.
This sort of behavior is a little easier to cope with, using DARCS, which supports a more anarchic model of many people incestuously forking repositories, passing around patches, etc. Darcs doesn't force you to maintain a central repository or inflict a directory scheme, making it really very friendly for migrating existing projects into the system*.
After having both arch and svn meltdowns, I have moved my projects to darcs, and have been pretty happy with it, since -- I just wish Sourceforge supported it better.
(* The one exception being DARCS's case insensitivity for file names. )
Weapons of Mass Analysis
Tortoise SVN for Windows is great for mini projects with a single programmer, because it lets your run a subversion tree locally from your HDD without the need for a proper server install. I'm sure there's an equivalent for *nix.
That's why you use a non-locking VC like CVS. :)
:)
It doesn't lock files for edit, and when you're committing you aren't transferring the entire suite, just the files that have changed.
And it usually does the merges for you!
I've used CVS across a 14.4 modem without any problems.
VC products have changed substantially from the CCCS/RCS days of edit locks. Subversion has even more nifty features, but I'm unsure of the network performance.
Jason Pollock
I used CVS for a long long time, over ten years, finally switched to SVN to get renaming. This is all for personal use, altho I have used CVS at a lot of companies too, so atomic commits didn't have much to do with CVS --> SVN. But I never liked SVN keeping things in binary files, and not being able to just look around the repository with any old editor, and 6 months later, I switched to DARCS to get the simple repository. I was surprised to find the patchset mentality very refreshing, and why I will stick with it. I have only started understanding how much more flexibility it provides. I can't see going back to CVS or SVN.
:-)
Try DARCS on some small project sometime. It has conversion scripts from CVS, but I don't think from SVN, altho I could be mistaken; my time with SVN wasn't long enough to obsolete most of my CVS repository.
Really, DARCS is liberating. It's the same feeling I had getting out of the navy. A breath of fresh air, great gobs of it, just fine, thank you
Infuriate left and right
Too bad comments can be harmful.
// Don't doo Foo() here because of x and y and z
How many times in a large codebase have you come across something like this:
Foo()
Comments often don't get maintained properly, which leads them to be out of date and wrong.
Which is worse, no comment, or an incorrect comment? The presence of incorrect comments leads developers to have a rather healthy skepticisim of all comments....
That's funny. I got my B. Sc in Computer Science at University of Toronto - the program was called "Software Engineering". No, I am not an "engineer", but one of my fourth year courses was called "Software Engineering" and we learned about requirements, design and source control by working on a course-long software development project. Computer Science isn't all theory, y'know.