Re: Nautilus Undo



On Fri, 2007-11-02 at 12:03 +0100, Amos Brocco wrote:
> > Being "smart" about how file transfers like that are done isn't really a
> > good idea. For instance, the target could be a svn webdav repo, or
> > something else where the file operations don't behave the way you
> > expect. I think the best solution to this would be to have the operation
> > not be undoable (and say so in the conflicts dialog). Ideally the undo
> > command would be greyed out in the ui, less ideal it would give an error
> > dialog on undo.
> 
> Greying out the undo in the menu is not always a good idea: if the
> implementation supports multi-level undos, performing an "undoable"
> operations will in fact make "undoable" all other previous operations.

I'm not sure what a better way would be though. The undoable operation
might make the operation before that not undoable.

> > Well, that is a benign problem. What if you're undoing a move of a file
> > from a to b, and during the time something wrote a newer version of the
> > file at a. The undo will then cause a loss of data (overwriting the
> > newer file with the older version).
> 
> A similar problem exists also for "non-undo-related" operations.

Of course, any I/O operation can have errors and "issues" (fixable or
not).

I think its more of a perception problem:
a) From experience with other apps one might expect the undo operation
to be a "safe", always succeeding operation. When explicitly starting a
copy of 300 megabytes of data you are more careful and expect that there
might be issues during the copy than if you just press ctrl-z.
b) If you know there is an undo you might be less careful with
operations you do, and then be pissed of if the undo doesn't actually
work (i.e. bring back the file you copied over) when you use it.

That doesn't mean the feature is not good to have, but we have to be
careful about the behaviour of it.

> I'm looking at other file manager to see if and how they deal with these
> issues. I've put a wiki page at http://live.gnome.org/Nautilus/Undo to
> discuss "how the undo should behave".

Cool!



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]