&gt; I originally saw the index as an obstacle to the commit model I&#x27;d gotten used to from subversion. Today, I find it a critical part of git&#x27;s culture of making small commits with one logical change each.<p>How is this different from mercurial ? I know that the latter doesn&#x27;t have the index, but is there any practical difference from the point of view of the user ? In Mercurial you can easily commit a subset of the files, or even a part of a file if you use the record extension.