You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Robert Krugmann <Ro...@infoteam.de> on 2004/10/20 06:24:14 UTC

WG: Subversion pop quiz

Hi all,

What's the simplest way to restore a repository to change set N-1, when N is
the current head revision?

Is there a command that operates purely server-side?


Robert Krugmann
======================
infoteam Software GmbH
Am Bauhof 9
91088 Bubenreuth

Fon: +49 9131 7800-67	Fax: -50

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

Re: WG: Subversion pop quiz

Posted by Andrew Arnott <an...@gmail.com>.
On Thu, 21 Oct 2004 18:53:59 -0400, Walden Mathews <wa...@eqwality.com> wrote:
> Hi Andrew,
> 
> I hope it's an existing capability, because I've used it.
> At least I think I have.  Something like:
> 
> >svn delete http://server/repos/proj/branches/a -m "delete the head"
> Committed revision 101.
> >svn copy -r99 http://server/repos/proj/branches/a
> http://server/repor/proj/branches -m "copy r99 to head"
> Committed revision 102.
> 
> Maybe not verbatim, but pretty much like that.
> 
> Walden

Oh, I thought you were talking about actually deleting the HEAD
revision from the repository, not deleting a branch and recreating it
from a previous version.  It seems like extra commits to me.  Thanks
for the clarification.

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

Re: WG: Subversion pop quiz

Posted by Walden Mathews <wa...@eqwality.com>.
Hi Andrew,

I hope it's an existing capability, because I've used it.
At least I think I have.  Something like:

>svn delete http://server/repos/proj/branches/a -m "delete the head"
Committed revision 101.
>svn copy -r99 http://server/repos/proj/branches/a
http://server/repor/proj/branches -m "copy r99 to head"
Committed revision 102.

Maybe not verbatim, but pretty much like that.

Walden

----- Original Message ----- 
From: "Andrew Arnott" <an...@gmail.com>
To: "Walden Mathews" <wa...@eqwality.com>
Cc: <us...@subversion.tigris.org>
Sent: Thursday, October 21, 2004 6:39 PM
Subject: Re: WG: Subversion pop quiz


| Are you suggesting a new capability?  Or suggesting an existing one?
| I didn't know one could "delete the head".
|
|
| On Wed, 20 Oct 2004 13:22:52 -0400, Walden Mathews <wa...@eqwality.com>
wrote:
| > For a totally server-side solution, how about deleting the HEAD,
| > then doing an svn copy from rev N-1?  Of course, this assumes you
| > have eliminated the chance of other intervening commits, but if
| > you're the admin that's easy.
| >
| > Walden
| >
| > ----- Original Message -----
| > From: "Toby Johnson" <to...@etjohnson.us>
| > To: <us...@subversion.tigris.org>
| > Sent: Wednesday, October 20, 2004 11:47 AM
| > Subject: Re: WG: Subversion pop quiz
| >
| >
| >
| >
| > | Ben Collins-Sussman wrote:
| > |
| > | >
| > | > On Oct 20, 2004, at 9:01 AM, Andrew Arnott wrote:
| > | >
| > | >> I just asked this question a few days ago.  See the thread with
| > | >> subject "Reverse last commit".  But here was the most useful answer
I
| > | >> received:
| > | >>
| > | >> This should be executed on the server.  No, there is not simpler
way
| > | >> (that I know of):
| > | >>
| > | >
| > | > Sure there's a simpler way.  If you commit the reverse-merge of
| > | > revision N, then revision N+1 (the new HEAD) is identical to
revision
| > | > N-1.  This is what chapter 4 describes.  Much simpler than dumping
and
| > | > reloading the whole repository!
| > |
| > | To clarify: what Arnold wanted to do was remove all traces of the
commit
| > | from the repository, thus the dump/load cycle. If this doesn't concern
| > | you, you can simply take the "reverse merge" approach. Merges can't be
| > | done server-side, so you'd need to do this in your working copy (i.e.
| > | apply the reverse merge to your WC and then commit those changes).
| > |
| > | A simple "svn merge -r COMMITTED:PREV ." followed by a commit should
do
| > | the trick, but read the section in chapter 4 and examine the diffs
| > | before you commit them to make sure you're getting what you want. When
| > | you commit, use a meaningful message like "reversing changes from
r123".
| > |
| > | toby
| > |
| > | ---------------------------------------------------------------------
| > | To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
| > | For additional commands, e-mail: users-help@subversion.tigris.org
| > |
| > |
| > | __________ NOD32 1.898 (20041020) Information __________
| > |
| > | This message was checked by NOD32 antivirus system.
| > | http://www.nod32.com
| > |
| > |
| >
| >
| >
| > ---------------------------------------------------------------------
| > To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
| > For additional commands, e-mail: users-help@subversion.tigris.org
| >
| >
|
|
| -- 
| Andrew Arnott
| Web Developer
| Brigham Young University
|
| ---------------------------------------------------------------------
| 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: WG: Subversion pop quiz

