History-less repository?
Bill Barry
after.fallout at gmail.com
Mon Sep 22 15:19:22 CDT 2008
Vadim Lebedev wrote:
One obvious hack which comes to mind is to make .hg directory be a
symlink pointing to a NFS or SMB mounted volume
Eww... Is that possible? Even if it was, you would still want one .hg
dir for every repo (At least I think you would, doesn't the .hg dir
maintain some info about the current repo?). And it wouldn't stop anyone
from cloning this repo into a new location where they have access to the
entire thing.
I'm not convinced that a history-less repository is something that
should even be a desirable security goal. Every RCS I've ever heard of
has a way to get the entire history (at least what is stored in the
common repo; except VSS, but that is only because it has bugs and fails
not because it is designed to not be able to do so) simply because any
individual has the ability to update to each previous revision and
manually copy it to a different repo. History is what makes a version
control system a _version_ control system. I suppose if you wanted to
chop off history as of a specific point, you could delete everybody's
copies of the repo, update to a specific point, delete the .hg dir and
make a new one with the current file contents for everybody to clone.
Cleaving history might make some sense every once in a while simply to
maintain performance. But even there I am not so sure. Our repository
has 1500+ revisions in it now and is still multiple orders of magnitude
faster (and it hasn't shown any signs of slowing down the entire time so
far, except in hg status, but I suspect that has more to do with the
number of files there than the number of revisions) than our svn repo
was at 40k revisions (which by the way also never slowed down with
increasing revisions).
More information about the Mercurial
mailing list