Pragmatic Version Control: Using Subversion (The Pragmatic Starter Kit Series)(2nd Edition)

Pragmatic Version Control: Using Subversion (The Pragmatic Starter Kit Series)(2nd Edition)

Mike Mason

Language: English

Pages: 256

ISBN: 0977616657

Format: PDF / Kindle (mobi) / ePub


This book covers the theory behind version control and how it can help developers become more efficient, work better as a team, and keep on top of software complexity. Version control, done well, is your "undo" button for the project: nothing is final, and mistakes are easily rolled back.

This book describes Subversion 1.3, the latest and hottest open source version control system, using a recipe-based approach that will get you up and running quickly and correctly. Learn how to use Subversion the right way-the pragmatic way.

With this book, you can:

  • Keep all project assets safe--not just source code--and never run the risk of losing a great idea
  • Know how to undo bad decisions--even directories and symlinks are versioned
  • Learn how to share code safely, and work in parallel for maximum efficiency
  • Install Subversion and organize, administer and backup your repository
  • Share code over a network with Apache, svnserve, or ssh
  • Create and manage releases, code branches, merges and bug fixes
  • Manage 3rd party code safely
  • Use all the latest Subversion 1.3 features including locking and path-based security, and much more!

Now there's no excuse not to use professional-grade version control.

 

 

 

 

 

 

 

 

 

 

 

 

Whenever you copy a file or directory, Subversion simply stores a link to the original. When you make a change to the copy, Subversion records those changes as differences against the original. Using lazy copies Subversion can very quickly copy large trees of files using almost zero space, ideal for branches and tags. You can create branches off other branches, but typically you won’t want to; we’ve come across many developers who have been put off branching for life because of some bad

Sesame project to a new vizier working directory. If you’ve tried playing with the working copy on your client machine, you might find that Subversion doesn’t let you com- NETWORK PROTOCOLS 57 mit any changes. For example, try adding a new data file, Month.txt, to the project: vizier> svn add Month.txt A Month.txt vizier> svn commit -m "Added month data" svn: Commit failed (details follow): svn: Connection is read-only If this happens, your administrator has forgotten to enable

Using Repository URLs The svn move command we’ve seen so far has been running on the working copy—moves, renames, adds, and deletes hap- pen on the client before being committed to the server. This is appropriate in most cases, because program code often needs to be edited after being moved so that the code will still com- pile and the tests will still pass. Subversion also allows you to run these commands using a repository URL, without the need for a working copy at all. The changes

in the knowledge that you’ll be able to easily incorporate new releases whilst preserving your custom changes. Let’s say we want to make some tweaks to jMock’s excep- tion handling and expectation framework. Make your changes within the MaiTai working copy, and commit them as normal: maitai> svn status M vendor/jmock/core/src/org/jmock/expectation/ExpectationList.java M vendor/jmock/core/src/org/jmock/util/NotImplementedException.java maitai> svn commit -m "Made some custom changes to

As an alternative to wrapping the C API, a group of program- mers decided to implement a Subversion client in pure Java. When they started the advice from the Subversion developers was “don’t bother, just use the Swig bindings,” but they per- severed and have produced an excellent implementation. The JavaSVN library is used by JetBrains as the basis of their IDE integration with Subversion, which is as good a recommenda- tion as they could ever wish for. The TMate JavaSVN library is

Download sample

Download