A: Branches are managed holistically so that any type of change within the branch (i.e., files added, deleted, renamed, or edited) will be merged when you merge your changes. We manage changes that are checked in together as a “changeset”, which makes it possible for the system to identify the set of files that need to be merged for a given change – you don’t have to know that yourself. We maintain a history of everything that has been merged so that we can give users information about whether a change exists in a given branch. We can compute for users a list of changes that have not been merged and are candidates for a future merge operation. We allow users to "cherry-pick" specific changes so that you can pick out a bug fix and merge it without also pulling over other changes that were made to the same files in earlier revisions.