Now you and Sally are working on parallel
branches of the project: you're working on a private branch, and
Sally is working on the trunk, or main line of development.
For projects that have a large number of
contributors, it's common for most people to have working copies of
the trunk. Whenever someone needs to make a long-running change
that is likely to disrupt the trunk, a standard procedure is to
create a private branch and commit changes there until all the work
is complete.
So, the good news is that you and Sally aren't
interfering with each other. The bad news is that it's very easy to
drift too far apart. Remember that one of the problems with the
“crawl in a hole” strategy is that by the time you're
finished with your branch, it may be near-impossible to merge your
changes back into the trunk without a huge number of
conflicts.
Instead, you and Sally might continue to share
changes as you work. It's up to you to decide which changes are
worth sharing; Subversion gives you the ability to selectively
“copy” changes between branches. And when you're
completely finished with your branch, your entire set of branch
changes can be copied back into the trunk. The general act of
replicating changes from one branch to another is called
merging.