This extension is not distributed with Mercurial.

Author:Pradeepkumar Gayam

Download site:


This extension is used to convert normal repositories into parentdelta repos. It reads revision of each file and rewrites the in new repository. It can be used to observe the affect of changes made in revision() and addrevision() functions in revlog. This was written aiming to convert a repository to parent delta repo. Some optimization can be done to cost less CPU.


Configure your .hgrc to enable the extension by adding following lines:

compress = /path/to/file


hg --config format.parentdelta=True compress -R from to


Inserting full revision at a distance of 2 * len(fulltext), the Mercurial repository compressed from 11MB to 4.4MB.

At a distance of 4 * len(fulltext): 11MB to 4.2MB.

At a distance of 6 * len(fulltext): 11MB to 2.0MB.

danchr in IRC quotes that 2GB repo compressed to ~380MB.


CompressExtension (last edited 2012-11-04 02:28:18 by mpm)