&gt; In Mercurial, I can mess with the file all day long after scheduling it for a commit<p>OTOH, I find that behavior weird as I regularly add files to the index as I work.  If a test breaks and I fix it, I can review the changes via git diff (compares the index to the working copy) and then the changes in total via git diff HEAD (compares the HEAD commit to the working copy).