[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: File/revision obliteration feature

From: <cmpilato_at_collab.net>
Date: 2002-08-23 17:03:10 CEST

Michael Price <mprice@atl.lmco.com> writes:

> Garrett Rooney writes:
> > On Fri, Aug 23, 2002 at 09:46:34AM -0500, Darrin Thompson wrote:
> > > Suppose that I as a subversion user accidentally checked into a "public"
> > > subversion repo some piece of private info. I would need to get that
> > > information back out. Is it possible to do this using the latest
> > > subversion release? If it is possible, I'd love to hear the nitty details.
> >
> > that would be the hypothetical 'svn obliterate' feature, which does
> > not currently exist. it's a post-1.0 feature that people have
> > requested, but it's a fairly large amount of work to add. until then,
> > it's one of those "doctor doctor, it hurts if i do this" "well, then
> > don't do that" kind of things...
>
> Assuming someone was crazy enough to want to try and add such a feature,
> what problems would he encounter along the way? If this has already been
> outlined in a previous thread then a pointer to that discussion would be
> most appreciated.

Your biggest problems are a) the fact that our filesystem is a DAG
with lazy branching, and b) what to do about working copies that have
already checked out your private thing.

If the file is originally at /trunk/notes/private.txt, and you do a
few branches and tags, a clean obliteration means hunting down not
just all version of private.txt, but all versions of all branches of
private.txt, *and* all nodes in all revisions that point to
private.txt as a child entry. Because filesystem nodes don't keep
pointers to their (potentially multiple) parent nodes, finding those
parent nodes could cost you dearly. To quite gstein: "Cheers!"

Secondly, if there are working copies out there with your private.txt,
then obviously, you have a bit of a problem with the privacy of that
file, period. But aside from that, if you go dinging around in the
repository to remove that file, you just broke everybody's working
copies (at least those that had the file, and potentially those that
didn't, I'm guessing). Of course, maybe this is a *good* thing,
ensuring that folks will have to check out again -- a new checkout
that won't have your private file.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Aug 23 17:33:13 2002

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.