{i} This page does not meet our wiki style guidelines. Please help improve this page by cleaning up its formatting.

{i} This page appears to contain material that is no longer relevant. Please help improve this page by updating its content.

Overlay Repositories

Hard links are deficient or unavailable on some file systems, so it'd be nice to be able to do cheap branching without them. One way would be to support overlay repositories, in which another repository is consulted if a revision isn't available locally. This could possibly also be used for a form of history rewriting where missing revisions are synthesized according to a policy. It could also be used as the basis for a partial history clone (eg a clone from revisions 1000-1500; see ShallowClone for another way to address this particular problem).

Mechanism:

Deficiencies:

For partial history:

Testing patch queue: http://hg.kublai.com/mercurial/patches/overlay/

Getting started with the patch queue

  1. Clone crew:  hg clone http://hg.intevation.org/mercurial/crew overlay

  2. Clone the patch queue into your new repository:  hg clone http://hg.kublai.com/mercurial/patches/overlay overlay/.hg/patches 

  3. Push the patches onto crew (some are guarded and will not be applied -- this is fine):  hg qpush -a 

  4. Make your crew repository runnable, eg with  cd overlay && make local 

  5. Your new hg will have a --base option to clone:  overlay/hg clone --base tip overlay overlay-test 

That's it. You now have an overlay repository.


OverlayRepository (last edited 2012-10-25 20:54:21 by mpm)