Posted Feb 25, 2010 0:57 UTC (Thu) by dmarti
In reply to: Hg Init: a Mercurial tutorial
Parent article: Hg Init: a Mercurial tutorial
Keith Packard wrote a while ago, "Mercurial uses a truncated forward delta scheme where file revisions are appended to the repository file, as a string of deltas with occasional complete copies of the file (to provide a time bound on operations). This suffers from two possible problemsthe first is fairly obvious where corrupted writes of new revisions can affect old revisions of the file. The second is more subtle system failure during commit will leave the file contents half written. Mercurial has recovery techniques to detect this, but they involve truncating existing files, a piece of the Linux kernel which has constantly suffered from race conditions and other adventures."
Is this still the case? I still feel less nervous about putting potentially long-lived projects into git, but maybe I have nothing to worry about with hg.
to post comments)