darcs

Issue 543 wish: unrevert multiple reverts

Title wish: unrevert multiple reverts
Priority wishlist Status given-up
Milestone Resolved in
Superseder Nosy List darcs-devel, dmitry.kurochkin, kowey, nejucomo, thorkilnaur, tommy
Assigned To
Topics

Created on 2007-10-03.22:46:49 by nejucomo, last changed 2017-07-30.23:05:45 by gh.

Messages
msg2153 (view) Author: nejucomo Date: 2007-10-03.22:46:48
Hi folks,

I just shot myself in the foot rather impulsively, but I'm not sure if
it was operator error or a bug.

I did this sequence inside repository path "foo/bar/baz" (so
"foo/_darcs" exists).

darcs add quux/*.py # At his point, baz is not in the repo, whatsnew
-ls shows an "a" for it.

darcs revert # This was totally unnecessary for my purposes, but too late...
# I reverted two changes, one of which was "adddir baz", the other was
for a file above baz.
msg2154 (view) Author: nejucomo Date: 2007-10-03.22:55:47
I'm sorry, I somehow fired this email before completion.  Further
details follow...

On 10/3/07, Nathan <nejucomo@gmail.com> wrote:
> Hi folks,
>
> I just shot myself in the foot rather impulsively, but I'm not sure if
> it was operator error or a bug.
>
> I did this sequence inside repository path "foo/bar/baz" (so
> "foo/_darcs" exists).
>
> darcs add quux/*.py # At his point, baz is not in the repo, whatsnew
> -ls shows an "a" for it.
>
> darcs revert # This was totally unnecessary for my purposes, but too late...
> # I reverted two changes, one of which was "adddir baz", the other was
> for a file above baz.
>

darcs whatsnew -ls
# Curious as to the state of things.
# Here I see a bunch of python files in "foo/bar/baz/quux" aren't displayed,
# not even with status "a", but don't notice the significance yet, so
I try adding one:

darcs add quux/corge.py
# This displays a message similar to this:

darcs: foo/bar/baz/quux/corge.py: getSymbolicLinkStatus: does not
exist (No such file or directory)

# Now I realize I'm a bit confused but try this anyhow, which succeeds:
darcs add quux/

# This fails again with the same message:
darcs add quux/corge.py

# Next I do a find to see that all of the quux/*.py files are gone.
# Frustratedly, I read the man page then do:
darcs revert

# I say yes to each prompt, not paying too close attention to the
details, but I get this error:
Warning: Not deleting ./bar/baz/qux because it is non-empty.
Warning: Not deleting ./bar/baz because it is non-empty.

darcs failed:  Error applying unrevert to working directory...
./bar/baz: createDirectory: already exists (File exists)

Can anyone explain the situation better, and how I may recover my
deleted (and not yet stored in revision control!) source files?

Regards,
Nejucomo
msg2326 (view) Author: droundy Date: 2008-01-05.15:41:30
Nejucomo, I'm sorry to have taken so long to get to this bug.  This does indeed
look like operator error.  Your first revert could have been undone with a call
to unrevert.  The second revert could also be undone with a call to unrevert. 
However, once you have reverted a second time, the first revert can no longer be
undone.

So I'm converting this bug report into a feature request for unreverting
multiple reverts, i.e. to keep a stack of reverts that can be unreverted.  I'm
not sure when we'll get around to implementing this, but your example clearly
demonstrates when such a feature would be most helpful:  with new users who
don't fully understand the meanings of darcs commands.

Note that this feature would also be handy for advanced users, who might want to
"safely" revert several changes (which comes up sometimes when debugging
unrecorded changes).

David
History
Date User Action Args
2007-10-03 22:46:50nejucomocreate
2007-10-03 22:55:49nejucomosetstatus: unread -> unknown
nosy: kowey, beschmi, droundy, nejucomo, tommy
messages: + msg2154
2008-01-05 15:41:32droundysetnosy: kowey, beschmi, droundy, tommy, nejucomo
messages: + msg2326
title: Bug or misuse when unreverting. -> Feature: unrevert multiple reverts
2008-02-10 02:42:52markstossetpriority: feature -> wishlist
status: unknown -> deferred
nosy: droundy, tommy, beschmi, kowey, nejucomo
title: Feature: unrevert multiple reverts -> wish: unrevert multiple reverts
2009-08-06 17:49:51adminsetnosy: + markstos, jast, Serware, dmitry.kurochkin, darcs-devel, zooko, dagit, mornfall, simon, thorkilnaur, - droundy, nejucomo
2009-08-06 20:54:02adminsetnosy: - beschmi
2009-08-10 22:08:49adminsetnosy: + nejucomo, - markstos, darcs-devel, zooko, jast, dagit, Serware, mornfall
2009-08-25 18:01:26adminsetnosy: + darcs-devel, - simon
2009-08-27 13:54:49adminsetnosy: tommy, kowey, darcs-devel, nejucomo, thorkilnaur, dmitry.kurochkin
2009-08-27 16:12:20koweysetnosy: tommy, kowey, darcs-devel, nejucomo, thorkilnaur, dmitry.kurochkin
2017-07-30 23:05:45ghsetstatus: deferred -> given-up