title: What commands do you use to refresh your development environment with Mercurial?
body: <p>I guess I'm learning somewhat backwards.  I'm very comfortable with git and never used mercurial until my most recent project.</p>
  
  <p>One of the things that bothers me is that sometimes I can't seem to refresh my development environment because of un-tracked file errors.  I really don't care whether files are tracked/untracked on the development server.  I'd just like to be able to pull the most recent state of the repo from bitbucket. </p>
  
  <p>Unfortunately, I sometimes end up resorting to nuking the app and re-cloning.  Normally this wouldn't be that big of a deal but there are dependencies that I need to add back to the app each time I do this because they are not stored in the repo.</p>
  
  <p>With git I would run...</p>
  
  <pre><code>git reset --hard; git checkout master -f; git pull; git checkout origin/master -f
  </code></pre>
  
  <p>What's the mercurial equivalent?  I've tried...</p>
  
  <pre><code>hg revert --all; hg pull; hg update;
  </code></pre>
  
  <p>Which seems to work as I would expect it sometimes.  When it doesn't work it aborts due to the untracked file errors.  I'm looking for something that works all the time. </p>