tags:

views:

734

answers:

8

I am ready to start using SVN, but I have NO (as in the money required for free beer) experience with source control. I have installed subversion on my server (that was easy, 'apt-get install subversion') but now I don't know what to do, how to configure it, or how to use it.

What suggestions do you have, and where can I find good resources to learn to start using it?

Update:
O.K. So the feedback has been great and I have read through a bit of it but I want to clarify my question by saying that I am looking for more information on how to actually go about setting my up my repositories, clients, server, etc. I know that I could do a quick Google search and find dozens (or more) resources but I'm hoping that someone whom has experience with subversion and a client(I have installed tortoise) could suggest a good reference that will be reliable, and have quality content.

+16  A: 

Eric Sink has an excellent series on source code control aimed at beginners. For Subversion specifics, including setting up and administering a server, the Subversion book is a great resource, and includes a section with examples of a typical session with Subversion (checkout, commit, merging and updating basics).

Update: I forgot to mention that for beginners, I'd also recommend messing around in a graphical client, which removes the command-line hassle from the learning experience. RapidSVN is a reasonable cross-platform client. You'll also find that common IDEs either come with Subversion support, or have plugins which can be installed, which allow most version control operations to be performed within that environment.

@John Millikin: While setting up a Subversion server can be complicated, depending on one's general admin experience, don't forget that you don't need to do that just to mess about with a repository and get to grips with the basics - the client can interact with a repository in the local filesystem.

Rob
+2  A: 

Where do you live that you can get free bear!?

Subversion is complicated to set up -- if you have no experience with version control at all, I'd recommend using a distributed VCS because they don't require any server configuration. Bazaar in five minutes is a good start.

For Subversion, you'll want to set up either svnserve or the mod_dav_svn Apache module. I prefer the Apache module, because it gives you basic web-based repository browsing in the bargain. You'll also need to create and configure a repository -- see the SVN red book Chapter 5 for more information on repository administration. Then read chapter 2 to learn how to use Subversion itself.

John Millikin
+5  A: 

http://blog.clickablebliss.com/2006/04/26/introduction-to-subversion-screencast/ explains how to use SVN very well.

dbr
+7  A: 

Another good Subversion book is Pragmatic Version Control with Subversion, a Pragmatic Programmer book that goes out of its way to make key concepts of version control (from checkin & checkout to branching & merging) clear.

moobaa
+1  A: 

Another route you could take is not to mess around with your own repository per se, for fear of messing things up, but you could use someone else's repository or set up your own elsewhere. Point being, I learned by using SourceForge, which has both CVS and SVN... but hearing good things about SVN and weighing the differences between the two, I of course went with SVN. Getting back to SourceForge, I applied for a test project, more or less to see how SourceForge worked... but once I was in I got to playing around with their SVN for my own project listed there; experimenting with it both remotely and locally. Once I got a broad grasp of its features through testing it there, I then went on to read the go-to book for SVN, the freely distributed book by the tool's authors(the book already mentioned). It's truly a great book and at that point I began to feel comfortable setting up my own repository on critical systems. From that point all you need is a Q&A site like this for specific issues you come across and of course keep the free SVN book referenced in a bookmark for easy access.

Post your questions if you get stuck along the way and we'll be happy to help. Best of luck!

Patrick Loz
+3  A: 

Jeff posted a good "getting started" article for Windows, including how to setup svnserve:

Setting up Subversion on Windows

Nick Higgs
hey dumbass, in the question, it is clear he isnt using windows.
+4  A: 

You might also wanted to see Intro to Distributed Version Control (Illustrated) and a visual guide to version control.

It was only with this guides that I FINALLY understood a lot of things, specially the Branching and Merging part ;)

balexandre
Create website +1
Daok
sorry Daok, was this a question? I didn't understood...
balexandre
A: 

I recommend using SVN with apache on Linux, svn as a linux client, and TortioseSVN on windows (It does great MS Office diffs).

I have lots of stuff on my svn, and I would hate not using it.

Osama ALASSIRY