on 23 March 2011
TortoiseSVN is one of the best and well-known GUI for SVN. It has also given birth to parallel projects for all the other VCS (TortoiseHG, TortoiseGit...). It's only fair a book is dedicated to it.
The objective of the book is not only to guide you through TortoiseSVN when you know about SVN, it's about using efficiently a VCS when you know nothing about it. In consequence, the book can be considered as a SVN tutorial.
The book starts with the installation of TortoiseSVN, and also a SVN server. Then, the basic actions for version control are described in the context of the GUI (checkout, commit). The next step moves towards team work with patches and conflict management. These tools are mandatory for branching and merging. Once these topics are tackled with, basic version control can be achieved.
The book goes on with aspects that are not mandatory but that ease development: log analysis and blame (who wrote what and when in a file), moving checkouts, usage of SubWCRev, and what is more interesting, bug tracking integration and communication over SSL.
Each topic has a lot of images, explanation, steps for action, and a small sum up. The last point may not be useful for everyone, but it tells you where you stand before moving forward.
SVN has a lot of dedicated books, but they are geared toward commandline. Here, we have the first book for complete GUI integration, and if you don't know how to use a version control system, this book is an excellent way of getting into business.
on 22 March 2011
This book is really going to be the most benefit to programmers who haven't used SVN or even any source code management (SCM) system before. I know lone programmers out there that still just make backup copies of their source folder every day or week and think that is sufficient. Even if you are a team of one you should be using an SCM system. Of course, some programmers shy away from SCMs because the one they once tried was Microsoft's Visual Source Safe. They were right to run and hide from VSS. TortoiseSVN is not VSS, the only thing they share is the fact that you can get them both for free. If you aren't using an SCM because of the learning curve involved, then this book is definitely for you. The author does an excellent job of hand-holding and walking you through the most common operations for day to day use. A lot of examples assume you work on a team, but even if you don't a lot of the information is still relevant.
Teaching Old Dogs
If like me, you already use TortoiseSVN, you'll find the book less valuable, but you'll still probably learn several things. The book is an easy read and well organized so I found it a pleasure to sit down and read cover-to-cover over the weekend. Even though I know where to find some of the information in the help files, reading it in the book forced me to get a better overall picture. One example is the section on the SubWCRev command. I was already using it but after reading the book I was able to fine tune the output to exactly replicate my preferred version naming scheme. It was also nice to learn about some of the features that are more relevant to team use of SVN.
The Good the Bad and the Ugly
I hope I've already covered the good. The book is well written, well organized and decently indexed (although I think the index could have been more comprehensive). The material chosen for coverage is for the most part valuable and covers most of what you need to know to use the program on a day-to-day basis. The author has also included valuable links to other resources that can improve your programming life.
I think the book missed a few key concepts. The Import in Place" feature was not mentioned at all. If you're just coming to the joys of an SCM then you have existing code and you'll want to start off by getting your existing code into the system. The TortoiseSVN help file gives prominent mention of this technique so be sure to see it. I'm perplexed as to why this was missing from the book.
The other common thing you're likely to be used to doing is rearranging folders of your source code. This has to be done with care once you have code checked into an SCM. It can still be done and TortoiseSVN fully supports it, but it's easy to forget and just use Window's Explorer's copy and paste and forget to right-click and use Tortoise SVN's paste command. Again this is a surprising omission from the book but you can learn about it from the help files. There is also no section on common errors you might get when checking code in to TortoiseSVN and the steps for recovering from them. This might not be appropriate for a "beginner's" book, but I would like to have seen some information on it. I would also like to have seen PROMINENT mention of the fact that Window 7's indexing and TortoiseSVN do not get along and you need to not index your source code.
In terms of structure, the book uses a "quiz" section as a summary technique. I didn't particularly like this technique. I would have found a simple summary of key points section more succinct and valuable.
The book does address installing and using an SVN server. The book doesn't mention some of the online solutions available that can make your life even easier. I can see why they might not promote one particular service over another.I have only used ProjectLocker and I'm unlikely to ever go back to running my own SVN server. My source code is automatically backed up, off site and accessible from any internet connection. So, when I'm making changes at a customer site I can still check in my code. Be sure to look into the various Subversion hosting services out there. The terms of free and paid accounts vary for each service. You'll probably eventually outgrow the free storage so make sure you're willing to live with the monthly fees if necessary.
on 20 March 2011
The book examples are presented with a fictional company having real world needs and typical usage scenarios that most of us will face sooner or later.
It starts by explaining why the lock-modify-lock system is almost a thing of the past and every company should use the copy-modify-merge approach. Brief descriptions but enough for anyone to understand.
There is the typical setup chapter, with both how to install TortoiseSVN and a Subversion server (good point there, also with multiple options like SVNServe or Subversion), followed by one with basic tasks like browsing repositories, commiting files and excluding files from versioning, to then divide in four chapters all the hard or advanced tasks, like resolving conflicts, branching and merging.
The Setup chapter is excesively detailed (6 pages for checking if you need the 32 or 64 bits version, screenshots-included step-by-step install...), but as the book is targeted for begginers is ok. There are explanations to setup web access (via Apache) with very detailed steps so that nobody gets lost configuring it.
Creation of patches, changing working copies or the SVN url of the project, revision graphs are examples of other topics also covered in the last chapters, as other advanced advanced ones like using TortoiseSVN under SSL, how to plug it to Trac, Jira or other bug tracking systems.The author gives tips and suggestions like folder, applying file locking for binaries like photos or videos (which you cannot merge anyway) or branching & tagging techniques.
The book contains many diagrams and flow charts to explain all processes and there are also quizs at the end of the chapter to reinforce the concepts explained, is well written and uses just as much tecnical jargon as needed.
To have something "negative", one trick that the author seems to have forgotten to add is the exclude-every-folder-include-just-code-folders to avoid TortoiseSVN being slow because of trying to check every hard drive folder and file to add to source control.
An excellent book both to learn Subversion basics and how to use TortoiseSVN for any task.
on 8 March 2011
It is called "Beginners Guide" but is a very complete step-by-step guide of a very powerful software.
Version control is a complex issue (copy and merge paradigm). The book uses examples over and over to explain it.
Unfortunately, you need all until branching/merging in your daily work. So you have to read most of the book even if you want to stay novice and this is like it is.
Even if TortoiseSVN is basically a windows explorer extension, a whole version control framework is described (Unix/Mac missing but that is not the purpose of the book).
I use TortoiseSVN (server on Linux) since a decade in my daily work. But I got new insights by the advanced chapters SSL, Bug Tracking and Tag replacement. And I have seen most described pitfalls.
Thank you for this book,