Author Topic: What is CVS/SVN?  (Read 6519 times)

Jerubaal

  • Guest
What is CVS/SVN?
« on: October 27, 2005, 01:24:32 am »
Let me acknowledge beforehand that I am an idiot who knows very little programming, and almost nothing about open source sharing and the like, so what I am asking will likely sound very stupid.

I have spent most of the day reading these forums and checking sites related to CVS/SVN and have not been able to find a clear answer as to what it is and what it does. Also, if I get codeblocks and intend to use CVS/SVN with it, should I just get SVN, or should I also get CVS? Any advice you could give me would be appreciated.

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: What is CVS/SVN?
« Reply #1 on: October 27, 2005, 01:43:04 am »
Check out http://www.tortoisecvs.org/

Personally i *don't* use the Codeblocks SVN plugin, I haven't tested so I can't tell you if it's stable enough.

CVS is a version organizer so multiple users can make changes to the same file at the same time, without getting mixed up. It also allows you to see who changed what, and when. It keeps a history of ALL the changes.

TortoiseCVS is a CVS *client*. It connects to a CVS server which is the one that keeps track of the changes.

TortoiseCVS works even if you don't have a network (it includes a basic CVS server called CVSNT). When i tested tortoise, i liked it so much that I use the logo as my personal icon :)

Subversion (aka SVN) is a system more advanced than CVS, but it requires more resources to setup. The two systems are NOT compatible. TortoiseSVN is a client for Subversion.
« Last Edit: October 27, 2005, 01:45:16 am by rickg22 »

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: What is CVS/SVN?
« Reply #2 on: October 27, 2005, 01:47:05 am »
Oh yeah. The forum "CVS issues" refers to bugs found with the CVS-version of codeblocks. This version requires you to download codeblocks via CVS, and compile it yourself. When the CVS version of codeblocks is considered mature enough, Yiannis compiles it, and makes an installer for it. Then he releases it at sourceforge.

Jerubaal

  • Guest
Re: What is CVS/SVN?
« Reply #3 on: October 27, 2005, 01:48:06 am »
Thanks! Now I'm wondering, should I get CVS or SVN? From what I read, I heard that SVN wasn't totally stable yet, but I'm not sure how recent that info was. Can't wait till I can get home and start using CVS/SVN and code::blocks(I'm using the computer in my mom's classroom right now so I can't download anything...)

takeshimiya

  • Guest
Re: What is CVS/SVN?
« Reply #4 on: October 27, 2005, 02:33:30 am »
Just get CVS, because sourceforge.net is using CVS only yet.

-Code::Blocks and most open source projects are hosted in sourceforge-


sethjackson

  • Guest
Re: What is CVS/SVN?
« Reply #5 on: October 27, 2005, 03:24:28 am »
If you use Windows (I assume you do  :lol:) get TortoiseCVS like rickg22 said. :)

http://www.tortoisecvs.org/


Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: What is CVS/SVN?
« Reply #6 on: October 27, 2005, 09:12:08 am »
First off, the statement that svn is not fully stable is blatant nonsense. In fact, svn has been lot more stable and reliable than cvs for at least 3 years.

The quesion "what should I get" can only be answered with another question: What do you want?

If you want to use sourceforge.net (largest free open source hoster) for your projects, then you need cvs. Although sourceforge had already announced to support svn soon many months ago, they still fail to do so.
If you want to checkout working copies for development from a project that is under cvs control (such as Code::Blocks), then obviously you need cvs, too. If you can live with downloading a "release" version, then you don't need anything.

If you can live without sourceforge.net (and use BerliOS for example), then svn is definitely the tool of choice. It is more reliable, easier to use, logical and consistent from head to tail. It does atomic commits (unlike cvs), and many operations that are expensive in cvs are cheap in svn (for example creating a branch takes constant time and constant storage, while in cvs, it takes linear time, depending on the number of sources). Also, unlike cvs, svn can do a lot without accessing the network (sometimes a great performance advantage).

Lastly, there is no reason why you should not have both cvs and svn, they are not mutually exclusive.
In any case, I strongly suggest you get TortoiseCVS/TortoiseSVN instead of the "raw" package, because these tools are a lot easier to use (and in the case of cvs more reliable, too). Also they come with gadgets like conflict editors etc. which are very useful. Sure, you can do all that with another tool (or even by hand), but with Tortoise, everything just works. This is a great advantage.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."