tags:

views:

176

answers:

5

I just asked a rtm worthy question about SVN. I've used SVN for several years and I manage several repositories used for different projects; apparently, I've been managing to get by with my simplistic mastery of SVN's client app.

How do I get to the next level (of effective SVN workflow)? How do I learn to master the app when I don't, in person, know anyone who can coach me and give me pointers. Are there any resources (besides the manual and it's examples) to help me learn to use it beyond the basics (showing me why/when I would want to employ advanced commands etc.)?

+2  A: 

Join an open source project. You will learn a lot about how they use a version control system to manage their releases, such as tagging/branching/merging, and the like. That's how I learnt to use CVS ten years ago, from looking at the OpenBSD release process. :-P

Of course, these days few projects still use CVS; you'll likely be learning about Subversion, Git, or Mercurial.

Chris Jester-Young
+1 Look at apache java projects. Many of them use svn in the "standard" technique from the SVNBook. This way you can follow along with the examples in the book in a real world project.
Mike Miller
Agree. Of course, in the Java world, once you cross into Sun territory you'll be using Mercurial, which makes life that much more interesting. :-P
Chris Jester-Young
By "interesting", I mean that Mercurial has a whole plugin/extension architecture, which I haven't seen in other VCSs yet. Which makes your workflow that much more customisable.
Chris Jester-Young
+1 I was hoping for something less time intensive, but reality doesn't always map to wishes. Thanks Mike for the heads up on apache java projects.
bias
+6  A: 

Read the SVN-Book free on the web or pdf. Get a good server implementation (like VisualSVN). And talk to people who use it.

Jeremy
+2  A: 

I'd suggest you read the free subversion book. It is really worth reading, as it gives an introduction into basic version control topics, and then covers (of course) subversion in great detail (from basic usage to advanced and administrative tasks).

Also, if you're working on windows, I suggest you use TortoiseSVN as subversion client. And also have a look into TortoiseSNV's help.

M4N
+3  A: 

I highly recommend Pragmatic Version Control Using Subversion. It's a bit of an introductory book, but it does have a lot of good things to say about Subversion best practices. I learned a lot about how best to organize and maintain project structures in SVN (and with other version control systems) from reading this book.

MattK
+1 - It's an excellent book, the best of that Pragmatic start kit in my opinion.
duffymo
+1  A: 

While in general it's bad form to give just a reference to answer a question, I'm going to do it anyway.

http://svnbook.red-bean.com/en/1.5/svn-book.pdf

This book is excellent. I played with subversion a little first, then read this book, and it helped a huge amount to get into the minds of the creators.

Also, create your own repositories locally, and try different things, based on what you read in the book. Don't use real data for this, unless it's a copy.

Don Branson
+1 the book *is* excellent. Also the idea of creating test repositories to tinker with is one I've found very useful.
David Zaslavsky