Version Control with Subversion

Version Control with Subversion

Ben Collins-Sussman

Language: English

Pages: 432

ISBN: 0596510330

Format: PDF / Kindle (mobi) / ePub


Written by members of the development team that maintains Subversion, this is the official guide and reference manual for the popular open source revision control technology. The new edition covers Subversion 1.5 with a complete introduction and guided tour of its capabilities, along with best practice recommendations.

Version Control with Subversion is useful for people from a wide variety of backgrounds, from those with no previous version control experience to experienced system administrators.

Subversion is the perfect tool to track individual changes when several people collaborate on documentation or, particularly, software development projects. As a more powerful and flexible successor to the CVS revision control system, Subversion makes life so much simpler, allowing each team member to work separately and then merge source code changes into a single repository that keeps a record of each separate version.

Inside the updated edition Version Control with Subversion, you'll find:

  • An introduction to Subversion and basic concepts behind version control
  • A guided tour of the capabilities and structure of Subversion 1.5
  • Guidelines for installing and configuring Subversion to manage programming, documentation, or any other team-based project

  • Detailed coverage of complex topics such as branching and repository administration
  • Advanced features such as properties, externals, and access control
  • A guide to best practices
  • Complete Subversion reference and troubleshooting guide

If you've never used version control, you'll find everything you need to get started. And if you're a seasoned CVS pro, this book will help you make a painless leap into Subversion.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

can only copy files within a single repository. Subversion does not support cross-repository copying. Alternate names cp. Changes Repository if destination is a URL; working copy if destination is a WC path. Accesses repository Yes, if source or destination is in the repository, or if needed to look up the source revision number. Options --editor-cmd EDITOR --encoding ENC --file (-F) FILE --force-log --message (-m) TEXT --parents --quiet (-q) --revision (-r) REV

To get an overview of your changes, you’ll use the svn status command. You’ll probably use svn status more than any other Subversion command. CVS Users: Hold That Update! You’re probably used to using cvs update to see what changes you’ve made to your working copy. svn status will give you all the information you need regarding what has changed in your working copy—without accessing the repository or potentially incorporating new changes published by other users. In Subversion, svn update

repository $ svn log -r BASE:HEAD # shows all commit logs for the current versioned directory since you # last updated $ svn update -r PREV foo.c # rewinds the last change on foo.c, decreasing foo.c's working revision $ svn diff -r BASE:14 foo.c # compares the unmodified version of foo.c with the way foo.c looked # in revision 14 Revision Dates Revision numbers reveal nothing about the world outside the version control system, but sometimes you need to correlate a moment in real time

It’s needed because this sort of “merge back” is a different sort of work than what you’ve been doing up until now. Previously, we had been asking svn merge to grab the “next set” of changes from one line of development (the trunk) and duplicate them to another (your branch). This is fairly straightforward, and each time Subversion knows how to pick up where it left off. In our prior examples, you can see that first it merges the ranges 345:356 from trunk to branch; later on, it continues by

multiple backups of your repository, these full copies will each eat up just as much disk space as your live repository. Incremental backups, by contrast, tend to be quicker to generate and smaller to store. But the restoration process can be a pain, often involving applying multiple incremental backups. And other methods have their own peculiarities. Administrators need to find the balance between the cost of making the backup and the cost of restoring it. The svnsync program (see Repository

Download sample

Download