You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by "Martin v. Löwis" <ma...@v.loewis.de> on 2003/07/15 19:22:59 UTC

Faking obliteration

Is there a way to obliterate information from a repository, perhaps
automatically? I'd like to permanently remove a certain file from the
repository. To do so, it would be acceptable to rebuild the directory
from scratch, skipping all information relevant to that file, or to
operate on the repository directly.

Can anybody give hints on how to achieve that?

Regards,
Martin


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Faking obliteration

Posted by Ben Collins-Sussman <su...@collab.net>.
martin@v.loewis.de (Martin v. Löwis) writes:

> Ben Collins-Sussman <su...@collab.net> writes:
> 
> > For now, all you can do is dump and load.  Use svndumpfilter to
> > 'screen out' the bad path when you're reloading.
> 
> That sounds very promising, thanks!
> 
> Is it true that svndumpfilter is nowhere documented?

It's documented here:

$ cat doc/book/TODO
[...]
Here is a list of all the things that the Subversion Book DOESN'T yet cover.
[...]
  - svndumpfilter.  in particular, show how to "migrate" a subdir in
    one repos to a subdir in another one.
[...]


The book guys are workin on it.   ;-)


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: Faking obliteration

Posted by Alexander Sabourenkov <sc...@lxnt.info>.
Martin v. Löwis wrote:
> Ben Collins-Sussman <su...@collab.net> writes:
> 
> 
>>For now, all you can do is dump and load.  Use svndumpfilter to
>>'screen out' the bad path when you're reloading.
> 
> 
> That sounds very promising, thanks!
> 
> Is it true that svndumpfilter is nowhere documented?
> 

Well.. `svndumpfilter help` is the only docs I'm aware of. You should also 
make yourself familiar with the dumpfile format so as to understand what 
exactly you're doing. Read  notes/fs_dumprestore.txt in the source.

Also read this thread:
http://www.contactor.se/~dast/svn/archive-2003-03/1520.shtml

The svndumpfilter usage is pretty simple - to filter out some file or 
directory from repository you only need exact path where it was first committed.

Then you do svnadmin dump repos | svndumpfilter exclude path/to/ >newdump.

Then you load newdump into a separate repo and triple-check that it's ok.

This can get pretty complicated if you moved the file around the repo, then 
later created other file with the same path in repo, etc, etc.

Svndumpfilter will catch copies of the file, but i think it will also catch 
unrelated file with the same name in a later revision.

In this case you'll have to separately svnadmin dump and filter several 
revision ranges.

-- 

./lxnt


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Faking obliteration

Posted by "Martin v. Löwis" <ma...@v.loewis.de>.
Ben Collins-Sussman <su...@collab.net> writes:

> For now, all you can do is dump and load.  Use svndumpfilter to
> 'screen out' the bad path when you're reloading.

That sounds very promising, thanks!

Is it true that svndumpfilter is nowhere documented?

Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Faking obliteration

Posted by Ben Collins-Sussman <su...@collab.net>.
martin@v.loewis.de (Martin v. Löwis) writes:

> Is there a way to obliterate information from a repository, perhaps
> automatically? I'd like to permanently remove a certain file from the
> repository. To do so, it would be acceptable to rebuild the directory
> from scratch, skipping all information relevant to that file, or to
> operate on the repository directly.
> 
> Can anybody give hints on how to achieve that?

See issue 516.

For now, all you can do is dump and load.  Use svndumpfilter to
'screen out' the bad path when you're reloading.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: Faking obliteration

Posted by cm...@collab.net.
martin@v.loewis.de (Martin v. Löwis) writes:

> Is there a way to obliterate information from a repository, perhaps
> automatically? I'd like to permanently remove a certain file from the
> repository. To do so, it would be acceptable to rebuild the directory
> from scratch, skipping all information relevant to that file, or to
> operate on the repository directly.
> 
> Can anybody give hints on how to achieve that?

It's called 'svn obliterate' ... and it exists only in our dreams (and
future plans).  You can accomplish the task through crafty use of
'svnadmin dump' and 'svnadmin load', though.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: Faking obliteration

Posted by Paul L Lussier <pl...@lanminds.com>.
In a message dated: 15 Jul 2003 21:22:59 +0200
Martin v. =?iso-8859-15?q?L=F6wis?= said:

>Is there a way to obliterate information from a repository, perhaps
>automatically? I'd like to permanently remove a certain file from the
>repository. To do so, it would be acceptable to rebuild the directory
>from scratch, skipping all information relevant to that file, or to
>operate on the repository directly.
>
>Can anybody give hints on how to achieve that?

Try:
    svnadmin create /path/to/new/repo

    svnadmin dump /path/to/repo | svndumpfilter path/to/obliterate | \
      svnadmin load /path/to/new/repo

That *should* work.  I think :)
-- 

Seeya,
Paul
--
Key fingerprint = 1660 FECC 5D21 D286 F853  E808 BB07 9239 53F1 28EE

	It may look like I'm just sitting here doing nothing,
   but I'm really actively waiting for all my problems to go away.

	 If you're not having fun, you're not doing it right!



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org