Peg and Operative Revisions ...................................................................................................................49
Properties ............................................................................................................................................53
Why Properties? ........................................................................................................................... 54
Manipulating Properties ................................................................................................................. 55
Properties and the Subversion Workflow ...........................................................................................58
Automatic Property Setting ............................................................................................................. 60
File Portability ...................................................................................................................................... 61
File Content Type .........................................................................................................................61
File Executability .......................................................................................................................... 62
End-of-Line Character Sequences ....................................................................................................62
Ignoring Unversioned Items .................................................................................................................... 63
Keyword Substitution ............................................................................................................................67
Sparse Directories .................................................................................................................................70
Locking ...............................................................................................................................................75
Creating Locks .............................................................................................................................76
Discovering Locks ........................................................................................................................78
Breaking and Stealing Locks ...........................................................................................................79
Lock Communication .....................................................................................................................81
Externals Definitions ............................................................................................................................. 82
Changelists ..........................................................................................................................................88
Creating and Modifying Changelists .................................................................................................88
Changelists As Operation Filters ......................................................................................................90
Changelist Limitations ...................................................................................................................92
Network Model ....................................................................................................................................92
Requests and Responses ................................................................................................................. 92
Client Credentials ..........................................................................................................................93
Summary ............................................................................................................................................. 95
4. Branching and Merging .............................................................................................................................. 96
What's a Branch? ..................................................................................................................................96
Using Branches ....................................................................................................................................96
Creating a Branch .........................................................................................................................98
Working with Your Branch .............................................................................................................99
The Key Concepts Behind Branching .............................................................................................. 102
Basic Merging .................................................................................................................................... 102
Changesets ................................................................................................................................ 102
Keeping a Branch in Sync ............................................................................................................. 103
Reintegrating a Branch ................................................................................................................. 108
Mergeinfo and Previews ............................................................................................................... 110
Undoing Changes ........................................................................................................................ 113
Resurrecting Deleted Items ........................................................................................................... 114
Advanced Merging .............................................................................................................................. 116
Cherrypicking ............................................................................................................................ 116
Merge Syntax: Full Disclosure ....................................................................................................... 118
Merges Without Mergeinfo ........................................................................................................... 119
More on Merge Conflicts .............................................................................................................. 120
Blocking Changes ....................................................................................................................... 122
Keeping a Reintegrated Branch Alive ............................................................................................. 123
Merge-Sensitive Logs and Annotations ........................................................................................... 124
Noticing or Ignoring Ancestry ....................................................................................................... 126
Merges and Moves ...................................................................................................................... 127
Blocking Merge-Unaware Clients .................................................................................................. 127
The Final Word on Merge Tracking ................................................................................................ 128
Traversing Branches ............................................................................................................................ 129
Tags ................................................................................................................................................. 131
Creating a Simple Tag .................................................................................................................. 131
Creating a Complex Tag ............................................................................................................... 131
Branch Maintenance ............................................................................................................................ 132
Repository Layout ....................................................................................................................... 132
Version Control with Subversion
v