You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Jon <jo...@hotmail.com> on 2008/03/27 19:01:38 UTC

obliterate revisions

I have a fairly large repo for which I want to flush all of the history.  The key factor is to avoid having to do a new checkout and use existing working copies.  Does anybody see any blatant issues with the following tasks?  I was able to get this to work and all appears fine through initial testing.

myrepo is the existing repo with 37 revisions.  I want to obliterate all history up to revision 33.  Here are the commands to flush all history up to r33 and hopefully avoid a new checkout and allow the users to keep the existing working copies.


   svnadmin dump -r1:33 myrepo >myrepo_1to33.dump

   svnadmin dump -r34:37 myrepro >myrepo_34_37.dump

 

   cat myrepo_1to33.dump | svndumpfilter exclude /
>myrepo_empty_to_r33.dump

 

   mv myrepo myrepo _orig

   svnadmin create myrepo 

 

   svnadmin load --force-uuid myrepo <myrepo_empty_to_r33.dump

   svnadmin load --force-uuid myrepo < myrepo_34_37.dump

 

Then run 'svn switch' on your working copy which should
update the .svn folders.

Thanks,
Jon

_________________________________________________________________
Windows Live Hotmail is giving away Zunes.
http://www.windowslive-hotmail.com/ZuneADay/?locale=en-US&ocid=TXT_TAGLM_Mobile_Zune_V3

Re: obliterate revisions [update]

Posted by Tehmul Ghyara <te...@oracle.com>.
I forgot to mention - any branches/tags you create in the removed 
revisions will end up taking up more space in the repo - because now 
they exist as separate physical copies in the repository.

Ciao and regards
TG


Jon wrote:
> I have a fairly large repo for which I want to flush all of the 
> history.  The key factor is to avoid having to do a new checkout and use 
> existing working copies.  Does anybody see any blatant issues with the 
> following tasks?  I was able to get this to work and all appears fine 
> through initial testing.
[snip]
>    svnadmin dump -r1:33 myrepo >myrepo_1to33.dump
>    svnadmin dump -r34:37 myrepro >myrepo_34_37.dump
>    cat myrepo_1to33.dump |
>         svndumpfilter exclude /  myrepo_empty_to_r33.dump
>    mv myrepo myrepo _orig
>    svnadmin create myrepo
>    svnadmin load --force-uuid myrepo <myrepo_empty_to_r33.dump
>    svnadmin load --force-uuid myrepo < myrepo_34_37.dump

svn annotate/blame for files from the obliterated revisions will likely
show the author to be the username that checked in the first
unobliterated revision (34 in your example).

Ciao and regards
TG

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



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

Re: obliterate revisions [update]

Posted by Tehmul Ghyara <te...@oracle.com>.
I forgot to mention - any branches/tags you create in the removed 
revisions will end up taking up more space in the repo - because now 
they exist as separate physical copies in the repository.

Ciao and regards
TG
Jon wrote:
> I have a fairly large repo for which I want to flush all of the 
> history.  The key factor is to avoid having to do a new checkout and use 
> existing working copies.  Does anybody see any blatant issues with the 
> following tasks?  I was able to get this to work and all appears fine 
> through initial testing.
[snip]
>    svnadmin dump -r1:33 myrepo >myrepo_1to33.dump
>    svnadmin dump -r34:37 myrepro >myrepo_34_37.dump
>    cat myrepo_1to33.dump |
>         svndumpfilter exclude /  myrepo_empty_to_r33.dump
>    mv myrepo myrepo _orig
>    svnadmin create myrepo
>    svnadmin load --force-uuid myrepo <myrepo_empty_to_r33.dump
>    svnadmin load --force-uuid myrepo < myrepo_34_37.dump

svn annotate/blame for files from the obliterated revisions will likely
show the author to be the username that checked in the first
unobliterated revision (34 in your example).

Ciao and regards
TG

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



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

Re: obliterate revisions

Posted by Tehmul Ghyara <te...@oracle.com>.
Jon wrote:
> I have a fairly large repo for which I want to flush all of the 
> history.  The key factor is to avoid having to do a new checkout and use 
> existing working copies.  Does anybody see any blatant issues with the 
> following tasks?  I was able to get this to work and all appears fine 
> through initial testing.
[snip]
 >    svnadmin dump -r1:33 myrepo >myrepo_1to33.dump
 >    svnadmin dump -r34:37 myrepro >myrepo_34_37.dump
 >    cat myrepo_1to33.dump |
 >         svndumpfilter exclude /  myrepo_empty_to_r33.dump
 >    mv myrepo myrepo _orig
 >    svnadmin create myrepo
 >    svnadmin load --force-uuid myrepo <myrepo_empty_to_r33.dump
 >    svnadmin load --force-uuid myrepo < myrepo_34_37.dump

svn annotate/blame for files from the obliterated revisions will likely 
show the author to be the username that checked in the first 
unobliterated revision (34 in your example).

Ciao and regards
TG

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