title: best practices in mercurial: branch vs. clone, and partial merges?
body: <p>...so I've gotten used to the simple stuff with Mercurial (<code>add</code>, <code>commit</code>, <code>diff</code>) and found out about the .hgignore file (yay!) and have gotten the hang of creating and switching between branches (<code>branch</code>, <code>update -C</code>).</p>
  
  <p>I have two major questions though:</p>
  
  <ol>
  <li><p>If I'm in branch "Branch1" and I want to pull in some but not all of the changes from branch "Branch2", how would I do that? Particularly if all the changes are in one subdirectory. (I guess I could just clone the whole repository, then use a directory-merge tool like Beyond Compare to pick&amp;choose my edits. Seems like there ought to be a way to just isolate the changes in one file or one directory, though.)</p></li>
  <li><p>Switching between branches with <code>update -C</code> seems so easy, I'm wondering why I would bother using <code>clone</code>. I can only think of a few reasons (see below) -- are there some other reasons I'm missing?</p>
  
  <p>a. if I need to act on two versions/branches at once (e.g. do a performance-metric diff)</p>
  
  <p>b. for a backup (<code>clone</code> the repository to a network drive in a physically different location)</p>
  
  <p>c. to do the pick&amp;choose merge like I've mentioned above.</p></li>
  </ol>