Posted by Andrew Arnott <an...@gmail.com>.
Are you suggesting a new capability?  Or suggesting an existing one? 
I didn't know one could "delete the head".


On Wed, 20 Oct 2004 13:22:52 -0400, Walden Mathews <wa...@eqwality.com> wrote:
> For a totally server-side solution, how about deleting the HEAD,
> then doing an svn copy from rev N-1?  Of course, this assumes you
> have eliminated the chance of other intervening commits, but if
> you're the admin that's easy.
> 
> Walden
> 
> ----- Original Message -----
> From: "Toby Johnson" <to...@etjohnson.us>
> To: <us...@subversion.tigris.org>
> Sent: Wednesday, October 20, 2004 11:47 AM
> Subject: Re: WG: Subversion pop quiz
> 
> 
> 
> 
> | Ben Collins-Sussman wrote:
> |
> | >
> | > On Oct 20, 2004, at 9:01 AM, Andrew Arnott wrote:
> | >
> | >> I just asked this question a few days ago.  See the thread with
> | >> subject "Reverse last commit".  But here was the most useful answer I
> | >> received:
> | >>
> | >> This should be executed on the server.  No, there is not simpler way
> | >> (that I know of):
> | >>
> | >
> | > Sure there's a simpler way.  If you commit the reverse-merge of
> | > revision N, then revision N+1 (the new HEAD) is identical to revision
> | > N-1.  This is what chapter 4 describes.  Much simpler than dumping and
> | > reloading the whole repository!
> |
> | To clarify: what Arnold wanted to do was remove all traces of the commit
> | from the repository, thus the dump/load cycle. If this doesn't concern
> | you, you can simply take the "reverse merge" approach. Merges can't be
> | done server-side, so you'd need to do this in your working copy (i.e.
> | apply the reverse merge to your WC and then commit those changes).
> |
> | A simple "svn merge -r COMMITTED:PREV ." followed by a commit should do
> | the trick, but read the section in chapter 4 and examine the diffs
> | before you commit them to make sure you're getting what you want. When
> | you commit, use a meaningful message like "reversing changes from r123".
> |
> | toby
> |
> | ---------------------------------------------------------------------
> | To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> | For additional commands, e-mail: users-help@subversion.tigris.org
> |
> |
> | __________ NOD32 1.898 (20041020) Information __________
> |
> | This message was checked by NOD32 antivirus system.
> | http://www.nod32.com
> |
> |
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
> 
> 


-- 
Andrew Arnott
Web Developer
Brigham Young University

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

Re: WG: Subversion pop quiz

Posted by Walden Mathews <wa...@eqwality.com>.
For a totally server-side solution, how about deleting the HEAD,
then doing an svn copy from rev N-1?  Of course, this assumes you
have eliminated the chance of other intervening commits, but if
you're the admin that's easy.

Walden

----- Original Message ----- 
From: "Toby Johnson" <to...@etjohnson.us>
To: <us...@subversion.tigris.org>
Sent: Wednesday, October 20, 2004 11:47 AM
Subject: Re: WG: Subversion pop quiz


