Practical Subversion 2nd Edition by Daniel Berlin ; Garrett Rooney

Practical Subversion 2nd Edition

by Daniel Berlin ; Garrett Rooney

Price: £22.99

Discount: 16%
RRP: 27.49

More Details

Description

Practical Subversion, Second Edition draws on the experience of its authors, Daniel Berlin and Garrett Rooney - both Subversion project members - to guide you through a complete introduction to this popular code management solution.This edition has been updated to reflect changes to the popular Subversion version control system. After a crash course on Subversions key features, including a theme project that youre encouraged to follow, you'll explore best practices, migration tips for moving from other versioning solutions, Subversion integration, and an overview of the Subversion APIs.

Effective developers and system administrators alike understand that their success is related to their ability to manage the dozens, sometimes hundreds, of files that they come into contact with on a regular basis. This file management includes determining a files changes over time, accommodating simultaneous edits by multiple users, and even reverting a file to an earlier version if a mistake or deletion has been made. Capitalizing on such capabilities requires a version control system like Subversion. You'll want to pick up a copy of this book because it is

* The most up-to-date book on the popular Subversion version control system
* Authored by two Subversion project contributors
* More than a mere introduction, covering best practices, migration issues, and more effective versioning through tool integration

CONTENTS:

CHAPTER 1 Introducing Subversion
What Is Version Control?
The Concurrent Versioning System
What Is Subversion?
Versioned Directories, Renames, and File Metadata
Atomic Changes to the Repository
Branching and Tagging
Client/Server Application Design
Saving Bandwidth
Disconnected Operations Support
Well-Supported Binary Files
Sharing a Repository Over a Network
Workflow Similar to CVS
Key Technologies
Apache Web Server and WebDAV
Berkeley DB
Obtaining Subversion
Obtaining Precompiled Binaries
Building Subversion on Unix Systems
Installing Subversion on Windows Systems
Configuration Files
Summary

CHAPTER 2 A Crash Course in Subversion
Locking vs. Nonlocking
Other Differentiating Features
The Most Important Subversion Commands
Revisions and URLs
Creating and Populating the Repository
Basic Workflow
Checking Out a Working Copy
Getting Information About Your Working Copy
Modifying Your Working Copy
Adding, Copying, Renaming, and Removing Files
Adding Files and Directories
Copying and Moving Versioned Items
Deleting Versioned Items
Working with Branches and Tags
Creating Branches and Tags
Merging Changes Between Branches
Switching to Another Branch
Changing a Repository URL with svn switch --relocate
Removing Old Branches
Working with Locks
Properties
svn:mime-type
svn:ignore
svn:needs-lock
svn:keywords
svn:eol-style
svn:executable
svn:externals
Revision Properties
Miscellaneous Commands
svn blame
svn cleanup
svn export
Summary

CHAPTER 3 Repository Administration
Choosing a Repository Type
Repository Layout
The Repository on Disk
BDB-Specific Files
Inside the Repository
Tools for Working with the Repository
svnadmin
svnlook
Backups
Dumping and Loading Repository Contents
Berkeley DB Tuning
Hooks
Commit Hooks
Locking Hooks
Revprop Change Hooks
Access Control Hook Scripts
Commit Notification Hook Scripts
Writing and Installing Hook Scripts
Networking with ra_dav
Networking with ra_svn
Repository Permissions
Summary

CHAPTER 4 Migrating from Other Version Control Systems
Migrating a Release History
Various Migration Strategies
The Subversion Dumpfile Format
Migrating from Perforce
p42svn
An Alternate Perforce Conversion Scheme
Migrating from CVS with cvs2svn
cvs2svn Internals
Running cvs2svn
Using cvs2svn with RCS
Migrating from Visual SourceSafe with vss2svn
Migrating from Mercurial or GIT with Tailor
Where Should I Go from Here?
Summary

CHAPTER 5 Advanced Apache Integration
Authentication, Authorization, and Encryption
mod_auth
Authenticating Users with mod_auth_mysql
Restricting User Actions with mod_authz_svn
Encrypting Traffic with mod_ssl
Compression
DAV Autoversioning
Logging
Repository Browsing
Common Issues with mod_dav_svn
Summary

CHAPTER 6 Best Practices
Choosing a Repository Layout
Avoid Locking Mergeable Files
Committing Changes
Commit Early, Commit Often
Make Small, Atomic Changes
Use Meaningful Log Messages
Don't Break the Tree
Branching and Merging
When to Branch
Making Merges Easier
Planning for svn switch
Vendor Branches
How to Maintain a Vendor Branch
Automating the Vendor Import Process
Releases
Making a Release Branch
Finalizing the Release
Rolling the Distribution
After the Release
Automated Testing with Subversion
You Need a Test Suite
Don't Rely on Your Users to Run the Test Suite
Making Good Use of Hook Scripts
Notifying the Rest of the Team
Enforcing Project Standards
Make Backups
Summary

CHAPTER 7 Integrating Subversion with Other Tools
Command-Line Tab Completion
Emacs Version Control and psvn
Ant Integration
Web-Based Repository Interfaces
ViewVC
SVN::Web
Trac
IDE Integration
IntelliJ
Eclipse
Visual Studio
TortoiseSVN
Summary
CHAPTER 8 Using the Subversion APIs
Subversion Source Documentation
How the Libraries Fit Together
APR and the Core SVN Libraries
APR
libsvn_subr
The Client Library
Common Aspects
A Simple Client
Repository Access Libraries
What You Need to Provide
Using the RA Session
Repository Library
Retrieving a Repository Object
Manipulating Entire Repositories
Dumping and Loading Repositories
Wrappers Around libsvn_fs Functions
Filesystem Library
Important Data Structures and Vocabulary
Making Changes to the Filesystem via libsvn_fs
Filesystem Library Conclusion
Using Subversion from Perl
The Installation Process
SVN::Core
SVN::Client
SVN::Ra
SVN::Repos
SVN::Fs
Using Subversion from Python
Summary

APPENDIX A Subversion Command Glossary
svn Subcommands
add
blame
cat
checkout
cleanup
commit
copy
delete
diff
export
help
import
info
list
lock
log
merge
mkdir
move
propdel
propedit
propget
proplist
propset
resolved
revert
status
switch
unlock
update
svnadmin Subcommands
create
dump
help
hotcopy
list-dblogs
list-unused-dblogs
load
lslocks
lstxns
recover
rmlocks
rmtxns
setlog
verify
svnlook Subcommands
author
cat
changed
date
diff
dirs-changed
help
history
info
lock
log
propget
proplist
tree
uuid
youngest
svnserve Options

APPENDIX B Subversion Compared to Other Version
Control Systems
Subversion Compared to CVS
Subversion Compared to Perforce
Subversion Compared to RCS
Subversion Compared to BitKeeper
Subversion Compared to Visual SourceSafe

INDEX
Published

17 Nov 2006

Publisher

APRESS

ISBN

9781590597538

Pages

280

Static Book Details Index Page - Click Here to go to Computer Manuals Website