Apache Subversion is a flexible solution for version control that imposes few strict rules on the user.As part of this flexibility, working copies are not required to correspond to a single revision.It's up to you to decide which changes are worth sharing; Subversion gives you the ability to selectively changes between branches.
So again Subversion stops merging the files and you end up with manually copying your changes.
Subversion tries to retain this atomicity in the face of program crashes, system crashes, network problems, and other users' actions.
Each time the repository accepts a commit, this creates a new state of the filesystem tree, called a .
For the finer details of the repository, though, check out Chapter 5, A Subversion client commits (that is, communicates the changes made to) any number of files and directories as a single atomic transaction.
By atomic transaction, we mean simply this: either all of the changes are accepted into the repository, or none of them is.