You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Timothy Astle <ti...@caris.com> on 2009/06/08 22:03:11 UTC
How to undo multiple moves without a working copy?
Recently I had someone move all of our development projects under a new
sub-directory without proper authority. We can do a remote move to put
them back in place, or perform a working copy merge.
What is the best approach? Ideally it would be nice to revert the
server to the last known good revision.
Suggestions?
--
Tim Astle
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2360479
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: How to undo multiple moves without a working copy?
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Jun 10, 2009, at 05:50, Andrey Repin wrote:
> Greetings, Ryan Schmidt!
>
>> Yes, this problem can be solved by using admin commands like dump and
>> load, but I do not recommend that for this case. It would be like...
>> redecorating a house, then deciding you didn't like it, and
>> bulldozing the house and building it again and decorating it the way
>> it originally was.
>
> It wasn't decoration, devastating hurricane would be more appropriate
> comparison.
> These changes was not expected, nor wanted, and there's no point to
> keep them
> in repository.
> Not that I'm arguing about doing so with every mistake you making,
> but such
> big troubles need more serious treatment. On both social and
> technical level.
I continue to disagree that there is any need for this drastic action.
The inconvenience it will cause is: 1) Repository downtime while the
administrator dumps, possibly filters, then loads. If the repository
is large, this can take a lot of time, even days. 2) The new
repository UUID must be different than the old one, which means
everybody has to throw out their working copies and check out new
ones. If anybody had uncommitted changes, they must manually move
these over to a new working copy.
Why impose these hardships on your team when you can avoid them
entirely by simply undoing the original change using merge or mv?
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2361161
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: How to undo multiple moves without a working copy?
Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Ryan Schmidt!
> Yes, this problem can be solved by using admin commands like dump and
> load, but I do not recommend that for this case. It would be like...
> redecorating a house, then deciding you didn't like it, and
> bulldozing the house and building it again and decorating it the way
> it originally was.
It wasn't decoration, devastating hurricane would be more appropriate
comparison.
These changes was not expected, nor wanted, and there's no point to keep them
in repository.
Not that I'm arguing about doing so with every mistake you making, but such
big troubles need more serious treatment. On both social and technical level.
--
WBR,
Andrey Repin (anrdaemon@freemail.ru) 10.06.2009, <14:46>
Sorry for my terrible english...
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2360870
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: How to undo multiple moves without a working copy?
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Jun 8, 2009, at 18:00, Andrey Repin wrote:
>>
>> Recently I had someone move all of our development projects under
>> a new
>> sub-directory without proper authority. We can do a remote move
>> to put
>> them back in place, or perform a working copy merge.
>
>> What is the best approach? Ideally it would be nice to revert the
>> server to the last known good revision.
>
>> Suggestions?
>
> Straight dump to the last known proper revision.
> Then incremental dump for any changes that might follow that mess.
> Edit paths in the second dump.
> Join both dumps in the new repository.
Yes, this problem can be solved by using admin commands like dump and
load, but I do not recommend that for this case. It would be like...
redecorating a house, then deciding you didn't like it, and
bulldozing the house and building it again and decorating it the way
it originally was. Why not keep the house and just undo the
redecoration? It will cause a lot less inconvenience. Just use
regular "svn mv" commands, or "svn merge" as I mentioned earlier, to
put things right.
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2360757
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: How to undo multiple moves without a working copy?
Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Timothy Astle!
> Recently I had someone move all of our development projects under a new
> sub-directory without proper authority. We can do a remote move to put
> them back in place, or perform a working copy merge.
> What is the best approach? Ideally it would be nice to revert the
> server to the last known good revision.
> Suggestions?
Straight dump to the last known proper revision.
Then incremental dump for any changes that might follow that mess.
Edit paths in the second dump.
Join both dumps in the new repository.
Be warned that if your repository is somewhat of a lot of files and of
significant size in total, it will not be the one fast operation.
--
WBR,
Andrey Repin (anrdaemon@freemail.ru) 09.06.2009, <2:57>
Sorry for my terrible english...
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2360490
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].
Re: How to undo multiple moves without a working copy?
Posted by Tyler Roscoe <ty...@cryptio.net>.
On Mon, Jun 08, 2009 at 07:03:11PM -0300, Timothy Astle wrote:
> Recently I had someone move all of our development projects under a new
> sub-directory without proper authority. We can do a remote move to put
> them back in place, or perform a working copy merge.
It looks like svn move can handle url to url moves, so you don't need a
working copy to move them back. Merging does require a working copy.
> What is the best approach? Ideally it would be nice to revert the
> server to the last known good revision.
The only way to remove revisions from history entirely is by clever use
of dump + filter + load. There are lots of docs about how to do this,
both in the svn faq and in the archives for this list.
If you have a backup that was taken shortly before the unauthorized
procedure, you could start with that and just dump and load the few
revisions you need to bring your backup repo completely up-to-date.
tyler
Re: How to undo multiple moves without a working copy?
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Jun 8, 2009, at 17:03, Timothy Astle wrote:
> Recently I had someone move all of our development projects under a
> new
> sub-directory without proper authority. We can do a remote move to
> put
> them back in place, or perform a working copy merge.
>
> What is the best approach? Ideally it would be nice to revert the
> server to the last known good revision.
You can't "revert the server to the last known good revision" per se.
A commit to a repository is (for the purposes of this discussion)
forever. You can now perform additional commits that take the
opposite actions.
You could get a working copy and do a reverse merge of the revisions
this person committed, as explained here:
http://svnbook.red-bean.com/en/1.5/
svn.branchmerge.basicmerging.html#svn.branchmerge.basicmerging.undo
If there have been any changes in these projects since this
unauthorized move, I am not certain whether the above steps will also
lose those changes. You may be better off, if it's not too difficult,
identifying what needs to be moved back where, and using "svn mv" to
move things back. You can either do this in a working copy and then
commit either individually or all at once, or via URLs one at a time,
or via URLs all at once using svnmucc.
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2360481
To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].