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

Re: Updating local-moves (was: svn commit: r1301390 ...)

From: Stephen Butler <sbutler_at_elego.de>
Date: Sat, 17 Mar 2012 14:06:09 +0100

On Mar 17, 2012, at 13:43 , Branko Čibej wrote:

> On 17.03.2012 11:25, Stephen Butler wrote:
>>>> Somewhat off-topic, but "svn update" has the serious problem that it's
>>>> impossible to revert to the state before the update if one had local
>>>> changes. Most of these "pick sane defaults" kinds of discussions would
>>>> become moot if one could have some kind of client-side snapshot that let
>>>> revert be something more than just an all-or-nothing proposition.
>>> That's a great suggestion, I agree that would be a very good
>>> improvement. It would allow to have more control, but only if you need
>>> it (in case you noticed after the fact that something went wrong, and
>>> you can back up step by step).
>> There was talk about a "local commit" feature a while back. I bet most
>> of the user who like that feature would actually be satisfied by an
>> 'svn undo-update' command.
>
> Are you assuming that "undo update" would be easier to do than "local
> commit" (I prefer the term "savepoint", but teal.bikeshed.com)? :)

I haven't thought about internal design or implementation yet, just taking
a user's point of view. Update works fine almost every time. Once in a while
I take a wrong turn in resolving conflicts, and would like to reset the working
copy to where it was before the update (with local changes and probably
mixed revs). It'd be a bummer if I had to remember to run 'svn savepoint'
first.

I had the 'fossil undo' command in mind:

Steve

[[[
$ fossil help undo
Usage: fossil undo ?--explain? ?FILENAME...?
   or: fossil redo ?--explain? ?FILENAME...?

Undo the changes to the working checkout caused by the most recent
of the following operations:

   (1) fossil update (5) fossil stash apply
   (2) fossil merge (6) fossil stash drop
   (3) fossil revert (7) fossil stash goto
   (4) fossil stash pop

If FILENAME is specified then restore the content of the named
file(s) but otherwise leave the update or merge or revert in effect.
The redo command undoes the effect of the most recent undo.

If the --explain option is present, no changes are made and instead
the undo or redo command explains what actions the undo or redo would
have done had the --explain been omitted.

A single level of undo/redo is supported. The undo/redo stack
is cleared by the commit and checkout commands.
]]]
Received on 2012-03-17 14:06:45 CET

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