| Ben Collins-Sussman wrote:
| 
| >
| > On Oct 20, 2004, at 9:01 AM, Andrew Arnott wrote:
| >
| >> I just asked this question a few days ago.  See the thread with
| >> subject "Reverse last commit".  But here was the most useful answer I
| >> received:
| >>
| >> This should be executed on the server.  No, there is not simpler way
| >> (that I know of):
| >>
| >
| > Sure there's a simpler way.  If you commit the reverse-merge of 
| > revision N, then revision N+1 (the new HEAD) is identical to revision 
| > N-1.  This is what chapter 4 describes.  Much simpler than dumping and 
| > reloading the whole repository!
| 
| To clarify: what Arnold wanted to do was remove all traces of the commit 
| from the repository, thus the dump/load cycle. If this doesn't concern 
| you, you can simply take the "reverse merge" approach. Merges can't be 
| done server-side, so you'd need to do this in your working copy (i.e. 
| apply the reverse merge to your WC and then commit those changes).
| 
| A simple "svn merge -r COMMITTED:PREV ." followed by a commit should do 
| the trick, but read the section in chapter 4 and examine the diffs 
| before you commit them to make sure you're getting what you want. When 
| you commit, use a meaningful message like "reversing changes from r123".
| 
| toby
| 
| ---------------------------------------------------------------------
| To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
| For additional commands, e-mail: users-help@subversion.tigris.org
| 
| 
| __________ NOD32 1.898 (20041020) Information __________
| 
| This message was checked by NOD32 antivirus system.
| http://www.nod32.com
| 
| 

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

Re: WG: Subversion pop quiz

Posted by Toby Johnson <to...@etjohnson.us>.
Ben Collins-Sussman wrote:

>
> On Oct 20, 2004, at 9:01 AM, Andrew Arnott wrote:
>
>> I just asked this question a few days ago.  See the thread with
>> subject "Reverse last commit".  But here was the most useful answer I
>> received:
>>
>> This should be executed on the server.  No, there is not simpler way
>> (that I know of):
>>
>
> Sure there's a simpler way.  If you commit the reverse-merge of 
> revision N, then revision N+1 (the new HEAD) is identical to revision 
> N-1.  This is what chapter 4 describes.  Much simpler than dumping and 
> reloading the whole repository!

To clarify: what Arnold wanted to do was remove all traces of the commit 
from the repository, thus the dump/load cycle. If this doesn't concern 
you, you can simply take the "reverse merge" approach. Merges can't be 
done server-side, so you'd need to do this in your working copy (i.e. 
apply the reverse merge to your WC and then commit those changes).

A simple "svn merge -r COMMITTED:PREV ." followed by a commit should do 
the trick, but read the section in chapter 4 and examine the diffs 
before you commit them to make sure you're getting what you want. When 
you commit, use a meaningful message like "reversing changes from r123".

toby

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

Re: WG: Subversion pop quiz

Posted by Ben Collins-Sussman <su...@collab.net>.
On Oct 20, 2004, at 9:01 AM, Andrew Arnott wrote:

> I just asked this question a few days ago.  See the thread with
> subject "Reverse last commit".  But here was the most useful answer I
> received:
>
> This should be executed on the server.  No, there is not simpler way
> (that I know of):
>

Sure there's a simpler way.  If you commit the reverse-merge of 
revision N, then revision N+1 (the new HEAD) is identical to revision 
N-1.  This is what chapter 4 describes.  Much simpler than dumping and 
reloading the whole repository!



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

Re: WG: Subversion pop quiz

Posted by Andrew Arnott <an...@gmail.com>.
I just asked this question a few days ago.  See the thread with
subject "Reverse last commit".  But here was the most useful answer I
received:

This should be executed on the server.  No, there is not simpler way
(that I know of):

svnadmin dump -r 1:(last rev to be kept) oldrepo > oldrepo.dump
svnadmin create newrepo
svnadmin load newrepo < oldrepo.dump


On Wed, 20 Oct 2004 08:24:14 +0200, Robert Krugmann
<ro...@infoteam.de> wrote:
> Hi all,
> 
> What's the simplest way to restore a repository to change set N-1, when N is
> the current head revision?
> 
> Is there a command that operates purely server-side?
> 
> Robert Krugmann
> ======================
> infoteam Software GmbH
> Am Bauhof 9
> 91088 Bubenreuth
> 
> Fon: +49 9131 7800-67   Fax: -50
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
> 
> 


-- 
Andrew Arnott
Web Developer
Brigham Young University

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