[PATCH 00 of 14] shallow clone patches and status
Vishakh H
vsh426 at gmail.com
Fri Jul 16 02:15:08 CDT 2010
This patch series enables creation of shallow clones with truncated revlogs.
All shallow clones contain the complete changelog, but for manifests
and filelogs we keep only the nodes needed in shallow clone. If any
parent nodes in the revlogs are missing we create a punched entry
for the missing node with nullrevs for parents.
Shallow clones are created with shallowroot stored in .hg/shallow file.
All revlogs in shallow clone are created with REVLOGSHALLOW flag, and
can be identified as shallow. Thus on subsequent interactions with full
clone the shallow one can mention its shallowroot and get only the manifest
and file nodes of missing descendants of shallowroot.
Comparing sizes of repos with empty working dir:
Repo Full Shallow at/near tip
hg 28M 9M
linux2.6 1.4G 290M
More information about the Mercurial-devel
mailing list