Differences between revisions 7 and 8
Revision 7 as of 2006-12-09 11:55:11
Size: 1603
Editor: Qe781
Comment: related feature request: partial history clone with on-demand pulling
Revision 8 as of 2007-01-31 19:51:14
Size: 1668
Editor: BrendanCully
Comment: Link to OverlayRepository
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
Another related feature request: Some projects have very big repositories which take very long to download. In order to make this faster, it should be possible to specify the desired history range with "hg clone", so instead of, say 700MB, only 100MB of the history get transferred. If the more parts of the history are required for a certain command the data should automatically be retrieved from the server. Another related feature request: Some projects have very big repositories which take very long to download. In order to make this faster, it should be possible to specify the desired history range with "hg clone", so instead of, say 700MB, only 100MB of the history get transferred. If the more parts of the history are required for a certain command the data should automatically be retrieved from the server. See OverlayRepository for another way to implement this feature.

Problem: it would be nice to be able to drop history before a certain point and remove various branches or commits to save space and delete problematic material.

It is also important that we remember what we've deleted so we can avoid re-pulling it from people who've earlier pulled it from us.

Proposal: we can delete pieces of history by removing the deltas and recording a size of -1 in the index. This can be accomplished by a "punch" tool or command. Then we teach various things to behave or complain appropriately when they encounter punched versions.

Another related feature request: Some projects have very big repositories which take very long to download. In order to make this faster, it should be possible to specify the desired history range with "hg clone", so instead of, say 700MB, only 100MB of the history get transferred. If the more parts of the history are required for a certain command the data should automatically be retrieved from the server. See OverlayRepository for another way to implement this feature.

To be done:

  • partial history clone/pull with automatic pulling of additional data on-demand
  • teach revlog about punched revisions and fixing up deltas
  • create punch command
  • make sure pull works
  • make sure checkout complains appropriately
  • make sure annotate does something sensible
  • make sure verify doesn't get too upset

Not to be confused with PartialClone, which trims the directory tree, not the history tree.

Patch for this: http://www.selenic.com/pipermail/mercurial/2006-June/008878.html

Pullable repository: http://oss.oracle.com/mercurial/mason/punch


CategoryNewFeatures

TrimmingHistory (last edited 2012-10-25 20:38:05 by mpm)