Page 1 of 1

cvs and whatnot

Posted: Mon Jun 27, 2005 4:56 pm
by shiznatix
what is a CVS and how do u use it and is it really worth it?

Posted: Mon Jun 27, 2005 5:05 pm
by Chris Corbyn
LOL how did I see this coming :P ;)

Lemme find some links :roll: (Joking about the rolling eyes... I'm sure tonnes of people don't know).

It's really just that... a change monitoring system. "Concurrent Versions System"

http://en.wikipedia.org/wiki/Cvs
http://www.sitepoint.com/article/harness-power-cvs-site (Looks a nice explanation)

Google... *cough*

Re: cvs and whatnot

Posted: Mon Jun 27, 2005 5:13 pm
by Roja
shiznatix wrote:what is a CVS and how do <span style='color:blue' title='ignorance is bliss'>you</span> use it and is it really worth it?
CVS is a version control system. It lets you work collaboratively with other developers on a project. Think of it as a check-in/check-out code system.

Subversion is CVS on crack, steroids, and an intense training regiment. It does (almost) everything that CVS does, but better, and does more. Its insanely great.

So - its a way to store code and work interactively with other developers. Most opensource projects use one or the other.

You can browse the (now outdated) CVS repository of one of my projects to get an idea of what I'm talking about: http://cvs.sourceforge.net/viewcvs.py/kabalinvasion/

Unfortunately, some things about CVS are confusing. CVS is the name of the client. Its also the name of the protocol you use to connect the client to the repository.

Repository is a funky word too for most people (it basically means a server-side collection of files).

All in all, very confusing. Then you add in Subversion (SVN), which is similar but different, and its easy to get lost.

As to how to use it, you use a client to connect to a repository. On linux, you just use "cvs". On windows, you can use a few, for example TortoiseCVS. You then connect the client to the server (if you have an account there).

The client then brings down a copy of the repository to you. Think of it like downloading (via ftp) a copy of your website. Then you can edit as you like, and do a "commit". This sends *only* the files you've changed back to the server. (Technically, it sends only the parts of the files you've changed - not the whole file).

While you are doing so, I can also be working on the same code. We can both "checkout" code, and commit our changes. CVS (somewhat) intelligently handles version conflicts, and lets power users control the process if it can't figure it out.

As to "is it worth it?", absolutely. It is practically impossible to manage an opensource project without using some form of version control system. CVS is the most popular, but SVN is quite a bit better. Without a version control system, multiple people can't work on the same code at the same time, so development grinds to a crawl.

It should be mentioned that setting up a repository is a pain, which is why most project just use hosted repositories - like at sourceforge, or berlios.de.

Posted: Tue Jun 28, 2005 2:44 am
by CoderGoblin
CVS is not only useful when working as part of a group. CVS can also be used as a method of "versioning" code, producing backups which you can rollback to at later stages if needed.

Posted: Tue Jun 28, 2005 5:57 pm
by jadams
May I recommend Tortoise CVS? It's a really great client. Check it out at http://www.tortoisecvs.org/

Posted: Tue Jun 28, 2005 6:53 pm
by Roja
jadams wrote:May I recommend Tortoise CVS? It's a really great client. Check it out at http://www.tortoisecvs.org/
I already did in my post. :)

Posted: Tue Jun 28, 2005 6:57 pm
by jadams
lol. I skimmed too fast, sorry. Im a newbie to the board and im trying to catch up. Must be moving a little too fast. My apologies, everyone.