title: Mercurial hg pull hg up hg merge heads blah blah the whole process not very clear
body: <p>We are using Kiln as our mercurial server and I there are three developers working on the same repo and i get this issue often and I am not quite sure what is happening.<br>
  Every once in a while I will do an <code>hg pull</code>.<br>
  Then when I run hg up I get the following message  </p>
  
  <blockquote>
    <p>abort: crosses branches (use 'hg merge' to merge or use 'hg update -C'
    to discard changes )</p>
  </blockquote>
  
  <p>ok so I run <code>hg merge</code> and I get  </p>
  
  <blockquote>
    <p>abort: outstanding uncommitted changes (use 'hg status' to list
    changes)</p>
  </blockquote>
  
  <p>ok so I run <code>hg status</code> and I get something like this  </p>
  
  <pre><code>! Safemail 3.0\CSM3.0\AddinSetup\Release\AddinSetup.tmp 
  ! Safemail 3.0\CSM3.0\Outlook2007Addin\Outlook2007Addin_TemporaryKey.pfx
  </code></pre>
  
  <p>no idea what to do with that.</p>
  
  <p>If I run <code>hg commit</code> again it says no changes.<br>
  Finally if i run <code>hg heads</code> I get   </p>
  
  <pre><code>changeset:   51:daea74a29d5c
  tag:         tip
  parent:      49:b88e6e522672
  user:        Rahul Chandran
  date:        Mon Jan 23 13:30:54 2012 -0800
  summary:     added login code
  
  changeset:   50:cb6f6e1eec5e
  parent:      46:d83431c322ad
  user:        dthompson@Jabberwock.lan
  date:        Mon Jan 16 22:10:11 2012 -0600
  summary:     Adjusted Email-PDF formatting  
  </code></pre>
  
  <p>Clearly I do not come from a DSCS background and I am probably missing some basic understanding of what is going on . Any help appreciated.<br>
  What I do know is that the code that my co worker checked in via a push has like no files in common with my changes.   I would not expect like a merge conflict or some such in a non distributed source control system . essentially I am having some trouble understanding what is happening here exactly</p>