Retaining partial history in local clients

Peter Arrenbrecht peter.arrenbrecht at gmail.com
Fri Jun 27 04:08:46 CDT 2008


On Wed, Jun 25, 2008 at 3:50 PM, David Baum <dbaum at google.com> wrote:
> I have been experimenting with Mercurial and it looks like a great DVCS
> system.  One thing that concerns me, however, is what happens when a large
> project accumulates a significant amount of history.  If some of this
> history is binary files that don't diff well, then I can see the repository
> getting quite large.  I understand that some copies of the repository will
> always want to keep full history, but does that mean that every user also
> has to carry around a copy of everything?
>
> What if you want to prune your local repository down to one branch?  I know
> you can create a new repo and pull that one branch from the old repo, but is
> there a way that doesn't require 2x disk space while operating?
>
> What about getting rid of old history?  Let's say I only care about the last
> 90 days of changesets for a project that has been under constant evolution
> for 2 years.  Is there some way to prune my local repo to only have the last
> 90 days of changes?
>
> For smaller projects none of this matters, but I'm just wondering how well
> the Mercurial approach will scale to large projects with many users
> contributing over a long period of time.  Specifically, I'm concerned with
> how that impacts local user repositories, and not really worried about
> central, public repositories (which should be as complete as possible).

This is not supported yet, but see

  http://www.selenic.com/mercurial/wiki/index.cgi/TrimmingHistory
  http://www.selenic.com/mercurial/wiki/index.cgi/ShallowClone

-parren


More information about the Mercurial mailing list